WinRAR 去广告的姿势
一直在使用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.保存文件,并运行看看效果,发现已经完美屏蔽广告了,嘎嘎!
去广告后可以压缩一份,以后直接解压就能使用。
最新文章
- git的基本介绍和使用
- Node.js中exports与module.exports的区别
- 对.net技术组件的分析和选择
- 今天做项目时,用到了好多关于js的知识点,有的忘记了,然后晚上回来自己整理一番,明天继续整理。哈哈,分享给大家。
- variable-precision SWAR算法介绍
- vb.net dll创建
- 【C#进阶系列】03 配置文件管理与程序集的引用版本重定向
- go runtime scheduler
- 在Windows下利用Eclipse调试FFmpeg
- hdu 2092
- sliding windows (poj 2823) 题解
- 如何更改wampserver的网站根目录
- [官网]Using PuTTY
- MySQL 5.6.20-enterprise-commercial的参数文件位置问题
- 约定优于配置---Java的eclipse项目配置
- Java自带RPC实现,RMI框架入门
- 关于在VB.NET中调用使用VC++编写的类库dll的一点笔记
- 自动化构建工具gradle安装教程(使用sdkman安装)
- spring boot与spring mvc的区别是什么?
- php array_flip() 删除数组重复元素——大彻大悟
热门文章
- 什么是IO流
- docker install and minikube install
- ST Debug (printf) Viewer for Jlink
- java匿名内部类new(){}
- hystrix流程图收藏
- osg::NodeVisitor osg3.4.0
- 算法习题---4-3黑白棋(UVa220)
- Kafka管理与监控——broker宕机后无法消费问题
- 树形DP入门学习
- 【Leetcode_easy】830. Positions of Large Groups