摘要: 在dll中呼出对话框,前提是你在dll中插入了对话框资源以下代码通过设置键盘钩子来在指定程序(红心大战)中按F11来呼出我们的对话框,呵呵,这相当于是dll注入呀,至于用途,就看个人的发挥了...dll中的主要代码如下:// 唯一的一个 CGameDllApp 对象CGameDllApp theApp;CDlgMain *dlgMain=NULL; //主对话框指针// CGameDllApp 初始化BOOL CGameDllApp::InitInstance(){ CWinApp::InitInstance(); return TRUE;}int CGameDllApp::ExitInsta 阅读全文
posted @ 2012-09-17 20:23 氺〤魚Oo。 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 在汇编中引用C语言中的结构体,要先取出结构体的基址,然后利用结构体的 基址+字段偏移量 访问结构体中的成员变量,如:lea eax,test; //取出结构体test在内存中的基址mov ebx,[eax+4]; //取出结构体test中,第4个字节开始处的4字节数据mov ebx,[eax+8]; //取出结构体test中,第8个字节开始处的4字节数据mov ebx,[eax+c]; //取出结构体test中,第c个字节开始处的4字节数据 阅读全文
posted @ 2012-09-17 19:59 氺〤魚Oo。 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 在汇编中引用C语言中的数组,要先取出数组的地址,利用基址+索引 访问数组中的元素,如:int arrary[5]={1,2,3,4,5};lea eax,arrary;//取出数组arrary在内存中的地址mov edx,2; //取出数组arrary中某元素的下标mov ebx,[eax+edx*4]; //取出数据arrary[1],注意数组下标从0开始, //edx乘以4,是因为int在内存中占4个字节 阅读全文
posted @ 2012-09-17 19:50 氺〤魚Oo。 阅读(341) 评论(0) 推荐(0) 编辑
摘要: int a=5; //变量a_asm { mov eax,a; //将变量a的值放入寄存器eax add eax,eax; //相当于a=a+a mov a,eax; //将a+a的结果赋给a } //查看结果,注意a的初值为5 CString rst; rst.Format(_T("a=%d"),a); AfxMessageBox(rst); 阅读全文
posted @ 2012-09-17 19:26 氺〤魚Oo。 阅读(169) 评论(0) 推荐(0) 编辑