华表3.34专业版解密过程
华表软件不愧是中国人的自豪,功能较强但体积很小。已经有许多朋友对它进行过破解。近日天气酷热,待在家里没事,将它拿出来试用一下,是一个未注册版,先解密吧。
使用工具:w32dasm、hiew
破解难度:低
先是按照提示字符:注册码不正确,请仔细检查!找到44FD5,原来是由444F92跳过来的:
:00444F8A E8718A0900 call 004DDA00 有问题,进去看看!
:00444F8F 6685C0
test ax, ax 只要ax=0,就跳出注册失败提示。
:00444F92 7E3D
jle 00444FD1 跳到失败处。
如果你立即很简单地将jle改为nop,你会发现是不行的。
但只要不使ax=0即可使之不出现错误提示,关键在上面的call中,进入call 004DDA00看看:
:004DDA00 6AFF
push FFFFFFFF
:004DDA02 68A8625300 push 005362A8
:004DDA07 64A100000000 mov eax, dword
ptr fs:[00000000]
...以下一段略过...
:004DDA43 746E
je 004DDAB3 通向结束之路!
:004DDA45 8A0E
mov cl, byte ptr [esi]
:004DDA47 80F941
cmp cl, 41
:004DDA4A 0F8D9A000000 jnl 004DDAEA 通向成功之路!
:004DDA50 660FBE6C16FE movsx bp, byte
ptr [esi+edx-02]
:004DDA56 83ED30
sub ebp, 00000030
:004DDA59 C744242401000000 mov [esp+24], 00000001
:004DDA61 663BE8
cmp bp, ax
:004DDA64 7C4D
jl 004DDAB3 通向结束之路!
以下你会看到je 004DDAB3是一条既短又快的结束之路,注册失败!而jnl 004DDAEA则是一条又长又复杂的成功之路。选择谁,似乎是不言而喻的。但你会发现选择长征之路的成功希望极小,此时你才会想起毛泽东的伟大,他来的话,可能会成功。于是我别无选择了通向结束之路。
将:004DDA43 746E je 004DDAB3改为:004DDA43 EB6E jmp 004DDAB3:
:004DDAB3 8D4C2410 lea
ecx, dword ptr [esp+10]
:004DDAB7 C644245C00 mov [esp+5C],
00
:004DDABC E8D2D50200 call 0050B093
:004DDAC1 8D4C2414 lea
ecx, dword ptr [esp+14]
:004DDAC5 C744245CFFFFFFFF mov [esp+5C], FFFFFFFF
:004DDACD E8C1D50200 call 0050B093
:004DDAD2 6633C0
xor ax, ax 它是注册失败之源!
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004DDE0D(U)
|
:004DDAD5 8B4C2454 mov
ecx, dword ptr [esp+54]
:004DDAD9 5F
pop edi
:004DDADA 5E
pop esi
:004DDADB 5D
pop ebp
:004DDADC 5B
pop ebx
:004DDADD 64890D00000000 mov dword ptr fs:[00000000],
ecx
:004DDAE4 83C450
add esp, 00000050
:004DDAE7 C20400
ret 0004
第一反应是将:004DDAD2 6633C0 xor ax, ax 改为mov ax,01或or ax,1,但你会发现改过后字节比原来的长,导致程序出错。静下心来想一下,它为什么要xor
ax,ax呢,ax中的值在此之前肯定不为0,所以为了注册失败必须将它改为0,我要的正是ax为不0,于是只要将xor ax,ax改为nop即可,很简单!用hiew进行上述修改原程序后,程序不再出现讨厌的要你注册的提示了,已经是一个注册版了,到注册的地方随便填入什么,也没关系了,当然,不填也没关系。填上自己的大名,按“注册”,出现注册成功的提示,在“关于”中,你会满意地发现该软件合法使用人为你!
破解时间:30分钟。
不仅是解了这个软件,更重要的是一种新的思路。
- 标 题:华表3.34专业版解密过程及思考 (3千字)
- 作 者:ywc2000
- 时 间:2001-8-22 8:52:35
- 链 接:http://bbs.pediy.com