游戏修改教程

原理就是动态改变程序在内存中的值来实现。要用到一下汇编的知识。

用工具跟踪程序的代码
[0012FED0]这个就是要修改的值得内存地址,每次启动都不同。

DWORD hProcId;
HWND hWnd 
=::FindWindow(NULL,"游戏名"); //得到窗口句柄 
DWORD A1=100;//值要改为100

    
if(hWnd ==FALSE){
        MessageBox(
"游戏没有运行!"); 
    }


    
else 
    

GetWindowThreadProcessId(hWnd,
&hProcId); // 从窗口句柄得到进程ID 
HANDLE nOK =OpenProcess(PROCESS_ALL_ACCESS|PROCESS_TERMINATE|PROCESS_VM_OPERATION|PROCESS_VM_READ| PROCESS_VM_WRITE,FALSE,hProcId); //打开进程并得到读与写权限 

if(nOK ==NULL) 
MessageBox(
"打开进程时出错"); 
else 

WriteProcessMemory(nOK,(LPVOID)
0x0012FED0,&A1,1,NULL); 

CloseHandle(nOK); 
//关闭进程句柄 

}
 
}
 

汇编语言和机器码对照表
https://files.cnblogs.com/ahuo/OPCODES2.rar


叛乱袭击者.夜鹰行动--无敌和无限弹药
http://files.blog.gmail.cn/2007/5/20075271710563864.rar
posted @ 2007-05-27 17:12  ahuo  阅读(1584)  评论(1编辑  收藏  举报