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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. git的基本介绍和使用
  2. Node.js中exports与module.exports的区别
  3. 对.net技术组件的分析和选择
  4. 今天做项目时,用到了好多关于js的知识点,有的忘记了,然后晚上回来自己整理一番,明天继续整理。哈哈,分享给大家。
  5. variable-precision SWAR算法介绍
  6. vb.net dll创建
  7. 【C#进阶系列】03 配置文件管理与程序集的引用版本重定向
  8. go runtime scheduler
  9. 在Windows下利用Eclipse调试FFmpeg
  10. hdu 2092
  11. sliding windows (poj 2823) 题解
  12. 如何更改wampserver的网站根目录
  13. [官网]Using PuTTY
  14. MySQL 5.6.20-enterprise-commercial的参数文件位置问题
  15. 约定优于配置---Java的eclipse项目配置
  16. Java自带RPC实现,RMI框架入门
  17. 关于在VB.NET中调用使用VC++编写的类库dll的一点笔记
  18. 自动化构建工具gradle安装教程(使用sdkman安装)
  19. spring boot与spring mvc的区别是什么?
  20. php array_flip() 删除数组重复元素——大彻大悟

热门文章

  1. 什么是IO流
  2. docker install and minikube install
  3. ST Debug (printf) Viewer for Jlink
  4. java匿名内部类new(){}
  5. hystrix流程图收藏
  6. osg::NodeVisitor osg3.4.0
  7. 算法习题---4-3黑白棋(UVa220)
  8. Kafka管理与监控——broker宕机后无法消费问题
  9. 树形DP入门学习
  10. 【Leetcode_easy】830. Positions of Large Groups