寻梦小生 发表于 2016-4-25 13:17:30

用易语言写 -初学者必看。


图文教程

1.写给刚学用易语言写 的小伙伴们,同你们一样 我也是个菜鸟。如果你有耐心请继续读下去。

2.本篇交给大家的是方法 这里有两种 第一种是用CE找到基址然后写   第二种是用ce找到基址然后在汇编中转为字节集写

个人比较喜欢使用第二种,因为比较简单。 主要你懂中文会鼠标左右点击就行。如果你在懂点汇编指令那更好!

第一种:
      找游戏基址
         1。思路,首先得知道该游戏参数的数值类型   这里以植物大战僵尸中文版为例 比如存储阳光值的数值类型是什么 通常游戏都是4字节集的类型
            
            
         
         2。思路 ,如何找到你想搜索的参数亘古不变的做法就是 改变游戏数值 从而通过CE的减少或者增加的数值去判断这个参数
         3。思路,游戏大部分数值我们都是不能确定的,这时我们应该想到 1 0当游戏数值为1的时候 发生什么 0的时候又发生什么
                         以及游戏某个参数的规律,如这个数采用倒计时的方式数到1的时候 发生什么。
                         另外,要紧密结合游戏中跟你要寻找游戏参数的其它可见数值,你要想到他们是相关的。
                         如植物大战僵尸中你要实现自动收集下落的阳光,就应该想到他跟什么当前阳光可点击数相关。
      4。思路,当你第一次找到这个数值的时候然后找基址 第一次都是查找什么改下了这个地址后面都是查找什么访问了这个地址      5。思路,然后查找什么改下了这个地址 CE就会告诉你接下来该找什么地址 你就把找的地址和偏移记录下。在去CE勾选hex查找ce告诉你的地址
            edi就是我们下次找的地址,其中的5578就是一级偏移
      6。思路,勾选hex是以16进制数的方式查找这个数,前一步你获得的数字是16进制的内存地址,进行到这一步后 这里就需要靠经验来找了
                        出现的数值都是16进制的 随意变动的地址不要 也也是CE中红色的 小于程序开头的地址不要
                     随意变动的地址是堆栈地址   每个exe程序的基地址都是00400000所以小于它的不能要
                      我看了些视频,很多人都说 找前面几个还有说第一个就是你要找的地址 ,这里我也不能说什么 总之看经验嘛
      7。思路,当你找到这个地址后就查找访问这个地址ce接下来还是会告诉你继续寻找哪个地址 同时记录该地址和偏移
            
      8。思路,再次搜索这个地址,你就会发现会出现你想找的真正地址 ---基址
            绿色的地址就是我们找的地址
      基址:进程打开后(也就是程序运行)该地址不会改变在CE中绿色的表示基址   也就是很多人说的静态地址 .游戏更新后该地址会改变
       动态地址:程序每次打开改地址都会改变。
      不知道我说得有没有错我也没有经过专业化的培训,只是在网上偶尔看看教程,
      如果有错 希望已经理解的人在下方评论一下 分享你学习经验的同时也告诉我们广大真正学习这些知识的求学者。


第二种:
      用od转换为字节集

   1.思路,首先介绍od   一款反汇编的强大工具他能形象的展示给用户一个程序运行的过程到什么时候干什么 到什么时候干什么
   2.思路,od转换字节集,这是一个od插件转换为易语言字节集od的强大取决于你插件的功能od本身只是一个反汇编工具 他因为插件的功能而变得非常强大--------------------反正我是这样理解的   同样,不对的地方希望能指出
   时间用的比较久了尽量以更加的简洁方式详细的说明出来
    3.首先还是使用CE找到我们的游戏中关键的参数值,然后点击找出什么改下了地址
         这一步操作是阳光下落后 我点的 所以会是add指令加法指令
    4.思路 ,与找基址不同的是 这一步 找基址是点击的详细信息而 我们这里是直接显示汇编指令代码
      这一步就是当下落的阳光被点击后执行的指令
    5.思路,在地址出点击鼠标右键 选择转到地址然后会出现后图中的地址
图 5.1
图5.2

6.思路,记录该地址同时关闭CE将游戏附件到od中    为什么要关闭CE因为同一个进程不能被2个工具同时附加
7.思路,打开OD并附加进程后ctrl+G 更随表达式不按快捷方式你也可以鼠标右键然后找到更随表达式点击它
    在弹出的窗口中输入你要查找的地址
   
该地址就是当你点击从天空中下落阳光后 实现的增加阳光指令
8.思路,记录字节集正常的 和 修改后的
   图 8.1
图8.2
-------------------------------------------------- 这是正常的字节集
9.思路,然后把改增加阳光的指令nop掉也就是什么都不做选中nop掉后所以填充部分 转换为字节集

-------------------------------------------------这是修改后的字节集记录下来
举一反三 列举几个常用的
nop 什么都不做
add 加法指令
dec 减法指令
sub 减法指令
jmp 绝对跳转
详情请看本宝宝以前收集的汇编指令大全。或者自己网上搜索


---------------------------------------------------------------------------------下面是使用易语言写 的经验了---------------------------------------------------------------------------
1.安装易语言,并激活它使它拥有静态编译的功能网上有很多破解方法及破解版
由于时间仓促,我就不发上来了如有需要的话可回头加我QQ:120194520

.版本 2
.支持库 iext


进程ID = 取进程ID (“PlantsVsZombies.exe”)
.如果 (透明标签1.标题 = “未检测到游戏    进程ID为:” + 到文本 (进程ID))


.否则
    基址 = 读内存整数型 (进程ID, 十六到十 (“007794f8”), )
    一级偏移 = 读内存整数型 (进程ID, 基址 + 十六到十 (“868”), )
    写内存整数型 (进程ID, 一级偏移 + 十六到十 (“5578”), 到整数 (阳光1.内容))


这里就不贴图了直接贴代码,如有不懂的这里同样也可以问我,我写代码写的不好不过还是可以为刚接触着讲解。
上述是基址   

然后是字节集的方式


进程首先是必须的。 写内存实现修改游戏中的数据

其它的,就看自己发挥的,教的是方法。 界面什么的看自己的想想能力,功能什么的也看自己想象。
比如说 我有了修改阳光数量的地址我设置一个功能锁定阳光我还可以设置成修改阳光为多少多少 或者开局多少阳光

另,不喜勿看,不喜勿言。如有不同的见解希望发帖或者评论让大家学习一下!







zhenyu520 发表于 2016-4-25 17:30:01

打酱油的啦,飘过赚点海币而已。

菊花 发表于 2016-4-25 18:26:04

消灭零回复,顺便赚点海币,话说不会封号吧?

a623049207 发表于 2016-4-25 18:36:32

支持楼主,感谢楼主!

风吹的雨 发表于 2016-4-25 19:24:09

不错,支持楼主

撩妹 发表于 2016-4-26 05:09:22

谢谢分享,我正在想学习谁的 。

chenmingde007 发表于 2016-4-26 09:40:23

支持楼主,感谢楼主!

private 发表于 2016-4-26 10:01:14

求OD!!!!!!!

bin123603 发表于 2016-4-26 11:33:32


虽然用不到 但是也要支持

13688207076 发表于 2016-4-26 13:22:53

真是难得给力的好帖子,回帖鼓励一下
页: [1] 2 3 4
查看完整版本: 用易语言写 -初学者必看。