千千万是福朋友 发表于 2015-12-21 18:41:55

Setup2Go v1.9.11 追码分析

【破文标题】Setup2Go v1.9.11 追码分析
【破文作者】千千万是福朋友
【破解工具】OD
【破解平台】XP
【软件名称】Setup2Go v1.9.11
【破解声明】仅限于技术交流,请勿用于商业用途
【破解过程】
03年的软件,只为提高调试水平
PEID查壳。
先运行两遍程序寻找切入点
打开软件弹出注册码,
任意输入注册作息没有任何反应???
OD右键查找字符串
没有找到有价值的字符串
CTRL+N查找输入函数
GetWinodwTextA
GetWinodwTextW
GetWinodwTextLength
发现并没有使用到这三个函数
尝试下对话框断点 bp DialogBoxParamA
点击注册程序断下
0012FC90   00440AE4   /CALL 到 DialogBoxParamA 来自 Setup2Go.00440ADE
0012FC94   00400000   |hInst = 00400000
0012FC98   000000EA   |pTemplate = 0xEA
0012FC9C   00520510   |hOwner = 00520510 ('Setup2GO',class='AESetup2GO')
0012FCA0   0043C205   |DlgProc = Setup2Go.0043C205
0012FCA4   0012FCB0   \lParam = 0012FCB0

转到对话框窗口过程看下做了些什么
发现在0043C205处理了不少消息,无法直接下断
于是0043C205处下WM_COMMAND消息条件断点 == 111
输入注册信息
0043C3D0    0FB7C0          movzx eax,ax
0043C3D3    8B16            mov edx,dword ptr ds:               ; Setup2Go.00401988
0043C3D5    57            push edi
0043C3D6    50            push eax
0043C3D7    8BCE            mov ecx,esi
0043C3D9    0FB745 10       movzx eax,word ptr ss:
0043C3DD    50            push eax
0043C3DE    53            push ebx
0043C3DF    FF52 08         call dword ptr ds:            ; Setup2Go.00417B21

顺利找到注册信息验证CALL Setup2Go.00417B21
F7跟进行,F8一直往下跟
00417BCE    50            push eax                                 ; Setup2Go.0046C090
00417BCF    83E1 03         and ecx,0x3
00417BD2    8D85 F4FDFFFF   lea eax,dword ptr ss:
00417BD8    F3:A4         rep movs byte ptr es:,byte ptr ds:[>
00417BDA    50            push eax                                 ; Setup2Go.0046C090
00417BDB    E8 D04C0200   call Setup2Go.0043C8B0
00417BE0    8BC8            mov ecx,eax                              ; Setup2Go.0046C090
00417BE2    E8 62E2FFFF   call Setup2Go.00415E49                   ; 关键CALL
00417BE7    5F            pop edi                                  ; 0012F5C0
00417BE8    5E            pop esi                                  ; 0012F5C0
00417BE9    84C0            test al,al
00417BEB    5B            pop ebx                                  ; 0012F5C0
00417BEC^ 0F84 5DFFFFFF   je Setup2Go.00417B4F                     ; 关键跳
00417BF2    68 0D080000   push 0x80D
00417BF7    EB 18         jmp short Setup2Go.00417C11

发现关键call Setup2Go.00415E49                   ,下面有一个关键跳转

F7跟进去,头部再次发现关键跳转CALL

00415E49    55            push ebp
00415E4A    8BEC            mov ebp,esp
00415E4C    51            push ecx                                 ; Setup2Go.0046C090
00415E4D    51            push ecx                                 ; Setup2Go.0046C090
00415E4E    53            push ebx                                 ; Setup2Go.0046ED60
00415E4F    56            push esi                                 ; Setup2Go.0046ED69
00415E50    57            push edi
00415E51    8B7D 08         mov edi,dword ptr ss:
00415E54    FF75 0C         push dword ptr ss:
00415E57    8BD9            mov ebx,ecx                              ; Setup2Go.0046C090
00415E59    57            push edi
00415E5A    E8 97FFFFFF   call Setup2Go.00415DF6
00415E5F    84C0            test al,al
00415E61    0F84 C0000000   je Setup2Go.00415F27

F7继续跟进去 ,还是一个关键验证CALL

00415E26    FF75 0C         push dword ptr ss:
00415E29    8D45 FC         lea eax,dword ptr ss:
00415E2C    8955 FC         mov dword ptr ss:,edx
00415E2F    50            push eax                                 ; Setup2Go.0046C090
00415E30    68 68C54000   push Setup2Go.0040C568                   ; pasha and andrey
00415E35    FF75 08         push dword ptr ss:
00415E38    E8 F6250100   call Setup2Go.00428433
00415E3D    83C4 10         add esp,0x10
00415E40    EB 02         jmp short Setup2Go.00415E44
00415E42    32C0            xor al,al
00415E44    5F            pop edi                                  ; 0012F5C0
00415E45    C9            leave
00415E46    C2 0800         retn 0x8


F7继续往下跟

00428488    890E            mov dword ptr ds:,ecx               ; Setup2Go.0046C090
0042848A    57            push edi
0042848B    FF75 FC         push dword ptr ss:
0042848E    FF36            push dword ptr ds:
00428490    FF75 0C         push dword ptr ss:
00428493    FF75 08         push dword ptr ss:
00428496    E8 6AFEFFFF   call Setup2Go.00428305                   ; 算法CALL
0042849B    57            push edi
0042849C    53            push ebx                                 ; Setup2Go.0046ED60
0042849D    FF75 FC         push dword ptr ss:            ; 真码 堆栈 ss:=00964B88, (ASCII "12RS0Q20XT")
004284A0    E8 3B3A0300   call Setup2Go.0045BEE0


在 0042849D 处发现类似真码的字符串12RS0Q20XT
可以判断上面的CALL应该就是算法CALL
00428496    E8 6AFEFFFF   call Setup2Go.00428305                   ; 算法CALL
一样跳过算法不看,尝试用ChinaPYG当用户名,12RS0Q20XT当注册码进行注册
提示注册成功

总结:
拦截真码位置
0042849D    FF75 FC         push dword ptr ss:            ; 真码 堆栈 ss:=00964B88, (ASCII "12RS0Q20XT")
User:ChinaPYG
Key:12RS0Q20XT

yunfeng 发表于 2015-12-21 20:46:42

算法不看,永远都不会进步

找个人来爱 发表于 2015-12-22 08:22:20

算法不看,永远都不会进步

guoguo115 发表于 2015-12-22 14:50:01

算法很迷茫,我是小白

Haraldek 发表于 2015-12-23 22:06:55

好东西,感谢分享!!

Haraldek 发表于 2015-12-23 22:07:42

好东西,感谢分享!!
页: [1]
查看完整版本: Setup2Go v1.9.11 追码分析