分享
012-分析快捷栏数组与快捷栏使用call【瑞客论坛 www.ruike1.com】.txt
下载文档

ID:3401418

大小:4.91KB

页数:4页

格式:TXT

时间:2024-04-28

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
瑞客论坛 www.ruike1.com 012-分析快捷栏数组与快捷栏使用call【瑞客论坛 www.ruike1.com】 012 分析 快捷
012-分析快捷栏数组与快捷栏使用call 2021在线班 郁金香灬老师 QQ 150330575 交流群:158280115 学习目标: 分析快捷栏数组 81E358+4*下标 分析快捷栏功能CALL和参数 写代码测试 0,1,2 // 1,2,3 sub esp,0x100 lea eax,[esp+0] mov dword ptr[eax+0x00],0 mov dword ptr[eax+0x04],0 push 19FCA234 push eax push 4 call 0x005ABBC0 add esp,0x100 wow.exe+1ABC3B: 005ABC39 - C3 - ret 005ABC3A - 53 - push ebx 005ABC3B - 8B 1C B5 58E3C100 - mov ebx,[esi*4+wow.exe+81E358] << 005ABC42 - 3B DF - cmp ebx,edi 005ABC44 - 0F84 12020000 - je wow.exe+1ABE5C wow.exe+1A7896: 005A7891 - 8B EC - mov ebp,esp 005A7893 - 8B 45 08 - mov eax,[ebp+08] 005A7896 - 8B 04 85 58E3C100 - mov eax,[eax*4+wow.exe+81E358] << 005A789D - 85 C0 - test eax,eax 005A789F - 74 13 - je wow.exe+1A78B4 wow.exe+1A78F6: 005A78F1 - 8B EC - mov ebp,esp 005A78F3 - 8B 45 08 - mov eax,[ebp+08] 005A78F6 - 8B 04 85 58E3C100 - mov eax,[eax*4+wow.exe+81E358] << 005A78FD - 85 C0 - test eax,eax 005A78FF - 74 13 - je wow.exe+1A7914 005AC04F | 6A 00 | push 0 | 005AC051 | 6A 03 | push 3 | 005AC053 | 57 | push edi | 005AC054 | E8 87202A00 | call wow.84E0E0 | 005AC059 | 50 | push eax | add esp,0C eax=取地址"LeftButton" 005AC05A | 8D4D F8 | lea ecx,dword ptr ss:[ebp-8] | ecx[]=<0,0> 8字节 005AC05D | 51 | push ecx | 005AC05E | 56 | push esi | 格子下标 从0开始 005AC05F | E8 5CFBFFFF | call wow.5ABBC0 | 3,6个参数 三个参数 快捷栏功能(下标) 0...格子数量 005AC064 | 83C4 18 | add esp,18 | 18/4=6个参数 0C+0C=18 005AC067 | 5E | pop esi | 005AC068 | 33C0 | xor eax,eax | eax:"LeftButton" 005AC06A | 5F | pop edi | 005AC06B | 8BE5 | mov esp,ebp | 005AC06D | 5D | pop ebp | 005AC06E | C3 | ret | /* 005AC048 | 83C4 0C | add esp,C | 005AC04B | 84C0 | test al,al | 005AC04D | 74 18 | je wow.5AC067 | 005AC04F | 6A 00 | push 0 | 005AC051 | 6A 03 | push 3 | 005AC053 | 57 | push edi | 005AC054 | E8 87202A00 | call wow.84E0E0 | 005AC059 | 50 | push eax | 005AC05A | 8D4D F8 | lea ecx,dword ptr ss:[ebp-8] 未知 是传入 还是返回呢? 005AC05D | 51 | push ecx 无ecx参数 005AC05E | 56 | push esi 下标 005AC05F | E8 5CFBFFFF | call wow.5ABBC0 | 005AC064 | 83C4 18 | add esp,18 6个参数 记得平栈 或者3个参数 005AC067 | 5E | pop esi | 005AC068 | 33C0 | xor eax,eax | 005AC06A | 5F | pop edi | 005AC06B | 8BE5 | mov esp,ebp | 005AC06D | 5D | pop ebp | 005AC06E | C3 | ret | 005AC06F | 68 B866A100 | push wow.A166B8 | A166B8:"Usage: UseAction(slot, [, target] [, button])" 005AC074 | 57 | push edi | 005AC075 | E8 06322A00 | call wow.84F280 | 005AC07A | 83C4 08 | add esp,8 | 039DFAF0 00000001 参数1 快捷数组下标 039DFAF4 039DFB10 参数2 &目标对象ID1 ID2 039DFAF8 1A08AF7C "LeftButton" 参数3 039DFAFC 1243BFE0 参数4 039DFB00 00000003 039DFB04 00000000 039DFAEC 005AC064 返回到 wow.005AC064 自 wow.005ABBC0 039DFAF0 00000003 参数1 快捷数组下标 039DFAF4 039DFB10 参数2 &buf<0,0> 039DFAF8 1A08AF7C "LeftButton" 039DFAFC 1243BFE0 // [wow.exe+93F78C]=可能是L指针 039DFB00 00000003 039DFB04 00000000 */ void 使用快捷栏(UINT 下标) { UINT_PTR pcall = 0x05ABBC0; UINT_PTR L = 0x400000 + 0x93F78C; int arg2[3] = { 0 }; char arg3[] = "LeftButton"; __asm { /* push 0 push 3 push L */ lea eax, arg3 push eax lea eax, arg2 push eax push 3 call pcall add esp,0x0C //add esp,0x18 } }

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开