APISpy32 2.5的註冊 (7千字)
APISpy32 2.5的註冊
[軟體介紹]
此軟體可以顯示軟體啟動過程中所有呼叫的API以及他們的引數,這對於破解
廣告條的軟體極為有用。如果不註冊,只能記錄20個Call。
[下載]
krack.126.com
[破解過程]
這個軟體的註冊比較特殊,是依靠計算註冊碼來得到註冊名字。
似乎很難使用逆向演算法來得到自己想要的註冊名。
====================================================================
註冊過程描述:
1. 將假註冊碼16位取前8位和後7位組成一個新的註冊碼RegNew,末尾加位元組00H.
2. 每次依次取RegNew的兩個位元組,第一個位元組放入al, 第二個位元組放入cl,
如果第一個位元組(al)小於等於39H,則將al+D0H, 如果大於39H,則將al+C9,
如果第二個位元組(cl)小於等於39H, 則將cl-30H,如果大於39H, 則將cl-37。
然後al左移4位,al or cl生成新的一個位元組,依次和50H-57H作xor,得到的8個
新位元組替代假code位置的前8位。
3. 取現在假code位置的前8位開始運算。
設EAX=1
取出假code一個位元組,乘以eax,如果比8899H大,則Eax放入eax除以8899H的餘數。
繼續用假code的同一個位元組乘以eax,乘以7次後將此時的eax除以BBH,獲得餘數。
然後取假code第二個位元組,設eax=1,作同樣運算。
如此生成的8個餘數作為新的位元組。
4. 此8個新位元組應同註冊名字的8位相同。註冊名字不夠8位的,需要從註冊名字起始位
置往後取相應的個數新增到末尾去。
====================彙編編碼開始========================================
註冊第2步
――――――
:004050E5 E8E6010000 call
004052D0 <--------- 追入後如下面詳細所述
:004050EA 8ACB
mov cl, bl
:004050EC 83C404
add esp, 00000004
:004050EF 80C150
add cl, 50
:004050F2 83C702
add edi, 00000002
:004050F5 32C1
xor al, cl
:004050F7 FEC3
inc bl
:004050F9 8846FF
mov byte ptr [esi-01], al
:004050FC C60600
mov byte ptr [esi], 00
:004050FF 46
inc esi
:00405100 80FB08
cmp bl, 08
:00405103 72DF
jb 004050E4
* Referenced by a CALL at Address:
|:004050E5
|
:004052D0 8B4C2404
mov ecx, dword ptr [esp+04]
:004052D4 8A01
mov al, byte ptr [ecx] <----- 前一個位元組
:004052D6 3C39
cmp al, 39
:004052D8 7E04
jle 004052DE
:004052DA 04C9
add al, C9
:004052DC EB02
jmp 004052E0
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004052D8(C)
|
:004052DE 04D0
add al, D0
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004052DC(U)
|
:004052E0 8A4901
mov cl, byte ptr [ecx+01] <---- 後一個位元組
:004052E3 80F939
cmp cl, 39
:004052E6 7E09
jle 004052F1
:004052E8 C0E004
shl al, 04
:004052EB 80E937
sub cl, 37
:004052EE 0AC1
or al, cl
:004052F0 C3
ret
註冊第3步
----------
* Referenced by a CALL at Address:
|:0040510F
..............
..............
:0040531F B801000000 mov eax,
00000001
:00405324 C744241407000000 mov [esp+14], 00000007
<---- 小迴圈計數
:0040532C 8A1437
mov dl, byte ptr [edi+esi] <---- 第二步生成的位元組
:0040532F 8BFA
mov edi, edx
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405350(C)
|
:00405331 8BD7
mov edx, edi
:00405333 0FAFC2
imul eax, edx <---- eax乘以edx,
:00405336 3D99880000 cmp eax,
00008899 <---- 和8899H比較
:0040533B 7E0A
jle 00405347 <---- 不大就跳
:0040533D 99
cdq
:0040533E BB99880000 mov ebx,
00008899
:00405343 F7FB
idiv ebx <---- eax/ebx餘數在edx
:00405345 8BC2
mov eax, edx
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040533B(C)
|
:00405347 8B542414
mov edx, dword ptr [esp+14] <---- 小迴圈次數->edx
:0040534B 4A
dec edx
<---- 減1次
:0040534C 89542414
mov dword ptr [esp+14], edx <---- 放回到esp+14處存起來
:00405350 75DF
jne 00405331
<---- 不夠7次繼續小迴圈
:00405352 99
cdq
:00405353 BFBB000000 mov edi,
000000BB
:00405358 F7FF
idiv edi <----
eax/edi,餘數在edx
:0040535A 41
inc ecx
:0040535B 83F908
cmp ecx, 00000008 <----------大迴圈計數
:0040535E 8816
mov byte ptr [esi], dl <---- 餘數的dl
:00405360 C6042900
mov byte ptr [ecx+ebp], 00
:00405364 7CB0
jl 00405316 <----
夠8次嗎?
:00405366 5F
pop edi
:00405367 5E
pop esi
:00405368 5D
pop ebp
:00405369 5B
pop ebx
:0040536A C3
ret
註冊第4步
----------
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004051B9(C)
|
:00405195 8A01
mov al, byte ptr [ecx] <----- 第三步生成的位元組,ecx內已經是註冊碼了。
:00405197 3C20
cmp al, 20
:00405199 730E
jnb 004051A9
:0040519B 33D2
xor edx, edx
:0040519D 25FF000000 and eax,
000000FF
:004051A2 8A510A
mov dl, byte ptr [ecx+0A]
:004051A5 0BD0
or edx, eax <------- al比20H小,則or, 只有
0 or 0似乎才能使得最後的ebp為0
:004051A7 EB0C
jmp 004051B5
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00405199(C)
|
:004051A9 33D2
xor edx, edx
:004051AB 25FF000000 and eax,
000000FF
:004051B0 8A510A
mov dl, byte ptr [ecx+0A]
:004051B3 33D0
xor edx, eax <------- al比20h大,則xor,只要edx=eax即可。
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004051A7(U)
|
:004051B5 03EA
add ebp, edx <------- 所得結果都加到ebp中去。
:004051B7 41
inc ecx
:004051B8 4E
dec esi
:004051B9 75DA
jne 00405195
:004051BB 33C0
xor eax, eax
:004051BD 5F
pop edi
:004051BE 85ED
test ebp, ebp
:004051C0 5E
pop esi
:004051C1 5D
pop ebp
:004051C2 0F94C0
sete al <------- 如果ebp為零則Flag Z=1, al=1,註冊成功。
:004051C5 5B
pop ebx
:004051C6 59
pop ecx
:004051C7 C3
ret
==============================彙編編碼完====================================
不知道能否寫出逆演算法,似乎不能吧。於是只好寫了個小程式,生成一個表,列出在特定位置上什麼樣的一個
byte可以對應算出一個可見AscII字元。註冊碼的第9位可以任意字元。最後一位註冊碼算出的可見ascii字元似乎
只能為'(',不知道有沒有弄錯?
這是其中的一個註冊碼:
RegName: TTTTTTT(
RegCode: 35343736g313033A
相關文章
- SMailserver2.5註冊碼的破解手記 (1千字)2001-03-01AIServer
- 盲打之友V2.5破解(包括註冊演算法) (11千字)2001-10-29演算法
- 註冊你的Fast Browser4.01 (7千字)2001-10-06AST
- CDSpace Power+註冊演算法 (7千字)2001-07-27演算法
- 財智證券結算軟體2.5 破解註冊碼分析!使用ollydbg 破解註冊動畫!高手莫入! (1千字)2001-11-20動畫
- 轉貼 Ronnier 的 AcqURL 5.1 註冊黑名單的破解 (7千字)2001-05-14
- Konvertor 3.03的註冊碼演算法模組的分析
(7千字)2015-11-15演算法
- estiprojm 註冊 (12千字)2001-11-08
- 《WinImage v5.00.5007 註冊碼破解》 (7千字)2001-05-10
- 初學者請進,看far.exe的註冊碼! (7千字)2001-04-24
- vTuner Plus 3.0 線上註冊的破解方法一:爆破篇 (7千字)2002-06-16
- 交一篇作業---破解Hedit 2.0的註冊碼 (7千字)2001-09-30
- SecureCRT 7 註冊碼2016-09-02Securecrt
- 用NuMega SmartCheck 6.03獲取魔裝網神2.5的註冊碼(初學者請進)
(1千字)2001-02-24
- egis的irfanview註冊器原始碼,很早以前就有了。 (7千字)2001-02-03View原始碼
- 破解HappyEO電子琴203版的註冊碼。 (7千字)2001-09-28APP
- 加密金剛鎖V3.00註冊演算法----(上集) (7千字)2001-11-09加密演算法
- Flash ActionScript Tool 的註冊碼! (22千字)2001-05-04
- FolderView註冊部分的計算 (13千字)2001-05-27View
- 《TxEdit 4.6》的註冊碼破解 (11千字)2001-07-28
- Cleaner 3.2註冊分析 (18千字)2001-12-09
- 註冊你的Windows Commander 4.51 (6千字)2000-09-11Windows
- 註冊你的Windows Commander 4.52(6千字)2001-03-22Windows
- 《棋隱》的註冊演算法 (19千字)2001-08-26演算法
- 註冊你的Windows Commander 4.54 (5千字)2001-09-14Windows
- 註冊碼演算法 (2千字)2001-01-14演算法
- 用DeDe v2.5破Dephi程式Fast Browser (7千字)2001-10-30AST
- 一種非明碼比較程式的註冊------NS-SHAFT註冊碼破解 (9千字)2015-11-15
- S-DEMO2 註冊分析 (14千字)2002-06-25
- DreamWaver3.0註冊流程分析 (17千字)2001-09-10
- Regediter 1.3 破解(得到註冊碼) (9千字)2002-01-23
- 註冊你的LyricsShow! for Winamp v1.2
(3千字)2001-04-14CSS
- Active Ebook Compiler的註冊演算法 (14千字)2001-05-09Compile演算法
- DataFit V7.0.36註冊過程的分析 (9千字)2001-11-09
- 飛馬魔法桌布V3.0註冊演算法(適合初學者) (7千字)2001-11-25演算法
- CPUCOOL 5.1000註冊碼分析 (6千字)2001-01-19
- IconToy 3.1 註冊碼快速破解 (11千字)2001-03-02
- 猜數記---BCWIPE註冊半破解 (25千字)2001-04-02