吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1686|回复: 4
收起左侧

[原创] 一个小白向的简单逆向

[复制链接]
ShouCheng 发表于 2022-12-12 23:29
本帖最后由 ShouCheng 于 2022-12-13 00:01 编辑

    执行该exe,会出现三个窗口,目标是去除第一个和第三个Nags。
图片1.png

图片2.png

图片3.png

  程序相对复杂,因此选择直接将程序跑起来,然后弹出第一个Nags时点击暂停,查看堆栈的调用情况,毕竟函数的调用全靠堆栈进行的,所以可以看到经历了哪些堆栈的调用。在程序暂停在第一个窗口弹出的时候暂停。   


图片4.png

  然后查看堆栈调用情况。  
图片5.png


  认真观察其函数名字,被框出来的函数应该是真正执行dialog的地方。
图片6.png



  在其调用地址0x42039A下断点。   


图片7.png

  重载程序,执行到断点处,然后在单步执行,程序确实弹出了第一个窗口,说明调用入口函数没找错。   

图片8.png


  继续点击执行,发现还是回到了这个地方。说明剩余的两个窗口也是在这里作为调用的入口。   

图片9.png


  那么想要去除掉第一个和第三个就不能只是简单地nop或者jmp了。选择采用另外编写一段汇编代码来指定什么时候才会执行该语句,从而控制程序流程的执行。
  选取0x445E80作为控制流程的flag位。

图片15.png

  再找一块空闲的text地址,在其上写入汇编代码。

图片20.png

  选择将je这条指令进行修改,因为其是本身就是判断指令。但是要注意,因为选择的写入汇编代码位置距离该点位置属于长指令跳转,代码会偏长,将会覆盖下一条指令,所以在上面的汇编代码在编写时还需要考虑加上下一条指令的内容,以保证代码的完整性。
图片19.png

图片18.png

  到此就完成了,选择保存一下。  
图片13.png


  运行exe,只出现了第二个窗口,成功。
图片14.png

免费评分

参与人数 1威望 +1 吾爱币 +20 热心值 +1 收起 理由
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| ShouCheng 发表于 2022-12-13 00:03
不太会用,见谅见谅,将就看一下吧
1587665267 发表于 2022-12-16 15:00
wuai4444 发表于 2022-12-16 21:13
6789 发表于 2022-12-20 10:04
感谢楼主分享。学习了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-24 04:09

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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