【软件限制】:NAG、功能限制。
【作者声明】:初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
—————————————————————————————
【过 程】:
ExtractRes.exe是VC++6.0编写。无壳。反汇编方便了。^-^
程序要求重启验证注册码。程序把试炼码写入了注册表,启动时进行比较。
TRW调试时当然可下断点:BPX Regqueryvalueexa do"dd*(esp+8)"
只是装入后必须按很多下F5键,烦人。
在反汇编代码里查找“RegCode”,一般会有2处,那么其中的1处就是核心了。省我按几十次F5键了。呵呵
OK,查到了。直接BPX 40F220,重启时拦下!
其算法与 搜索引擎工厂(Search Engine Builder)V1.595 几乎一模一样。呵呵,不怪是一家的。
Let's Go!
--------------------------------------------------------
* Possible StringData Ref from Data Obj ->"RegCode"
|
:0040F220 6820074800 push 00480720
====>中断在这!
:0040F225 8D442418 lea eax, dword ptr [esp+18]
* Possible StringData Ref from Data Obj ->"RegInfo"
|
:0040F229 6828074800 push 00480728
:0040F22E 50 push eax
:0040F22F 8BCE mov ecx, esi
:0040F231 E89BC00400 call 0045B2D1
:0040F236 50 push eax
:0040F237 8D4C2420 lea ecx, dword ptr [esp+20]
:0040F23B C68424D00100000A mov byte ptr [esp+000001D0], 0A
:0040F243 E8DD3A0300 call 00442D25
:0040F248 8D4C2410 lea ecx, dword ptr [esp+10]
:0040F24C 889C24CC010000 mov byte ptr [esp+000001CC], bl
:0040F253 E894390300 call 00442BEC
:0040F258 51 push ecx
:0040F259 8D542420 lea edx, dword ptr [esp+20]
:0040F25D 8BCC mov ecx, esp
:0040F25F 89642418 mov dword ptr [esp+18], esp
:0040F263 52 push edx
:0040F264 E8F8360300 call 00442961
:0040F269 51 push ecx
:0040F26A C68424D40100000B mov byte ptr [esp+000001D4], 0B
:0040F272 8BCC mov ecx, esp
:0040F274 89642418 mov dword ptr [esp+18], esp
:0040F278 57 push edi
:0040F279 E8E3360300 call 00442961
:0040F27E 8BCE mov ecx, esi
:0040F280 889C24D4010000 mov byte ptr [esp+000001D4], bl
:0040F287 E854090000 call 0040FBE0
====>核心CALL!!!
:0040F28C 8986D0000000 mov dword ptr [esi+000000D0], eax
:0040F292 6804544800 push 00485404
* Possible StringData Ref from Data Obj ->"SearchID2"
|
:0040F297 6808074800 push 00480708
:0040F29C 8D44241C lea eax, dword ptr [esp+1C]
* Possible StringData Ref from Data Obj ->"Settings"
--------------------------------------------------------
F8进入关键CALL。40F287 call 0040FBE0
* Referenced by a CALL at Addresses:
|:0040F192 , :0040F209 , :0040F287 , :0040F2FE
|
:0040FBE0 6AFF push FFFFFFFF
:0040FBE2 68603F4600 push 00463F60
:0040FBE7 64A100000000 mov eax, dword ptr fs:[00000000]
:0040FBED 50 push eax
:0040FBEE 64892500000000 mov dword ptr fs:[00000000], esp
:0040FBF5 81ECD0000000 sub esp, 000000D0
:0040FBFB 56 push esi
:0040FBFC 8BF1 mov esi, ecx
:0040FBFE B801000000 mov eax, 00000001
:0040FC03 6804544800 push 00485404
:0040FC08 898424E0000000 mov dword ptr [esp+000000E0], eax
:0040FC0F 8986C4000000 mov dword ptr [esi+000000C4], eax
:0040FC15 8B8424E8000000 mov eax, dword ptr [esp+000000E8]
:0040FC1C 50 push eax
:0040FC1D E8C8DA0100 call 0042D6EA
====>测试用户名是否为空
:0040FC22 83C408 add esp, 00000008
:0040FC25 85C0 test eax, eax
:0040FC27 0F84A9010000 je 0040FDD6
====>不能跳!
:0040FC2D 8B8C24E8000000 mov ecx, dword ptr [esp+000000E8]
:0040FC34 6804544800 push 00485404
:0040FC39 51 push ecx
:0040FC3A E8ABDA0100 call 0042D6EA
====>测试注册码是否为空
:0040FC3F 83C408 add esp, 00000008
:0040FC42 85C0 test eax, eax
:0040FC44 0F848C010000 je 0040FDD6
====>不能跳!