吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 27244|回复: 198

[原创逆向图文] winrar 5.4 去广告教程

  [复制链接]
李沉舟 发表于 2016-11-26 16:20 | 显示全部楼层 |阅读模式

【软件名称】:WinRar
【软件版本】:5.4
【软件下载】:自己搜索下载
【外壳保护】:无

话说硬柿子都被大牛捏掉了,我们这些屌丝只能捏捏软柿子了。

话说winrar原来在中国改变战略了(现在才知道,汗),只是在软件里搞个Nag


1.png


这个东西其实挺讨厌的,尤其是我这种电脑配置不好的。

理一理逆向分析思路。
1. 下断CretaeWindow
2. 看看是哪块不开眼的代码创建了这个窗口
3. 做了它

OD载入它,按Ctrl+N,发现只有CreateWindowExW这一个API。
我们当然不能直接傻乎乎地在那里一个一个的跟踪,假设有20个控件,那么就要调用这个API20次……
所以我们考虑一下条件断点,我查了下这个API的参数列表。
第一个参数是风格,不用鸟他
第二个参数是类名,这个很重要
第三个参数是标题名,不喜欢用。
我们来看看第二个参数,按照stdcall的调用方式,参数从右边往左边入栈,同时栈空间是从高往低增长的,
比如调用 a,a(1, 2, 3)
Push 3 ;入栈3,执行完成后,esp = esp - 4
Push 2 ;入栈2,esp = esp - 8
Push 1; 入栈1,esp = esp – 0xC
Call a ;入栈返回地址eip,esp = esp – 0x10
栈空间里就是这样排放的数据
返回地址eip         ESP
参数1(1)          ESP+ 4
参数2(2)          ESP+ 8
参数3(3)          ESP+ 0xC
本人语文不好,可能没讲清楚,别打我啊……
于是我们可以得出,ESP + 8就是参数二(stdcall调用方式),而ESP + 8是一个字符串地址
我们再来看看OD的条件断点语法。
[UNICODE [ESP]]== “12345” ;如果ESP(字符串地址)指向的字符串等于12345就中断,因为CreateWindowExW使用的是UNICODE字符串,所以这里也用UNICODE,如果是以A结尾的API,则使用STRING
其实也可以这么写
[UNICODE[[ESP]]] ;这个就相当于字符串的指针了。好吧,扯歪了一点。
我们在OD的CPU窗口中按Ctrl+G,输入CreateWindowExW,按确定,来到该API头部,再按Shift + F2,输入以下表达式。


2.png


按确定,至于这个类名是怎么得到的吗,其实很简单啊,比如说我用的是Spy4Win这个小工具

3.png


点确定之后,我们按下F9,让程序跑起来。


4.png


断在这里,我们右键那个第一行的CALL到……,点击反汇编窗口中跟随,发现来到了这里




[Asm] 纯文本查看 复制代码
004A17AD  |> \68 00010000   push   100
004A17B2  |.  68 186F5200  push    00526F18                         ;  ASCII"http://ad.winrar.com.cn/show_2.html?L=7&bl=7&v=540personal&a=32&src=pe005"
004A17B7  |.  E8 24F3FFFF  call    004A0AE0
004A17BC  |.  6A 00         push   0                                ;/lParam = NULL
004A17BE  |. FF35 24DF5600 push    dword ptr[56DF24]               ; |hInst =00400000
004A17C4  |.  6A 00         push   0                                ;|hMenu = NULL
004A17C6  |.  6A 00         push   0                                ;|hParent = NULL
004A17C8  |. 57            push    edi                              ; |Height
004A17C9  |. 56            push    esi                             ;|Width
004A17CA  |. 55            push    ebp                              ; |Y
004A17CB  |. FF7424 2C     push   dword ptr [esp+2C]               ; |X
004A17CF  |. 53            push    ebx                              ; |Style
004A17D0  |.  68ACE05000   push    0050E0AC                         ; |WindowName ="WinRAR"
004A17D5  |.  6804065100   push    00510604                         ; |Class ="RarReminder"
004A17DA  |.  6A 00         push   0                                ; |ExtStyle = 0
004A17DC  |.  FF15 A0B65000 call    dword ptr[<&USER32.CreateWindow>; \CreateWindowExW
004A17E2  |.  F605 A86B5200>test    byte ptr [526BA8], 1
004A17E9  |.  5F            pop     edi
004A17EA  |. 5D            pop     ebp
004A17EB  |.  7413         je      short 004A1800
004A17ED  |.  6A 03         push   3                                ;/Flags = SWP_NOSIZE|SWP_NOMOVE
004A17EF  |.  6A 00         push   0                                ;|Height = 0
004A17F1  |.  6A 00         push   0                                ;|Width = 0
004A17F3  |.  6A 00         push   0                                ;|Y = 0
004A17F5  |.  6A 00         push   0                                ;|X = 0
004A17F7  |.  6A FF         push   -1                               ; |InsertAfter =HWND_TOPMOST
004A17F9  |. 50            push    eax                              ; |hWnd
004A17FA  |. FF15 88B65000 call    dword ptr[<&USER32.SetWindowPos>; \SetWindowPos
004A1800  |> 833D 14895300>cmp     dword ptr[538914], 0
004A1807  |.  7433         je      short 004A183C
004A1809  |. C605 64A05700>mov     byte ptr [57A064], 1
004A1810  |.  EB 2A        jmp     short 004A183C
004A1812  |> 84DB          test    bl, bl
004A1814  |.  7426         je      short 004A183C
004A1816  |.  6A 00         push   0                                ;/lParam = NULL
004A1818  |.  68403D4D00   push    004D3D40                         ; |DlgProc =WinRAR.004D3D40
004A181D  |.  C60564A05700>mov     byte ptr [57A064], 1            ; |
004A1824  |. FF15 B0B65000 call    dword ptr[<&USER32.GetFocus>]   ;|[GetFocus
004A182A  |. 50            push    eax                              ; |hOwner
004A182B  |.  68 1C065100  push    0051061C                         ; |pTemplate ="REMINDER"
004A1830  |. FF35 20DF5600 push    dword ptr[56DF20]               ; |hInst =00400000
004A1836  |. FF15 78B65000 call    dword ptr[<&USER32.DialogBoxPar>; \DialogBoxParamW



通篇都是创建窗口,我们把代码往上面拉一拉。



5.png


这些字符串很可疑啊,看起来就是网址,而且还含有ad(广告),我们继续把代码往上面翻。

6.png


原来这是一个函数啊,考虑直接在段首RET掉。我们回到段尾,发现是RET8,我们就把段首第一句改成RET8好了(堆栈平衡参数,否则会崩溃)。


7.png


保存,打开,发现弹窗已经被去掉了。

8.png



清清爽爽的,多秀气的小姑娘啊。

打完收工了。



游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 66威望 +1 HB +93 THX +30 收起 理由
lies + 1
霜晨小烈 + 1
禽大师 + 1
sjtkxy + 1 + 1
24567 + 1
花盗睡鼠 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
一路走来不容易 + 1
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
消逝的过去 + 1
yexing + 1
4957465 + 1 + 1
普鲁托 + 2 + 1
小菜虫 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
我是好人 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
我爱学习呀 + 1
jaunic + 1
小可 + 1
ghostxu + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
荔荔荔荔子 + 1 + 1 [快捷评语]--积极评分,从我做起。感谢分享!
lcxs116 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
zhourc + 1 + 1 [快捷评语] - 评分=感恩!简单却充满爱!感谢您的作品!
syzh802618 + 2 + 1 [快捷评语] - 分享精神,是最值得尊敬的!
雄鹰 + 1 + 1 [快捷评语] - 分享精神,是最值得尊敬的!
baoxia + 1 [快捷评语] - 评分=感恩!简单却充满爱!感谢您的作品!
hongf + 1 分享精神,是最值得尊敬的!
wqj159 + 1 吃水不忘打井人,给个评分懂感恩!
大辉郎 + 1 [快捷评语] - 评分=感恩!简单却充满爱!感谢您的作品!
超级白 + 1 [快捷评语] - 2017,让我们17学破解!
yaoxiaochun + 1 [快捷评语] - 分享精神,是最值得尊敬的!
nolanshaw + 1 [快捷评语] - 分享精神,是最值得尊敬的!
千山雪碧 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
取名好难哦 + 1 [快捷评语] - 分享精神,是最值得尊敬的!
peter_king88 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
万能的群主 + 2 + 1 [快捷评语] - 2017,让我们17学破解!
dpiwant + 1 [快捷评语] - 2017,让我们17学破解!
137312 + 1 [快捷评语] - 分享精神,是最值得尊敬的!
maxtang0810 + 1 + 1 [快捷评语] - 2017,让我们17学破解!
hongge + 1 + 1 [快捷评语] - 2017,让我们17学破解!
892644330 + 1 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
woshuoxiang + 1 + 1 [快捷评语] - 分享精神,是最值得尊敬的!
水雨争枫 + 1 + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
李逍遥hlc + 1 [快捷评语] - 分享精神,是最值得尊敬的!
voodoosys + 1 [快捷评语] - 吃水不忘打井人,给个评分懂感恩!
守护神艾丽莎 + 1 分享精神,是最值得尊敬的!
若只如初见 + 3 + 1 分享精神,是最值得尊敬的!
zwc123xyz + 1 分享精神,是最值得尊敬的!
gj8438 + 1 分享精神,是最值得尊敬的!
Luo + 1 吃水不忘打井人,给个评分懂感恩!
1206143866 + 1 分享精神,是最值得尊敬的!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2016-11-26 16:57 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
DDK4282 发表于 2016-11-26 17:01 | 显示全部楼层

很解渴。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
神哥 发表于 2016-11-26 17:01 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 李沉舟 发表于 2016-11-26 17:10 | 显示全部楼层

Shark恒 发表于 2016-11-26 16:57
我把最后让大家轻点*你的话给删了,就可以发布了。

谢谢鲨鱼提醒
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shy 发表于 2016-11-26 17:15 | 显示全部楼层

条件断点最骚的就是断不下具体数值,比如你上图的extStyle=0,然后断[esp+4]==0断不下来,,伤脑筋
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
shike蟆城 发表于 2016-11-26 18:02 | 显示全部楼层

这个教程太给力啦
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
ghkjduu 发表于 2016-11-26 18:27 | 显示全部楼层

没广告老带劲了!谢谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
坏坏LLLLLL 发表于 2016-11-26 18:28 | 显示全部楼层

看看怎么怼
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
joker_bug 发表于 2016-11-26 18:39 | 显示全部楼层

学习..大神厉害了
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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