过林黑马 发表于 2019-3-11 18:09

第二课课件 调试出来反汇编代码不一样

今天学习恒大的第二课,发现调试出来的反汇编代码跟恒大的视频不一样。
恒大的课件,调试出来的结果截图如下:

根据恒大的反汇编代码,分析是可以到edx的实时地址去下断,因为edx的值给了eax,那么给edx那个地址下硬件写入断点,会找到关键call。
我在虚拟机+XP下调试出来的结果解图如下:
因为反汇编代码不一样路。根据恒大一开始就提过的,要活学活用。如果有哪个同学调试的结果跟我的是一样的,不妨可以用以下分析方法,思路跟恒大的是一样的。
分析代码得知,00425984|.8B87 30020000 mov eax,dword ptr ds: 这一行代码的意思是,将 edi + 0x230指向的内存地址的数据传给EAX, 大小为DWORD。
那么我们如法炮制,在寄存器窗口中找到这个地址,然后数据窗口中跟随,对该地址下硬件写入断点,然后取消别的断点,重载程序运行起来,发现就程序就断到了关键代码段附近,

这样,你会发现这个跟恒大的一模一样的代码段了。后面的事情跟视频就一模一样了,enter进上面的CheckCode那个call里面,修改段首为mov eax,1;retn。保存搞定。
有兴趣的同学可以下载来试试。
我的课件跟恒大的一样,附上课件网盘:链接:https://pan.baidu.com/s/1N2dWsDp0P1eS_3HctYPEKA
提取码:4n5i

LDS 发表于 2019-3-15 08:28

有没有Xp的虚拟机,我最近也在试.我发现自己win7底下, 交叉里面的程序都是无法运行,我把防火墙什么都关了,没有任何杀软.

过林黑马 发表于 2019-3-15 09:09

LDS 发表于 2019-3-15 08:28
有没有Xp的虚拟机,我最近也在试.我发现自己win7底下, 交叉里面的程序都是无法运行,我把防火墙什么都关了,没 ...

用论坛的虚拟机就好

LDS 发表于 2019-3-16 09:33

不是虚拟机的问题,兄弟你姿势不对吧. 是镜像 我似乎说错了.
运行的时候我记得是是什么 地址蹦了我也没看,就是恒大脱过壳的那个
新人,别笑

过林黑马 发表于 2019-3-16 14:30

LDS 发表于 2019-3-16 09:33
不是虚拟机的问题,兄弟你姿势不对吧. 是镜像 我似乎说错了.
运行的时候我记得是是什么 地址蹦了我也没看, ...

是虚拟机的问题,我确认过了。
因为我没来论坛之前已经在别的论坛安装了虚拟机,就没安装论坛的那个虚拟机。一直没问题,
到 了第三期突然代码变了,我就把论坛的虚拟机操作系统下载下来了。运行出来的结果跟恒大的一模一样,换3个OD都是更恒大的一样。
然后我又回到原来的虚拟机去,同样是用三个OD跑看看,发现跟恒大的还是不一样,所以确实是虚拟机的问题。至于为何到了第三期才出现这样的问题,这个我倒不清楚。具体原因不深究了,虚拟机的问题我也搞不懂。知道是原因就好了。

LDS 发表于 2019-3-18 08:36

里面有Xp的虚拟机,还有无法运行是因为运行demo不能兼容win7的OS,后来想了下 还是用恒大的 XP吧

vawa1900 发表于 2019-4-5 17:18

你这个XP的虚拟机的代码段和我直接WIN7下运行的情况一毛一样。
也是教程里找的是EDX,实际操作找的是EAX

tianjinhua 发表于 2019-12-3 21:13

我刚才学习的时候也遇到了这个情况,后来发现其实是软件自动更新了。。。
页: [1]
查看完整版本: 第二课课件 调试出来反汇编代码不一样