码迷,mamicode.com
首页 > 其他好文 > 详细

第一个小练习

时间:2020-04-30 13:10:10      阅读:60      评论:0      收藏:0      [点我收藏+]

标签:win   message   cal   call   strong   判断   jmp   图片   地址   

 

不管逆向分析什么。我们肯定要先正向跑一遍。搞清楚我们要找的是什么。理清思路。

 

从图片可以看出。当我们姓名和序列号不对时,他会有个弹窗提示错误。所以我们可以从这个弹窗入手。它判断我们输入的姓名和序列号的对错肯定是弹窗之前判断的。所以我们要在弹窗函数下个断点。win32API的MessageBoxA函数就是弹窗函数。所以我们在MessageBoxA函数下个断点

 

技术图片

 

下断点和查看是否下好断点

 

技术图片

 

技术图片

 

 

下好断点F9运行程序,下图是在MessageBoxA函数断下来的样子

 

技术图片

 

 

一个函数刚开始执行的时候,堆顶存储的就是调用这个函数时候,函数的返回地址。
可以看到我们到了MessageBoxA函数执行完回到的位置,上面的40137D就是调用位置
我们可以看到正确和错误的位置就在上面

 

技术图片

 

 

F2在错误的位置下个断点,我们要去找是在那调用的这个错误位置

 

技术图片

 

 

按空格把之前MessageBoxA函数的断点给禁了

 

技术图片

 

 

F9运行程序,我们在一步一步通过堆顶查看调用,40124A的call就是函数调用的地方。
上面的je就是判断的位置,下面的40124C就是正确的函数位置

 

技术图片

 

 

我这使用的是暴力破解,直接修改判断位置。把je改成了jmp

 

技术图片

 

 

修改完了。现在保存就好了

 

技术图片

 

 

技术图片

 

 

查看结果

 

技术图片

 

 

第一个小练习

标签:win   message   cal   call   strong   判断   jmp   图片   地址   

原文地址:https://www.cnblogs.com/qiaorui/p/12808162.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!