wzwgp 发表于 2006-2-6 10:01:55

我的第三篇破文(一知半解)

【破文标题】我的第三篇破文(一知半解)
【破文作者】wzwgp
【作者邮箱】[email protected]
【破解工具】Ollydbg PEiD W32dsm
【破解平台】WinXP
【软件名称】SuperCleaner 2.89
【软件大小】409KB
【原版下载】http://www.onlinedown.net/soft/6433.htm
【开 发 商】http://www.southbaypc.com/
【保护方式】用户名+序列号(30天试用期)
【加入时间】2006-2-5 10:40:39
【下载次数】6555
【软件语言】英文
【软件类别】国外软件/免费版(华军上面是这么说的)/卸载工具
【运行环境】Win9x/Me/NT/2000/XP
软件详细信息
是帮助用户清洗他们的计算机硬盘内不必要的文件的程序。它能扫描你的系统让你选择不再需要的文件进行删除。并能备份文件已避免你误删除有用的文件,此备份功能将不必要的文件扔进再循环箱,这样可以让你再必要的时候恢复信息。

【破解过程】

用PEiD查壳,无壳。Microsoft Visual C++ 7.0

用W32dsm的串式参考未找到注册成功信息,再OD载入,查找 所有参考文本字串,也未找到注册成功信息(可能是我水平低)。

输入用户名:wzwgp 序列号:12345678
下断bp MessageBoxA 断下后,未跟出名堂(可能是我水平低)。
重新下断 bp GetDlgItemTextA来到:

77D6AC06 >8BFF            MOV EDI,EDI(f2取消断点)          ; USER32.GetDlgItemTextA
77D6AC08    55            PUSH EBP
77D6AC09    8BEC            MOV EBP,ESP
77D6AC0B    FF75 0C         PUSH DWORD PTR SS:
77D6AC0E    FF75 08         PUSH DWORD PTR SS:
77D6AC11    E8 8EA6FBFF   CALL USER32.GetDlgItem
77D6AC16    85C0            TEST EAX,EAX
77D6AC18    74 0E         JE SHORT USER32.77D6AC28
77D6AC1A    FF75 14         PUSH DWORD PTR SS:
77D6AC1D    FF75 10         PUSH DWORD PTR SS:
77D6AC20    50            PUSH EAX
77D6AC21    E8 084CFDFF   CALL USER32.GetWindowTextA
77D6AC26    EB 0E         JMP SHORT USER32.77D6AC36
77D6AC28    837D 14 00      CMP DWORD PTR SS:,0
77D6AC2C    74 06         JE SHORT USER32.77D6AC34
77D6AC2E    8B45 10         MOV EAX,DWORD PTR SS:
77D6AC31    C600 00         MOV BYTE PTR DS:,0
77D6AC34    33C0            XOR EAX,EAX
77D6AC36    5D            POP EBP
77D6AC37    C2 1000         RET 10  (f4、f7来到下面)

0042353D   .68 00010000   PUSH 100                                 ; /Count = 100 (256.)
00423542   .8D5424 0C   LEA EDX,DWORD PTR SS:             ; |
00423546   .52            PUSH EDX                                 ; |Buffer
00423547   .68 F3030000   PUSH 3F3                                 ; |ControlID = 3F3 (1011.)
0042354C   .56            PUSH ESI                                 ; |hWnd
0042354D   .FFD7          CALL EDI                                 ; \GetDlgItemTextA
0042354F   .E8 FCDAFFFF   CALL SuperCle.00421050
00423554   .85C0          TEST EAX,EAX
00423556   .75 78         JNZ SHORT SuperCle.004235D0
00423558   .8D4424 08   LEA EAX,DWORD PTR SS:
0042355C   .50            PUSH EAX                                 ; /Arg2
0042355D   .8D8C24 0C0100>LEA ECX,DWORD PTR SS:         ; |
00423564   .51            PUSH ECX                                 ; |Arg1
00423565   .E8 A6FDFFFF   CALL SuperCle.00423310                   ; \SuperCle.00423310

关键CALLf7 跟进 来到

00423310/$55            PUSH EBP
00423311|.8BEC          MOV EBP,ESP
00423313|.83E4 F8       AND ESP,FFFFFFF8
00423316|.81EC 04010000 SUB ESP,104
0042331C|.53            PUSH EBX
0042331D|.8B5D 08       MOV EBX,DWORD PTR SS:
00423320|.56            PUSH ESI
00423321|.57            PUSH EDI
00423322|.53            PUSH EBX                                 ; /Arg1
00423323|.E8 E8EDFFFF   CALL SuperCle.00422110                   ; \SuperCle.00422110
00423328|.83C4 04       ADD ESP,4
0042332B|.85C0          TEST EAX,EAX
0042332D|.74 09         JE SHORT SuperCle.00423338
0042332F|.33C0          XOR EAX,EAX
00423331|.5F            POP EDI
00423332|.5E            POP ESI
00423333|.5B            POP EBX
00423334|.8BE5          MOV ESP,EBP
00423336|.5D            POP EBP
00423337|.C3            RET
00423338|>33C0          XOR EAX,EAX
0042333A|.C64424 10 00MOV BYTE PTR SS:,0
0042333F|.B9 3F000000   MOV ECX,3F
00423344|.8D7C24 11   LEA EDI,DWORD PTR SS:
00423348|.F3:AB         REP STOSD
0042334A|.66:AB         STOSW
0042334C|.AA            STOSB
0042334D|.8D4424 10   LEA EAX,DWORD PTR SS:
00423351|.50            PUSH EAX
00423352|.53            PUSH EBX
00423353|.33F6          XOR ESI,ESI
00423355|.E8 26E9FFFF   CALL SuperCle.00421C80
0042335A|.8B55 0C       MOV EDX,DWORD PTR SS:

走到此处:

寄存器窗口显示
EAX 0012E448 ASCII "765-29900-635-8050"
ECX 7C839001 kernel32.7C839001
EDX 00000005
EBX 0012E660 ASCII "wzwgp"
ESP 0012E430
EBP 0012E548
ESI 00000000
EDI 0012E548
EIP 0042335A SuperCle.0042335A
堆栈窗口显示
0012E430   0012E660ASCII "wzwgp"
0012E434   0012E448ASCII "765-29900-635-8050"
0012E438   77D6AC06USER32.GetDlgItemTextA

用户名:wzwgp
注册码:765-29900-635-8050

总结:不会分析算法,只能凭运气找注册码,有点小进步是对关键call有些一知半解,跟进后别有洞天。
该软件注册成功后的注册信息写入注册表(瑞星没有监测到,没试过专门的注册表工具),删除该软件后注册信息删不掉(要手工删),重新安装不用再输用户名、注册码。    

cxx17 发表于 2006-3-18 21:38:23

XUEXIXUEXI

野猫III 发表于 2006-3-19 19:47:53

祝贺的说。。。
页: [1]
查看完整版本: 我的第三篇破文(一知半解)