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-тег. Обойти не получится. -) Злобный Шэдоу. -)>>