吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7758|回复: 72
收起左侧

[原创] Windows逆向学习笔记——WinRAR隐藏广告窗口

  [复制链接]
wzhenghit 发表于 2020-8-6 12:15

找到一个很简单方法的去除winrar广告:创建广告窗口时,将样式设置为隐藏即可。下面是分析过程,分享给大家。

这里研究的是自己用的  5.80版本(64位)WinRAR

既然有广告弹窗,猜测可能调用了CreateWindow,那就对这个API下断点。

1,先用spy++查看广告窗口,标题是“WinRAR”,窗口类名是"RarReminder"。
在这里插入图片描述

2,用x64dbg打开winrar.exe,在调试器符号窗口的"winrar.exe"模块查找创建窗口的API,找到 CreateWindowExW,下断点,运行程序。这个API会断下很多次,要等到窗口类名等于上一步中查找到的"RarReminder"时,才需要停下。最终,找到创建广告窗口的代码如下:
在这里插入图片描述

3,CreateWindowExW 的第四个参数dwStyle用来指定窗口样式,对应上图中的 R9 寄存器=0x16CB0000。查看窗口样式属性,发现WS_VISIBLE表示显示窗口,值是0x10000000,正好对应dwStyle的高4位。
然后测试修改 R9 寄存器值为0x6CB0000,运行程序,正常启动,而且没有了广告窗口。

4,给winrar.exe打补丁
从第2步的代码中,可以看到 r9d 寄存器中的值来源于esi,再往上面跟踪代码,看到esi的值来源如下:
在这里插入图片描述
从这里可以看出,窗口样式是写死在代码中的,所以只要修改0x13FE42391(虚拟地址)对应的winrar.exe文件位置的代码,把0000C816改成0000C806就可以了。

在x64dbg中查看winrar.exe的模块基址是0x13F560000,
所以打补丁位置相对虚拟地址 RVA = 0x13FE42391 - 0x13F560000 = 0xA2391。
对应PE的文件偏移 FA = 0xA1791,用CFF查看代码,修改FA位置代码“00 00 C8 16”为“00 00 C8 06”,保存文件,再次运行winrar,广告窗口就不见了。

在这里插入图片描述

免费评分

参与人数 34吾爱币 +28 热心值 +27 收起 理由
Eddyiy + 1 我很赞同!
Ack麦子 + 1 + 1 热心回复!
Donghui891227 + 1 + 1 谢谢@Thanks!
黑色小星星 + 1 我很赞同!
wangbuer1024 + 1 我很赞同!
米糊兔 + 1 用心讨论,共获提升!
Hmily + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
wpppmlah + 1 + 1 我很赞同!
durongze + 1 热心回复!
g3n3rous + 1 谢谢@Thanks!
By阿清 + 1 + 1 我很赞同!
zls黑战魔 + 1 + 1 我很赞同!
christopher_ann + 1 + 1 我很赞同!
邱淑贞 + 1 + 1 热心回复!
凉意人 + 1 + 1 用心讨论,共获提升!
ruanzeyu + 1 我很赞同!
smile5 + 1 + 1 用心讨论,共获提升!
alphaZero + 1 我很赞同!
Referer + 1 谢谢@Thanks!
fordland + 1 用心讨论,共获提升!
hd5222668 + 1 用心讨论,共获提升!
Psyber + 1 谢谢@Thanks!
dengjurui2008 + 1 + 1 我很赞同!
zhu111 + 1 我很赞同!
110114120 + 1 谢谢@Thanks!
Stalker93 + 1 热心回复!
kk1212 + 1 + 1 谢谢@Thanks!
fei8255 + 1 + 1 谢谢@Thanks!
17601243856 + 1 热心回复!
tempo_pan + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
不懂就问小小白 + 1 + 1 谢谢@Thanks!
pyy19950906 + 1 用心讨论,共获提升!
nic909 + 1 + 1 我很赞同!
lzy05410 + 1 + 1 谢谢@Thanks!

查看全部评分

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

列明 发表于 2020-8-6 14:56
bodyy 发表于 2020-8-6 14:43
关了WINRAR也不会一起关闭吗?

應該會的,我也不知道。沒試過,你可以試一試不關廣告窗去關閉主窗口。我猜應該會一起關閉,因為廣告窗口創建函數里好像有一個參數時父窗口的,是主窗口,我也不懂,就是感覺像。
 楼主| wzhenghit 发表于 2020-8-6 20:44
列明 发表于 2020-8-6 14:56
應該會的,我也不知道。沒試過,你可以試一試不關廣告窗去關閉主窗口。我猜應該會一起關閉,因為廣告窗口 ...

是的没错,会一起关闭。正常用软件时,关闭程序广告窗口也会一起关闭。这里只是隐藏广告窗口没让它显示,其它没有改动,所以其它行为应该是保持不变的。
孙晓米 发表于 2020-8-6 12:37
cptw 发表于 2020-8-6 12:54
感谢楼主 !
zhaozk 发表于 2020-8-6 13:27
厉害了楼主
列明 发表于 2020-8-6 13:28
這樣好像廣告窗口還是存在的,只是看不見了,也關不掉了。
t999ing 发表于 2020-8-6 13:31
这个有点厉害的,学习了一波
wzxiaodu 发表于 2020-8-6 13:37
本帖最后由 wzxiaodu 于 2020-8-6 13:38 编辑

学习了!!最近正准备学逆向!
cptw 发表于 2020-8-6 13:57
根据教程已经修改OK,我的版本是5.21,只是寄存品变了一个
qianbian 发表于 2020-8-6 14:25
感谢分享!
card628 发表于 2020-8-6 14:27
这个去广告的不错
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-3-28 22:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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