首页
社区
课程
招聘
[原创]去除"游戏马-QQ记牌器1.291"弹出网页
发表于: 2006-6-30 17:41 8796

[原创]去除"游戏马-QQ记牌器1.291"弹出网页

2006-6-30 17:41
8796
游戏马-QQ记牌器 1.291下载地址:http://www.onlinedown.net/soft/39147.htm
一、查壳:PEiD V0.94查壳:NsPack V1.4 -> LiuXingPing *
二、脱壳:用OllyDBG V1.10打开qqjpq.exe:
00578999 >  9C              PUSHFD    ;停在这里
0057899A    60              PUSHAD
0057899B    E8 00000000     CALL qqjpq.005789A0
按两次F8到第三行处查看ESP为0012FFA0(好像NsPack V1.4都是这样子,我还没搞懂-ESP定律?),在左下角命令框中下断点:hr 0012FFA0,按F9运行:
00578BBD    9D              POPFD    ;停在这里
00578BBE  - E9 F587E9FF     JMP qqjpq.004113B8
再按两次F8跳到004113B8:
004113B8      55           DB 55        CHAR 'U'
在这里点右键-用OllyDump脱壳调试进程,直接在弹出窗口中点"脱壳"保存为jpq.exe,再用PEiD查看为:Microsoft Visual C++ 6.0
三、调试:用OllyDBG打开jpq.exe:
004113B8 >/$  55            PUSH EBP    ;停在这里
004113B9  |.  8BEC          MOV EBP,ESP
004113BB  |.  6A FF         PUSH -1
下断点:bp ShellExecuteA,F9运行:
773EFE44 >  8BFF            MOV EDI,EDI    ;停在这里
773EFE46    55              PUSH EBP
773EFE47    8BEC            MOV EBP,ESP
773EFE49    83EC 3C         SUB ESP,3C
此时右下角堆栈窗口为:
016DFEE4   00409D9F  /CALL 到 ShellExecuteA 来自 2.00409D99
016DFEE8   00000000  |hWnd = NULL
016DFEEC   0043B540  |Operation = "open"
016DFEF0   0043B548  |FileName = "http://www.gamehorse.com"
016DFEF4   00000000  |Parameters = NULL
016DFEF8   00000000  |DefDir = NULL
016DFEFC   00000005  \IsShown = 5
说明此调用来自409D99,按Alt+F9运行到409D99的下一句409D9F(中间运行会出错,不知道为什么,按Shift+F9忽略就行了,具体是按Alt+F9停住,按Shift+F9此时会弹出网页,再按Alt+F9就到了409D9F),如下:
00409D81  |.  8BF0          MOV ESI,EAX
00409D83  |.  83C4 08       ADD ESP,8
00409D86  |.  85F6          TEST ESI,ESI
00409D88  |.  75 18         JNZ SHORT 2.00409DA2
00409D8A  |.  6A 05         PUSH 5                                   ; /IsShown = 5
00409D8C  |.  50            PUSH EAX                                 ; |DefDir
00409D8D  |.  50            PUSH EAX                                 ; |Parameters
00409D8E  |.  68 48B54300   PUSH 2.0043B548                          ; |FileName = "http://www.gamehorse.com"
00409D93  |.  68 40B54300   PUSH 2.0043B540                          ; |Operation = "open"
00409D98  |.  50            PUSH EAX                                 ; |hWnd
00409D99  |.  FF15 28134300 CALL DWORD PTR DS:[<&SHELL32.ShellExecut>; \ShellExecuteA
00409D9F  |.  5E            POP ESI    ;停在这里
00409DA0  |.  59            POP ECX
00409DA1  |.  C3            RETN
从00409D8A到00409D99就是打开网页的代码了,可以把这些全部改为NOP
但我们发现前面有一句跳转:00409D88  |.  75 18         JNZ SHORT 2.00409DA2
所以最简单的方法就是把JNZ SHORT 2.00409DA2改为JMP 409D9F,即强行跳过弹出网页部分,于是在00409D88这行点右键-汇编(或按空格),改为JMP 409D9F,结果如下:
00409D88     /EB 15         JMP SHORT 2.00409D9F
改完后在00409D88行上点右键-复制到可执行文件-选择,再在弹出窗口中点右键-保存文件,保存为QQ记牌器.exe
ok,直接运行QQ记牌器.exe,没有弹出网页了吧!
要简单这样做也行:用UltraEdit打开jpq.exe(脱壳后的),查找“75 18 6A 05 50 50”,把75 18改为EB 15,然后另存为QQ记牌器.exe

PS:那些没用的插件、广告等等太烦人了,要免费使用别人的东西就得被强制接受一些自己不愿接受的东西,哎!有精力做这些没用的东西还不如把软件做好一点!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 232
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
支持!!!!!!!!!!!!!!!!!!!!!!
2006-6-30 19:07
0
雪    币: 250
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
程序中还有一处连接广告服务器
2006-6-30 21:54
0
雪    币: 338
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
支持.这样的软件实在气人!!
2006-7-1 00:38
0
雪    币: 436
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我也有一?QQ咣?的外?也是常常有?告出?!
可就是找不到那代瘁在那!!
2006-7-1 14:58
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
根据楼主的方法,已经搞定,但程序里还有广告链接,不知如何去除
2006-9-9 17:30
0
雪    币: 158
活跃值: (43)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
这个断点bp ShellExecuteA也是最近才会..
学习.
2006-9-9 22:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这个方法很好,受用了,其实本来这个辅助软件还不错,但是这样就未免。。。。
2006-9-10 00:30
0
雪    币: 103
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
按照楼主的方法脱壳后,入口点是000113B8
脱壳后的程序不能运行,不知道为什么呵.
但在入口点是000113B9,却可以运行,但却不能在入口点处停下.广告是跳过了,可是弄不明白呵,为什么在入口点000113B8时DUMP下的EXE文件不能执行呵?
2006-9-14 00:13
0
游客
登录 | 注册 方可回帖
返回
//