PC 安全虎[Beta 1]演算法分析 (6千字)
PC 安全虎[Beta 1]演算法分析
作者:PaulYoung ( 屬於 China Cracking Group )
簡介:不要再為朋友用自己電腦玩遊戲、看影碟、亂裝東西而煩惱不要再為孩子上有不健康內容的網站而擔心,不要再怕老弟偷用電話上網,PC安全虎全都輕鬆搞定!!
下載:http://shareware.onlinedown.net/download.asp?id={B2594856-886B-4224-A457-53C0976CB2B6}
工具:SoftICE v4.05
日期:2001-12-05
*************************************************************************************************
輸入使用者名稱、假註冊碼,用 SoftICE V4.05 設斷 bpx hmemcpy ,中斷後按8下F12,F10單步跟蹤,直到……
:00408AD6 E825D50000 call 00416000
//驗證註冊碼,F8跟入
:00408ADB 83C408
add esp, 00000008
:00408ADE 8945C8
mov dword ptr [ebp-38], eax
:00408AE1 837DC800 cmp
dword ptr [ebp-38], 00000000
:00408AE5 0F84AF000000 je 00408B9A
繼續按F10,直到……
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004161B6(U)
|
:0041615E 8B8574FFFFFF mov eax, dword
ptr [ebp+FFFFFF74]
:00416164 83C001
add eax, 00000001
:00416167 898574FFFFFF mov dword ptr
[ebp+FFFFFF74], eax
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0041615C(U)
|
:0041616D 8B4DF0
mov ecx, dword ptr [ebp-10]
:00416170 038D74FFFFFF add ecx, dword
ptr [ebp+FFFFFF74]
:00416176 0FBE11
movsx edx, byte ptr [ecx] //依次取使用者名稱字元的 ASCII 值,儲存到 edx
:00416179 85D2
test edx, edx //比較 edx 是否為0,即比較是否取完使用者名稱
:0041617B 743B
je 004161B8 //取完即跳
:0041617D 83BD74FFFFFF1E cmp dword ptr [ebp+FFFFFF74],
0000001E //取了多少個字元?
:00416184 7D32
jge 004161B8
//取夠30個則跳
:00416186 8B45F0
mov eax, dword ptr [ebp-10]
:00416189 038574FFFFFF add eax, dword
ptr [ebp+FFFFFF74]
:0041618F 0FBE00
movsx eax, byte ptr [eax] //依次取字元的 ASCII 送 eax
:00416192 8B8D74FFFFFF mov ecx, dword
ptr [ebp+FFFFFF74]
:00416198 03848D78FFFFFF add eax, dword ptr
[ebp+4*ecx-00000088] //eax=eax+[ebp+4*ecx-00000088]這個變數
:0041619F 99
cdq //edx 清零
:004161A0 B917000000 mov ecx,
00000017 //把 ecx 置值為0x17
:004161A5 F7F9
idiv ecx //eax/ecx ,商放在 eax ,餘數放在 edx
:004161A7 83C242
add edx, 00000042 //edx=餘數+0x42
:004161AA 8B8574FFFFFF mov eax, dword
ptr [ebp+FFFFFF74]
:004161B0 8890E07A4800 mov byte ptr
[eax+00487AE0], dl //把每次計算結果的ASCII值儲存
:004161B6 EBA6
jmp 0041615E //繼續取下一個字元
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0041617B(C), :00416184(C)
|
:004161B8 8B8D74FFFFFF mov ecx, dword
ptr [ebp+FFFFFF74]
:004161BE C681E07A480000 mov byte ptr [ecx+00487AE0],
00
* Possible Reference to Dialog:
|
:004161C5 68E07A4800 push 00487AE0
//計算結果入棧
:004161CA E8E1DB0000 call 00423DB0
:004161CF 83C404
add esp, 00000004
:004161D2 83F805
cmp eax, 00000005 //使用者名稱長度大於5嗎
:004161D5 7712
ja 004161E9 //大於則跳
* Possible Reference to Dialog:
|
:004161D7 6828254800 push 00482528
//不跳則 CNIAWFKU 入棧
:004161DC 68E07A4800 push 00487AE0
//0<使用者名稱≤5時的計算結果入棧
:004161E1 E80AE10000 call 004242F0
//組成一個字串
:004161E6 83C408
add esp, 00000008
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004161D5(C)
|
* Possible Reference to Dialog:
|
:004161E9 68E07A4800 push 00487AE0
//正確註冊碼入棧
:004161EE 8D4D0C
lea ecx, dword ptr [ebp+0C] //輸入的假註冊碼放到[ebp+0C]
:004161F1 E8BAB1FEFF call 004013B0
//真假註冊碼比較
:004161F6 85C0
test eax, eax
:004161F8 752D
jne 00416227 //不等則跳,跳則死
:004161FA C7856CFFFFFF01000000 mov dword ptr [ebp+FFFFFF6C], 00000001
:00416204 C645FC00 mov
[ebp-04], 00
:00416208 8D4D08
lea ecx, dword ptr [ebp+08]
:0041620B E8F2C50200 call 00442802
:00416210 C745FCFFFFFFFF mov [ebp-04], FFFFFFFF
:00416217 8D4D0C
lea ecx, dword ptr [ebp+0C]
:0041621A E8E3C50200 call 00442802
:0041621F 8B856CFFFFFF mov eax, dword
ptr [ebp+FFFFFF6C]
:00416225 EB2B
jmp 00416252
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004161F8(C)
|
:00416227 C78568FFFFFF00000000 mov dword ptr [ebp+FFFFFF68], 00000000
:00416231 C645FC00 mov
[ebp-04], 00
:00416235 8D4D08
lea ecx, dword ptr [ebp+08]
:00416238 E8C5C50200 call 00442802
:0041623D C745FCFFFFFFFF mov [ebp-04], FFFFFFFF
:00416244 8D4D0C
lea ecx, dword ptr [ebp+0C]
:00416247 E8B6C50200 call 00442802
:0041624C 8B8568FFFFFF mov eax, dword
ptr [ebp+FFFFFF68]
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00416068(U), :00416225(U)
|
:00416252 8B4DF4
mov ecx, dword ptr [ebp-0C]
:00416255 64890D00000000 mov dword ptr fs:[00000000],
ecx
:0041625C 8BE5
mov esp, ebp
:0041625E 5D
pop ebp
:0041625F C3
ret
演算法總結:
1、先將使用者名稱每個字元的 ASCII 值加上一個數,這個數按其所在位數不同而不同。從第1位開始,1~30位所加的數依次為(十進位制):23、15、18、17、4、21、24、2、19、7、22、10、11、13、5、72、238、118、29、103、105、161、27、122、140、71、248、84、149、151。
2、每位字元與上述對應的數相加後所得的和,除以 0x17 ,求得一個餘數。餘數再與 0x42 相加和的 ASCII 的值,作為對應使用者名稱位數的註冊碼,把使用者名稱各個字元計算出的結果依次排列成串。
3、當0<使用者名稱≤5時,在計算結果後加上" CNIAWFKU ",作為正確的註冊碼。
4、當5<使用者名稱≤30時,根據使用者名稱各位字元的ASCII值計算出結果(ASCII),排列成串直接作為正確的註冊碼。
5、31位(包括31位)以後的字元,不列入計算範圍,即註冊碼最長為30位。
6、中文算2個字元。
呵……演算法其實非常的簡單,只是有點羅嗦。不過,如果這樣這樣設斷點的話,就不煩了, bpx 4161E9 do "d 487AE0" ,直接可見到正確註冊碼。呵……*^_^*
相關文章
- EVC.SerialMe.Beta解密分析 (17千字)2002-03-13解密
- Readbook 1.42版 演算法分析。 (1千字)2015-11-15演算法
- 拷貝王KingCopy 2.5 Beta (簡單) (6千字)2001-07-04GC
- 關於ShowDep 4.0 beta 1的註冊碼判斷演算法求逆問題
(1千字)2000-06-07演算法
- 新聞分析:PC進入64位時代 驅動程式仍是攔路虎2007-09-24
- 翻譯(1) (6千字)2000-07-22
- Directory Scanner v1.5 註冊演算法分析 (6千字)2015-11-15演算法
- 完美解除安裝 V5.01 演算法分析 (6千字)2002-02-02演算法
- 初學者作品(6) (1千字)2000-05-04
- 菜鳥破解錄自之 Dialup Constructor 及演算法分析
(6千字)2000-09-11Struct演算法
- 五筆輸入通1.x註冊演算法分析
(10千字)2015-11-15演算法
- 破解OICQ的密碼演算法 (6千字)2001-06-25密碼演算法
- diy pe的教學文章1 (6千字)2002-08-08
- 炒股理財演算法分析 (3千字)2001-03-31演算法
- HappyEO演算法分析
(11千字)2015-11-15APP演算法
- Sitman2.1
演算法分析 (5千字)2015-11-15演算法
- 區塊鏈共識演算法(6)分散式一致性演算法2PC和3PC2018-05-21區塊鏈演算法分散式
- CPUCOOL 5.1000註冊碼分析 (6千字)2001-01-19
- HTMLZip 1.0 beta 的脫殼 (3千字)2001-02-03HTML
- serv-u 3.0 beta破解 (2千字)2001-04-20
- rOYALaCCEZZ Trial Crackme 3.2 演算法分析 (10千字)2002-02-27演算法
- SuperCleaner演算法分析----菜鳥級
(12千字)2015-11-15演算法
- Tray Helper V 3.6演算法分析 (26千字)2015-11-15演算法
- 炒股理財3.1 演算法分析(15千字)2015-11-15演算法
- FolderView 1.7
註冊演算法分析 (14千字)2015-11-15View演算法
- 序號產生器制分析: (1千字)2001-11-19
- 綠盟科技葉曉虎:智慧安全3.0理念的安全運營之道2021-04-24
- 破解實錄(六)之 1toX 1.63 (6千字)2000-07-20
- 重新貼過註冊演算法分析 (16千字)2001-10-23演算法
- 屏保自己做2.61版演算法分析! (7千字)2002-02-18演算法
- eLib2.01演算法分析
(31千字)2015-11-15演算法
- 龍文輸入通演算法分析 (27千字)2015-11-15演算法
- HotkeyMaster演算法分析----菜鳥級
(4千字)2015-11-15AST演算法
- 簡單演算法:迷你網路電視演算法分析 (8千字)2015-11-15演算法
- JuiceFS v1.0.0 Beta1 釋出,加強資料安全能力2022-01-18UI
- 演算法分析與設計 - 作業62024-03-25演算法
- 破解心得之CDRWin 4.0A BETA篇 (18千字)2001-04-24
- 演算法分析: <獻給初學者>
之一 (4千字)2002-06-06演算法