[VIP专享]06授人以鱼不如授人以渔●(CALL的调用找CALL篇四)5370.pdf
《[VIP专享]06授人以鱼不如授人以渔●(CALL的调用找CALL篇四)5370.pdf》由会员分享,可在线阅读,更多相关《[VIP专享]06授人以鱼不如授人以渔●(CALL的调用找CALL篇四)5370.pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、06 授人以鱼不如授人以渔(CALL 的调用 找 CALL 篇四)目标:还是那个模拟器 今天我加了封包加密,如图下.看看代码有什么变化,并且调用加密 和发送 CALL 老套路,用 OD 加载模拟器,返回 6 层 到发送封包 我们对比上次找的 发现多了一个 CALL 这个应该就是 封包加密()了 我们直接到 那个 CALL 看看 将上面那个 CALL 所得到的完整封包 从出栈到 EAX 将 封包指针地址 存放到 ebp-4 也就是说第二个堆栈地址(12F5B8)*这里EBP-4为什么会等于 堆栈地址 12F5B8 呢?因为这里在一开始 就给 EBP 赋值了 ESP 堆栈指针 所以说 给EBP 赋
2、值也就是给堆栈赋值.将 EBP-4的指针地址压入堆栈 压入堆栈后 堆栈的变化如上 加密 CALL 后 返回 加密后的封包数据 并把封包数据的指针 放在EAX 里 我们查看下 EAX 的值 跟 封包助手 截包的封包内容 在下面那个就是 客户.发送数据()了=汇编分析=00404916 58 pop eax 00404917 8945 FC mov dword ptr ebp-4,eax 0040491A 8D45 FC lea eax,dword ptr ebp-4 0040491D 50 push eax 0040491E E8 5E000000 call 00404981 00404923
3、8945 F8 mov dword ptr ebp-8,eax=粗略分析=第一行弹出的是组合后的封包数据.jx50 第二行把封包压入第二个堆栈地址 第三行把地址放入 EAX 里 第四行压入堆栈 第五行 CALL 第六行把加密后的封包放入第二个堆栈里=详细分析=pop eax 在这里 我们直接把封包 写入内存 然后赋值给 EAX 所以 我们打开 CE 找到一个空白内存 把类型改成文本 值为 jx50 mov eax,地址 mov dword ptr ebp-4,eax 这里的 EBP 等于 ESP(为什么等于 ESP 因为在子程序头部,程序把ESP 值赋给了 EBP)所以我们必须 也这样写上.m
4、ov ebp,esp*如果程序还需要原有的 EBP 值那么就要把 EBP 压入堆栈,保存原有的 EBP 值 然后在还原*这里因为不需要 所以我们没写 如果想写也不会有问题 不过记得最后 POP 出来*这里有些朋友可能会好奇,为什么不给 ESP 赋值?*因为 ESP 永远指向堆栈栈顶,如果一改的话,堆栈就不会平衡,程序就会出错.mov dword ptr ebp-4,eax 这里因为我们已经赋值了 EBP 的值 所以可以直接写 mov ebp-4,eax lea eax,dword ptr ebp-4 这里也一样 lea 作用跟 MOV 差不多 不过 MOV 不能用 减号 lea eax,ebp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VIP专享 VIP 专享 06 不如 CALL 调用 5370
限制150内