欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]patch WinRar

[原创]patch WinRar

随便从百度上下载了一个WinRar

居然带广告的,按照以前的想法下载一个7Z不用这坑货,问题就迎刃而解了。
可是最近看了格蠹汇编,出问题自己搞是个好习惯。
第一步先明确问题
        这是个广告弹窗,首先得确认是谁弹的,弹的什么类型的窗口,SPy++出场

PID        0x3594   换成10进制是13716   进程管理器中看一下,就是WinRar弹的,没有启动其他进程

再看一下类名

启windbg 下这样一个条件断点
bp USER32!CreateWindowExW  "r $t1=poi(esp+8); as /mu $FileName $t1; .block{ .if ($spat(\"${$FileName}\",\"Rar*\")) {.echo found the pattern; .echo $FileName; ad ${/v:$FileName} } .else { .echo not found the pattern; .echo '$FileName'; ad ${/v:$FileName}; gc;} }"

shift+F11之后,这个窗口就创建出来了
在IDA中定位WinRar+0x9a26c

这个CreateWindowExW是在下面这个函数中被调用的

按照正常情况来说,这时该分析这个函数的功能,但是凭感觉来说在这个窗体创建之前,主窗口已经创建好了,这个窗口只为弹广告的,直接patch这个函数试试,不行再回来分析函数的功能。
windbg patch函数不如od直观,这里看个人喜好吧。0x340000+0x99ee0

这里又一次运行,绝对地址不是原来的了。
在函数入口直接编辑成,retn 8,F9果然没有那个弹窗了,试了试,可以正常使用。
这里边还有一个虚拟地址和文件偏移的转换,

开WinHex改这个位置,保存,运行,去广告完毕。

上传的附件 Open.png
Spy++.png
ProcExplore.png
classname.png
windbg.png
desktop.png
ida1.png
ida2.png
od.png
rva.png

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功