首页
社区
课程
招聘
[旧帖] [求助]关于爆破网络验证外挂的问题 0.00雪花
发表于: 2008-3-4 23:36 85582

[旧帖] [求助]关于爆破网络验证外挂的问题 0.00雪花

2008-3-4 23:36
85582
收藏
免费 0
支持
分享
最新回复 (122)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
请告诉我您说的读取IP的位置 用什么命令下断点呢... 感谢高人再次知道迷津啊.相信应该是一个CALL  这个CALL是不是用来调用WIN API函数的? 我只是猜测,请高人告诉我该下怎样的断点来找到这个CALL 或者  关键跳   
2008-3-6 01:41
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
自己好好 分析
一步 一步 跟
2008-3-6 01:47
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
hanzososo,请问哈你,你说的那个是一个软件吗?我也找类似的东东,只不过我太菜了,我是在找**游戏外挂的..................
2008-3-6 01:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
谢谢大哥的一步一步跟,感动啊,眼泪花花的  再次感谢您对我关爱
2008-3-6 02:56
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
看我脱壳的WG文件。下面是静态分析,只是方便找到合适中断的位置:
* Reference To: ws2_32.WSASocketA, Ord:0052h                 ;建立SOCKET
                                  |
:1001380F FF1588D50410            Call dword ptr [1004D588]
:10013815 8BF0                    mov esi, eax
:10013817 83FEFF                  cmp esi, FFFFFFFF
:1001381A 0F846D020000            je 10013A8D
:10013820 33C0                    xor eax, eax
:10013822 66A1A0020610            mov ax, word ptr [100602A0]
:10013828 66C74424180200          mov [esp+18], 0002
:1001382F 50                      push eax

* Reference To: ws2_32.htons, Ord:0009h                                         ;设置端口
                                  |
:10013830 FF158CD50410            Call dword ptr [1004D58C]

* Possible StringData Ref from Data Obj ->"192.168.1.2"                     ;看到了IP地址了?在这读呢。
                                  |
:10013836 6890020610              push 10060290
:1001383B 668944241E              mov word ptr [esp+1E], ax

* Reference To: ws2_32.inet_addr, Ord:000Bh                                    ;设置网络地址
                                  |
:10013840 FF1590D50410            Call dword ptr [1004D590]
:10013846 6A10                    push 00000010
:10013848 8D4C241C                lea ecx, dword ptr [esp+1C]
:1001384C 51                      push ecx
:1001384D 56                      push esi
:1001384E 89442428                mov dword ptr [esp+28], eax

* Reference To: ws2_32.connect, Ord:0004h
                                  |
:10013852 FF1594D50410            Call dword ptr [1004D594]              ;建立连接
:10013858 85C0                    test eax, eax
:1001385A 0F852D020000            jne 10013A8D
。。。。。。。。。。。。。。。。。。。。。。下面的就有发送和接收信息自己好好分析
找到要中断的地址后就慢慢一步一步跟。


你静态分析看到那用OD直接到CTRL-G到需要中断的地址就好了。以后你能不能破就要看你的悟性了。
2008-3-6 03:25
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
静太分析就是用W32吧  对吗?高人 谢谢你的点睛之处啊.感动啊
2008-3-6 04:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
我用W32查了一晚上带代码,那代码是地球周长的3倍啊, 还是没找到哪个发送验证的CALL呀,是不是软件作者给分割了,程序运行起来又拼接起来呢? 还有,我用OD下 bp sendto  居然段不下了,说明一下,这个软件是VC++写的,壳被我脱了,  OD居然提示我 bp sendto 是无效字符  
bp WSASend     // 无效字符
bp WSARecv    // 无效字符
bp sendto     //无效字符
bp recvfrom   //断不下来 无效字符
bp closesocket  //这个断下来一次,从新载入又断不下来了
2008-3-6 14:26
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
我也是在头疼爆破问题,不过能本地验证也好,反正差不多,我的是bp send 能下断的
2008-3-6 14:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
34
跟着高人学学啊
2008-3-6 14:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
高人多讲讲怎么找关键跳啊!!!!!!!!!!!!!
2008-3-6 15:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
36
有高人指点了,但是我比较苯.静态分析中找不到他指点哪个地方,因为吧,WG没有可显示的字符串的.我有W32加载原文件.挖.......长度是地球周长的2倍哦
想知道对于这样的情况 应该怎么找突破口呢,期待指导....................哦米托佛
2008-3-6 19:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
37
楼主和一样都在想破挂哈,我感觉你比较近了,看下这个文章
http://bbs.pediy.com/showthread.php?t=41785

我的是照这个葫芦画了,也找到那步说:验证失败的地方了,就是不知道怎么下手
2008-3-6 21:06
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
38
接着继续我的爆破之路:
OD载入目标程序:
下断:
bpx closesocket

反汇编代码窗口显示如下:
71A29635      90            nop
71A29636      90            nop
71A29637      90            nop
71A29638      90            nop
71A29639 > $  8BFF          mov     edi, edi        //断在这里,看到8BFF 相信是验证错误处.   或者是验证失败处
71A2963B   .  55            push    ebp
71A2963C   .  8BEC          mov     ebp, esp
71A2963E   .  51            push    ecx
71A2963F   .  813D 2840A371>cmp     dword ptr [71A34028], 71A29448
71A29649   .  56            push    esi
71A2964A   .^ 0F84 AEF3FFFF je      71A289FE
71A29650   >  E8 2C90FFFF   call    71A22681
71A29655   .  85C0          test    eax, eax
71A29657   .  8945 FC       mov     dword ptr [ebp-4], eax
71A2965A   .^ 0F85 B4F3FFFF jnz     71A28A14

此时寄存器显示以下内容:
EAX 71A29639 WS2_32.closesocket
ECX 00C5E160
EDX 7C92EB94 ntdll.KiFastSystemCallRet
EBX 00C5E160
ESP 00123518
EBP 0012354C
ESI 00C5E160
EDI 001236B1
EIP 71A29639 WS2_32.closesocket
C 0  ES 0023 32位 0(FFFFFFFF)
P 1  CS 001B 32位 0(FFFFFFFF)
A 0  SS 0023 32位 0(FFFFFFFF)
Z 1  DS 0023 32位 0(FFFFFFFF)
S 0  FS 003B 32位 7FFDF000(FFF)
T 0  GS 0000 NULL
D 0
O 0  LastErr ERROR_SUCCESS (00000000)
EFL 00000246 (NO,NB,E,BE,NS,PE,GE,LE)
ST0 empty +UNORM 0201 00000000 804DF7EC
ST1 empty -UNORM EB94 00123CC8 00000000
ST2 empty 4.0986295720800728480e+1272
ST3 empty +UNORM 02A0 0000003B B88699F0
ST4 empty +UNORM 003B 00123DA8 00000000
ST5 empty 1.0000000000000000000
ST6 empty 1.0000000000000000000
ST7 empty 1.0000000000000000000
               3 2 1 0      E S P U O Z D I
FST 4020  Cond 1 0 0 0  Err 0 0 1 0 0 0 0 0  (EQ)
FCW 027F  Prec NEAR,53  掩码    1 1 1 1 1 1

注释窗口显示如下内容:
eid=001236B1
本地调用来自 71A29B25, 71A29B4B

堆栈窗口显示入下内容:
00123518   73D499B8  /CALL 到 closesocket 来自 MFC42.73D499B3
0012351C   000000BC  \Socket = BC
00123520   00C5E160
00123524   0044E502  返回到 11.0044E502
00123528   00000000
0012352C   005155D7  11.005155D7
00123530   001236B1
00123534   00C61675
00123538   00000000
0012353C   01390744  ASCII "193.238.148.196"
00123540   00123EEC
00123544   0000BB01
00123548   004C45BF  返回到 11.004C45BF 来自 11.004B0709
0012354C   00C5F060
00123550   0043B94A  返回到 11.0043B94A 来自 11.0044E7A0
00123554   001235A8
00123558   00000000
2008-3-7 00:09
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
39
这里的11.004C45BF 和11.0043B94A   这里的11 是我脱客后改的名字  呵呵 有才吧
2008-3-7 00:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
40
我感觉我们还是基础不好,因此不知道如何下手
2008-3-7 00:27
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
41
这个IP地址:193.238.148.196  我自己跟踪了一下,不是验证服务器的IP地址, 一个游戏分很多区 ,这个IP就是其中一个区的IP.... 呵呵 我找回了点自信了呀....继续实况转播中,有什么想说的,想讨论的,也来说说嘛
2008-3-7 00:30
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
42
我根据堆栈显示地址 CTRL+G 0044E7A0  来到这里

0044E78C   .- E9 75B60500   jmp     004A9E06
0044E791   .  8D6424 48     lea     esp, dword ptr [esp+48]
0044E795   .  E9 B7000000   jmp     0044E851
0044E79A      D8            db      D8
0044E79B      81            db      81
0044E79C      90            nop
0044E79D      90            nop
0044E79E      90            nop
0044E79F      90            nop
0044E7A0   $  55            push    ebp     //0044E7A0  貌似关键的地方
0044E7A1   .  8BEC          mov     ebp, esp
0044E7A3   .  83EC 10       sub     esp, 10
0044E7A6   .  53            push    ebx
0044E7A7   .  56            push    esi
0044E7A8   .  8BD9          mov     ebx, ecx
0044E7AA   .  68 E459E5A8   push    A8E559E4
0044E7AF   .  E8 E80A0000   call    0044F29C
0044E7B4   .  0FC0F0        xadd    al, dh
0044E7B7   .  8B55 00       mov     edx, dword ptr [ebp]
0044E7BA   .  2C 66         sub     al, 66
0044E7BC   .  18F0          sbb     al, dh
0044E7BE   .  83C5 02       add     ebp, 2
0044E7C1   .  51            push    ecx
0044E7C2   .  60            pushad
0044E7C3   .  36:8A02       mov     al, byte ptr ss:[edx]
0044E7C6   .  66:892C24     mov     word ptr [esp], bp
0044E7CA   .  66:8945 00    mov     word ptr [ebp], ax
0044E7CE   .  60            pushad
0044E7CF   .  8D6424 44     lea     esp, dword ptr [esp+44]
0044E7D3   .- E9 9AB30500   jmp     004A9B72
0044E7D8   >  C60424 66     mov     byte ptr [esp], 66
0044E7DC   .  9C            pushfd
0044E7DD   .  8F0424        pop     dword ptr [esp]
0044E7E0   .  68 E052BB4E   push    4EBB52E0

本地调用来自 00430FB6, 0043B945, 0044E567

0012276B   /74 2A           je      short 00122797    //好大的跳啊
0012276D   |0206            add     al, byte ptr [esi]
0012276F   |00B6 00000000   add     byte ptr [esi], dh
00122775   |0000            add     byte ptr [eax], al
00122777   |0001            add     byte ptr [ecx], al
00122779   |0000            add     byte ptr [eax], al
反汇编窗口:
¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥关键部位了

0044E7A0   $  55            push    ebp
0044E7A1   .  8BEC          mov     ebp, esp
0044E7A3   .  83EC 10       sub     esp, 10
0044E7A6   .  53            push    ebx
0044E7A7   .  56            push    esi
0044E7A8   .  8BD9          mov     ebx, ecx
0044E7AA   .  68 E459E5A8   push    A8E559E4
0044E7AF   .  E8 E80A0000   call    0044F29C
0044E7B4   .  0FC0F0        xadd    al, dh
0044E7B7   .  8B55 00       mov     edx, dword ptr [ebp]
0044E7BA   .  2C 66         sub     al, 66
0044E7BC   .  18F0          sbb     al, dh
0044E7BE   .  83C5 02       add     ebp, 2
0044E7C1   .  51            push    ecx
0044E7C2   .  60            pushad
0044E7C3   .  36:8A02       mov     al, byte ptr ss:[edx]

寄存器窗口:
EAX 00000009
ECX 00C5E160
EDX 00123664 ASCII "hongwan1"  ///这个不就是我的游戏帐号吗 怎么在这里啊??
EBX 00C53CF8
ESP 00123548
EBP 00123C3C
ESI 00C61675
EDI 0012366D

注释窗口:
ebp=00123C3C
本地调用来自 00430FB6, 0043B945, 0044E567

堆栈窗口
00123548   00430FBB  返回到 11.00430FBB 来自 11.0044E7A0
0012354C   00123564
00123550   00000000
00123554   00000000
00123558   00123EEC
0012355C   00123EEC
00123560   0040F290  11.0040F290
00123564   01388D38
2008-3-7 01:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
43
到这里 发现程序不提示我受到限制了,但是提示我连接超时拉.....杂回事啊??
2008-3-7 01:21
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
44
哈哈 相信这个就是验证的关键CALL拉 看代码:
0040EC94   .  E8 C9940400   call    00458162       ///我断在这里
0040EC99   .  8B5424 48     mov     edx, dword ptr [esp+48]
0040EC9D   .  8B6C24 5C     mov     ebp, dword ptr [esp+5C]
0040ECA1   .  8B5C24 54     mov     ebx, dword ptr [esp+54]
0040ECA5   .  899424 9C0000>mov     dword ptr [esp+9C], edx
0040ECAC   .  8BD5          mov     edx, ebp
0040ECAE   .  894424 50     mov     dword ptr [esp+50], eax
0040ECB2   .  2BD3          sub     edx, ebx
0040ECB4   .  B8 67666666   mov     eax, 66666667
0040ECB9   .  F7EA          imul    edx
0040ECBB   .  8B4C24 40     mov     ecx, dword ptr [esp+40]

大家看寄存器:
EAX 00000000
ECX 00123EEC
EDX 00150608
EBX 00C80924
ESP 001236EC
EBP 77D2F383 USER32.SendMessageA
ESI 00123EEC
EDI 77D1B6D4 USER32.GetWindowRect
EIP 0040EC94 de_Perfe.0040EC94
2008-3-7 04:30
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
45
一起研究啊。。
2008-3-7 06:58
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
46
0044F1BD   .  68 2C3A4700   push    00473A2C                         ;  ASCII "游戏帐号已过

期"
0044F1C2   .  6A 01         push    1
0044F1C4   .  51            push    ecx
0044F1C5   .  E8 E6F5FBFF   call    0040E7B0
0044F1CA   .  83C4 0C       add     esp, 0C
0044F1CD   .  EB 26         jmp     short 0044F1F5
0044F1CF   >  68 F4010000   push    1F4
0044F1D4   .  E8 44960700   call    004C881D
2008-3-7 07:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
47
0044F157   .  68 00020000   push    200
0044F15C   .  56            push    esi
0044F15D   .  E8 3E58FCFF   call    004149A0
0044F162   .  8B0D F8574700 mov     ecx, dword ptr [4757F8]
0044F168   .  E8 1357FCFF   call    00414880
0044F16D   .  E9 83000000   jmp     0044F1F5
0044F172   >  84C0          test    al, al
0044F174      74 74         je      short 0044F1EA
0044F176   .  8B8B 3C070000 mov     ecx, dword ptr [ebx+73C]
0044F17C   .  41            inc     ecx
0044F17D   .  8BC1          mov     eax, ecx
0044F17F   .  898B 3C070000 mov     dword ptr [ebx+73C], ecx
0044F185   .  83F8 02       cmp     eax, 2
0044F188      7E 45         jle     short 0044F1CF
0044F18A   .  C683 38070000>mov     byte ptr [ebx+738], 0
0044F191   .  C783 3C070000>mov     dword ptr [ebx+73C], 0
0044F19B   .  8B15 F8574700 mov     edx, dword ptr [4757F8]
0044F1A1   .  6A 00         push    0
0044F1A3   .  68 03800000   push    8003
0044F1A8   .  68 11010000   push    111
0044F1AD   .  8B42 20       mov     eax, dword ptr [edx+20]
0044F1B0   .  50            push    eax
0044F1B1   .  E8 A9DE0900   call    004ED05F
0044F1B6   .  90            nop
0044F1B7      8B0D F8574700 mov     ecx, dword ptr [4757F8]
0044F1BD   .  68 2C3A4700   push    00473A2C            ;  ASCII "游戏帐号已过期" //这个是突破口 但是我把上面2个跳改成 JMP  发现哦连接游戏失败.相信应该是软件把我的通讯给段了,找了一晚上没找到哪个地方哦.杂办呢?
0044F1C2   .  6A 01         push    1
0044F1C4   .  51            push    ecx
0044F1C5      E8 E6F5FBFF   call    0040E7B0
2008-3-7 08:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
48
说实话,破这个软件,对我这样的菜鸟来说,根本是不合适.但是我来看雪的目的就是学习的,既然学习,那就要认真的学.不能半途而费.知难而退. 所以我会继续努力研究.现在只想朋友们给我打打气 哈
2008-3-7 08:32
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
49
但愿你能成功!成功一次你就有自信了!
成功不了也不要懊恼!胜败乃兵家常事!
2008-3-7 10:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qsl
50
看不懂,好像天书一样!
2008-3-7 11:06
0
游客
登录 | 注册 方可回帖
返回
//