逆向分析WINRAR去除广告弹窗
在打开WINRAR时总会出现弹窗广告
使用spyxx定位广告窗口:
搜索=>搜索窗口=>移动图标到广告弹窗=>确定
右键属性,标题WinRAR、窗口类RarReminder
Windows创建窗口:
RegisteClass创建窗口类 => 窗口类调用CreateWindow创建窗口
思路:找到RarReminder窗口类CreateWindow去除
使用APIMonitor监听CreateWindow函数:
Ctrl+F搜索CreateWindow,将函数进行勾选
监视进程
找到RarReminder窗口类
通过调用堆栈窗口获得CreateWindow地址和偏移量:
1 | address: 0x00007ff673defbf8 |
使用IDA打开WINRAR,找到address:
IDA与API Monitor分析的加载位置可能不一样,使用ProcExp分析加载基地址,再利用IDA进行rebase重定位
1 | 0x00007FF673D40000 |
IDA rebase:
Edit=>Segments=>Rebase program
快捷键g:跳转到CreateWindow地址:0x00007ff673defbf8
F5反编译伪代码
CreateWindow所在函数为sub_7FF673DEF7B8:7FF673DEF7B8为地址
G跳转到函数开头位置
Ctrl+X:看哪些地方在调用这个函数
也可以从 API Monitor的调用堆栈窗口看出
可以将函数调用行汇编的call指令替换为NOP指令,但可能会导致出现一些问题 => 直接去除CreateWindowExw和SetWindowPos =>将这两个函数机器码改为NOP 90
1 | FF15C09E0700 |
WinHex搜索
成功去除广告弹窗,但又出现另一个弹窗,该窗口为对话框调用函数为DialogBox
同样在WinHex中去除
1 | FF15FF9E0700 |
经过修改后成功去除弹窗
__END__