Změna mov ecx, [esi-38] na mov ecx, 2 – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Změna mov ecx, [esi-38] na mov ecx, 2 – C / C++ – Fórum – Programujte.comZměna mov ecx, [esi-38] na mov ecx, 2 – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
stres3d
~ Anonymní uživatel
3 příspěvky
29. 7. 2011   #1
-
0
-

zdravim potreboval bych pichnout - mam hru s nazvem "hra" a potreboval bych na "adresa" zmenit ecx, [esi-38] na mov ecx, 2. Pak bych chtěl aby mi vyskočilo okno Jestli je to OK nebo jestli to vrátilo chybu ale bohužel jsem dělal spíš v delphi tak nevím jak na to :(

název okna hry: NEED FOR SPEED™ WORLD

adresa: 004FCED9 (v cheatengine)

co tam je : ecx, [esi-38]

co tam chci ecx, 2

okno co vyskočí tak stačí OK nebo Error

Zkousel jsem to nejak takhle ale vubec nechapu co to po me chce?

#include <windows.h>
#include <winbase.h>
#include <iostream>

int main()
{
     HWND hwnd = FindWindow(NULL, "NEED FOR SPEED™ WORLD");
     DWORD pID;
     GetWindowProcessThreadId(hwnd, &pID); // tady je chyba ze to nezna tu funkci
     HANDLE hHandle = OpenProcess(PROCESS_VM_READ | PROCESS_VM_WRITE, false, pID);
     WriteProcessMemory(hHandle, 0x004FCED9, 0x11, 4, NULL);//tady jsou snad 4 chyby
     return 0;
}

Nahlásit jako SPAM
IP: 90.176.33.–
Reklama
Reklama
illioner0
Stálý člen
29. 7. 2011   #2
-
0
-

Ja to vidim nasledovne:
mov ecx,2 ma kod B902000000 takze nevim jak to chces svoji 0x11 zmaknout, mov ecx,[esi-38] bych tipoval na 3 bytovy kod, takze se ti to do 5 bytu nemusi vejit.
Nejde to prepsat v exe souboru a spoustet to rovnou patchnute?
Delaval jsem to pomoci CreateProcess a spustenim programu - nez zdlouhavym pristupem hledani pres OpenProcess.
WriteProcessMemory ma 2. a 3. argument pointery, pouzij napr. zpusob jako u 2. argumentu GetWindowProcessThreadId (s novou promennou DWORD a odkazem). Kdyz to tu funkci nezna musis si najit  kde je definovana *.h nebo se to mozna pise ......ThreadID s velkym D.

Nahlásit jako SPAM
IP: 90.178.107.–
Nechápu softwarové firmy, ktere utrácejí za čim dál těžkopádnější DRM ochranu!! Vidět kolem snahu o free2play model je jako příjemné připomenutí časů shareware (jen ten Microsoft stále nic nepochopil)
stres3d
~ Anonymní uživatel
3 příspěvky
29. 7. 2011   #3
-
0
-

to je jen zkopirovanej priklad na miny ve windows - ja sem tam upravil nazev okna a jenom to chtel zkusit ale hned mi to tam vyhazovalo chyby.. ta hodnota na ty adrese se muze menit napr.: "mov ecx,[esi-39]" a ano spravne ja tam potrebuju dostat 5bytovy kod místo 3..

nemel bys nejakej zdrojak kterej podle nazvu okna ziskava pid a pak umoznuje zmenu toho obsahu? a ten pointer ziskam jak? uz je to docela doba co jsem naposled neco programoval a stejne to nebyly nejaky extra programy, c++ fakt jen okrajove

Nahlásit jako SPAM
IP: 90.176.33.–
illioner0
Stálý člen
30. 7. 2011   #4
-
0
-

Trochu vic se tomu sam venuj
ta funkce se jmenuje GetWindowThreadProcessId ...a to sis mohl najit taky.
castecny KOD pro tve ucely:


  char pole[5]={1,1,1,1,1};
  DWORD adresa=0x0058C000;
  int i=WriteProcessMemory(hHandle, &adresa, pole, 5, NULL);
  if (i==1) ShowMessage('ok'); // ok-ko okno pokud mas c++ s vcl napr.

Vzhledem k tomu ze se potykame s nedostatkem mista uvazoval bych o
hledani podmineneho skoku a jeho neutralizaci o patro vys, ktery checkne tu 2,
coz je i beznejsi zpusob nez pozmenovat (navratove) hodnoty.
Podle me ti bude chybet jeste pouziti funkce VirtualProtectEx (popis napr. v MSDN),
nebot ta adresa pravdepodobne nebude sama od sebe zapisovatelna. co to je za oblast? primo z exe, nejaka dll, jak ze se to meni?

Nahlásit jako SPAM
IP: 90.178.107.–
Nechápu softwarové firmy, ktere utrácejí za čim dál těžkopádnější DRM ochranu!! Vidět kolem snahu o free2play model je jako příjemné připomenutí časů shareware (jen ten Microsoft stále nic nepochopil)
stres3d
~ Anonymní uživatel
3 příspěvky
2. 8. 2011   #5
-
0
-

#4 illioner
kde ale zjistim ten hhandle ? a jak tam dostanu mov ecx, 2??

Nahlásit jako SPAM
IP: 90.176.33.–
illioner0
Stálý člen
2. 8. 2011   #6
-
0
-

kod pro mov ecx,2 znas to je ten znamy 5 bytovy tak ho napises do toho pole misto 1-ek (pravdepodobne tam bude nasledovat nejaka nevyznamna 2 bytova instrukce neumim si presne predstavit, jak dokazal nalezce te adresy nemit problem s mistem.....takze nic vic to zatim po tobe z programatorskeho hlediska snad nechce)

ty radky jsem ti sepsal jen ty co byly spatne nebo potrebuji opravu, jako priklad, musis si opravit mou adresu pro sebe. Napsal jsem ti i spravny nazev vsech API tucne, ted to vyzaduje jistou davku tveho usili a asi tzv. navrat k programovacimu smysleni :D rad bych videl pokrok,
jsi schopny poporade dat/nechat tam tato API (u posledni nevis moc jak, muzes se pokusit)?
FindWindow
GetWindowThreadProcessId
OpenProcess
VirtualProtectEx (pridat pri zapisu s navratem false - tozn. neuspesnym)
WriteProcessMemory

Nahlásit jako SPAM
IP: 90.178.107.–
Nechápu softwarové firmy, ktere utrácejí za čim dál těžkopádnější DRM ochranu!! Vidět kolem snahu o free2play model je jako příjemné připomenutí časů shareware (jen ten Microsoft stále nic nepochopil)
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 238 hostů

Podobná vlákna

Změna IP — založil don_Dominique

Změna barvy — založil Lenka

Změna procedur — založil Ivos

Zmena kurzoru — založil giro

Změna vlastníka — založil Arno

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý