初學者心得--網路傳神2.02(build 0310) (6千字)
初學者心得--網路傳神2.02(build 0310)
作者:華仔
版權:China Cracking Group
時間:2001.04.07
這幾天網站有點不穩定,我還以為是我的FTP軟體有問題,一時興起把它給抓了下來,試用
後感覺還可以,就算不註冊也沒有任何限制,但視窗標題有一個“未註冊”字樣,作為一
個CRACKER來說簡直是一種恥辱,殺心頓起,搞定它。(注:白菜樂園有它的破解版本,在
這裡我們只是簡單的瞭解一下破解這類程式如何從多方面入手,如果你是老CRACKER請止步。
)
一、試執行:
進入註冊畫面
使用者名稱:華仔[CCG]
識別碼:855F3B3B3358CFC2A3B-7A5746F65067575673
註冊碼:1974923
單擊確定後,該軟體讓重新啟動後驗證註冊碼。
二、註冊分析:
1、在輸入使用者名稱獲取識別碼時出現一個好現象:
-7A5746F65067575673始終未曾改變(我猜可能是機器碼),而前面的數字(暫且叫它
使用者碼)855F3B3B3358CFC2A3B一直在改變(這說明真正的註冊碼不是唯一的)。
2、對於重新啟動後驗證註冊碼,這類軟體很多,它把這些註冊資訊寫入登錄檔或某個檔案
在啟動軟體時再讀出並校驗。這給我們設定斷點和查詢關鍵點提供了方法。經過觀察,
它是將註冊資訊寫入登錄檔中:
[HKEY_CURRENT_USER\Software\Kuaiftp]
"Path"="D:\\net_tool\\kuaiftp2000"
"VER"="202"
"BUILD"="0310"
"Name"="華仔[CCG]"
"SBM"="855F3B3B3358CFC2A3B-7A5746F65067575673"
"ZCM"="1974923"
另外軟體使用次數標記在這裡:
[HKEY_CURRENT_USER\Software\Microsoft\data63]
"DATA63"="9E2E2E2E2"(不是吧,我已使用了7777次?:))
3、這麼長的識別碼,註冊碼也一定很長,我倒有點想打退堂鼓了,但沒辦法,到這一步只有
“茅廁裡划船:奮(糞)勇前進”了。讓大家見笑了,本人數學一向不好,看到這麼多數
字,就犯頭痛,老毛病。還好,我記得不知是那位學士說過,不管是暴破也好、找註冊碼
也好,弄清演算法也好,都叫:CRACK,這樣心理才稍有點平衡感。但上面三種方法我這次
都用到了。
三、實戰:
1、用W32dsm89反彙編後找關鍵字“ZCM”(問:沒什麼要找這個,答:因為軟體啟動後要
讀取這個登錄檔鍵來判斷是否是真正的註冊碼),好運氣,我們找到兩個,一個是在注
冊視窗中輸入註冊資訊後,用來讀寫登錄檔的,而另一個就是我們要用到的下面這個。
2、用TRW2000載入,設斷bpx 00529E0D,g繼續執行,程式被攔下,下bc *清除斷點:
* Possible StringData Ref from Code Obj ->"ZCM"
|
:00529E0D BAD4A05200 mov edx,
0052A0D4
:00529E12 8B45F8
mov eax, dword ptr [ebp-08]
:00529E15 E8FE7CF7FF call
004A1B18
:00529E1A 8D45F4
lea eax, dword ptr [ebp-0C]
:00529E1D 8B55F0
mov edx, dword ptr [ebp-10]
:00529E20 E85BA0EDFF call
00403E80
:00529E25 8B55F4
mov edx, dword ptr [ebp-0C]
:00529E28 B8E0A05200 mov eax,
0052A0E0
:00529E2D E822A5EDFF call
00404354
:00529E32 8BD8
mov ebx, eax
:00529E34 8B45F4
mov eax, dword ptr [ebp-0C]
:00529E37 E82CA2EDFF call
00404068
:00529E3C 8BC8
mov ecx, eax
:00529E3E 2BCB
sub ecx, ebx
:00529E40 41
inc ecx
:00529E41 8D45F4
lea eax, dword ptr [ebp-0C]
:00529E44 8BD3
mov edx, ebx
:00529E46 E865A4EDFF call
004042B0
:00529E4B 8D45E8
lea eax, dword ptr [ebp-18]
:00529E4E 8B55F4
mov edx, dword ptr [ebp-0C]
:00529E51 E82AA0EDFF call
00403E80
:00529E56 8D45F4
lea eax, dword ptr [ebp-0C]
:00529E59 8B55F0
mov edx, dword ptr [ebp-10]
:00529E5C E81FA0EDFF call
00403E80
:00529E61 8D45F4
lea eax, dword ptr [ebp-0C]
:00529E64 8BCB
mov ecx, ebx
:00529E66 BA01000000 mov edx,
00000001
:00529E6B E840A4EDFF call
004042B0
:00529E70 8D45E4
lea eax, dword ptr [ebp-1C]
:00529E73 8B55F4
mov edx, dword ptr [ebp-0C]
:00529E76 E805A0EDFF call
00403E80
:00529E7B 8D55E0
lea edx, dword ptr [ebp-20]
:00529E7E 8B45E8
mov eax, dword ptr [ebp-18] ====>> 我們輸入的假
註冊碼
:00529E81 E8CAD4FDFF call
00507350 ====>> 在這裡幹了一
場革命,我不想
:00529E86 8B55E0
mov edx, dword ptr [ebp-20] 看下去,太讓
人心煩了。
:00529E89 8B45EC
mov eax, dword ptr [ebp-14] ====>> 我們的使用者名稱
:00529E8C E8E7A2EDFF call
00404178
:00529E91 751F
jne 00529EB2
====>> 使用者碼運算結
果不正確才跳,
:00529E93 8D45DC
lea eax, dword ptr [ebp-24] 暴破時改為NOP
經分析00507350處程式碼發現(又是迴圈,又是取位,又是取反....,搞得我頭都大了),註冊
碼
的第一部份和使用者碼相同(這麼簡單的問題???),好了,繼續執行到下面的程式碼。
:00529E96 E85DD1FDFF call
00506FF8 ====>> 未完成的革命
又在這裡繼續
:00529E9B 8B55DC
mov edx, dword ptr [ebp-24] ====>> EDX才是我們需
要的註冊碼第二
部分(透過機
器碼運算得到)
:00529E9E 8B45E4
mov eax, dword ptr [ebp-1C] ====>> 我們的機器碼
:00529EA1 E8D2A2EDFF call
00404178
:00529EA6 750A
jne 00529EB2 ====>> 機器碼運算結果不正確才要跳,
暴破時改為NOP
:00529EA8 8B45FC
mov eax, dword ptr [ebp-04]
:00529EAB C6804104000001 mov byte ptr [eax+00000441],
01 ====>> 看到這裡
了嗎,
執行到這
裡就成功了。
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00529E91(C), :00529EA6(C)
|
:00529EB2 33C0
xor eax, eax
:00529EB4 5A
pop edx
:00529EB5 59
pop ecx
:00529EB6 59
pop ecx
四、結果:
在識別碼中任意取一個使用者碼作為註冊碼的第一部份
中間有“-”
註冊碼第二部份在這裡取:“:00529E9B 8B55DC mov edx, dword ptr [ebp-24]”
使用者名稱:華仔[CCG]
識別碼:855F3B3B3358CFC2A3B-7A5746F65067575673
註冊碼:2B554141495EC5D8A9B-7A2C4712443505E212
使用者名稱:華仔[CCG]
識別碼:3A544040485DC4D7A8B-7A5746F65067575673
註冊碼:855F3B3B3358CFC2A3B-7A2C4712443505E212
識別碼:58524E3E365BC2D5A6B-7A5746F65067575673
註冊碼:3A544040485DC4D7A8B-7A2C4712443505E212
識別碼:2B554141495EC5D8A9B-7A5746F65067575673
註冊碼:3A544040485DC4D7A8B-7A2C4712443505E212
相關文章
- 初學者作品(6) (1千字)2000-05-04
- 初學者請進(一篇破解javagirl的心得) (2千字)2000-05-09Java
- 初學者(7) (4千字)2000-05-05
- 初學者(8) (4千字)2000-05-07
- 初學者(9) (3千字)2000-05-07
- 初學者(10) (8千字)2000-05-14
- 初學者(11) (2千字)2000-05-18
- 初學者(12) (1千字)2000-06-09
- 初學者(13) (2千字)2000-06-09
- 初學者(14) (5千字)2000-06-10
- 初學者(15) (3千字)2000-07-04
- 初學者(16) (2千字)2000-07-04
- 初學者(17) (1千字)2000-07-04
- 初學者(18) (2千字)2000-07-05
- 初學者(19) (4千字)2000-07-10
- 初學者(20) (3千字)2000-07-15
- 初學者(20) (1千字)2000-08-08
- 初學者(22) (7千字)2000-08-09
- 初學者(23) (7千字)2000-08-13
- 初學者(26) (9千字)2000-08-17
- 初學者(27) (1千字)2000-08-25
- 給初學者,因為我就是個初學者(1) (3千字)2000-05-03
- 給初學者,因為我就是個初學者(2) (1千字)2000-05-03
- 給初學者,因為我就是個初學者(4) (1千字)2000-05-03
- 初識神經網路----一2021-09-09神經網路
- 圖神經網路7日打卡心得2020-11-29神經網路
- 初學者請看! (2千字)2000-12-28
- Python初學者之網路爬蟲2016-11-26Python爬蟲
- 用NuMega SmartCheck 6.03獲取魔裝網神2.5的註冊碼(初學者請進)
(1千字)2001-02-24
- Oracle初學者問題6(轉)2007-08-06Oracle
- 深度學習初學者一定不能錯過,從零開始建立神經網路2018-07-28深度學習神經網路
- 我的破解心得(6) (3千字)2001-03-13
- Linux 初學者:如何在 Ubuntu 中重啟網路2019-05-01LinuxUbuntu
- 6 個例子讓初學者掌握 free 命令2018-01-13
- 一篇破解教程-----面向初學者 (15千字)2001-04-01
- 貼個教學,初學者請進! (11千字)2001-04-20
- 初識卷積神經網路第一講!2019-02-25卷積神經網路
- 【初學者必備】網路安全學習經驗彙總!2022-08-19