OD调试初体验—关闭x86版winrar广告弹窗

在虚拟机里用winrar作为解压缩软件时,它的广告弹窗很烦人的,做个小实验关掉它!

在winrar官网下载x86安装包:https://www.winrar.com.cn/
下载完成后,在win7 x86虚拟机中安装。
随意双击一个rar文件,都会有弹窗广告。

这个怎么破解呢?
找到winrar的安装目录,用OD调试器打开WinRAR.exe,开始调试之旅。
我们知道,Windows创建新窗口的函数是CreateWindowExWCreateWindowExA,所以我们Ctrl + G分别对其下断点。
然后F9进入调试。
断点命中后,Windows右下角会显示详细的参数信息。
在这里插入图片描述
我们关心的是WinRAR的,所以忽略无关的,继续F9。
第一次出现WinRAR相关的调用是:
在这里插入图片描述
这次是创建winrar主窗口的调用,但此时窗口还未显示,因为各项资源还没准备完全。
可以通过栈回溯定位一下它的调用点,不过也没有太多关键的信息。
在这里插入图片描述

接下来有很多次调用,因为要初始化窗口上的资源,像ComboLBox、ScrollBar、Toolbar等等都会触发CreateWindowExW的调用,这些都可以过滤掉。
初始化完成之后,主窗口就弹出了。按理说接下来就应该准备弹出广告窗口了。
在这里插入图片描述
我们发现,此时右下角的调用又是一个WinRAR,栈回溯看一下调用点:
在这里插入图片描述
发现在函数调用上方有个链接,这正是内嵌在广告窗口中的链接。
验证一下,再F9几次(初始化广告弹窗),广告弹窗出现了!
在这里插入图片描述
OK!这样就定位到了广告弹窗的那次CreateWindowsEx!
那怎么关闭弹窗呢,自然就是删除这次调用。

第一次尝试的时候,把这块指定全部填充成了nop。
在这里插入图片描述
保存后发现,中间部分指定被填充成了其他值,这是因为这些指令有重定位。那这个方法就有点风险了,可能会执行崩溃。

于是换了第二种方法,用jmp指令直接跳过这几行。
在这里插入图片描述
保存并替换原文件,再双击就会发现广告弹窗不见了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值