软件大小:大约495 KB
工具:W32DASM的V10版 Language2000
首先: 用Language2000监测popupkill.exe,发现没有加壳.(爽!这样的好软件可不多了) 然后打开w32dasm调进主程序,利用“串式查找”功能找到:" 软件注册号错误! "
反复双击,发现只有一处调用!代码如下:
:00473D6A 8945F8 mov dword ptr [ebp-08], eax
:00473D6D 8955FC mov dword ptr [ebp-04], edx
:00473D70 8D45E4 lea eax, dword ptr [ebp-1C]
:00473D73 E84CE5FFFF call 004722C4
:00473D78 8B4DE4 mov ecx, dword ptr [ebp-1C]
:00473D7B 8BC1 mov eax, ecx
:00473D7D 99 cdq
:00473D7E 3B55FC cmp edx, dword ptr [ebp-04]
:00473D81 7544 jne 00473DC7 ---------跳了就game over
:00473D83 3B45F8 cmp eax, dword ptr [ebp-08]
:00473D86 753F jne 00473DC7 ---------跳了就game over
:00473D88 8B839C030000 mov eax, dword ptr [ebx+0000039C]
:00473D8E E835DBFFFF call 004718C8
:00473D93 33D2 xor edx, edx
:00473D95 8B8360030000 mov eax, dword ptr [ebx+00000360]
:00473D9B 8B08 mov ecx, dword ptr [eax]
:00473D9D FF5164 call [ecx+64]
* Possible StringData Ref from Code Obj ->"已注册登记版本"
|
:00473DA0 BA583E4700 mov edx, 00473E58
:00473DA5 8B8398030000 mov eax, dword ptr [ebx+00000398]
:00473DAB E8545BFCFF call 00439904
:00473DB0 6A00 push 00000000
:00473DB2 668B0D683E4700 mov cx, word ptr [00473E68]
:00473DB9 B202 mov dl, 02
* Possible StringData Ref from Code Obj ->"软件登记注册成功"
|
:00473DBB B8743E4700 mov eax, 00473E74
:00473DC0 E8EBEEFBFF call 00432CB0
:00473DC5 EB15 jmp 00473DDC
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00473D81(C), :00473D86(C) ----------- 由这两个地方跳过来
|
:00473DC7 6A00 push 00000000
:00473DC9 668B0D683E4700 mov cx, word ptr [00473E68]
:00473DD0 B201 mov dl, 01
* Possible StringData Ref from Code Obj ->"软件注册号错误" ------往上看
|
:00473DD2 B8903E4700 mov eax, 00473E90
:00473DD7 E8D4EEFBFF call 00432CB0
现在开始破解,把上面两处 jne 00473DC7 的 jne 改为 je 就好了 ,就是把75都改为74
这样修改的意义是: 原来是注册码错误时,就跳到注册失败
现在是注册码正确时,就跳到注册失败(也就是说注册码错误时,就注册成功)
新手作品,请多指教!