简单来解释就是,在不考虑组译器的情况下(实际上修改游戏的话也不需要关注这个),可以理解为,我们的CPU在处理程序时所用的低级机器语言就是汇编。

很不幸的是,汇编不愧为低级语言,学习起来极其复杂,我周围连能够看懂汇编的人都寥寥无几,更不要说会用的人了。还好我们并不需要用汇编来写程序,只需要把最常用的几个命令了解即可。所以我的汇编水平也是非常之烂,恐怕还有无数的错误,只能勉强应付一下常用的反汇编修改了。那么我就现学现卖一次好了^_^。

这一次,我们的目标是最近很火热的小游戏《植物大战僵尸》。

进入开始游戏,准备开始修改。

召唤出我们的CE。改钱的步骤太简单了,就不再浪费时间。现在我们已经找到了太阳币的地址,点右键,选择寻找写入这个地址的地址。

回游戏,点个太阳加点钱,然后回来,果然他已经找到了操作码。双击打开额外信息对话框,这里实际上我们可以看到非常多有用的内容,比如说关于太阳币的指针是[eax+00005560]。关于指针修改的内容之前已经讲过了,所以这里不再重复。

不过要注意的话,直接搜索eax的数值,会出来很多个地址,令人难以确定。所以我们可以稍微往上看一行,“mov eax, [esi+04]”这一段操作码,可以看到实际上esi里的地址就是真正的eax,添加指针的时候只要输入10455E40+5560即可。

好了,回正题。

我们右键打开详细的内存区域,来看一下之前找到的那段操作码。好,现在开始准备对他进行自动汇编。点击菜单栏的工具-自动汇编(或者按快捷键Ctrl+A)。

在弹出的对话框中点击模板-脚本注入。现在就会生成图中的内容。add [eax+00005560],ecx就是我刚才点击了一个太阳加钱时的操作码,意思是,给指针[eax+00005560]增加数值ecx。

现在我们简单的修改一下,改成 add [eax+00005560],500。点击执行,提示注入成功。

要注意的是,在这里所有的数值都是16进制的,也就是说500h换算为十进制,实际上是1280。

现在再回游戏点一下太阳,怎么样,钱不是增加了1280。

当然,自动汇编还可以有很多好玩的用处,比如说每造一个向日葵就自动增加50个太阳币之类,只要再原来的地址下面新增一行即可。我懒得继续写下去了,有兴趣可以自行尝试。

原文:http://www.lolibeta.com/games/868.html

自动汇编转c语言,【转载】CE教程之自动汇编相关推荐

  1. 【ATT 与 Intel】汇编与C语言相互调用及内联汇编

    目录 一.ATT 与 Intel 二.函数调用的约定 三.C语言调用汇编程序 四.汇编程序调用C语言 五.内联汇编 5.1.基本asm格式 5.2.扩展asm格式 5.3.使用占位符来替代寄存器名称 ...

  2. 汇编和c语言函数的参数传递,c文件汇编后函数参数传递的不同之处

    mac下clang编译后函数的参数先保存在寄存器中(以一定的规则保存),然后在函数中压入栈里, 以待后用.例如上篇例子,红色部分: .global _decToBin _decToBin: pushq ...

  3. 汇编和c语言函数的参数传递,C51中汇编的使用及参数传递与数据返回

    博文原址:http://blog.163.com/liujie_267/blog/static/874692172010612461343/ 1.在 C 文件中要嵌入汇编代码片以如下方式加入汇编代码: ...

  4. 汇编调用c语言函数 call printf,如何在汇编调用c语言函数?

    一. 参数传递的基本规则(ATPCS(ARM-Thumb Procedure Call Standard)) 1. 参数传递 二.汇编程序.C程序相互调用举例 1. C程序调用汇编程序 汇编程序的设计 ...

  5. 8051(c51)单片机从汇编到C语言,从Boot到应用实践教程

    8051(c51)单片机从汇编到C语言,从Boot到应用实践教程 作者 将狼才鲸 创建日期 2022-09-29 本仓库相关网址: CSDN文章地址 Gitee工程和源码地址 相关仓库: 嵌入式整体介 ...

  6. 易语言内存逆向教程(PC电脑端方向最新)+送图色基础+多线程中控(类人猿)

    语言内存老教程非常多,但是很多已经不适合当前的游戏,当前已经新工具和思路原理,市面上大部分教程已经过时的了.我的课程都是最新的方法,综合各家所长的,让大家学有所成的.一分钱一分货,希望大家喜欢我的课程 ...

  7. CE教程 第七章 《多级指针》

    步骤 8: 多级指针: (密码=525927) 这一步教学将会解释该如何使用多级指针.在第 6 步的教学中你应该了解到简单的1级指针的概念和用途, 以及如何由数据的地址找到真正的基址.在本步教学中,你 ...

  8. C语言中递归什么时候能够省略return引发的思考:通过内联汇编解读C语言函数return的本质...

    C语言中递归什么时候能够省略return引发的思考:通过内联汇编解读C语言函数return的本质 事情的经过是这种,博主在用C写一个简单的业务时使用递归,因为粗心而忘了写return.结果发现返回的结 ...

  9. CSS的预编译——less语言基本语法教程(入门)

    less语言基本语法教程(入门) 一.CSS解析 css是一门标记性语言,语法简单,对使用者的要求也比较低. 缺点:1.对于css:使用css时需要书写大量的看似没有逻辑的代码,不方便维护和扩展,不利 ...

最新文章

  1. oracle数据如何获取游标中动态字段_如何实现报表数据的动态层次钻取(二)
  2. 时空AI技术:深度强化学习在智能城市领域应时空AI技术:深度强化学习在智能城市领域应用介绍...
  3. matlab水印剪切攻击程序,可以运行的水印matlab程序(嵌入,提取,攻击测试等).doc
  4. m.soudashi.cn 地图_SEO人员怎样挖掘大量关键词库
  5. JVM学习-直接内存
  6. python闭包的应用场景_Python闭包函数定义与用法分析
  7. jsp+servlet实现最基本的注册登陆功能
  8. 【笔记】Java如何判断是IDE启动还是jar启动
  9. 使用wsdl2java编写webservice客户端
  10. 单摆的动力学建模以及matlab仿真(牛顿法和拉格朗日方程法)
  11. Android MTP 模式 驱动无法安装解决方案
  12. 计算机软件故障排除ppt,计算机基础知识及常见故障排除.ppt
  13. Java——事故应急
  14. 用java制作扑克牌_java实现简易扑克牌游戏
  15. outlook电子邮件解析_在Outlook 2007中轻松重新发送电子邮件
  16. 4p营销组合策略案例_营销组合策略的4P讲解
  17. 0910---scipy.signal.argrelextrema 计算多维数组局部极值问题
  18. excel手机版_微软开发于手机端的办公软件!
  19. linux xdm 启动执行文件,Linux下配置XDM登录服务器
  20. 图形学---中点画线法---opengl中实现

热门文章

  1. 针对126邮箱部分功能测试
  2. 【Python爬虫】爬取ppt素材
  3. 护士护理报告PPT-朴尔PPT
  4. 统考英语和计算机可以插u盘吗,英语B统考前用U盘里面的文件复制到机考电脑上会被抓到吗...
  5. 气体润滑轴承matlab分析,轴承润滑常见的7种方式及其优缺点
  6. 数组排序sort( )函数 升序greater<int>()函数和 降序less<int>函数的用法
  7. 在浏览器输入url或者postman发起get请求参数注意点
  8. ppt如何旋转流程图_PPT中smartart图形怎么旋转?PPT中整体旋转或翻转smartart图形的方法介绍...
  9. DNS服务详解及正向解析与反向解析
  10. 记录数据 生活管家APP