吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11716|回复: 7
收起左侧

[原创] 神州数码的简单调试

[复制链接]
Adai 发表于 2012-10-30 10:57
本帖最后由 Adai 于 2012-10-30 11:19 编辑

【文章标题】: 神州数码的简单调试
【文章作者】: 阿呆
【软件名称】: 神州数码客户端 3.5版本
【软件大小】: 5M
【下载地址】: 自备
【加壳方式】: 未知
【使用工具】: OD,PEID
【操作平台】: win7
【软件介绍】: 一般用于校园网和小区联网客户端
【作者声明】: 并非感兴趣,只因被限制。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
    3.5.11.XXX 版本是我校目前最新的版本,可以说较完美,我之所以学习破解,也是因为这款软件给我带来的束缚实在太多,比如说晚上11点断网,限制使用代理软件(如:ccproxy)等等。
    那么这次我和大家交流如何解除使用代理软件的限制,如果你们学校的服务器没有完善,你还有可能尝试不断网。
    我写这篇文章,意味着我要放弃我的破解之路,因为这条路对我来说,太长,太坎坷,我不是信息系的学生,对汇编也没有基础,琢磨一个星期都无法解决的问题,只需大侠一句话就能解决,但是,没有人是有义务来帮我的,大家都有自己的事情要做,所以我无法坚持下去,只好选择放弃了。
    好了,进入主题,用PEID查壳,显示“Microsoft Visual C++ 8.0 *”,改核心扫描“ASPack 2.x (without poly) -> Alexey Solodovnikov”。无需脱壳,可直接调试。
    先解除禁用代理软件:
    在浏览器进入ccproxy的官网,或者有这个字样的网站,客户端过一会就会断开连接(每个单位不同,有的可能没有此限制)。我们开始第一步吧。
    OD加载神州数码客户端,F9启动并登录,下断点:“bp EnumWindows”(这很重要)。
下断后,由于软件会每隔一段时间进行检测,一会就来到:
[AppleScript] 纯文本查看 复制代码
76BFD1CF >  8BFF            mov edi,edi                              ; user32.PostMessageA
76BFD1D1    55              push ebp
76BFD1D2    8BEC            mov ebp,esp
76BFD1D4    33C0            xor eax,eax                              ; DigitalC.0041AD80
76BFD1D6    50              push eax                                 ; DigitalC.0041AD80
76BFD1D7    50              push eax                                 ; DigitalC.0041AD80
76BFD1D8    FF75 0C         push dword ptr ss:[ebp+0xC]
76BFD1DB    FF75 08         push dword ptr ss:[ebp+0x8]
76BFD1DE    50              push eax                                 ; DigitalC.0041AD80
76BFD1DF    50              push eax                                 ; DigitalC.0041AD80
76BFD1E0    E8 31C2FFFF     call user32.76BF9416
76BFD1E5    5D              pop ebp                                  ; DigitalC.0041AD8D
76BFD1E6    C2 0800         retn 0x8

一直F8单步走,走到76BFD1E0处就会卡住,此时别慌,按“暂停”就会跳到76BF72B9
[AppleScript] 纯文本查看 复制代码
76BF72B9    83C4 04         add esp,0x4
76BF72BC    C2 1C00         retn 0x1C

来到76BF72B9后按 F9 来到76BFD1E5
[AppleScript] 纯文本查看 复制代码
76BFD1E5    5D              pop ebp                                  ; 02C58728
76BFD1E6    C2 0800         retn 0x8

继续F8单步,回到程序领口了!
[AppleScript] 纯文本查看 复制代码
0041AD8D  |.  F7D8          neg eax
0041AD8F  |.  1BC0          sbb eax,eax
0041AD91  |.  25 C8000000   and eax,0xC8
0041AD96  |.  05 38FFFFFF   add eax,-0xC8
0041AD9B  \.  C3            retn

继续F8单步到返回,来到00418DDC。这里就是重要的地方!
[AppleScript] 纯文本查看 复制代码
00418DC9  |. /74 1F         je short DigitalC.00418DEA
00418DCB  |. |EB 03         jmp short DigitalC.00418DD0
00418DCD  |  |8D49 00       lea ecx,dword ptr ds:[ecx]
00418DD0  |> |8B06          /mov eax,dword ptr ds:[esi]              ;  DigitalC.0041AD80
00418DD2  |. |85C0          |test eax,eax
00418DD4  |. |74 0D         |je short DigitalC.00418DE3
00418DD6  |. |8B4E 08       |mov ecx,dword ptr ds:[esi+0x8]
00418DD9  |. |51            |push ecx                                ;  user32.76C60718
00418DDA     |FFD0          |call eax
00418DDC  |. |83C4 04       |add esp,0x4
00418DDF  |. |85C0          |test eax,eax
00418DE1     |75 09         jnz short DigitalC.00418DEC
00418DE3  |> |8B76 04       |mov esi,dword ptr ds:[esi+0x4]
00418DE6  |. |85F6          |test esi,esi
00418DE8  |.^|75 E6         \jnz short DigitalC.00418DD0
00418DEA  |> \33C0          xor eax,eax
00418DEC  |>  5E            pop esi
00418DED  \.  C3            retn

往上拉一下,00418DDA是关键!但我们不能nop掉这个call,我试过了,程序会死掉。正确的办法应该是把00418DE1 的jnz 改为 jmp。好了,到此为止客户端自动检测代理就被去掉了。

    第二步,如果你们学校的服务器没有更新,可以尝试此办法不断网,不保证每个学校有效,很可惜我们服务器升级了,后来的破解工作并不顺利,加上我已无破解的动力了,所以没有最新的破解办法。

  OD载入客户端,反汇编窗口右键 “中文搜索引擎”--“搜索ASCII”
找到这么一行:004098ED  push DigitalC.0045F9A4  用户名不能使用除"_@.(+){=}-"以外的特殊字符
回车健跟踪,来到:004098ED
[AppleScript] 纯文本查看 复制代码
004098E6  |.  85C0          test eax,eax                             ;  kernel32.BaseThreadInitThunk
004098E8      75 12         jnz short DigitalC.004098FC
004098EA  |.  53            push ebx
004098EB  |.  6A 40         push 0x40
004098ED  |.  68 A4F94500   push DigitalC.0045F9A4                   ;  用户名不能使用除"_@.(+){=}-"以外的特殊字符
004098F2      E8 13690200   call DigitalC.0043020A
004098F7  |.  E9 E3030000   jmp DigitalC.00409CDF
004098FC  |>  8D4C24 14     lea ecx,dword ptr ss:[esp+0x14]

来到004098ED后,往上拉一下,把004098E8的 jnz 改为jmp,这样就能够输入特殊字符了。运行时在账号之间加入“\”,(比如帐号是123456,那么输入帐号12345\6)就可以不被断网了,不过断网后就无法重新连接了。

看完上面两步,或许对你有所帮助,学校网管也可以根据此来尽快修复漏洞。此次调试仅为学习,并无恶意,如果侵犯到了公司及学校利益,请及时指出,方便我做出修改,并在此道歉。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于阿呆,给予我指点 的有很多,由于此文的特殊性,原谅我不便在此举出,转载请注明作者并保持文章的完整, 谢谢!

免费评分

参与人数 1热心值 +1 收起 理由
Chief + 1 欢迎分析讨论交流[吾爱破解论坛]有你更精彩.

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Emil 发表于 2012-10-30 11:43
学习了 感谢楼主无私奉献
俺知道 发表于 2012-10-30 11:45
1354669803 发表于 2012-10-30 12:28
Hmily 发表于 2012-11-18 00:55
想当年上学时候到处找学校网络的工具去一台机器绑定的限制,那时候还不会逆向,比你我你还多了,看了下检测那你应该是跳过了第一个检测就不循环了,可以直接在00418DDC断首直接返回,应该就一个都不会检测了,期待你更深入的研究,给同学们带来精彩!我相信他们毕业后都会记得你这位大牛的!
 楼主| Adai 发表于 2012-11-19 22:24
Hmily 发表于 2012-11-18 00:55
想当年上学时候到处找学校网络的工具去一台机器绑定的限制,那时候还不会逆向,比你我你还多了,看了下检测 ...

老大,如果能获得你的指点,我愿意重新尝试,不介意的话,私信告知我联系方式吧
yyangelyy 发表于 2014-3-16 18:39
我已经调试到这里了但是怎么过DHCP限制 求赐教 我要共享wifi
[Asm] 纯文本查看 复制代码
00407621   .  E8 BAC50300   call 00443BE0
00407626   .  83C4 0C       add esp,0xC
00407629   .  53            push ebx                                 ; /Arg1
0040762A   .  8D4C24 18     lea ecx,dword ptr ss:[esp+0x18]          ; |
0040762E   .  881D 2C8F4700 mov byte ptr ds:[0x478F2C],bl            ; |
00407634   .  E8 57C30000   call 00413990                            ; \DigitalC.00413990
00407639   .  C78424 D80300>mov dword ptr ss:[esp+0x3D8],0x1
00407644   .^ E9 E6FEFFFF   jmp 0040752F
00407649   >  53            push ebx                                 ; /Arg3
0040764A   .  53            push ebx                                 ; |Arg2
0040764B   .  68 60904800   push 00489060                            ; |收到了强制下线报文,您被强制下线!
00407650   .  E8 1B860200   call 0042FC70                            ; \DigitalC.0042FC70
00407655   .  E9 3E020000   jmp 00407898
0040765A   .  53            push ebx                                 ; /Arg3
0040765B   .  53            push ebx                                 ; |Arg2
0040765C   .  68 209F4800   push 00489F20                            ; |您与交换机之间的保活失败,请重新连接!
00407661   .  E8 0A860200   call 0042FC70                            ; \DigitalC.0042FC70
00407666   .  E9 2D020000   jmp 00407898
0040766B   .  53            push ebx                                 ; /Arg3
0040766C   .  53            push ebx                                 ; |Arg2
0040766D   .  68 40A14800   push 0048A140                            ; |您的网卡已禁用,请启用后重新连接!
00407672   .  E8 F9850200   call 0042FC70                            ; \DigitalC.0042FC70
00407677   .  E9 1C020000   jmp 00407898
0040767C   .  53            push ebx                                 ; /Arg3
0040767D   .  53            push ebx                                 ; |Arg2
0040767E   .  68 E0934800   push 004893E0                            ; |网卡断开连接,请检查网卡连接状态!
00407683   .  E8 E8850200   call 0042FC70                            ; \DigitalC.0042FC70
00407688   .  E9 0B020000   jmp 00407898
0040768D   .  68 A0A04800   push 0048A0A0                            ;  发现BT软件运行,您被强制下线!
00407692   .  8BCE          mov ecx,esi
00407694   .  E8 37F1FFFF   call 004067D0
00407699   .  E9 FA010000   jmp 00407898
0040769E   .  53            push ebx                                 ; /Arg3
0040769F   .  53            push ebx                                 ; |Arg2
004076A0   .  68 C0B24800   push 0048B2C0                            ; |发现使用代理,您被强制下线!
004076A5   .  E8 C6850200   call 0042FC70                            ; \DigitalC.0042FC70
004076AA   .  E9 E9010000   jmp 00407898
004076AF   .  803D 448F4700>cmp byte ptr ds:[0x478F44],0x2
004076B6   .  75 21         jnz short 004076D9
004076B8   .  8B0D 288F4700 mov ecx,dword ptr ds:[0x478F28]
004076BE   .  51            push ecx
004076BF   .  E8 BC800100   call 0041F780
004076C4   .  50            push eax
004076C5   .  68 40A74800   push 0048A740                            ;  发现网卡MAC地址盗用,  盗用者ip [%s] ,您被强制下线!
004076CA   .  68 C8000000   push 0xC8
004076CF   .  8D9424 140100>lea edx,dword ptr ss:[esp+0x114]
004076D6   .  52            push edx
004076D7   .  EB 1E         jmp short 004076F7
004076D9   >  A1 288F4700   mov eax,dword ptr ds:[0x478F28]
004076DE   .  50            push eax
004076DF   .  E8 9C800100   call 0041F780
004076E4   .  50            push eax
004076E5   .  68 009C4800   push 00489C00                            ;  发现网卡MAC地址盗用,  盗用者ip [%s].
004076EA   .  68 C8000000   push 0xC8
004076EF   .  8D8C24 140100>lea ecx,dword ptr ss:[esp+0x114]
004076F6   .  51            push ecx
004076F7   >  E8 94820000   call 0040F990
004076FC   .  83C4 14       add esp,0x14
004076FF   .  53            push ebx                                 ; /Arg3
00407700   .  53            push ebx                                 ; |Arg2
00407701   .  8D9424 0C0100>lea edx,dword ptr ss:[esp+0x10C]         ; |
00407708   .  52            push edx                                 ; |Arg1
00407709   .  E8 62850200   call 0042FC70                            ; \DigitalC.0042FC70
0040770E   .  E9 85010000   jmp 00407898
00407713   .  53            push ebx                                 ; /Arg3
00407714   .  53            push ebx                                 ; |Arg2
00407715   .  68 A0A24800   push 0048A2A0                            ; |发现启用DHCP,您被强制下线!
0040771A   .  E8 51850200   call 0042FC70                            ; \DigitalC.0042FC70
0040771F   .  E9 74010000   jmp 00407898
00407724   .  53            push ebx                                 ; /Arg3
00407725   .  53            push ebx                                 ; |Arg2
00407726   .  68 40914800   push 00489140                            ; |您的外网被服务器强制下线,可能原因:流量、时长用尽或者被Radius强制下线!
0040772B   .  E8 40850200   call 0042FC70                            ; \DigitalC.0042FC70
00407730   .  E9 63010000   jmp 00407898
00407735   .  B8 288B4700   mov eax,00478B28
0040773A   .  8D50 01       lea edx,dword ptr ds:[eax+0x1]
0040773D   .  8D49 00       lea ecx,dword ptr ds:[ecx]
00407740   >  8A08          mov cl,byte ptr ds:[eax]
00407742   .  83C0 01       add eax,0x1
00407745   .  3ACB          cmp cl,bl
00407747   .^ 75 F7         jnz short 00407740
yutao531315 发表于 2014-3-16 20:56
来看看学习下, 学习之路很坎坷.......
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-11 14:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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