【文章标题】: 【求助】一脱机外挂网络验证破解遇难题详细问题请看
【文章作者】: CHAIKYO
【软件名称】: XX脱机外挂
【软件大小】: 3.30M
【下载地址】: 谁想破解跟帖问我要原程序
【加壳方式】: ASProtect 2.0x Registered -> Alexey Solodovnikov Version: ASProtect 2.00 build 06.23 Alpha
【保护方式】: 网络验证
【编写语言】: Microsoft Visual C++ 6.0
【使用工具】: OllyDBG_1.10
【操作平台】: 盗版XP2
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
因为是ASProtect 2.0的壳所以用脱壳机就不用OD手脱了(本人比较懒)-V-
然后OD载入,在621E48FE(不要问我怎么找的)下断,运行程序忽略所有异常,填好帐号和密码后连接,被OD断下停在这里 (非注册用户)
621E48FE . 56 PUSH ESI ; 验证从这里开始
621E48FF . 8BF1 MOV ESI,ECX
621E4901 . FF7424 08 PUSH DWORD PTR SS:[ESP+8]
621E4905 . E8 B171FBFF CALL JYK.6219BABB
621E490A . FF7424 08 PUSH DWORD PTR SS:[ESP+8]
621E490E . 8B4E 28 MOV ECX,DWORD PTR DS:[ESI+28]
621E4911 . E8 673AFEFF CALL JYK.621C837D ; 会跳到下面
621C837D $ B8 54143962 MOV EAX,JYK.62391454 ; 跳到这里 用WPE监视这里会发送数据到
621C8382 . E8 71D40200 CALL JYK.621F57F8 外挂服务器
621C8387 . 81EC 7C040000 SUB ESP,47C
621C838D . 53 PUSH EBX
621C838E . 33DB XOR EBX,EBX
621C8390 . 395D 08 CMP DWORD PTR SS:[EBP+8],EBX
621C8393 . 56 PUSH ESI
621C8394 . 57 PUSH EDI
621C8395 . 8BF1 MOV ESI,ECX
621C8397 . 74 1B JE SHORT JYK.621C83B4 :这里会跳到621C83B4
621C8399 . E8 F6310200 CALL <JMP.&ws2_32.WSAGetLastError> ; [WSAGetLastError
621C839E . 50 PUSH EAX
621C839F . 68 10A34062 PUSH JYK.6240A310
621C83A4 . 6A 12 PUSH 12
621C83A6 . 56 PUSH ESI
621C83A7 . E8 DA6A0100 CALL JYK.621DEE86
621C83AC . 83C4 10 ADD ESP,10
621C83AF . E9 22060000 JMP JYK.621C89D6
621C83B4 > 8B8E C8C33100 MOV ECX,DWORD PTR DS:[ESI+31C3C8] :跳到这里 继续不管
621C83BA . 8D45 08 LEA EAX,DWORD PTR SS:[EBP+8]
621C83BD . 50 PUSH EAX
621C83BE . 68 7F660440 PUSH 4004667F
621C83C3 . 895D 08 MOV DWORD PTR SS:[EBP+8],EBX
621C83C6 . E8 BBBFFCFF CALL JYK.62194386
621C83CB . 75 04 JNZ SHORT JYK.621C83D1 ; 123 跳实现
621C83CD . 74 02 JE SHORT JYK.621C83D1
621C83CF 9A DB 9A
621C83D0 E8 DB E8
621C83D1 > 817D 08 00020>CMP DWORD PTR SS:[EBP+8],200
621C83D8 . 75 0B JNZ SHORT JYK.621C83E5
621C83DA . 6A 09 PUSH 9 ; /TimerID = 9
621C83DC . FF76 1C PUSH DWORD PTR DS:[ESI+1C] ; |hWnd
621C83DF . FF15 F8A73A62 CALL DWORD PTR DS:[<&user32.KillTimer>] ; \KillTimer
621C83E5 > 395D 08 CMP DWORD PTR SS:[EBP+8],EBX
621C83E8 . 0F84 CC050000 JE JYK.621C89BA
621C83EE . BF 01100000 MOV EDI,1001
621C83F3 . 57 PUSH EDI
621C83F4 . E8 960D1900 CALL JYK.6235918F
621C83F9 . 57 PUSH EDI
621C83FA . 53 PUSH EBX
621C83FB . 50 PUSH EAX
621C83FC . 8945 E4 MOV DWORD PTR SS:[EBP-1C],EAX
621C83FF . E8 0CD80200 CALL JYK.621F5C10
621C8404 . 8B8E C8C33100 MOV ECX,DWORD PTR DS:[ESI+31C3C8]
621C840A . 83C4 10 ADD ESP,10
621C840D . 8B01 MOV EAX,DWORD PTR DS:[ECX]
621C840F . 53 PUSH EBX
621C8410 . 68 00100000 PUSH 1000
621C8415 . FF75 E4 PUSH DWORD PTR SS:[EBP-1C]
621C8418 . FF50 14 CALL DWORD PTR DS:[EAX+14]
621C841B . 8BF8 MOV EDI,EAX ;用WPE监视这里得到外挂服务器返回数据
621C841D . 68 00040000 PUSH 400
621C8422 . 8D85 78FBFFFF LEA EAX,DWORD PTR SS:[EBP-488]
621C8428 . 53 PUSH EBX
621C8429 . 50 PUSH EAX
621C842A . E8 E1D70200 CALL JYK.621F5C10
621C842F . 8B86 A0853000 MOV EAX,DWORD PTR DS:[ESI+3085A0]
621C8435 . 83C4 0C ADD ESP,0C
621C8438 . 3BC3 CMP EAX,EBX
621C843A . 74 47 JE SHORT JYK.621C8483
621C843C . 8958 14 MOV DWORD PTR DS:[EAX+14],EBX
621C843F . 8B86 A0853000 MOV EAX,DWORD PTR DS:[ESI+3085A0]
621C8445 . 6A 41 PUSH 41
621C8447 . 53 PUSH EBX
621C8448 . 8958 10 MOV DWORD PTR DS:[EAX+10],EBX
621C844B . 8B86 A0853000 MOV EAX,DWORD PTR DS:[ESI+3085A0]
621C8451 . 83C0 1C ADD EAX,1C
621C8454 . 50 PUSH EAX
621C8455 . E8 B6D70200 CALL JYK.621F5C10
621C845A . 8B86 A0853000 MOV EAX,DWORD PTR DS:[ESI+3085A0]
621C8460 . 6A 41 PUSH 41
621C8462 . 83C0 5D ADD EAX,5D
621C8465 . 53 PUSH EBX
621C8466 . 50 PUSH EAX
621C8467 . E8 A4D70200 CALL JYK.621F5C10
621C846C . 8B86 A0853000 MOV EAX,DWORD PTR DS:[ESI+3085A0]
621C8472 . 6A 41 PUSH 41
621C8474 . 05 9E000000 ADD EAX,9E
621C8479 . 53 PUSH EBX
621C847A . 50 PUSH EAX
621C847B . E8 90D70200 CALL JYK.621F5C10
621C8480 . 83C4 24 ADD ESP,24
621C8483 > 3BFB CMP EDI,EBX
621C8485 . 0F84 26050000 JE JYK.621C89B1
621C848B . 8D86 04170000 LEA EAX,DWORD PTR DS:[ESI+1704]
621C8491 . 68 00020000 PUSH 200
621C8496 . 50 PUSH EAX
621C8497 . 8D85 78FBFFFF LEA EAX,DWORD PTR SS:[EBP-488]
621C849D . 50 PUSH EAX
621C849E . 8BCE MOV ECX,ESI
621C84A0 . FF75 E4 PUSH DWORD PTR SS:[EBP-1C]
621C84A3 . E8 542D0100 CALL JYK.621DB1FC
621C84A8 . 8B85 7CFBFFFF MOV EAX,DWORD PTR SS:[EBP-484]
621C84AE . 83BE 70B63200>CMP DWORD PTR DS:[ESI+32B670],9
621C84B5 . 8B0D 0CDC4062 MOV ECX,DWORD PTR DS:[6240DC0C] ; JYK.6240DC20
621C84BB . 8945 DC MOV DWORD PTR SS:[EBP-24],EAX
621C84BE . 0F85 0A020000 JNZ JYK.621C86CE ; 这里会跳
省略一堆代码.......
621C86CE > \894D F0 MOV DWORD PTR SS:[EBP-10],ECX : 跳到这里
621C86D1 . 3D 59020000 CMP EAX,259
621C86D6 . C745 FC 02000>MOV DWORD PTR SS:[EBP-4],2
621C86DD 0F85 9E010000 JNZ JYK.621C8881 <====================; 注册用户这里会跳 非注册,到期用户不跳
621C86E3 . /75 04 JNZ SHORT JYK.621C86E9 但是改这里也会提示没注册 现在我门不改
621C86E5 . |74 02 JE SHORT JYK.621C86E9 <====================这里会跳
621C86E7 |9A DB 9A
621C86E8 |E8 DB E8
621C86E9 > \FFB5 84FBFFFF PUSH DWORD PTR SS:[EBP-47C]<================跳到这里
621C86EF . 8BBD 80FBFFFF MOV EDI,DWORD PTR SS:[EBP-480]
621C86F5 . 8D85 88FBFFFF LEA EAX,DWORD PTR SS:[EBP-478]
621C86FB . 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
621C86FE . 50 PUSH EAX
621C86FF . 897D E0 MOV DWORD PTR SS:[EBP-20],EDI
621C8702 . E8 DFBF1800 CALL JYK.623546E6
621C8707 . 83FF 33 CMP EDI,33
621C870A . C645 FC 03 MOV BYTE PTR SS:[EBP-4],3
621C870E . /75 36 JNZ SHORT JYK.621C8746 <=======================这里也会跳不管它
621C8746 > \81FF C7000000 CMP EDI,0C7 <===================================跳到这里
621C874C . /75 36 JNZ SHORT JYK.621C8784<======================= 这里也会跳
621C874E . |8B8E C8C33100 MOV ECX,DWORD PTR DS:[ESI+31C3C8]
621C8754 . |3BCB CMP ECX,EBX
621C8756 . |74 1B JE SHORT JYK.621C8773
621C8758 . |8B01 MOV EAX,DWORD PTR DS:[ECX]
621C875A . |FF50 08 CALL DWORD PTR DS:[EAX+8]
621C875D . |8B8E C8C33100 MOV ECX,DWORD PTR DS:[ESI+31C3C8]
621C8763 . |3BCB CMP ECX,EBX
621C8765 . |74 06 JE SHORT JYK.621C876D
621C8767 . |8B01 MOV EAX,DWORD PTR DS:[ECX]
621C8769 . |6A 01 PUSH 1
621C876B . |FF10 CALL DWORD PTR DS:[EAX]
621C876D > |899E C8C33100 MOV DWORD PTR DS:[ESI+31C3C8],EBX
621C8773 > |6A FF PUSH -1 ; /Reserved = FFFFFFFF
621C8775 . |53 PUSH EBX ; |Options
621C8776 . |FF15 C8A73A62 CALL DWORD PTR DS:[<&user32.ExitWindowsE>; \ExitWindowsEx
621C877C . |6A 01 PUSH 1 ; /ExitCode = 1
621C877E . |FF15 40A33A62 CALL DWORD PTR DS:[<&kernel32.ExitProces>; \ExitProcess
621C8784 > \83FF 3F CMP EDI,3F <=============================跳到这里
621C8787 . /74 0F JE SHORT JYK.621C8798<===================:不是注册用户这里跳
621C8789 . |83FF 32 CMP EDI,32
621C878C . |74 0A JE SHORT JYK.621C8798
621C878E . |83FF 36 CMP EDI,36
621C8791 . |74 05 JE SHORT JYK.621C8798<===================到期用户这里跳
621C8793 . |83FF 38 CMP EDI,38
621C8796 . |75 6F JNZ SHORT JYK.621C8807
621C8798 > \8B8E C8C33100 MOV ECX,DWORD PTR DS:[ESI+31C3C8]<=======非注册用户和到期用户都跳到这里
621C8798 > \8B8E C8C33100 MOV ECX,DWORD PTR DS:[ESI+31C3C8] 继续F8
621C879E . 3BCB CMP ECX,EBX
621C87A0 . 74 1B JE SHORT JYK.621C87BD
621C87A2 . 8B01 MOV EAX,DWORD PTR DS:[ECX]
621C87A4 . FF50 08 CALL DWORD PTR DS:[EAX+8]
621C87A7 . 8B8E C8C33100 MOV ECX,DWORD PTR DS:[ESI+31C3C8]
621C87AD . 3BCB CMP ECX,EBX
621C87AF . 74 06 JE SHORT JYK.621C87B7
621C87B1 . 8B01 MOV EAX,DWORD PTR DS:[ECX]
621C87B3 . 6A 01 PUSH 1
621C87B5 . FF10 CALL DWORD PTR DS:[EAX]
621C87B7 > 899E C8C33100 MOV DWORD PTR DS:[ESI+31C3C8],EBX
621C87BD > 399E E87A3600 CMP DWORD PTR DS:[ESI+367AE8],EBX
621C87C3 . 74 42 JE SHORT JYK.621C8807<===================这里跳
621C87C5 . 399E 60B63200 CMP DWORD PTR DS:[ESI+32B660],EBX
621C87CB . 74 3A JE SHORT JYK.621C8807
621C87CD . 33C0 XOR EAX,EAX
621C87CF . 8D7D D5 LEA EDI,DWORD PTR SS:[EBP-2B]
621C87D2 . C645 D0 F4 MOV BYTE PTR SS:[EBP-30],0F4
621C87D6 . C645 D1 44 MOV BYTE PTR SS:[EBP-2F],44
621C87DA . C645 D2 08 MOV BYTE PTR SS:[EBP-2E],8
621C87DE . C645 D3 1A MOV BYTE PTR SS:[EBP-2D],1A
621C87E2 . AB STOS DWORD PTR ES:[EDI]
621C87E3 . AA STOS BYTE PTR ES:[EDI]
621C87E4 . 6A 01 PUSH 1
621C87E6 . 8D45 D0 LEA EAX,DWORD PTR SS:[EBP-30]
621C87E9 . 5F POP EDI
621C87EA . 8BCE MOV ECX,ESI
621C87EC . 6A 08 PUSH 8
621C87EE . 50 PUSH EAX
621C87EF . 897D D4 MOV DWORD PTR SS:[EBP-2C],EDI
621C87F2 . E8 57FAFFFF CALL JYK.621C824E
621C87F7 . 57 PUSH EDI ; /ExitCode
621C87F8 . 8B3D 40A33A62 MOV EDI,DWORD PTR DS:[<&kernel32.ExitPro>; |kernel32.ExitProcess
621C87FE . FFD7 CALL EDI ; \ExitProcess
621C8800 . 6A 01 PUSH 1 ; /ExitCode = 1
621C8802 . FFD7 CALL EDI ; \ExitProcess
621C8804 . 8B7D E0 MOV EDI,DWORD PTR SS:[EBP-20]
621C8807 > 83FF 35 CMP EDI,35 <=============================:跳到这里
621C880A . /75 25 JNZ SHORT JYK.621C8831 <==================这里会跳
621C880C . |8B8E C8C33100 MOV ECX,DWORD PTR DS:[ESI+31C3C8]
621C8812 . |3BCB CMP ECX,EBX
621C8814 . |74 1B JE SHORT JYK.621C8831
621C8816 . |8B01 MOV EAX,DWORD PTR DS:[ECX]
621C8818 . |FF50 08 CALL DWORD PTR DS:[EAX+8]
621C881B . |8B8E C8C33100 MOV ECX,DWORD PTR DS:[ESI+31C3C8]
621C8821 . |3BCB CMP ECX,EBX
621C8823 . |74 06 JE SHORT JYK.621C882B
621C8825 . |8B01 MOV EAX,DWORD PTR DS:[ECX]
621C8827 . |6A 01 PUSH 1
621C8829 . |FF10 CALL DWORD PTR DS:[EAX]
621C882B > |899E C8C33100 MOV DWORD PTR DS:[ESI+31C3C8],EBX
621C8831 > \A1 0CDC4062 MOV EAX,DWORD PTR DS:[6240DC0C]<==========跳到这里
621C8831 > \A1 0CDC4062 MOV EAX,DWORD PTR DS:[6240DC0C] <=========继续F8
621C8836 . 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX
621C8839 . 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
621C883C . C645 FC 04 MOV BYTE PTR SS:[EBP-4],4
621C8840 . 50 PUSH EAX
621C8841 . 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
621C8844 . 50 PUSH EAX
621C8845 . 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20]
621C8848 . 50 PUSH EAX
621C8849 . E8 EC0E1900 CALL JYK.6235973A
621C884E . FF30 PUSH DWORD PTR DS:[EAX]
621C8850 . 8BCE MOV ECX,ESI
621C8852 . C645 FC 05 MOV BYTE PTR SS:[EBP-4],5
621C8856 . 6A 0E PUSH 0E
621C8858 . E8 95E8FFFF CALL JYK.621C70F2
621C885D . 8D4D E0 LEA ECX,DWORD PTR SS:[EBP-20]
621C8860 . C645 FC 04 MOV BYTE PTR SS:[EBP-4],4
621C8864 . E8 A20C1900 CALL JYK.6235950B
621C8869 . 8D4D E8 LEA ECX,DWORD PTR SS:[EBP-18]
621C886C . C645 FC 03 MOV BYTE PTR SS:[EBP-4],3
621C8870 . E8 960C1900 CALL JYK.6235950B
621C8875 . 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
621C8878 . C645 FC 02 MOV BYTE PTR SS:[EBP-4],2
621C887C . E8 8A0C1900 CALL JYK.6235950B
621C8881 > 817D DC C9000>CMP DWORD PTR SS:[EBP-24],0C9
621C8888 0F85 17010000 JNZ JYK.621C89A5 <===================;注册用户这里不跳,非注册,到期用户这里跳
关键跳转,改成JZ JYK.621C89A5
然后运行程序外挂提示
17:59:29 特殊公告:f
17:59:29 正在连接游戏服务器...(61.151.254.151)
17:59:29 连接游戏服务器成功...
17:59:30 帐号密码错误... (我打的都是正确的帐号密码他竟然说我的错郁闷)
正常的是这样的
18:00:52 特殊公告:(大陆免费区)您尚未注册,注册欢迎访问:
344K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6g2S2j5h3q4S2j5i4K6u0W2j5$3!0E0
经过我用WPE拦截发现他发送我的帐号和密码到游戏服务器都不是我输入的帐号和密码 我无语了
破解到次无进展 高手的给我点思路谢谢

--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2007年05月31日 18:07:03
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课