406-407.x64项目汇编编写及调试bug

2020-08-30 23:15:44 任鸟飞 249

任鸟飞逆向,飞郁培训官网发布

任鸟飞,郁金香等著名讲师出品的课程教程

零基础学外挂,学辅助,外挂与反外挂,逆向分析,脚本,游戏安全,软件安全


1.添加窗口

右键--添加--资源

飞郁网络培训有限公司


Dilog--新建

飞郁网络培训有限公司



删除界面上的按钮

飞郁网络培训有限公司



2.添加窗口类

右键--添加类


飞郁网络培训有限公司



写类名,基类CDialogEx--确定

飞郁网络培训有限公司



3.初始化代码添加显示窗口代码

包含头文件


飞郁网络培训有限公司


添加代码

飞郁网络培训有限公司


CTestDialog *PMainDialog;//窗口类 DWORD WINAPI ShowTestDialog(LPARAM lpData) { PMainDialog = new CTestDialog;//给指针分配空间 PMainDialog->DoModal();//阻塞的方式 模态窗口 delete PMainDialog;//释放空间 FreeLibraryAndExitThread(theApp.m_hInstance, 1);//释放DLL退出线程 return TRUE; } // Cx64MFCDLL框架App 初始化 BOOL Cx64MFCDLL框架App::InitInstance() { CWinApp::InitInstance(); ::CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)ShowTestDialog, NULL, NULL, NULL);//启动测试功能窗口线程 return TRUE; }



4. 添加测试按钮


飞郁网络培训有限公司


飞郁网络培训有限公司


飞郁网络培训有限公司

5.

注释放开


飞郁网络培训有限公司



增加一句输出ASMadd函数地址,这样方便一会我们进汇编代码观察

飞郁网络培训有限公司



然后注入,看输出结果
我们预计的结果应该是101+55+22 = 178

实际输出结果,和我们预计的差距很大

飞郁网络培训有限公司



那么我们用debug 附加游戏, 跳到 ASMadd函数地址,看看有什么问题

飞郁网络培训有限公司


发现是 call改变了rcx 和rdx的值


这样写就可以了

飞郁网络培训有限公司



这次和我们预计的结果是一样的了


飞郁网络培训有限公司

到这里其实x64调用汇编代码我们已经会了




电话咨询
QQ客服