WinRAR 去广告的姿势

一直在使用WinRAR解压文件,感觉非常的好用,可是现在WinRAR添加了广告,每次打开压缩包都会弹出广告,有时候甚至在解压的时候弹出来,而每次弹出广告都会卡顿一下,忍了很长时间今天实在是受够了,准备尝试去广告,故把过程记录下来,这里我使用的是最新版 5.71.

免责声明:该教程仅用于技术交流,并无任何商业目的,您不得将下述内容用于商业或者非法用途,否则后果自负,如果您喜欢该程序,请支持正版软件,购买注册 ,得到更好的正版服务,如有侵权请邮件联系作者!

通过API函数去广告 (x32位)

1.首先我的思路如下,程序在运行后因为会弹出窗体,而广告从某种程度上说也是一种窗体,所以猜测是否会调用 CreateWindowEx这个函数来创建窗体呢,经过使用IDA验证,果然调用了这个函数。

1379525-20190914123117044-1775090435.png

2.接着使用OD载入WinRAR程序,下一个 CreateWindowExW 函数断点。

1379525-20190914123337882-393685810.png

3.接着我们直接 【F9】运行程序,然后程序会断下,观察第一次断下的结果,其堆栈如下,我们需要注意 WindowName这一栏,很明显这个不是。

1379525-20190914123434409-1495072366.png

4.继续按下【F9】运行程序,当按下5-6次F9后,堆栈中显示出了WinRAR相关的字眼,这里需要注意,马上就是主窗体创建代码了。

1379525-20190914125235702-985889655.png

5.此时我们在堆栈窗口,右击选择反汇编窗口中跟随,并在【00D516D1】的位置下断点并去除多余断点,然后重新载入程序。

1379525-20190914125529759-1559086628.png

6.重新载入程序以后运行程序,并单步F8慢慢向下走。

1379525-20190914125738557-1724442100.png

7.当走到【00D51AB9】的位置的时候,程序会卡顿一下,然后接着就会弹出广告,由此我们可以肯定这个CALL就是广告弹出的关键CALL

1379525-20190914125927831-790860603.png

8.此时我们记下这个CALL的地址【call 00D153A0】,搜索所有常量,并分别将这几处CALL调用替换成NOP指令。

1379525-20190914130407219-733607100.png

9.保存文件,保存所有修改,然后运行即可完美去广告。

1379525-20190914130524171-2008725279.png


通过窗口句柄去广告 (x64)

1.打开x64dbg,直接F9让程序跑起来,并等待程序出现弹窗,然后切换到句柄,在窗口中选择弹窗窗体类,并记下类名称 RarReminder。

1379525-20190914170741872-1707324321.png

2.接着在反汇编窗口中搜索字符串,并查找 RarReminder 类名。

1379525-20190914170858282-1117423798.png

3.找到类名后,在所有的类名上设置断点。

1379525-20190914171026328-1780358735.png

4.重新加载程序,并F9直接运行,此处需要运行两次,会发现是创建窗体的过程,我们这里需要修改一处地址,使创建窗体失效。

1379525-20190914171222612-1428462913.png

5.此处将原有指令修改为lea rdx, ds:[0x00007FF70A5FFFFF] 这样CreateWindowEx函数就会失效,从而不去创建弹窗。

1379525-20190914171338812-1563591884.png

6.保存文件,并运行看看效果,发现已经完美屏蔽广告了,嘎嘎!

1379525-20190914171538770-1059269581.png

去广告后可以压缩一份,以后直接解压就能使用。

转载于:https://www.cnblogs.com/LyShark/p/11518805.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值