小小助手V2.01的破解過程-----算是我留給初學者的一偏破文 (7千字)
小小助手V2.01的破解過程
作者:任逍遙[BCG]、[FCG]
軟體名稱:小小助手V2.01
軟體大小: 594 KB
軟體語言: 簡體中文
軟體類別: 國產軟體 / 共享版 / 個人管理
應用平臺: Win95/98/NT/2000
軟體介紹:
本軟體具有定時提醒、通訊錄管理、日記管理三大功能,並設有密碼保護,初始密碼為:123。 1.定時提醒:可設定指定的日期、時間提醒您不要忘做某某事,如果該事沒有做,還可設定間隔多少分鐘重複提醒,並可選擇WAV、MIDI、以及MP3格式的檔案做為提醒時的音樂。因此,也可以把它作為定時點歌器。日期格式為:年-月-日
或 月-日,時間格式為:小時:分鐘:秒 或 小時:分鐘。要選擇MP3作為提醒音樂,必須安裝IE5.0及以上版本或媒體播放器。2.通訊錄管理:設有家庭電話、辦公電話、手機、E-mail、工作單位等多項內容,模糊查詢功能,只需輸入姓名、住址或電話前面的幾個字或號碼,即可查詢出相匹配的記錄。3.日記管理:可設定日記的背景顏色、字型格式,並可按日期進行查詢。4.密碼更改:按滑鼠右鍵,選擇密碼更改,即可進行密碼的更改。5.如果本軟體不能正常執行,請將midas.dll複製到windows\system目錄下。
下載地址:http://gd.skycn.net/down/little_assistant.zip
用FI檢測到該軟體加了殼,用Prodump將"little_assistant.exe"脫殼,另存為"dd.exe",執行"dd.exe",輸入:
使用者名稱:jack
註冊碼:7878
執行TRW2000,按CTRL+N啟用除錯視窗,輸入:
bpx hmemcpy
g
按"確定"後,除錯視窗被啟用,輸入:
bc *
pmodule
成功進入軟體領域,按F10跟蹤:
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004F2FD9(C)
|
:004F2FDB 00
BYTE 0
:004F2FDC 55
push ebp
:004F2FDD 8BEC
mov ebp, esp
:004F2FDF 33C9
xor ecx, ecx
:004F2FE1 51
push ecx
:004F2FE2 51
push ecx
:004F2FE3 51
push ecx
:004F2FE4 51
push ecx
:004F2FE5 51
push ecx
:004F2FE6 51
push ecx
:004F2FE7 51
push ecx
:004F2FE8 53
push ebx
:004F2FE9 56
push esi
:004F2FEA 57
push edi
:004F2FEB 8945FC
mov dword ptr [ebp-04], eax
:004F2FEE 33C0
xor eax, eax
:004F2FF0 55
push ebp
:004F2FF1 68B9314F00 push 004F31B9
:004F2FF6 64FF30
push dword ptr fs:[eax]
:004F2FF9 648920
mov dword ptr fs:[eax], esp
:004F2FFC 8D45F4
lea eax, dword ptr [ebp-0C]
:004F2FFF E8340DF1FF call 00403D38
:004F3004 8D55F0
lea edx, dword ptr [ebp-10]
:004F3007 8B45FC
mov eax, dword ptr [ebp-04]
:004F300A 8B8004050000 mov eax, dword
ptr [eax+00000504]
:004F3010 E8A7F7F3FF call 004327BC
:004F3015 837DF000 cmp
dword ptr [ebp-10], 00000000
//使用者名稱不能為空
:004F3019 0F8458010000 je 004F3177
//等於0就跳走
:004F301F 8D55F8
lea edx, dword ptr [ebp-08]
:004F3022 8B45FC
mov eax, dword ptr [ebp-04]
:004F3025 8B8004050000 mov eax, dword
ptr [eax+00000504]
:004F302B E88CF7F3FF call 004327BC
:004F3030 8B45F8
mov eax, dword ptr [ebp-08]
//讀取使用者名稱長度
:004F3033 E8800FF1FF call 00403FB8
:004F3038 8BF0
mov esi, eax
:004F303A 85F6
test esi, esi
//檢查長度是否為0
:004F303C 7E2A
jle 004F3068
//小於或等於0就跳走
*******************************開始計算註冊碼***************************
:004F303E BF01000000 mov edi,
00000001
//賦值edi=1
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004F3066(C)
|
:004F3043 8B45F8
mov eax, dword ptr [ebp-08]
//讀取使用者名稱長度
:004F3046 33DB
xor ebx, ebx
//清0
:004F3048 8A5C38FF mov
bl, byte ptr [eax+edi-01]
//讀取第一個字元的10進位制ASCII碼,並將結果賦值給ebx
:004F304C 83C37B
add ebx, 0000007B
//將ebx+123
:004F304F 8D55EC
lea edx, dword ptr [ebp-14]
:004F3052 8BC3
mov eax, ebx
//將ebx賦值給eax
:004F3054 E88364F1FF call 004094DC
:004F3059 8B55EC
mov edx, dword ptr [ebp-14]
:004F305C 8D45F4
lea eax, dword ptr [ebp-0C]
:004F305F E85C0FF1FF call 00403FC0
//這個CALL是對使用者名稱中的中文名進行處理,具體就是:如果ASCII碼+123< 0,就將edi-1
//(重新讀取該字元的ASCII碼,且第一次讀取的是高位ASCII碼,第二次的是低位ASCII碼)
//實現程式碼是:HighAscii=Int((65536 + bl) / 256)
//LowAscii=(65536 + bl) Mod 256
:004F3064 47
inc edi
//edi+1
:004F3065 4E
dec esi
//esi-1
:004F3066 75DB
jne 004F3043
//迴圈讀取ASCII碼
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004F303C(C)
|
:004F3068 8B45F4
mov eax, dword ptr [ebp-0C]
:004F306B E8480FF1FF call 00403FB8
:004F3070 83F80A
cmp eax, 0000000A
//比較eax的長度是否為10
:004F3073 7E26
jle 004F309B
//小於或等於10則跳走,直接與輸入的註冊碼比較;如果大於就進入下面的註冊碼處理程式
*************************讀取eax前10位數字******************************
:004F3075 8D45E8
lea eax, dword ptr [ebp-18]
:004F3078 50
push eax
:004F3079 B90A000000 mov ecx,
0000000A
:004F307E BA01000000 mov edx,
00000001
:004F3083 8B45F4
mov eax, dword ptr [ebp-0C]
:004F3086 E83511F1FF call 004041C0
:004F308B 8B55E8
mov edx, dword ptr [ebp-18]
:004F308E 8D45F4
lea eax, dword ptr [ebp-0C]
**************************將上面所得的10位數字&121**********************
* Possible StringData Ref from Code Obj ->"121"
|
:004F3091 B9D0314F00 mov ecx,
004F31D0
:004F3096 E8690FF1FF call 00404004
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004F3073(C)
|
:004F309B 8D55E4
lea edx, dword ptr [ebp-1C]
:004F309E 8B45FC
mov eax, dword ptr [ebp-04]
:004F30A1 8B8008050000 mov eax, dword
ptr [eax+00000508]
:004F30A7 E810F7F3FF call 004327BC
:004F30AC 8B55E4
mov edx, dword ptr [ebp-1C]
//錯誤的註冊碼
:004F30AF 8B45F4
mov eax, dword ptr [ebp-0C]
//正確的註冊碼
:004F30B2 E81110F1FF call 004040C8
//比較
:004F30B7 0F85AE000000 jne 004F316B
//不等就跳走
OK,終於獲得了正確的註冊碼:2292202222121。輸入,按"確定",呵呵,"您已經註冊,感謝使用無超工作室的產品"。
VB序號產生器(可以支援中文名)
Private Sub Command1_Click()
Dim a, i As Long
Dim b, c, d, e, f
a = Len(Text1.Text)
If a <= 0 Then GoTo Err1
Label3.Caption = ""
Command2.Enabled = True
For b = 1 To a
c = Mid$(Text1.Text, b, 1)
f = Asc(c)
If f < 0 Then
d = (Int((65536 + f) / 256) + 123) & (((65536 + f) Mod 256) + 123)
Else
d = f + 123
End If
e = e & d
Next b
i = Len(e)
If i <= 10 Then GoTo Err2
Text2.Text = Mid$(e, 1, 10) & "121"
Exit Sub
Err1:
Label3.Caption = "請輸入使用者名稱!"
Exit Sub
Err2:
Text2.Text = ""
Text2.Text = e
End Sub
Private Sub Command2_Click()
Clipboard.Clear
Clipboard.SetText (Text2.Text)
Command2.Enabled = False
End Sub
***********************************************************
相關文章
- Internet Maniac ver 1.2b 破解過程(適合初學者)
(7千字)2000-09-13
- 給初學者,因為我就是個初學者(1) (3千字)2000-05-03
- 給初學者,因為我就是個初學者(2) (1千字)2000-05-03
- 給初學者,因為我就是個初學者(4) (1千字)2000-05-03
- 獻給初學者(高手也看看) 破解 Cpukiller 2.0 (1千字)2000-09-17
- 初學者(7) (4千字)2000-05-05
- 初學者(22) (7千字)2000-08-09
- 初學者(23) (7千字)2000-08-13
- 演算法分析:
<獻給初學者> 之二 (7千字)2002-06-07演算法
- 寫給Git初學者的7個建議2013-10-31Git
- 破解badcat21---真正的初學者 (5千字)2001-05-19
- 兩種破解 花貓時間精靈 v1.0 功能限制的方法,本人獻給破解初學者的第一篇破文!高手請匆入內~~
(24千字)2001-10-26
- 給初學者,因為我就是個初學者(3) (569字)2000-05-03
- asmstudio5.0完全完美破解版的誕生過程(和初學者共同學習!) (1千字)2001-05-02ASM
- The Works 全攻略-破文第二篇(初學者適用) (3千字)2015-11-15
- 獻給初學者(高手也點評點評!!)KoolMoves V1.33的破解!!
(10千字)2000-09-16
- 手動脫掉Asprotect的殼,(給初學者的) (9千字)2002-01-24
- 獻給UNIX的初學者2012-03-08
- 處女作,希望給各位初學者一些幫助^_^ 魔法轉換2.0 beta 1 破解 (7千字)2001-08-07
- 初學者請進(一篇破解javagirl的心得) (2千字)2000-05-09Java
- 一篇破解教程-----面向初學者 (15千字)2001-04-01
- 我終於破解了魔裝網神了,破解過程!!,不過是用2.70破解的。 (1千字)2001-10-15
- 申請加入BCG第三篇破文:鬧鐘&笑話1.0破解過程 (2千字)2001-08-01
- 菜鳥破解實錄(五)之 EditPlus v2.01 (7千字)2000-08-01
- 給初學者的Web安全指南2018-12-05Web
- 給初學者的 type 命令教程2018-04-06
- 給初學者的 fc 示例教程2018-04-25
- Hardlock加密狗破解過程-----外殼型加密狗的破解方法 (7千字)2001-10-15加密
- 我的第2篇破文 高手莫入!! (3千字)2001-11-11
- webeasymail的簡單破解過程 (2千字)2001-08-04WebAI
- 給初學者的DLL Side Loading的UAC繞過2020-08-19IDE
- 初學者的東西:Transoft's Server All 1.02破解
(3千字)2001-01-08Server
- 用DeDe破解------Ativa Pro v3.18 的破文 (8千字)2001-08-29
- 申請加入BCG破文第一篇:滑鼠增強工具MouseStar 2.1破解過程。請老大多多指教。 (7千字)2001-07-27
- 加入FCG的見面破文,初學者可以看 小球 peterchen 偽裝者等等不許看!! (4千字)2001-06-22
- 給初學者看的 shuf 命令教程2018-05-14
- 給初學者的 Android 加密工具2015-07-06Android加密
- 給安卓初學者的12篇教程2014-08-18安卓