再次湊湊熱鬧:破解心得之ChinaZip 5.0(中華壓縮)篇 (8千字)
破解心得之ChinaZip 5.0(中華壓縮)篇
作者:時空幻影
時間:2001年4月6日
工具:W32DASM8.93黃金版中文版、TRW2000 1.22已註冊版、CASPR (一種脫殼工具)、FILEINFO 2.43a。
過程:
先用FILEINFO檢視ChinaZip.exe有沒有加殼,果然它是由ASPack v2.001加的殼,用CASPR脫掉它的殼,再用W32DASM反彙編,點工具欄上的“STING
REF(串式參考)”,查詢可疑的字串,果然看到字串“您的註冊碼不正確!”,雙擊它,再往上翻,看看有什麼跳轉指令,果然馬上找到了,如下所示:
:004DF699 8D4DF8
lea ecx, dword ptr [ebp-08] <--在TRW2000中用PMODULE後再按幾次F10就會到這
:004DF69C 8B55FC
mov edx, dword ptr [ebp-04]
:004DF69F 8BC3
mov eax, ebx
:004DF6A1 E87AFEFFFF call
004DF520 <--這裡按F8進入這裡,這裡面計算註冊碼
:004DF6A6 8D55F4
lea edx, dword ptr [ebp-0C]
:004DF6A9 A1A4AD4E00 mov eax,
dword ptr [004EADA4]
:004DF6AE 8B00
mov eax, dword ptr [eax]
:004DF6B0 8B80E4020000 mov eax, dword
ptr [eax+000002E4]
:004DF6B6 E8BD37F5FF call
00432E78
:004DF6BB 8B45F4
mov eax, dword ptr [ebp-0C]
:004DF6BE 8B55F8
mov edx, dword ptr [ebp-08]
:004DF6C1 E8324AF2FF call
004040F8 <--這裡面註冊碼進行比較
:004DF6C6 7568
jne 004DF730 <--跳轉的話就GAME
OVER了
:004DF6C8 A108AF4E00 mov eax,
dword ptr [004EAF08]
:004DF6CD 8B00
mov eax, dword ptr [eax]
:004DF6CF 8B8008040000 mov eax, dword
ptr [eax+00000408]
:004DF6D5 B201
mov dl, 01
:004DF6D7 E8F090FEFF call
004C87CC
:004DF6DC 8D55F0
lea edx, dword ptr [ebp-10]
:004DF6DF A1F8AF4E00 mov eax,
dword ptr [004EAFF8]
:004DF6E4 8B00
mov eax, dword ptr [eax]
:004DF6E6 E89515F7FF call
00450C80
:004DF6EB 8D45F0
lea eax, dword ptr [ebp-10]
* Possible StringData Ref from Code Obj ->" - 註冊使用者!"
|
:004DF6EE BA7CF74D00 mov edx,
004DF77C
:004DF6F3 E8F848F2FF call
00403FF0
:004DF6F8 8B55F0
mov edx, dword ptr [ebp-10]
:004DF6FB A108AF4E00 mov eax,
dword ptr [004EAF08]
:004DF700 8B00
mov eax, dword ptr [eax]
:004DF702 E8A137F5FF call
00432EA8
:004DF707 6A40
push 00000040
* Possible StringData Ref from Code Obj ->"註冊成功!"
|
:004DF709 B98CF74D00 mov ecx,
004DF78C
* Possible StringData Ref from Code Obj ->"謝謝您的寶貴支援."
|
:004DF70E BA98F74D00 mov edx,
004DF798
:004DF713 A1F8AF4E00 mov eax,
dword ptr [004EAFF8]
:004DF718 8B00
mov eax, dword ptr [eax]
:004DF71A E8951BF7FF call
004512B4
:004DF71F A1EC345100 mov eax,
dword ptr [005134EC]
:004DF724 C7803402000001000000 mov dword ptr [ebx+00000234],
00000001
:004DF72E EB0A
jmp 004DF73A
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004DF6C6(C)
|
* Possible StringData Ref from Code Obj ->"您的註冊碼不正確!"
|
:004DF730 B8B4F74D00 mov eax,
004DF7B4 <--雙擊字串“您的註冊碼不正確!”來到這,然後往上看
:004DF735 E81288F7FF call
00457F4C
在那個CALL 004DF520按F8進入後就看到以下指令:
* Referenced by a CALL at Address:
|:004DF6A1
|
:004DF520 55
push ebp
:004DF521 8BEC
mov ebp, esp
:004DF523 6A00
push 00000000
:004DF525 6A00
push 00000000
:004DF527 6A00
push 00000000
:004DF529 6A00
push 00000000
:004DF52B 6A00
push 00000000
:004DF52D 6A00
push 00000000
:004DF52F 6A00
push 00000000
:004DF531 53
push ebx
:004DF532 56
push esi
:004DF533 57
push edi
:004DF534 894DF8
mov dword ptr [ebp-08], ecx
:004DF537 8955FC
mov dword ptr [ebp-04], edx
:004DF53A 8B45FC
mov eax, dword ptr [ebp-04]
:004DF53D E85A4CF2FF call
0040419C
:004DF542 33C0
xor eax, eax
:004DF544 55
push ebp
:004DF545 6808F64D00 push
004DF608
:004DF54A 64FF30
push dword ptr fs:[eax]
:004DF54D 648920
mov dword ptr fs:[eax], esp
:004DF550 33F6
xor esi, esi
:004DF552 8D45F4
lea eax, dword ptr [ebp-0C]
:004DF555 8B55FC
mov edx, dword ptr [ebp-04]
:004DF558 E8A348F2FF call
00403E00
:004DF55D 8B45F4
mov eax, dword ptr [ebp-0C]
:004DF560 E8834AF2FF call
00403FE8 <--這裡計算使用者名稱的長度
:004DF565 8BF8
mov edi, eax
:004DF567 85FF
test edi, edi
<--判斷使用者名稱長度是否為0
:004DF569 7E57
jle 004DF5C2
:004DF56B BB01000000 mov ebx,
00000001
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004DF5C0(C)
|
:004DF570 8B45F4
mov eax, dword ptr [ebp-0C]
:004DF573 8A4418FF
mov al, byte ptr [eax+ebx-01] <--[EAX]為使用者名稱的記憶體表示
:004DF577 E858FFFFFF call
004DF4D4 <--判斷AL裡的數是否為素數
:004DF57C 84C0
test al, al
<--為素數的話AL為1,否則為0
:004DF57E 7425
je 004DF5A5
:004DF580 8D45E8
lea eax, dword ptr [ebp-18] <--以下為計算註冊碼字元部分
:004DF583 8B55F4
mov edx, dword ptr [ebp-0C]
:004DF586 8A541AFF
mov dl, byte ptr [edx+ebx-01]
:004DF58A E88149F2FF call
00403F10
:004DF58F 8B45E8
mov eax, dword ptr [ebp-18]
:004DF592 8D55EC
lea edx, dword ptr [ebp-14]
:004DF595 E81294F2FF call
004089AC <--小寫轉換成大寫
:004DF59A 8B55EC
mov edx, dword ptr [ebp-14]
:004DF59D 8D45F0
lea eax, dword ptr [ebp-10]
:004DF5A0 E84B4AF2FF call
00403FF0 <--合併字元
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004DF57E(C)
|
:004DF5A5 83FB01
cmp ebx, 00000001 <--以下為計算註冊碼數字部分
:004DF5A8 740A
je 004DF5B4
:004DF5AA 8B45F4
mov eax, dword ptr [ebp-0C]
:004DF5AD 0FB64418FE movzx
eax, byte ptr [eax+ebx-02]
:004DF5B2 EB06
jmp 004DF5BA
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004DF5A8(C)
|
:004DF5B4 8B45F4
mov eax, dword ptr [ebp-0C]
:004DF5B7 0FB600
movzx eax, byte ptr [eax]
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004DF5B2(U)
|
:004DF5BA 8D748612
lea esi, dword ptr [esi+4*eax+12]
:004DF5BE 43
inc ebx
:004DF5BF 4F
dec edi
:004DF5C0 75AE
jne 004DF570
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004DF569(C)
|
:004DF5C2 8D55E4
lea edx, dword ptr [ebp-1C]
:004DF5C5 8BC6
mov eax, esi <--ESI為註冊碼數字部分的十六進位制
:004DF5C7 E8A497F2FF call
00408D70 <--十六進位制轉換成十進位制的字串
:004DF5CC 8B4DE4
mov ecx, dword ptr [ebp-1C]
:004DF5CF 8D45F4
lea eax, dword ptr [ebp-0C]
:004DF5D2 8B55F0
mov edx, dword ptr [ebp-10]
:004DF5D5 E85A4AF2FF call
00404034 <--把註冊碼的字元部分與數字部分合並
:004DF5DA 8B45F8
mov eax, dword ptr [ebp-08]
:004DF5DD 8B55F4
mov edx, dword ptr [ebp-0C]
:004DF5E0 E8D747F2FF call
00403DBC
:004DF5E5 33C0
xor eax, eax
:004DF5E7 5A
pop edx
:004DF5E8 59
pop ecx
:004DF5E9 59
pop ecx
:004DF5EA 648910
mov dword ptr fs:[eax], edx
:004DF5ED 680FF64D00 push
004DF60F
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004DF60D(U)
|
:004DF5F2 8D45E4
lea eax, dword ptr [ebp-1C]
:004DF5F5 BA05000000 mov edx,
00000005
:004DF5FA E88D47F2FF call
00403D8C
:004DF5FF 8D45FC
lea eax, dword ptr [ebp-04]
:004DF602 E86147F2FF call
00403D68
:004DF607 C3
ret
這是我第一次寫破解心得,錯誤遺漏再所難免,希望大家指正。
由於我沒時間寫序號產生器了,哪位程式設計愛好者寫一下吧!!呵呵!!!
相關文章
- 湊個熱鬧-LayoutInflater相關分析2019-02-26
- 中華壓縮V7.0破解手記 (4千字)2001-11-20
- 簡單工廠,工廠方法和抽象工廠模式(我也湊湊熱鬧)2002-12-20抽象模式
- 破解心得之WinImage篇 (15千字)2001-07-01
- 破解心得之eXeScope篇 (9千字)2001-07-01
- 我也發個帖子,湊湊熱鬧:WINDOWS優化大師 v3.53“暗門”的解決過程
(7千字)2001-04-10Windows優化
- 流水千萬的小遊戲?個人開發者湊不上這個熱鬧2019-05-09遊戲
- 破解心得之CDRWin 4.0A BETA篇 (18千字)2001-04-24
- 歐萊雅也去CES湊熱鬧:釋出智慧皮膚貼片2016-01-07
- CES無人機盤點:大疆依舊風騷 騰訊也來湊熱鬧2016-01-08無人機
- 《中華壓縮 6.01》註冊碼破解及序號產生器 (14千字)2001-08-19
- 破解心得之eXeScope篇2015-11-15
- 我的破解心得(8) (2千字)2001-03-13
- 快速破解雜湊密文findmyhash2016-12-05
- 破解心得之3DMark2001篇 (10千字)2001-04-183D
- redis之雜湊2018-03-23Redis
- 破解華琦庫管精靈1.2.4 (8千字)2000-09-11
- Authorware 5.0破解 (4千字)2001-09-10
- 「LeetCode Top100」之雜湊篇2024-08-04LeetCode
- 破解心得之CHMMaker(耶圃歟┢ (11千字)2002-01-27HMM
- 破解:ChinaZip V7.0 (價值29元!) (2千字)2001-08-20
- 雜湊遊戲之雜湊盒子的趨勢未來可期2022-05-19遊戲
- 破解心得之Windows優化大師篇2015-11-15Windows優化
- PHP核心探索之PHP中的雜湊表2016-07-08PHP
- wintools5.0破解 (1千字)2000-03-02
- Android大圖壓縮心得2017-10-12Android
- js 雜湊雜湊值的模組2020-12-21JS
- 雜湊表(雜湊表)詳解2018-02-28
- 雜湊2024-08-30
- 破解足彩大師5.0
(1千字)2015-11-15
- 初學者請進(一篇破解javagirl的心得) (2千字)2000-05-09Java
- 雜湊表(雜湊表)原理詳解2019-03-14
- 【尋跡#3】 雜湊與雜湊表2024-09-01
- 使用pwdump 匯出本地windows SAM雜湊並破解2018-12-22Windows
- Alink漫談(九) :特徵工程 之 特徵雜湊/標準化縮放2020-07-04特徵工程
- 我的破解心得(1) (3千字)2001-03-13
- 我的破解心得(5) (16千字)2001-03-13
- 我的破解心得(6) (3千字)2001-03-13