火狐压力测试服务端上线地址解密

【破文标题】火狐压力测试服务端上线地址解密
【破文作者】HackWm
【作者邮箱】 [email protected]
【作者主页】 http://hackwm.blog.51cto.com
【破解工具】OD
【破解平台】XP SP3
【软件名称】火狐压力测试服务端
【软件大小】
【原版下载】不知道哪里下
【保护方式】无
【软件简介】
【破解声明】只为学习.
------------------------------------------------------------------------
【破解过程】OD载入后入口如下:
00404ABF >  55              PUSH EBP
00404AC0    8BEC            MOV EBP,ESP
00404AC2    6A FF           PUSH -1
00404AC4    68 28524000     PUSH FF_Serve.00405228
00404AC9    68 604A4000     PUSH <JMP.&MSVCRT._except_handler3>
00404ACE    64:A1 00000000  MOV EAX,DWORD PTR FS:[0]
00404AD4    50              PUSH EAX
00404AD5    64:8925 0000000>MOV DWORD PTR FS:[0],ESP
00404ADC    83EC 68         SUB ESP,68
00404ADF    53              PUSH EBX
00404AE0    56              PUSH ESI
00404AE1    57              PUSH EDI
单步走,当然要小心,毕竟是木马,最好在虚拟机里弄.
00404BE4    56              PUSH ESI
00404BE5    53              PUSH EBX
00404BE6    53              PUSH EBX
00404BE7    FF15 C4504000   CALL DWORD PTR DS:[<&kernel32.GetModuleH>; kernel32.GetModuleHandleA
00404BED    50              PUSH EAX
00404BEE    E8 7DD2FFFF     CALL FF_Serve.00401E70
00404BF3    8945 98         MOV DWORD PTR SS:[EBP-68],EAX
00404BF6    50              PUSH EAX
00404BF7    FF15 5C514000   CALL DWORD PTR DS:[<&MSVCRT.exit>]       ; MSVCRT.exit
00404BFD    8B45 EC         MOV EAX,DWORD PTR SS:[EBP-14]
00404C00    8B08            MOV ECX,DWORD PTR DS:[EAX]
这里要注意下了  CALL FF_Serve.00401E70  下面又CALL 了退出函数   CALL FF_Serve.00401E70过了后就跑飞
所以咱F7进去
00401E70    55              PUSH EBP
00401E71    8BEC            MOV EBP,ESP
00401E73    81EC 1C030000   SUB ESP,31C
00401E79    56              PUSH ESI
00401E7A    6A 01           PUSH 1
00401E7C    FF15 EC504000   CALL DWORD PTR DS:[<&kernel32.SetErrorMo>; kernel32.SetErrorMode
00401E82    EB 10           JMP SHORT FF_Serve.00401E94
然后再单步几下通过这个JMP就到了

00401E94    68 D9070000     PUSH 7D9                                 ; 算法
00401E99    68 B0010000     PUSH 1B0
00401E9E    68 60744000     PUSH FF_Serve.00407460
00401EA3    E8 28230000     CALL FF_Serve.004041D0
00401EA8    68 D8070000     PUSH 7D8
00401EAD    68 B0010000     PUSH 1B0
00401EB2    68 60744000     PUSH FF_Serve.00407460
00401EB7    E8 14230000     CALL FF_Serve.004041D0
00401EBC    68 D7070000     PUSH 7D7
00401EC1    68 B0010000     PUSH 1B0
00401EC6    68 60744000     PUSH FF_Serve.00407460
00401ECB    E8 00230000     CALL FF_Serve.004041D0
00401ED0    68 D6070000     PUSH 7D6
00401ED5    68 B0010000     PUSH 1B0
00401EDA    68 60744000     PUSH FF_Serve.00407460
00401EDF    E8 EC220000     CALL FF_Serve.004041D0
00401EE4    A1 EC754000     MOV EAX,DWORD PTR DS:[4075EC]
也就是解密部分了.这4个CALL都是.就是说进行了4次解密.里面就有算法了,进入了解下
004041D0    8B4424 0C       MOV EAX,DWORD PTR SS:[ESP+C]
004041D4    B9 FE000000     MOV ECX,0FE
004041D9    25 FF000000     AND EAX,0FF
004041DE    56              PUSH ESI
004041DF    99              CDQ
004041E0    F7F9            IDIV ECX
004041E2    8B7424 0C       MOV ESI,DWORD PTR SS:[ESP+C]
004041E6    FEC2            INC DL
004041E8    85F6            TEST ESI,ESI
004041EA    76 10           JBE SHORT FF_Serve.004041FC
004041EC    8B4424 08       MOV EAX,DWORD PTR SS:[ESP+8]
004041F0    8A08            MOV CL,BYTE PTR DS:[EAX]                 ; 将密文的ASCII马给CL
004041F2    2ACA            SUB CL,DL                                ; CL=CL-DL
004041F4    32CA            XOR CL,DL                                ; CL=CL  XOR DL
004041F6    8808            MOV BYTE PTR DS:[EAX],CL                 ; 结果存放起来
004041F8    40              INC EAX                                  ; FF_Serve.00407610
004041F9    4E              DEC ESI
004041FA  ^ 75 F4           JNZ SHORT FF_Serve.004041F0              ; 就这羊循环N次
004041FC    5E              POP ESI                                  ; FF_Serve.00401EA8
004041FD    C3              RETN
4次解密的算法都是一样  那3个我就略过
00401EAD    68 B0010000     PUSH 1B0
00401EB2    68 60744000     PUSH FF_Serve.00407460                   ; ASCII "127.0.0.1:2010"
00401EB7    E8 14230000     CALL FF_Serve.004041D0
00401EBC    68 D7070000     PUSH 7D7
00401EC1    68 B0010000     PUSH 1B0
00401EC6    68 60744000     PUSH FF_Serve.00407460                   ; ASCII "127.0.0.1:2010"
00401ECB    E8 00230000     CALL FF_Serve.004041D0
00401ED0    68 D6070000     PUSH 7D6
00401ED5    68 B0010000     PUSH 1B0
00401EDA    68 60744000     PUSH FF_Serve.00407460                   ; ASCII "127.0.0.1:2010"
00401EDF    E8 EC220000     CALL FF_Serve.004041D0
00401EE4    A1 EC754000     MOV EAX,DWORD PTR DS:[4075EC]
4个CALL都过去后就显示出了明文上线地址 127.0.0.1:2010
所以也就是说解密完了  也可以功成身退了!
------------------------------------------------------------------------
【破解总结】第一次接触  谢谢帮助我的人  有所感悟  不过解密实在是头疼的事!
------------------------------------------------------------------------

你可能感兴趣的:(职场,休闲,"解密,压力")