;) 首先大家不要误会,现在这个东东还没真正破解,我请高手进来的目的是给出更完美的方案。我也是个初学者基本上什么都不懂!!:o 本来想独自完成,已经搞了很长时间了,现在看来是不行了。
*********************************************************************
【作者】 ltao,...,...
【软件名称】 公务员考试指南针 7.1
【下载地址】
http://www.onlinedown.net/soft/7284.htm
----------------------------------------------------------------------------------------------
【加密方式】 KeyFile
【破解工具】 OllyDbg v1.10b
【软件限制】 功能限制
【 壳 】 EXEStealth+asPack
----------------------------------------------------------------------------------------------
【破解过程】
1、刚拿到它,从作者留下的注册方式中可以知道它是KeyFile加密的。
2、FileMon中得知文件名为License.sss。(还有一个System.mdb的,不知道是怎么回事!)
3、OD载入,下断CreateFileA
4、F9运行
004DD417 E8 C498F2FF call <jmp.&KERNEL32.CreateFileA> '断在这里,这里跟进好像是取硬盘ID生成序列号的东西
004DD41C 8985 BCFDFFFF mov dword ptr ss:[ebp-244],eax
004DD422 83BD BCFDFFFF F>cmp dword ptr ss:[ebp-244],-1
004DD429 0F84 D3010000 je Compass.004DD602
004DD42F 33D2 xor edx,edx
004DD431 55 push ebp
004DD432 68 0DD54D00 push Compass.004DD50D
004DD437 64:FF32 push dword ptr fs:[edx]
004DD43A 64:8922 mov dword ptr fs:[edx],esp
004DD43D C785 C4FDFFFF 1>mov dword ptr ss:[ebp-23C],1C
004DD447 8D95 C8FDFFFF lea edx,dword ptr ss:[ebp-238]
004DD44D B9 08000000 mov ecx,8
004DD452 B8 1CD64D00 mov eax,Compass.004DD61C ; ASCII "SCSIDISK"
004DD457 E8 DC55F2FF call Compass.00402A38
004DD45C C785 D0FDFFFF 0>mov dword ptr ss:[ebp-230],2
004DD466 C785 DCFDFFFF 2>mov dword ptr ss:[ebp-224],220
004DD470 C785 D4FDFFFF 0>mov dword ptr ss:[ebp-22C],1B0501
004DD47A 8D9D C4FDFFFF lea ebx,dword ptr ss:[ebp-23C]
004DD480 83C3 1C add ebx,1C
004DD483 899D B4FDFFFF mov dword ptr ss:[ebp-24C],ebx
004DD489 8BC3 mov eax,ebx
004DD48B C700 00020000 mov dword ptr ds:[eax],200
5、F9
00409446 E8 95D8FFFF call <jmp.&KERNEL32.CreateFileA>//断在这里,这里是读KeyFile的
0040944B 5F pop edi
0040944C 5E pop esi
0040944D 5B pop ebx
0040944E C3 retn
0040944F 90 nop
00409450 53 push ebx
00409451 8BD8 mov ebx,eax
00409453 6A 00 push 0
00409455 68 80000000 push 80
0040945A 6A 02 push 2
0040945C 6A 00 push 0
0040945E 6A 00 push 0
00409460 68 000000C0 push C0000000
00409465 8BC3 mov eax,ebx
6、下断0041F94B,运行
0041F94B 43 inc ebx '这里
0041F94C 8A13 mov dl,byte ptr ds:[ebx]
0041F94E 84D2 test dl,dl
0041F950 74 0A je short Compass.0041F95C
0041F952 80EA 0A sub dl,0A '文件结尾是不是0A
0041F955 74 05 je short Compass.0041F95C
0041F957 80EA 03 sub dl,3 '文件结尾是不是0D
0041F95A ^ 75 EF jnz short Compass.0041F94B
0041F95C 8BCB mov ecx,ebx
0041F95E 2BC8 sub ecx,eax ; 计算license.sss中的字节数
0041F960 8D55 F8 lea edx,dword ptr ss:[ebp-8]
7、下断00533595
00533595 /74 13 je short Compass.005335AA'关键语句,修改Z让它跳板
00533597 |33C9 xor ecx,ecx
00533599 |B2 01 mov dl,1
0053359B |A1 EC7E4000 mov eax,dword ptr ds:[407EEC]
005335A0 |E8 1B98EDFF call Compass.0040CDC0
005335A5 |E8 4E08EDFF call Compass.00403DF8
005335AA \8BC3 mov eax,ebx
005335AC 48 dec eax
005335AD E8 A2F9ECFF call Compass.00402F54
005335B2 8BF0 mov esi,eax
005335B4 46 inc esi
005335B5 33C0 xor eax,eax
005335B7 5A pop edx
005335B8 59 pop ecx
005335B9 59 pop ecx
005335BA 64:8910 mov dword ptr fs:[eax],edx
005335BD EB 11 jmp short Compass.005335D0
005335BF ^ E9 8404EDFF jmp Compass.00403A48
005335C4 E8 AB08EDFF call Compass.00403E74
005335C9 EB 48 jmp short Compass.00533613
005335CB E8 A408EDFF call Compass.00403E74
005335D0 8B45 F8 mov eax,dword ptr ss:[ebp-8]
005335D3 33C9 xor ecx,ecx
005335D5 8A4C30 FF mov cl,byte ptr ds:[eax+esi-1]'这里出错了, shift+F9过
005335D9 8B45 F4 mov eax,dword ptr ss:[ebp-C]
005335DC 0FB64430 FF movzx eax,byte ptr ds:[eax+esi-1]
005335E1 8BF0 mov esi,eax
005335E3 2BCE sub ecx,esi
005335E5 8BC3 mov eax,ebx
程序启动了:
点击模拟考试=>成绩统计分析,哈,没有注册提示了!!
点击行政能力B卷,断在一个CreateFileA,不管它,F9断在
00533595 /74 13 je short Compass.005335AA
老办法,修改Z,使其跳转!再跳过几个异常!试题都出来了。
写的很简单很乱
等待有能力的人真正暴破它……
等待高人写出生成license.sss的注册机……
btw:成功的话,别忘了把过程贴在这里
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)