本篇破解並不完全,希望起到拋磚引玉的作用。
作者:kingtall
軟體名稱:picturetoexe v3.60 beta #2
URL ftp://ftp.download.com.cn/pub/new_multimedia/apr_beta.zip
工具:trw2000,superbpm,dede
未註冊時有三個限制。
每次執行程式,有nag,提示註冊;
選中圖片後,按preview按鈕,有對話方塊,說你沒註冊;
執行create做出的檔案,畫面上有提示註冊文字。
首先脫殼。因為用bo2k找不到入口點,所以手動跟蹤,找到入口為517648。
用trw pedump命令脫殼。脫殼後的檔案沒有修復登錄檔,不能執行,但可以反彙編。
用dede反彙編,不用管出錯資訊,一路按確定,最後dump successful。
選中procedure/tform1/button7click,右鍵選show additonal data,顯示caption='preview',這就是我們要找的。右鍵選disassemble,可見
00504F5C 803D81C3510000 cmp byte
ptr [$51C381], $00 <==註冊標誌,非0表示註冊。
00504F63 7516
jnz 00504F7B
00504F65 B940000000 mov
ecx, $00000040
00504F6A 8B1568C65100 mov
edx, [$51C668]
00504F70 A104C65100 mov
eax, dword ptr [$51C604]
|
00504F75 E842AAFBFF call
004BF9BC
00504F7A C3
ret
00504F7B E926000000 jmp
00504FA6 <==直接跳到ret,難道註冊後也不能preview?
00504F80 46
inc esi
00504F81 F1
DB $F1 //
00504F82 4F
dec edi
00504F83 8DF6
lea esi, esi
00504F85 E9565968B1 jmp
B1B8A8E0
00504F8A D5
aad
00504F8B 9C
pushf
00504F8C A2428B9357 mov
byte ptr [$57938B42], al
00504F91 F60C5C
DB $F6, $0C, $5C // byte ptr [esp+ebx*2]
00504F94 AC
lodsb
00504F95 16
push ss
00504F96 F6A375F515C5 mul
byte ptr [ebx+$C515F575], al
00504F9C 9B
wait
00504F9D B456
mov ah, $56
00504F9F 131B
adc ebx, [ebx]
00504FA1 5F
pop edi
00504FA2 2B4424AA sub
eax, dword ptr [esp-$56]
00504FA6 C3
ret
現在找一找程式對[51C381]進行修改的地方。
用trw 裝入 apr.exe,下bpm 51c381 ,g。trw第二次彈出時
0167:005043CA C60581C3510000 MOV BYTE [0051C381],00
<==改為1
0167:005043D1 E945000000 JMP 0050441B
只要在這裡把[0051C381]改為1,做出的幻燈片就不包含提示註冊資訊,按preview按鈕時沒有響應。
只有開始的nag無法去掉。