看流星社区

 找回密码
 注册账号
查看: 10041|回复: 9

[分享] 扫雷逆向之详解怎么找基址、怎么找call;CE,OD的使用

[复制链接]

该用户从未签到

发表于 2011-3-11 09:30:40 | 显示全部楼层 |阅读模式
1.CE找基址

  启动扫雷,启动CE,
  点击CE上那一闪一闪的电脑样子的图标,
  弹出一个附加进程的窗口
  选择你游戏进程的名字,扫雷是"winmine.exe"....(一般在进程在最下面,扫雷默认是这个名字,你要是改了扫雷的文件名就选择你改的名字)
  

  首先来找插旗数的基址:
  
  可以看到,现在插旗数的数量是10
  所以我们在CE里输入10,点击首次扫描
  扫描出好多结果,
  我们在扫雷上随便插一下旗,让插旗数减少
  现在插旗数是9
  所以我们在CE里输入9,点击再次扫描
  我们在扫雷上随便插一下旗,让插旗数减少
  现在插旗数是8
  所以我们在CE里输入8,点击再次扫描
  我们在扫雷上随便插一下旗,让插旗数减少
  现在插旗数是7
  所以我们在CE里输入7,点击再次扫描
  反反复复的这样搜索,直到搜到我们想要的扫雷插旗数的内存地址
  下面来测试下我们找到的地址正不正确,双击我们找到的地址,就把地址移到下面的操作区域了,我们在数值的地方双击,随便输入个数值,比如99,回到扫雷,再插个旗,现在看到,插旗数是98了,这就说明我们找对了,
  旗数基址:01005194
  呵呵,下面继续
  
  
  下面我们来找扫雷的时间:
  
  开始玩扫雷吧,通过观察我们可以发现,扫雷的时间是不断增多的,
  点击CE的新扫描,由于扫雷的时间不固定,所以我们在扫描类型上选择"未知初始化数值",点首次扫描
  由于扫雷的时间是不断增多的,所以我们在扫描类型上选择"增加的数值",点再次扫描
  由于扫雷的时间又增多了,所以我们在扫描类型上选择"增加的数值",点再次扫描
  由于扫雷的时间又增多了,所以我们在扫描类型上选择"增加的数值",点再次扫描
  由于扫雷的时间又增多了,所以我们在扫描类型上选择"增加的数值",点再次扫描
  直到出现我们想要的值,我们看到,有一个地址的值和我们扫雷的时间是一样的,就是那个了,双击它.把它移到下面的操作区域,在数值那随便输入个数值,比如1,可以看见,扫雷窗口上的时间也跟着改变了,呵呵,成功了吧,但这个数值还在不断增加,烦死了,这个地址前有个锁定的选项,把锁定的选项勾上,把时间锁住,时间就不会一直增加啦
  扫雷的时间基址:0100579C


  下面找扫雷开局按钮判断
  找这个开局按钮的判断有好几种方法
  一,开局按钮的判断肯定是个逻辑型变量啦,一般的话都是0代表假,1代表真,所以我们在还没有开局的时候输入0搜索,开局后输入1搜索,重复几次,直到找到开局的判断地址
  二,通过"未知初始化数值"和"更改的数值"搜索,在还没开局的时候搜"未知初始化数值",开局后搜"更改的数值",再重新开局,继续搜"更改的数值",直到找到开局的判断地址
  开局按钮判断基址:001005164
  把找到的地址记下来,后面找开局call时要用到
  
  




CE的使用到这基本上就说完了,CE的使用其实很简单,OD的使用才有一定的难度,下面开始使用OD


游客,如果您要查看本帖隐藏内容请回复




  找扫雷秒杀call
  
  秒杀扫雷是最爽的,直接调用扫雷成功的call,很黄很暴力
  扫雷成功会弹个对话框,我们就下个对话框的断点
  命令行输入bp DialogBoxParamW
  由于会弹出两个对话框,所以会被先后断下来两次,并且有两个call,我们就是要找到这两个call
  先玩胜利一盘扫雷,使OD断下来,断下来后按ctrl+F9,执行到返回,点击扫雷的确定按钮,又被断下来了,按ctrl+F9,执行到返回,接着我们就看见了一个call,
  01003505  |.  E8 77E6FFFF   call    01001B81
  这个call有一个参数,mov     dword ptr [eax], ecx


  测试下这个call是否正确,
  打开call测试工具,点击那个电脑样子的图标,附加扫雷的进程
  输入
     mov edx,0
     mov [010056cc],edx
     call 01001b81
  edx是扫雷所花的时间,点击创建远程线程,扫雷弹出个对话框,没有出错,说明我们找的这个call是正确的
  好,我们再找另一个call,同样是断下来后按ctrl+F9,执行到返回,接着我们就看见了一个call,
  0100350A  |.  E8 9BE6FFFF   call    01001BAA
  打开call测试工具测试下是否正确,
  输入
    mov edx,0
    mov [010056cc],edx
    call 01001b81
    call    01001BAA
  创建远程线程
  结果没有出错,是正确的,
  呵呵,扫雷的秒杀call也被我们轻松找到了

  
  
  扫雷点击call(鼠标左键):
  
  大家自己练习一下,看看能不能自己找到,
  下面贴出我找到的,对比下你找是是否正确
     push 2  //纵坐标
     push 4  //横坐标
     call  01003512

该用户从未签到

发表于 2011-3-11 09:31:15 | 显示全部楼层
不错的帖子,写得很仔细。学习!
其实CE真的很好用,那个自带的练习软件非常棒。

该用户从未签到

发表于 2013-2-15 19:23:05 | 显示全部楼层
不错的帖子,写得很仔细。学习!
其实CE真的很好用,那个自带的练习软件非常棒。
Txiangjun 发表于 2011-3-11 09:31



    同感!

该用户从未签到

发表于 2013-3-14 16:10:02 | 显示全部楼层
不错的例子,深入浅出

该用户从未签到

发表于 2013-3-19 19:36:12 | 显示全部楼层
看看什么好东西学习一下

该用户从未签到

发表于 2014-3-26 21:31:09 | 显示全部楼层
阿萨德的顶顶顶顶顶顶顶顶的的

该用户从未签到

发表于 2014-7-13 10:17:43 | 显示全部楼层
低洼大单位的挖的挖

该用户从未签到

发表于 2014-7-31 19:47:21 | 显示全部楼层
回复回复很符合

该用户从未签到

发表于 2015-11-30 09:38:07 | 显示全部楼层
mnvjyvuyguygyguguyguygu

该用户从未签到

发表于 2016-1-4 20:08:51 | 显示全部楼层
我也要看看
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-24 20:12

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表