文件加密工具fedt2.40(7月22日修改后)破解过程 (4千字)
文件加密工具fedt2.40(7月22日修改后)破解过程!URL http://www.soft999.com/download1/fedtw240_b0722.exe
又是很久没有写破解过程了,一,是因为家里有事,二,是没有什么值得写的。
最近才闲了下了,应朋友要求,赶快写个过程!
这个共享软件很是有趣,他的注册方式很是特别,如果你输入的注册码不对的话,注册的按钮是不会亮的,也就仍然是灰的。它属于输入注册码就即时比较的那种,所以才记录下我的破解过程,供大家参考!
这个软件有壳,但是不难脱。这里我就不详细介绍了,关键还是在如何追出注册码。
运行这个软件,找到注册的地方,首先生成ID,也就是机器码。然后来到注册处,先输入你的名字,我输入zzglf,然后运行trw2000,下断bpx hmemcpy。然后在注册码输入的地方输入一个字符,我输入f。程序马上trw中断了,回到了trw中。注意!现在不要清楚断点,也就是不要bd*或bc*,后面还要用到。按一下F5,程序再次被断,这时用trw的命令pmodule,回到程序的领空,接着按F10来到这里:
:004131BB 8D45FC lea eax, dword ptr [ebp-04] **停在这儿
:004131BE E819F6FEFF call 004027DC **F10代过
:004131C3 83F804 cmp eax, 00000004 **EAX中是名字的长度
:004131C6 0F8CE7000000 jl 004132B3 **一定要大于4
再按F5,程序又会被中断下来,命令:pmodule来到程序的领空:
按几下F10来到:
:004131E7 8D45F8 lea eax, dword ptr [ebp-08] **停在这儿
:004131EA E8EDF5FEFF call 004027DC **F10代过
:004131EF 83F808 cmp eax, 00000008 **EAX中是你输入的字符的长度。
:004131F2 0F94C2 sete dl
:004131F5 83E201 and edx, 00000001
:004131F8 52 push edx
:004131F9 FF4DE4 dec [ebp-1C]
好了,bc*清除断点。然后下bpx 4131EF,按F5回到程序中。继续输入字符吧,你没有输入字符的时候都会被中断下来,你要再按F5回到程序中继续输入注册码!你也要注意EAX里面的变化哦!等到EAX=8时就不要再按F5了。这时就要分析程序了,一直按F10来到:
:00413247 5A pop edx **D EDX看到你的名字。
:00413248 E857AFFFFF call 0040E1A4
:0041324D 8D4DEC lea ecx, dword ptr [ebp-14]
:00413250 51 push ecx
:00413251 8D45F4 lea eax, dword ptr [ebp-0C]
:00413254 E833F5FEFF call 0040278C
:00413259 8BD0 mov edx, eax
:0041325B FF45E4 inc [ebp-1C]
:0041325E 8B4DC4 mov ecx, dword ptr [ebp-3C]
:00413261 8B81EC020000 mov eax, dword ptr [ecx+000002EC]
:00413267 E8648D0300 call 0044BFD0
:0041326C 8D45F4 lea eax, dword ptr [ebp-0C]
:0041326F 5A pop edx **D EDX看到你的假的注册码
:00413270 E873770600 call 0047A9E8 **这个Call一定要进。
:00413275 84C0 test al, al
:00413277 0F95C1 setne cl
:0041327A 83E101 and ecx, 00000001
:0041327D 51 push ecx
:0041327E FF4DE4 dec [ebp-1C]
* Referenced by a CALL at Addresses:
|:0040E6A4 , :00412FE1 , :00413270 , :004133DC , :00415515
|
:0047A9E8 55 push ebp
:0047A9E9 8BEC mov ebp, esp
:0047A9EB 53 push ebx
:0047A9EC 8B00 mov eax, dword ptr [eax] **假
:0047A9EE 8B12 mov edx, dword ptr [edx] **真
:0047A9F0 E8AFF6FEFF call 0046A0A4 **进去就是比较了。
:0047A9F5 0F94C0 sete al
:0047A9F8 83E001 and eax, 00000001
:0047A9FB 5B pop ebx
:0047A9FC 5D pop ebp
:0047A9FD C3 ret
:0046A0A4 53 push ebx
:0046A0A5 56 push esi
:0046A0A6 57 push edi
:0046A0A7 89C6 mov esi, eax
:0046A0A9 89D7 mov edi, edx
:0046A0AB 39D0 cmp eax, edx **比较咯!
:0046A0AD 0F848F000000 je 0046A142 **注意,爆破不能改这儿!
:0046A0B3 85F6 test esi, esi
:0046A0B5 7468 je 0046A11F
:0046A0B7 85FF test edi, edi
:0046A0B9 746B je 0046A126
:0046A0BB 8B46FC mov eax, dword ptr [esi-04]
:0046A0BE 8B57FC mov edx, dword ptr [edi-04]
:0046A0C1 29D0 sub eax, edx
:0046A0C3 7702 ja 0046A0C7
:0046A0C5 01C2 add edx, eax
爆破修改就改开始的地方吧!
:00413277 0F95C1 setne cl
:0041327A 83E101 and ecx, 00000001
改为:
:00413277 XXXXXXX mov al,01
:004132XX 90 nop
:0041327A 83E101 and ecx, 00000001
ok!搞定!我记得有一个crackme也是这种的保护模式!大家可以试试!
小球[CCG]
2001-7-25
