初學者心得--網路傳神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
相關文章
- 圖神經網路7日打卡營-學習心得-202011292020-11-29神經網路
- 圖神經網路7日打卡心得2020-11-29神經網路
- 初識神經網路----一2021-09-09神經網路
- 深度學習初學者一定不能錯過,從零開始建立神經網路2018-07-28深度學習神經網路
- 圖神經網路七日打卡營學習筆記及心得2020-11-28神經網路筆記
- 人工神經網路初學:是什麼以及為什麼?2018-08-15神經網路
- 從傳統的神經元網路轉變到深度學習網路2020-07-28深度學習
- Linux 初學者:如何在 Ubuntu 中重啟網路2019-05-01LinuxUbuntu
- 【初學者必備】網路安全學習經驗彙總!2022-08-19
- [譯]網路效能入門:2019年初學者指南2018-12-29
- 初識卷積神經網路第一講!2019-02-25卷積神經網路
- 卷積網路雖動人,膠囊網路更傳“神”2018-07-13卷積
- 深度學習與CV教程(6) | 神經網路訓練技巧 (上)2022-06-01深度學習神經網路
- 深度學習與圖神經網路學習分享:訊息傳遞模式2022-10-07深度學習神經網路模式
- 深度學習與CV教程(4) | 神經網路與反向傳播2022-05-30深度學習神經網路反向傳播
- 【深度學習篇】--神經網路中的卷積神經網路2018-03-28深度學習神經網路卷積
- numpy實現神經網路-反向傳播2020-10-03神經網路反向傳播
- 神經網路學習參考2018-04-04神經網路
- 讀人工智慧全傳09神經網路2024-07-11人工智慧神經網路
- NLP教程(3) | 神經網路與反向傳播2022-05-03神經網路反向傳播
- NLP教程(3) - 神經網路與反向傳播2022-05-05神經網路反向傳播
- 卷積神經網路學習筆記——Siamese networks(孿生神經網路)2021-01-14卷積神經網路筆記
- 神經網路入門篇之深層神經網路:詳解前向傳播和反向傳播(Forward and backward propagation)2023-11-29神經網路反向傳播Forward
- [譯] 網站優化初學者指南2019-01-21網站優化
- 再聊神經網路與深度學習2019-04-08神經網路深度學習
- AI之(神經網路+深度學習)2018-05-31AI神經網路深度學習
- 【深度學習】神經網路入門2020-04-04深度學習神經網路
- 深度學習與圖神經網路2022-09-15深度學習神經網路
- 機器學習整理(神經網路)2022-04-10機器學習神經網路
- Tensorflow實現神經網路的前向傳播2020-06-22神經網路
- 神經網路:numpy實現神經網路框架2021-08-19神經網路框架
- Web前端學習路線分享,初學者不要錯過!2021-07-30Web前端
- 給初學者的以太坊路線圖指南2018-04-07
- 神經網路2018-11-30神經網路
- BACnet初學者教程,第三章:什麼是 BACnet/IP 網路2024-08-08
- 為初學者介紹的 Linux tee 命令(6 個例子)2018-03-12Linux
- 漸進學習前饋神經網路2019-04-01神經網路
- 【深度學習】1.4深層神經網路2020-09-27深度學習神經網路
- 深度學習三:卷積神經網路2020-10-02深度學習卷積神經網路