Bemutató memória hacker, vagy írjon Trainer Archives - a testvériség csalók cheaton

Ez a lecke razglyanuty 2 mém hacker módszer - kívülről (exe), és a belső folyamat (dll). Amint azt fogjuk elmagyarázni, hogyan kell dolgozni mutatókat mindkét esetben.







III. Listája:


HWND WinAPI FindWindow (
_In_opt_ LPCTSTR lpClassName,
_In_opt_ LPCTSTR lpWindowName
);

DWORD WinAPI GetWindowThreadProcessId (
_In_ HWND hwnd,
_Out_opt_ LPDWORD lpdwProcessId
);

FOGANTYÚ WinAPI OpenProcess (
_In_ DWORD dwDesiredAccess,
_In_ BOOL bInheritHandle,
_In_ DWORD dwProcessId
);

BOOL WinAPI ReadProcessMemory (
_In_ FOGANTYÚS hProcess,
_In_ LPCVOID lpBaseAddress,
_Out_ LPVOID lpBuffer,
_In_ size_t nMéret,
_Out_ size_t * lpNumberOfBytesRead
);

BOOL WinAPI WriteProcessMemory (
_In_ FOGANTYÚS hProcess,
_In_ LPVOID lpBaseAddress,
_In_ LPCVOID lpBuffer,
_In_ size_t nMéret,
_Out_ size_t * lpNumberOfBytesWritten
);

BOOL WinAPI VirtualProtect (
_In_ LPVOID lpAddress,
_In_ size_t dwSize,
_In_ DWORD flNewProtect,
_Out_ PDWORD lpflOldProtect
);
IV. Módszer kívülről.

Hozzon létre egy üres konzol alkalmazás nélkül fejléc, és azonnal levelet a következő kódot (alapszerkezetét):

#include
#include

int main () // Létrehozunk belépési pont a folyamat Trainer

> Ezután leírja a szükséges változókat:


HWND hwnd = NULL; // kívánt folyamat ablakcím
FOGANTYÚ folyamat = NULL;
DWORD pid = 0; // folyamat számot a listán Egyenesen keresni:


if (FindWindow (NULL, „Játék”)) // ellenőrizze a jelenlétét az ablakban a címsor játék






> Ha az ablak találtak - szánunk ablakunk talált


hwnd = FindWindowA (NULL, "játék"); megtanulják a folyamat száma a listában:


ha (pid == 0)
GetWindowThreadProcessId (hwnd, PID); // a számot tárolni változó pid majd kap hozzáférést a folyamatot

Add pár változó:

if (Health <5000)
WriteProcessMemory (folyamat, (LPCVOID) (0x55555555), PatchHealth, 4, NULL) megy a játék, és látni, ha van az élet kisebb, mint 5000, akkor azokat írható


DWORD GetModuleBase (LPSTR lpModuleName, DWORD dwProcessId)
MODULEENTRY32 lpModuleEntry =;
FOGANTYÚ hSnapShot = CreateToolhelp32Snapshot (TH32CS_SNAPMODULE, dwProcessId);
if (! hSnapShot)
NULL;
lpModuleEntry.dwSize = sizeof (lpModuleEntry);
BOOL bModule = Module32First (hSnapShot, lpModuleEntry);
míg a (bModule)
if (! strcmp (lpModuleEntry.szModule, lpModuleName))
CloseHandle (hSnapShot);
vissza (DWORD) lpModuleEntry.modBaseAddr;
>
bModule = Module32Next (hSnapShot, lpModuleEntry);
>
CloseHandle (hSnapShot);
NULL;
>

mert nem vagyunk a folyamatban - nem tudjuk használni a beépített függvény GetModuleHandleA, a fent javasolt felhasználási Elvégezzük az ismerős kombináció:

"Game.dll" + 00111111 + 09 + 45 + 49 + DFTogda:


if (Health <5000)
WriteProcessMemory (folyamat, (LPCVOID) P4, PatchHealth, 4, NULL), és ugyanabban az időben, akkor a végén egy módszert a külső (tneynerami), és folytassa a dll

V. Módszer „a folyamat”.

Nos azért, mert a mi dll betöltése folyamatban, már van hozzáférése „források” a játék, a nyél nem, a folyamat száma, nem kell tudni, és nyomon követheti az ablakon túl.

Hozzon létre egy új, üres projekt dll projekt, és írjon a következő (ismét, az alapvető szerkezetét):

érvényteleníti onAttach ()
// ez fog történni *: cool: Magic: cool: *
>

BOOL WinAPI DllMain (HMODULE hModule, DWORD dwReason, LPVOID lpReserved)
if (dwReason == DLL_PROCESS_ATTACH) // ha a dll betöltése sikeresen
onAttach (); // működik, David Blaine: D
return true;
> Leírja a változókat:

HMODULE dll = GetModuleHandleA ( "Game.dll"); Leírjuk fenti függvény:

Jelentése azonos láncon, mint az előző példában:

"Game.dll" + 00111111 + 09 + 45 + 49 + DFI fog kinézni:

Forrás:
<<Вот гадство! А здесь HIDE-тег. Обойти не получится. -) Злобный Шэдоу. -)>>