首页
社区
课程
招聘
[讨论]赛博QQ CyboQQ 2.1 的cyboma.dll自校验很巧妙,卡住了
发表于: 2009-7-21 11:32 16916

[讨论]赛博QQ CyboQQ 2.1 的cyboma.dll自校验很巧妙,卡住了

2009-7-21 11:32
16916
下载:http://www.cyboma.com/cyboqq/index.html

CyboQQ 2.1是一款支持QQ2009显IP辅助工具。它的自检验有些麻烦,如果cyboma.dll被改动,QQ不能被加载,同时显IP功能不能用。

打开CyboQQ.exe,用CreateFileW下断,观察堆栈,当其打开cyboma.dll文件时:

0012E934   7C801A4F  /CALL 到 CreateFileW 来自 kernel32.7C801A4A
0012E938   7FFDFC00  |FileName = "D:\temp\CyboQQ\cyboma.dll"
0012E93C   80000000  |Access = GENERIC_READ
0012E940   00000000  |ShareMode = 0
0012E944   00000000  |pSecurity = NULL
0012E948   00000003  |Mode = OPEN_EXISTING
0012E94C   00000000  |Attributes = 0
0012E950   00000000  \hTemplateFile = NULL

Alt+F9回到cyboma.dll代码里,如下:

00EA11A8    FF50 5C         call    dword ptr [eax+5C]          //CreateFileW   
00EA11AB    8985 BCFEFFFF   mov     dword ptr [ebp-144], eax
00EA11B1    83BD BCFEFFFF F>cmp     dword ptr [ebp-144], -1
00EA11B8    0F84 B4010000   je      00EA1372
00EA11BE    6A 00           push    0
00EA11C0    6A 00           push    0
00EA11C2    6A 00           push    0
00EA11C4    6A 02           push    2
00EA11C6    6A 00           push    0
00EA11C8    8B8D BCFEFFFF   mov     ecx, dword ptr [ebp-144]
00EA11CE    51              push    ecx
00EA11CF    E8 5C120000     call    00EA2430
00EA11D4    8BC8            mov     ecx, eax
00EA11D6    E8 95210000     call    00EA3370
00EA11DB    8985 B8FEFFFF   mov     dword ptr [ebp-148], eax
00EA11E1    83BD B8FEFFFF 0>cmp     dword ptr [ebp-148], 0
00EA11E8    0F84 61010000   je      00EA134F
00EA11EE    6A 00           push    0
00EA11F0    6A 00           push    0
00EA11F2    6A 00           push    0
00EA11F4    6A 04           push    4
00EA11F6    8B95 B8FEFFFF   mov     edx, dword ptr [ebp-148]
00EA11FC    52              push    edx
00EA11FD    E8 2E120000     call    00EA2430
00EA1202    8BC8            mov     ecx, eax
00EA1204    E8 67220000     call    00EA3470
00EA1209    8985 B4FEFFFF   mov     dword ptr [ebp-14C], eax
00EA120F    83BD B4FEFFFF 0>cmp     dword ptr [ebp-14C], 0
00EA1216    0F84 10010000   je      00EA132C
00EA121C    E8 0F120000     call    00EA2430
00EA1221    8985 98FEFFFF   mov     dword ptr [ebp-168], eax
00EA1227    6A 00           push    0
00EA1229    8B85 BCFEFFFF   mov     eax, dword ptr [ebp-144]
00EA122F    50              push    eax
00EA1230    8B8D 98FEFFFF   mov     ecx, dword ptr [ebp-168]
00EA1236    8B11            mov     edx, dword ptr [ecx]
00EA1238    8B8D 98FEFFFF   mov     ecx, dword ptr [ebp-168]
00EA123E    FF52 58         call    dword ptr [edx+58]
00EA1241    8985 B0FEFFFF   mov     dword ptr [ebp-150], eax
00EA1247    8B85 B4FEFFFF   mov     eax, dword ptr [ebp-14C]
00EA124D    0385 B0FEFFFF   add     eax, dword ptr [ebp-150]
00EA1253    8B48 FC         mov     ecx, dword ptr [eax-4]
00EA1256    898D ACFEFFFF   mov     dword ptr [ebp-154], ecx
00EA125C    8B95 ACFEFFFF   mov     edx, dword ptr [ebp-154]
00EA1262    52              push    edx
00EA1263    8B85 B4FEFFFF   mov     eax, dword ptr [ebp-14C]
00EA1269    0385 B0FEFFFF   add     eax, dword ptr [ebp-150]
00EA126F    2B85 ACFEFFFF   sub     eax, dword ptr [ebp-154]
00EA1275    83E8 04         sub     eax, 4
00EA1278    50              push    eax
00EA1279    68 C075EA00     push    0EA75C0
00EA127E    8B8D B0FEFFFF   mov     ecx, dword ptr [ebp-150]
00EA1284    83E9 04         sub     ecx, 4
00EA1287    2B8D ACFEFFFF   sub     ecx, dword ptr [ebp-154]
00EA128D    51              push    ecx
00EA128E    8B95 B4FEFFFF   mov     edx, dword ptr [ebp-14C]
00EA1294    52              push    edx
00EA1295    E8 26B70000     call    00EAC9C0
00EA129A    83C4 14         add     esp, 14
00EA129D    0FB6C0          movzx   eax, al
00EA12A0    85C0            test    eax, eax      
00EA12A2    74 4E           je      short 00EA12F2     
00EA12A4    6A 10           push    10
00EA12A6    E8 B1DC0000     call    00EAEF5C
00EA12AB    83C4 04         add     esp, 4

这一段应是校验cyboma.dll,但要在文件里修改,遇到麻烦了,该段代码是动态生成的,因此不能直接在文件里改。

另外,直接用GetFileSize设断是拦不了的,得将断点设在GetFileSize中间,开始的代码被抽到程序里去了。

希望对自校验有兴趣的朋友一起来一研究一下。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (17)
雪    币: 1482
活跃值: (879)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
10067544  |.  FFD0                      call eax    从这进去的~
2009-7-21 14:31
0
雪    币: 375
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
顺便把传说中的自动上传给Patch了吧。
2009-7-21 16:59
0
雪    币: 2575
活跃值: (502)
能力值: ( LV2,RANK:85 )
在线值:
发帖
回帖
粉丝
4
搞定自校验,这些才好Patch

自校验这段代码 有壳的一些特征,三层左右,要ptach真麻烦。
2009-7-21 17:11
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习....
2009-7-21 18:00
0
雪    币: 622
活跃值: (294)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
6
cyboma.dll(基址0xB70000)首先载入自己的121号IMAGE资源,然后使用某解压缩算法释放到Heap中的一块地方,大小0x7D000。可以在+0x0AA4C处的第一个参数拦截到解压好的文件所在的位置。此DLL为CBShell.DLL。
CBShell.dll(基址0x11A0000)再次在Heap中分配0x32000的空间,释放CyboPro.dll。可在+0x11AA的第一个参数拦截到解压好的文件所在的位置。
你说的那部分代码就在CyboPro.GetCluster函数中。
至于修改,你可以去研究那个解压缩算法,然后把东西修改好再一层层的压回去;也可以在上面说的位置拦截内存修改;也可以修改代码,让他直接调用LoadLibrary载入你修改好的DLL。
2009-7-21 23:34
0
雪    币: 442
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
搞定了放出来哦

关注一下

我准备换新版了
2009-7-22 07:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
呵呵。我也去试试看。
呵。难不。?
2009-7-22 11:00
0
雪    币: 44
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
等待下文。。。

有一个思路,用LPK.dll去patch Cyboma.dll的内存。
2009-8-13 22:05
0
雪    币: 44
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
网上2009.07.19放出来补丁的sNo.wy是不是LZ?
2009-8-13 22:10
0
雪    币: 2575
活跃值: (502)
能力值: ( LV2,RANK:85 )
在线值:
发帖
回帖
粉丝
11
不是,太难了,放弃了
2009-8-13 22:13
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
12
QQ2008貌似会把好友ip发给用户,但2009里面只要不交互文件就不会发ip了,不过2008好像以后要被屏蔽,所以以后QQ获取好友ip貌似不容易了
2009-8-13 22:22
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
这个要顶起来
2010-2-26 20:29
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
我调试过、用LpK实现貌似有问题
但是有一个更好的方法
2.7版本只要模拟以下动作即可完成破解:
使用DebugApi的方式
首先拦截主程序的GetProAddress
下移即可得Call LoadQQ
步入下面的Call
貌似LoadQQ就已经完成加载
实在不行就用暂停进程
但是时间很难把握
唉、、、、、
2010-2-27 12:43
0
雪    币: 146
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
又没什么功能限制,path它干吗?
2010-3-4 22:20
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
学习,早晚有人会弄出来好东西给大家。
2010-6-7 10:39
0
雪    币: 145
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
那个东西捆绑主页啊...估计楼主不爽它这点
2010-7-4 18:03
0
雪    币: 132
活跃值: (127)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
搞出来的话 我们又可以看到漫天飞舞的显ip外挂了
2010-7-4 20:39
0
游客
登录 | 注册 方可回帖
返回
//