找到常量call之后要先找个代码注入工具测试一下是不是想要找的call,一般用CodeinEX这个工具。说下写测试call的时候要注意到的细节,当然在写代码的时候也需要同样的注意。

1.      push数据的时候必须是常量,不能是类似push eax等类似代码

2.      注意堆栈平衡,加入call之前有4个push,call里面结尾如果有retn 0x10,call下边一般没有add esp,0x10这样的call测试的时候直接调用call就可以了;相反如果call里面结尾如果没有retn 0x10,call下边一般有add esp,0x10这样的call测试的时候要加上add esp,0x10

3.      注意call的里面有没有来自call外边的寄存器的值,例如常见的ecx,eax。一般在C++程序里面会把类对象指针放在ecx里面,call的时候call里面的ecx值取自call外面的ecx值,一般的call的返回值会放在eax里面,如果call里面有取eax的值,在call外面寻找eax的值得时候要注意外面的call有无将返回值放在eax里面

4.      push数据有时也有基地址的查找,例如push eax,这个时候要寻找eax的来源,例如eax来自[ebx+0x10],这是要接着寻找ebx的来源,ebx来自[edi+0x20],要一层以上找到最初始的常量,例如 push [[[[00401000+0x40]+0x30]+0x20]+0x10]

外挂学习之路(5)--- 写测试call的注意事项相关推荐

  1. 外挂学习之路(1)--- bp send 回溯寻找关键call

    先废话一下----好久没有更新博客了,更新一下.学习外挂也有几年时间了,零零散散没有学习到什么东西,更没有做出什么有用的项目,也没有什么总结文档,从头再来吧,人不立志难以成事. 以下文字都是自己的感悟 ...

  2. 【转载】如何学习统计学,或我的学习之路——初学者写给初学者

    http://cos.name/2008/11/how-to-learn-statistics-by-jthu/ Posted on 2008/11/24 by 胡江堂 选编者谢益辉:很幸运刚好在CO ...

  3. 外挂学习之路(12)--- 用CE搜索字符串和搜索字符数组的区别

    用VS2008写个小工程做测试,得到如下一些结论 代码如下: TCHAR test[50] = TEXT("你好啊"); void CasciiDlg::OnBnClickedBu ...

  4. 外挂学习之路(8)--- 释放技能call

    首先以寻找 所有对怪物释放技能的call为主题 首先理一下编程者如何编写释放技能的流程, 1.      游戏玩家释放技能 2.      获取当前选中怪物ID或者指针或者标识一类的总之能标识释放对象 ...

  5. 外挂学习之路(15)---lua语言的使用,

    必学,,, =========================以下10:19 2018/8/21更新============================== Lua详细学习请看:https://b ...

  6. 外挂学习之路(14)--- 游戏中的二叉树

    最近有点懒了,两个月前就准备总结地传说中的二叉树在游戏逆向里是怎么回事,一直拖到现在,今天还是不能完成(慢慢知道自己最终不能成就什么大事的原因了, ,做什么事都不能持持之以恒),不过得先写下辩题提醒自 ...

  7. 外挂学习之路(11)--- 背包数据的遍历

    查找数据主要包括:背包数据遍历.NPC数据遍历.怪物数据遍历.地面物品数据遍历.技能列表遍历.周围玩家数据遍历.地图数据的查找.人物信息的查找等等. 本次只讨论需要遍历的数据 为什么要遍历数据? 一般 ...

  8. 外挂学习之路(6)--- 选怪call

    选怪call就是指鼠标左键点中怪物准备攻击的动作,看别人教程非常容易找,分分钟的事情,自己实践起来还是费了一番功夫,做个总结希望下次再找的话可以更迅速点. 1.      先用CE找到怪物表示,无论是 ...

  9. stm32l4 外部中断按键会卡死_STM32学习之路-按键中断测试(外部中断)

    void RCC_Config(void) { SystemInit(); //系统时钟初始化 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); ...

最新文章

  1. 【通知】2020年有三AI-CV夏季划升级倒计时,最后两天
  2. java8 时间 LocalDateTime常用方法
  3. mysql分页概念_MySQL学习笔记之数据定义表约束,分页方法总结
  4. oracle约束 关闭,Oracle约束管理脚本
  5. MySQL:浅析 Impossible WHERE noticed after reading const tables
  6. A 股暴跌,户均亏 2 万!刚写好的辞职信又撕了……
  7. springboot 2中文手册_熬夜整理了一套最新版的Java面试题和开发手册(附答案)...
  8. VS2017超有用秘钥(亲测)
  9. 影子系统 重启蓝屏 开机蓝屏 安全模式蓝屏 进PE蓝屏 解决方案
  10. ResNet网络结构搭建
  11. java将Map转换为List
  12. 2000坐标系与现行坐标系的关系及采用2000坐标系之后的一些变化
  13. linux系统中各颜色的代表
  14. ape flac 音频截取_为什么选择FLAC音频
  15. 个人博客的Travis持续集成之路
  16. mysql 用户、数据库、表的基本操作
  17. php octet stream,为什么上传图片时,type 显示application/octet-stream 呢? 原
  18. app模式会被第三方平台模式取代吗_那些逐渐被系统功能取代的第三方APP,你知道多少?...
  19. Java小知识点合集-面向对象
  20. springboot访问页面显示Whitelabel Error Page

热门文章

  1. 从源码深处体验Spring核心技术--基于Xml的IOC容器的初始化
  2. thymeleaf体验
  3. 存储函数和存储过程的区别
  4. JAVA中循环删除集合中元素的方法
  5. LinkedBlockingDeque源码
  6. 安装和配置Hadoop
  7. matlab公共函数之保存YUV数据
  8. 增强for循环、Map接口遍历、可变參数方法
  9. 应用生命周期终极 DevOps 工具包
  10. harris角点检测的学习