SeaMoon Pic Hunter 1.2破解手記 (8千字)
SeaMoon Pic Hunter 1.2破解手記
作 者: CoolWolF[SCD]
破解時間:
2002-4-3
破解工具: Windows 2K環境下 Ollydbg1.05a Registry Shot1.52b
作者主頁: http://www.seamoontech.com
難 度: 中低
說 明: 訪問並分析您所指定的網站或頁面的結構.把其中的圖片如GIF和JPEG等快速地下載到本地來.
=================================================================
以下文字純粹是供各位愛好逆向工程同好參考交流,請尊重軟體作者的權益
=================================================================
一個不錯的工具,尤其對於我這種抓圖狂來說 ^o^ ok,廢話不說了,開工!
執行軟體,彈出一個註冊對話窗,告訴你如果不註冊最多隻能搜尋49張圖片.填入使用者名稱CoolWolF,註冊碼1212,確認後提示要求重新啟動軟體來驗證註冊是否成功.那麼這個軟體應該是把我們輸入的註冊資訊放入登錄檔或者某個檔案,在軟體啟動的時候來校驗是否正確.根據經驗應該是註冊標的可能性大一些.
用Registry Shot比較後發現,果然是把我們輸入的資訊放在了\Software\SeaMoonTech\SeaMoon
Pic Hunter\V1.2\ 裡,分為RegUserName和RegCode兩個鍵值.
用Ollydbg載入PicHunter.exe,按Ctel+N,在"ADVAPI32.RegQueryValueExA"一行回車,出現所有呼叫這個api的地址,在右鍵選單中選擇"Set
breakpoint on every command",然後關閉這個視窗回到主介面.
按F9執行,程式中斷在:
0045EED7 |. 8B35 10C04600 MOV ESI,DWORD PTR DS:[<&ADVAPI32.RegQuer>;
ADVAPI32.RegQueryValueExA
0045EEDD |. 51
PUSH ECX
; /pBufSize
0045EEDE
|. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
; |
0045EEE1 |. 57
PUSH EDI
; |Buffer
0045EEE2 |. 51 PUSH ECX
; |pValueType
0045EEE3 |. 57
PUSH EDI
; |Reserved
0045EEE4
|. 897D FC MOV DWORD PTR SS:[EBP-4],EDI
; |
0045EEE7 |. FF75 10
PUSH DWORD PTR SS:[EBP+10]
; |ValueName
0045EEEA |. 50
PUSH EAX
; |hKey
0045EEEB |. FFD6
CALL ESI
; \RegQueryValueExA
用F8往下走了一段後發現都是一些對我們沒用的東西,於是按F9繼續查詢.19次之後來到
0045EED7
|. 8B35 10C04600 MOV ESI,DWORD PTR DS:[<&ADVAPI32.RegQuer>;
ADVAPI32.RegQueryValueExA
0045EEDD |. 51
PUSH ECX
; /pBufSize
0045EEDE
|. 8D4D EC LEA ECX,DWORD PTR SS:[EBP-14]
; |
0045EEE1 |. 57
PUSH EDI
; |Buffer
0045EEE2 |. 51 PUSH ECX
; |pValueType
0045EEE3 |. 57
PUSH EDI
; |Reserved
0045EEE4
|. 897D FC MOV DWORD PTR SS:[EBP-4],EDI
; |
0045EEE7 |. FF75 10
PUSH DWORD PTR SS:[EBP+10]
; |ValueName = "RegCode"
0045EEEA |. 50
PUSH EAX
; |hKey
0045EEEB
|. FFD6 CALL ESI
; \RegQueryValueExA
哈哈,找到我們要的地方了!
F8慢慢往下走一直到:
00406605 . C68424 5801000>MOV BYTE PTR SS:[ESP+158],4
這個時候看看右下角的視窗,有我們的註冊名和輸入的假註冊碼.繼續:
0040660D . 50
PUSH EAX
0040660E . 8D4C24 14
LEA ECX,DWORD PTR SS:[ESP+14]
00406612 . E8 6CEC0300
CALL PicHunte.00445283
00406617 . 8D4C24 24
LEA ECX,DWORD PTR SS:[ESP+24]
0040661B . C68424 5801000>MOV BYTE PTR
SS:[ESP+158],2
00406623 . E8 22EB0300 CALL PicHunte.0044514A
00406628 . 51 PUSH ECX
00406629 . 8D4424 14 LEA EAX,DWORD PTR SS:[ESP+14]
0040662D . 8BCC MOV ECX,ESP
0040662F
. 896424 1C MOV DWORD PTR SS:[ESP+1C],ESP
00406633
. 50 PUSH EAX
00406634 . E8
86E80300 CALL PicHunte.00444EBF
00406639 . 51
PUSH ECX
0040663A . 8D5424 1C
LEA EDX,DWORD PTR SS:[ESP+1C]
0040663E . 8BCC
MOV ECX,ESP
00406640 . 896424 28
MOV DWORD PTR SS:[ESP+28],ESP
00406644 . 52
PUSH EDX
00406645 . C68424 6401000>MOV BYTE PTR SS:[ESP+164],5
0040664D . E8 6DE80300 CALL PicHunte.00444EBF //關鍵Call
進入 (我是憑感覺進去的)
按F7跟進去之後
00406E60 /$ 6A FF
PUSH -1
00406E62 |. 68 B0714600
PUSH PicHunte.004671B0
00406E67 |. 64:A1 00000000 MOV EAX,DWORD PTR
FS:[0]
00406E6D |. 50 PUSH
EAX
00406E6E |. 64:8925 000000>MOV DWORD PTR FS:[0],ESP
00406E75
|. 81EC D0000000 SUB ESP,D0
00406E7B |. C78424 D800000>MOV DWORD
PTR SS:[ESP+D8],0
00406E86 |. 8B8424 E000000>MOV EAX,DWORD PTR SS:[ESP+E0]
00406E8D |. 68 B0864800 PUSH PicHunte.004886B0
00406E92
|. 50 PUSH EAX
00406E93 |.
E8 AF7F0200 CALL PicHunte.0042EE47
00406E98 |. 83C4 08
ADD ESP,8
00406E9B |. 85C0
TEST EAX,EAX
00406E9D |. 0F84 31010000 JE PicHunte.00406FD4
00406EA3 |. 8B8C24 E400000>MOV ECX,DWORD PTR SS:[ESP+E4]
00406EAA
|. 68 B0864800 PUSH PicHunte.004886B0
00406EAF |. 51
PUSH ECX
00406EB0 |. E8 927F0200
CALL PicHunte.0042EE47
00406EB5 |. 83C4 08
ADD ESP,8
00406EB8 |. 85C0
TEST EAX,EAX
00406EBA |. 0F84 14010000 JE PicHunte.00406FD4
00406EC0 |. 8B9424 E000000>MOV EDX,DWORD PTR SS:[ESP+E0]
00406EC7
|. 53 PUSH EBX
00406EC8 |.
56 PUSH ESI
00406EC9 |. B0
6F MOV AL,6F
00406ECB |. 8B72 F8
MOV ESI,DWORD PTR DS:[EDX-8]
00406ECE |. 33C9
XOR ECX,ECX
00406ED0 |. 85F6
TEST ESI,ESI
00406ED2 |. C64424 08 73 MOV
BYTE PTR SS:[ESP+8],73
00406ED7 |. C64424 09 65 MOV BYTE PTR
SS:[ESP+9],65
00406EDC |. C64424 0A 61 MOV BYTE PTR SS:[ESP+A],61
00406EE1 |. C64424 0B 6D MOV BYTE PTR SS:[ESP+B],6D
00406EE6
|. 884424 0C MOV BYTE PTR SS:[ESP+C],AL
00406EEA
|. 884424 0D MOV BYTE PTR SS:[ESP+D],AL
00406EEE
|. C64424 0E 6E MOV BYTE PTR SS:[ESP+E],6E
00406EF3 |. C64424
0F 00 MOV BYTE PTR SS:[ESP+F],0
00406EF8 |. 7E 3E
JLE SHORT PicHunte.00406F38 //迴圈計算
00406EFA |.
55 PUSH EBP
00406EFB |. 57
PUSH EDI
00406EFB |. 57
PUSH EDI
;
PicHunte.00488938
00406EFC |. 8D7C34 17 LEA EDI,DWORD
PTR SS:[ESP+ESI+17]
00406F00 |> 8B8424 F000000>MOV EAX,DWORD PTR SS:[ESP+F0]
00406F07 |. BD 07000000 MOV EBP,7
00406F0C
|. 8A1C01 MOV BL,BYTE PTR DS:[ECX+EAX]
00406F0F
|. 8BC1 MOV EAX,ECX
00406F11 |. 99
CDQ
00406F12 |. F7FD
IDIV EBP
00406F14 |. 0FBEC3
MOVSX EAX,BL
00406F17 |. BB 09000000 MOV EBX,9
00406F1C |. 0FBE5414 10 MOVSX EDX,BYTE PTR SS:[ESP+EDX+10]
00406F21 |. 03D6 ADD EDX,ESI
00406F23 |. 8D144A LEA EDX,DWORD PTR DS:[EDX+ECX*2]
00406F26 |. 03C2 ADD EAX,EDX
00406F28 |. 99 CDQ
00406F29
|. F7FB IDIV EBX
00406F2B |. 80C2
30 ADD DL,30
00406F2E |. 41
INC ECX
00406F2F |. 8817
MOV BYTE PTR DS:[EDI],DL
00406F31 |. 4F
DEC EDI
00406F32 |. 3BCE
CMP ECX,ESI
00406F34 |.^7C CA
JL SHORT PicHunte.00406F00
00406F36 |. 5F
POP EDI
00406F37 |. 5D
POP EBP
00406F38 |> 8D46 4D
LEA EAX,DWORD PTR DS:[ESI+4D]
00406F3B |. B9 09000000
MOV ECX,9
00406F40 |. 99 CDQ
00406F41 |. F7F9 IDIV ECX
00406F43
|. 8B8424 EC00000>MOV EAX,DWORD PTR SS:[ESP+EC]
00406F4A |. 80C2 30
ADD DL,30
00406F4D |. 885434 10
MOV BYTE PTR SS:[ESP+ESI+10],DL
00406F51 |. C64434 11 00 MOV
BYTE PTR SS:[ESP+ESI+11],0
00406F56 |. 8D7424 10
LEA ESI,DWORD PTR SS:[ESP+10] //根據註冊名生成註冊碼
00406F5A |> 8A10
MOV DL,BYTE PTR DS:[EAX] //假註冊碼入EAX
00406F5C |.
8A1E MOV BL,BYTE PTR DS:[ESI] //真註冊碼入ESI
00406F5E |. 8ACA MOV CL,DL
00406F60
|. 3AD3 CMP DL,BL //比對真假註冊碼的第一個位元組
00406F62
|. 75 1E JNZ SHORT PicHunte.00406F82 //不同就完蛋
00406F64 |. 84C9 TEST CL,CL
......
在00406F5C下斷就可以看到儲存在ESI中的註冊碼.不過整個計算過程我還是沒太看明白,所以上面也不敢亂作註釋,還請各位老大指點.
整理:使用者名稱CoolWolF[SCD] 註冊碼77245502320260
收工
--------------------------------------------------------------------------------------------------------
相關文章
- 海月圖片獵手(SeaMoon Pic Hunter) 1.52 註冊演算法分析2015-11-15演算法
- Trojan Remover 4.3.0破解手記 (8千字)2001-08-31REM
- MP3 to EXE v 2.6破解手記 (8千字)2001-09-08
- 乾涸的(Asp maker version 2.2 破解手記) (8千字)2015-11-15
- IEPopupKiller 1.2破解手記--演算法分析2015-11-15演算法
- CDSPACE1.95破解手記(專為初學者而作!) (8千字)2000-12-30
- Turbo Note+ 破解手記 (4千字)2001-05-13
- 漢字通破解手記 (19千字)2000-09-06
- SolSuite v8.0破解手記 (3千字)2001-09-08UI
- ACDSEE4.0的破解手記 (1千字)2002-01-20
- ReGet Junior 2.0破解手記(一) (3千字)2002-02-23
- 轉載:“亂刀”破解手記 (1千字)2000-09-03
- ReGet Junior 2.0破解手記(二) (4千字)2015-11-15
- ReGet Junior 2.0破解手記(三) (1千字)2015-11-15
- 贏家股票盤後分析1.2 (8千字)2001-07-07
- MagicWin 98 Release
1.20 破解手記 (20千字)2002-06-01
- LogoManager 1.18破解手記 (1千字)2001-02-18Go
- 加密MP3光碟破解手記 (1千字)2000-08-02加密
- 網咖管理專家9.5破解手記 (6千字)2001-01-26
- Lockdown2000_7.0.0.1破解手記 (3千字)2000-05-26
- Advanced
Pic Hunter v1.55 序號產生器C語言原始碼2004-08-18C語言原始碼
- Altomp3maker 2.11破解手記 (1千字)2001-01-29
- 鸚鵡螺網路助手 1.75 破解手記 (1千字)2001-01-30
- freeceltool 空當接龍工具破解手記 (1千字)2001-01-31
- 區域網資料庫快易通破解手記 (1千字)2001-02-02資料庫
- SMailserver2.5註冊碼的破解手記 (1千字)2001-03-01AIServer
- 中華壓縮V7.0破解手記 (4千字)2001-11-20
- 瑞星個人防火牆1.1版破解手記 (3千字)2001-11-25防火牆
- Audio Compositor v4.4破解手記
(6千字)2015-11-15
- 新倚天屠龍記的光碟破解手記。 (1千字)2001-01-05
- 一個不錯的雪花屏保破解手記 (1千字)2000-12-29
- 敏思硬碟衛士 v2.2破解手記 (4千字)2001-11-20硬碟
- 股票賬戶管理軟體 1.12(破解手記) (9千字)2002-02-16
- 億特代理伺服器簡易版破解手記 (15千字)2002-09-19伺服器
- 電子小說閱讀器黃金版破解手記 (5千字)2001-11-14
- 用ISDCC2破KPT 6的安裝 (8千字)2001-04-17
- 破解 程式獵人 1.2 (2千字)2000-08-10
- 彩票快車破解手記(copyyour兄要的,來看看吧) (1千字)2001-03-25