首页
社区
课程
招聘
[原创]patch WinRar
发表于: 2015-2-4 10:37 6960

[原创]patch WinRar

2015-2-4 10:37
6960

随便从百度上下载了一个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改这个位置,保存,运行,去广告完毕。


[峰会]看雪.第八届安全开发者峰会10月23日上海龙之梦大酒店举办!

上传的附件:
收藏
免费 3
支持
分享
最新回复 (10)
雪    币: 10494
活跃值: (3419)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
直接改成注册版不是更简单吗?
2015-3-28 20:26
0
雪    币: 54
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
顶楼主。
2015-3-29 15:54
0
雪    币: 2394
活跃值: (1397)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
我猜想,这里的重点是思路,不是结果。
2015-3-30 10:04
0
雪    币: 1644
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
重点是思路,不是结果+1
2015-6-4 22:52
0
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
看不懂留名
2015-6-4 23:09
0
雪    币: 443
活跃值: (200)
能力值: ( LV9,RANK:1140 )
在线值:
发帖
回帖
粉丝
7
我在想,是不是到了看不懂的时候了?
BTW: 思路不错
2015-6-4 23:14
0
雪    币: 16288
活跃值: (1485)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
注册版 也不如 把内部资源k掉的深入啊。
2015-7-4 10:56
0
雪    币: 135
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
再进一步分析那些广告从哪里来的,把它们干掉~
2015-7-4 11:08
0
雪    币: 215
活跃值: (51)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
这里的分析用刀windbg了....这种类似弹窗的能用IDA去整吗? windbg要双机调试..
2015-7-6 11:34
0
雪    币: 43
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
说的对,这个winrar处理完之后也不怎么会使用啊,还是7z好用,这里只是在说动手解决下身边常见的问题是个好习惯
2015-11-17 15:07
0
游客
登录 | 注册 方可回帖
返回
//