最新消息:本站的宗旨就是为大家提供免费、实用、安全的软件资源!为了便于大家交流及反馈问题特开绿软QQ群「560896102点我加入,欢迎大家加入!

我爱记牌器 v4.03.010去广告简单分析

原创绿化 免费实用绿软 1250浏览 0评论

【文章标题】: 我爱记牌器 v4.03.010去广告简单分析
【文章作者】: IT玩家论坛
【作者主页】: http://www.v5pc.com
【软件名称】: 我爱记牌器
【下载地址】: 自己搜索下载
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
——————————————————————————–
【详细过程】

软件主要有以下几处广告
1、弹窗是必须的了
2、可选设置首页提示
3、主界面广告
4、通过资源编辑工具发现有退出弹窗,但本人并未发现弹出来。估计开发阶段吧。。

软件安装完毕后总共有7个文件,删除[Uninstall.exe、Uninstall.ini、我爱记牌器官网.html]几个文件只保留以下几个必须文件。
ComPs.dll            //图像资源库
mainapp.exe          //真正的主程序
VerInfo.dll          //保留
我爱记牌器.exe       //假主程序

精简完毕后就可以去广告了

一、去掉弹网页

通过分析[我爱记牌器.exe]并非主程序而是[mainapp.exe],但是弹窗代码却在这个程序中,所以说只要删掉这个文件既可以去掉弹网页。

通过超人发现启参数为[jpq201232103666265],也就是说[我爱记牌器.exe]只是个外壳,所以说要想不修改代码的前提下跑起程序必须要在建立的快捷方式中加入[jpq201232103666265]参数。

如果不想用启动参数就OD载入[mainapp.exe]并F9运行程序。

—————————
我爱记牌器 提示
—————————
“mainapp.exe”不能单独启动,请直接运行”我爱记牌器.exe”
—————————
确定
—————————

弹出错误提示,别急着点确定。。OD中暂停程序然后[Alt+F9]返回程序并定位到代码。

004402BF   . /EB 22         jmp short mainapp.004402E3                 ;  //很明显这里可以跳过错误提示
004402C1   > |53            push ebx                                   ;  //不过上面这个跳转让上面的跳没实现
004402C2   . |68 32AF4800   push mainapp.0048AF32
004402C7   . |B9 70FB4A00   mov ecx,mainapp.004AFB70
004402CC   . |E8 2F45FCFF   call mainapp.00404800
004402D1   . |53            push ebx                                   ; /Style
004402D2   . |68 F0E84800   push mainapp.0048E8F0                      ; |我爱记牌器 提示
004402D7   . |68 B8E84800   push mainapp.0048E8B8                      ; |”mainapp.exe”不能单独启动,请直接运行”我爱记牌器.exe”
004402DC   . |53            push ebx                                   ; |hOwner
004402DD   . |FF15 E0A54800 call dword ptr ds:[<&USER32.MessageBoxA>]  ; \MessageBoxA
004402E3   > \8B4424 18     mov eax,dword ptr ss:[esp+0x18]            ;  \\返回到此处

往上很近的代码处找到两处可以跳过错误的代码

004402A1   .  FF15 E4A24800 call dword ptr ds:[<&KERNEL32.CreateMutexA>; \CreateMutexA
004402A7   .  3BC3          cmp eax,ebx
004402A9   .  74 16         je short mainapp.004402C1                  ;  \\第一处跳转
004402AB   .  FF15 F0A24800 call dword ptr ds:[<&KERNEL32.GetLastError>; [GetLastError
004402B1   .  3D B7000000   cmp eax,0xB7
004402B6   .  75 09         jnz short mainapp.004402C1                 ;  \\第二处跳转
004402B8   .  8BCF          mov ecx,edi
004402BA   .  E8 71F7FFFF   call mainapp.0043FA30
004402BF   .  EB 22         jmp short mainapp.004402E3                 ;  //很明显这里可以跳过错误提示
004402C1   >  53            push ebx                                   ;  //不过上面这个跳转让上面的跳没实现

如果修改这里就大错特错了。。继续往上看

00440297   . /EB 4A         jmp short mainapp.004402E3                 ;  \\这里还有一处无条件跳转可以跳过错误
00440299   > |68 00E94800   push mainapp.0048E900                      ; /\\这里可是从很远的地方跳过来的
0044029E   . |6A 01         push 0x1                                   ; |InitialOwner = TRUE
004402A0   . |53            push ebx                                   ; |pSecurity
004402A1   . |FF15 E4A24800 call dword ptr ds:[<&KERNEL32.CreateMutexA>; \CreateMutexA
004402A7   . |3BC3          cmp eax,ebx
004402A9     |74 16         je short mainapp.004402C1                  ;  \\第一处

继续往上来到代码

0043FD8F     /0F84 04050000 je mainapp.00440299                        ;  //真正爆破点
0043FD95   . |2B05 70FB4A00 sub eax,dword ptr ds:[0x4AFB70]
0043FD9B   . |3BC6          cmp eax,esi
0043FD9D   . |0F84 F6040000 je mainapp.00440299

把[0043FD8F]处代码nop掉,[我爱记牌器.exe]就可以删除了。

二、去掉设首页弹窗

通过字符串[Software\Microsoft\Internet Explorer\Main]可以迅速定位到关键代码,段首下段点重载返回调用。

0044B327  |.  50            push eax                                   ; /pHandle
0044B328  |.  56            push esi                                   ; |Access => KEY_QUERY_VALUE
0044B329  |.  6A 00         push 0x0                                   ; |Reserved = 0x0
0044B32B  |.  68 E8FB4800   push mainapp.0048FBE8                      ; |Software\Microsoft\Internet Explorer\Main
0044B330  |.  68 01000080   push 0x80000001                            ; |hKey = HKEY_CURRENT_USER
0044B335  |.  C74424 24 000>mov dword ptr ss:[esp+0x24],0x0            ; |
0044B33D  |.  FF15 08A04800 call dword ptr ds:[<&ADVAPI32.RegOpenKeyEx>; \RegOpenKeyExA

返回后修改代码

0044E07B   .  E8 F0D1FFFF   call mainapp.0044B270
0044E080   .  85C0          test eax,eax                               ;  \\返回到这里
0044E082   .  0F84 120B0000 je mainapp.0044EB9A                        ;  \\修改为jmp

三、去界面广告

在搜索字符串的时候发现有这么个字符串[http://cc.963ba.com/fileset/qq/info52.dll],浏览器打开这个地址就可以把这个动态链接库下载到本地,用记事本打开可以发现并非一个动态链接库。

[web]
url0=http://cc.963ba.com/fileset/qq/hfile.html
url=http://cc.963ba.com/fileset/qq/go1.html
url2=http://cc.963ba.com/fileset/qq/go1.html
urljin=http://cc.963ba.com/fileset/qq/gojin.html
urltui=http://cc.963ba.com/fileset/qq/gotui.html
urlno=http://cc.963ba.com/fileset/qq/nogo.html

简单测试一下就知道这些网址就是调用的广告页面,好通过[http://cc.963ba.com/fileset/qq/info52.dll]定位到代码,运行程序一路往下单步跟踪。

单步到0044A50C处代码时发现信息窗口出现首页调用的地址。

堆栈 ss:[01F6FBDC]=00D928D0, (ASCII “http://cc.963ba.com/fileset/qq/hfile.html”)
edx=000008EF

0044A50C   .  8B5424 20     mov edx,dword ptr ss:[esp+0x20]      ; \\ [esp+0x20]指向广告网址
修改为
0044A50C      8B5424 04     mov edx,dword ptr ss:[esp+0x4]       ;  [esp+0x20]指向广告网址

下面还有一处代码
0044A531   . /74 10         je  short mainapp.0044A543
修改为
0044A531   . /74 10         jmp short mainapp.0044A543

好了,已知的广告已经去除了。

——————————————————————————–
【版权声明】: 本文原创于IT玩家论坛, 转载请注明作者并保持文章的完整, 谢谢!

2012年12月30日 上午 09:50:38

转载请注明:免费实用绿色软件 » 我爱记牌器 v4.03.010去广告简单分析

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址