int hp = 1337;intmain(){while (true) {hp--;printf("hp 现在是:%in", hp);getchar();}}
一个经典的程序示例,就是 每次我们按下回车键时都会降HP 值。 禁用了地址空间布局随机化(ASLR) ,这样基地址就不会改变。
用 Cheat Engine 查到 hp 的地址是 0x403018,是时候编写破解程序了。
内部作弊的代码示例:
编写一个简单的DLL:
BOOL WINAPI DllMain(HMODULE hModule, DWORD dwReason, LPVOID lpReserved){int* ptr = (int*)0x400000+0x3018; // 0x400000 是基地址(未启用 ASLR,因此是静态的)*ptr = 999;return TRUE;}
注入后, hp 值将变为 999。
外部代码示例:
DWORD pid = 18844;HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid); // 我们需要进程句柄才能访问内存int hpValue = 999;WriteProcessMemory(hProc, (LPVOID)(0x400000 + 0x3018), &hpValue, sizeof(int), NULL);
在外部调用时,您需要获取进程句柄。为了简化代码,我将进程 ID 硬编码到了代码中。
以管理员身份运行此程序,它还会将 hp 值 更改为 999。
总结:
本文对应的是上一篇的
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……




还没有评论,来说两句吧...