破解HappyEO電子琴203版的註冊碼。 (7千字)
HappyEO電子琴的新版本2.40中,註冊碼可以直接從記憶體中找到,而在HappyEO203這個老版本中,卻要透過計算才能得出,不知道作者是怎麼想的,演算法比較簡單,很適合初學者學習,有興趣的朋友可以拿它來練手,我們開始吧:
1. 執行TRW2K
2. 使用者名稱輸入:wdfdiablo 註冊碼:7878787878
3. 下斷bpx hmemcpy,後回到主程式,點註冊,被攔下,用bd *清除斷點,下pmodule回到HappyEO的領空,按F10數次,來到:
:51084189 E8F2FCF7FF call
51003E80
:5108418E 8D85C0FEFFFF
lea eax, dword ptr [ebp+FFFFFEC0]
:51084194 50
push eax
:51084195
8D95B8FDFFFF lea edx, dword ptr [ebp+FFFFFDB8]
:5108419B A1D4630D51 mov
eax, dword ptr [510D63D4]
:510841A0 8B00
mov eax, dword ptr [eax]
:510841A2 8B80D0020000
mov eax, dword ptr [eax+000002D0]
:510841A8
E89BCDFAFF call 51030F48
:510841AD 8B95B8FDFFFF mov edx, dword
ptr [ebp+FFFFFDB8]
:510841B3 8D85BCFDFFFF
lea eax, dword ptr [ebp+FFFFFDBC]
:510841B9 B9FF000000
mov ecx, 000000FF
:510841BE E8BDFCF7FF
call 51003E80
:510841C3 8D85BCFDFFFF
lea eax, dword ptr [ebp+FFFFFDBC] ;D
EAX,看見wdfdiablo
:510841C9 5A
pop edx
;D EDX,看見7878787878
:510841CA E881EEFFFF
call 51083050
;算註冊碼的CALL,F8進入
:510841CF 84C0
test al, al
:510841D1 0F849C000000 je 51084273
;若al為0,則註冊失敗
:510841D7 A188600D51 mov
eax, dword ptr [510D6088]
:510841DC C60001
mov byte ptr [eax], 01
:510841DF 8D95B4FDFFFF
lea edx, dword ptr [ebp+FFFFFDB4]
:510841E5
A1D4630D51 mov eax, dword ptr
[510D63D4]
:510841EA 8B00
mov eax, dword ptr [eax]
進入算註冊碼的CALL:
* Referenced
by a CALL at Address:
|:510841CA
|
:51083050 53
push ebx
:51083051
56
push esi
:51083052 57
push edi
;儲存現場
:51083053 83C4CC
add esp, FFFFFFCC
:51083056 8BF2
mov esi, edx
;EDX=.7878787878,其中的“.”是0xA,即註冊碼的位數為10位
:51083058 8D3C24
lea edi, dword ptr [esp]
:5108305B 33C9
xor ecx, ecx ;計數器清0
:5108305D
8A0E mov
cl, byte ptr [esi] ;將註冊碼位數放入cl
:5108305F 80F908
cmp cl, 08
;位數是否大於8
:51083062 7202
jb 51083066
;不大於則開始下一步
:51083064 B108
mov cl, 08
;若大於8,則只取前8位
* Referenced by a (U)nconditional or (C)onditional
Jump at Address:
|:51083062(C)
|
:51083066 880F
mov byte ptr [edi], cl
;將位數放在EDI所指位址中
:51083068 46
inc esi
;指向註冊碼第一位
:51083069 47
inc edi
;指向存放註冊碼最後一位的下一位址
:5108306A F3A4
repz movsb
;將ESI位址內的內容挎貝到EDI所指位址上,每次取1個Byte,共迴圈8次(cl=8),即78787878
:5108306C
8BF0 mov
esi, eax ;D ESI=.wdfdiablo,其中的“.”是0x9,即使用者名稱的位數為9位
:5108306E 8D7C240A
lea edi, dword ptr [esp+0A] ;
:51083072 33C9
xor ecx, ecx
;計數器清0
:51083074 8A0E
mov cl, byte ptr [esi]
:51083076 80F928
cmp cl, 28
:51083079
7202 jb 5108307D
:5108307B B128
mov cl, 28 ;若使用者名稱位數大於40位,則只取40位
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:51083079(C)
|
:5108307D 880F
mov byte ptr [edi], cl
:5108307F 46
inc esi
:51083080 47
inc edi
:51083081 F3A4
repz movsb
;同上,挎貝使用者名稱
:51083083 C644240900
mov [esp+09], 00
:51083088 8A44240A
mov al, byte ptr [esp+0A]
;將使用者名稱位數放入al
:5108308C 3C04
cmp al, 04
;使用者名稱位數是否為4
:5108308E 723D
jb 510830CD ;小於則註冊失敗
:51083090 803C2408
cmp byte ptr [esp], 08 ;註冊碼位數是否為8
:51083094 7537
jne 510830CD
;小於則註冊失敗
:51083096 33C9
xor ecx, ecx
;計數器清0
:51083098 25FF000000
and eax, 000000FF ;將EAX高16位清0,即EAX=9(使用者名稱位數)
:5108309D 85C0
test eax, eax
:5108309F 7E0C
jle 510830AD
;EAX若為0,則註冊失敗
:510830A1 8D54240B
lea edx, dword ptr [esp+0B] ;EDX指向使用者名稱第一個字母
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:510830AB(C)
|
:510830A5 8A1A
mov bl, byte ptr [edx]
;取使用者名稱第一個字母“w”
:510830A7 02CB
add cl, bl
;將“w”的ASCII值加入cl
:510830A9 42
inc edx
;指向使用者名稱下一個字母“d”
:510830AA 48
dec eax
;使用者名稱位數減1
:510830AB
75F8 jne
510830A5 ;共迴圈9次,將所有使用者名稱字母的ASCII和相加放
入cl,注意,因cl是8個位,故總和只取低8位,即1個位元組,
這裡得出cl=0xAC
* Referenced by a (U)nconditional or (C)onditional
Jump at Address:
|:5108309F(C)
|
:510830AD 33D2
xor edx, edx
;EDX初始化為0
:510830AF 33C0
xor eax, eax
;EAX初始化為0
:510830B1 8A0424
mov al, byte ptr [esp]
;註冊碼位數放al,al=8
:510830B4 85C0
test eax, eax
;以下和算使用者名稱的方法相同,不再贅述
:510830B6 7E0C
jle 510830C4
:510830B8 8D742401
lea esi, dword ptr [esp+01]
* Referenced
by a (U)nconditional or (C)onditional Jump at Address:
|:510830C2(C)
|
:510830BC 8A1E
mov bl, byte ptr [esi]
:510830BE 02D3
add dl, bl
:510830C0 46
inc esi
:510830C1
48
dec eax
:510830C2 75F8
jne 510830BC
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:510830B6(C)
|
:510830C4 3AD1
cmp dl, cl
;使用者名稱每個字母ACSII值的和與假註冊碼每個ASCII的和的低8位作比較
:510830C6 7505
jne 510830CD
;若不正確則註冊失敗
:510830C8 C644240901
mov [esp+09], 01
;註冊成功的標誌
* Referenced by a (U)nconditional or (C)onditional
Jump at Addresses:
|:5108308E(C), :51083094(C), :510830C6(C)
|
:510830CD 8A442409 mov
al, byte ptr [esp+09] ;返回的al值為1
:510830D1 83C434
add esp, 00000034
:510830D4
5F
pop edi
:510830D5 5E
pop esi
:510830D6 5B
pop ebx
;恢復算註冊碼前的現場,返回主程式
:510830D7 C3
ret
可以看出,註冊碼有很多,只要滿足最後的比較條件即可,這裡我算出一個:
使用者名稱:wdfdiablo 註冊碼:55555559
大波羅破解
我的主頁http://wdfdiablo.myetang.com
轉載請保持完整,謝謝。
2001.9.20
相關文章
- HAPPYEO電子琴簡單破解 (1千字)2001-05-26APP
- 用TRW 2000破解HAPPYEO電子琴 2.4 - 音訊工具 (4千字)2001-08-20APP音訊
- HappyEO電子琴3.05標準版註冊演算法分析(重啟驗證,簡單,給初學者)2015-11-15APP演算法
- 某電子書註冊破解實錄,高手莫入。 (6千字)2002-10-05
- 《WinImage v5.00.5007 註冊碼破解》 (7千字)2001-05-10
- 《TxEdit 4.6》的註冊碼破解 (11千字)2001-07-28
- 如何破解《彩票快車黃金版》註冊碼 (1千字)2001-04-21
- 豪傑大眼睛共享版註冊碼破解 (1千字)2001-07-08
- 交一篇作業---破解Hedit 2.0的註冊碼 (7千字)2001-09-30
- Regediter 1.3 破解(得到註冊碼) (9千字)2002-01-23
- 開心鬥地主1.6標準版 註冊碼破解 (4千字)2001-04-25
- IconToy 3.1 註冊碼快速破解 (11千字)2001-03-02
- BabyGame 破解方法及註冊碼錶 (1千字)2001-07-04GAM
- winimp1.11註冊碼破解 (2千字)2000-07-16
- 轉貼 Ronnier 的 AcqURL 5.1 註冊黑名單的破解 (7千字)2001-05-14
- SMailserver2.5註冊碼的破解手記 (1千字)2001-03-01AIServer
- 一種非明碼比較程式的註冊------NS-SHAFT註冊碼破解 (9千字)2015-11-15
- 《ICONSCAN 2.4》註冊碼破解 高手莫入! (3千字)2001-05-06
- 《MAGICWIN RELEASE 1.2》註冊碼破解 高手莫入! (2千字)2001-05-07
- Kugle Regediter 1.0 註冊碼破解法(非明碼) (8千字)2001-11-03
- vTuner Plus 3.0 線上註冊的破解方法一:爆破篇 (7千字)2002-06-16
- Vopt99 v4.31的註冊碼破解 (11千字)2000-09-28
- 《EASY MP3 2.2》的註冊碼破解 高手莫入! (2千字)2001-05-05
- Topaz Video AI 註冊碼破解版:Mac電腦影片處理工具2024-01-04IDEAIMac
- 破解《推箱子》Ver:1.6(230關) 註冊版 (1千字)2001-04-01
- 『凌雲郵神』 註冊碼破解 (非明碼比較的哦 ^_^) (6千字)2001-11-05
- 財智證券結算軟體2.5 破解註冊碼分析!使用ollydbg 破解註冊動畫!高手莫入! (1千字)2001-11-20動畫
- 美萍電腦安全衛士(V7.52標準版)終極破解(註冊法 &
暴力破解法) (1千字)2001-02-24
- APISpy32 2.5的註冊 (7千字)2001-04-01API
- 好用的HTML處理工具:BBEdit 註冊碼破解版最新2023-11-08HTML
- 《OFFLINE EXPLORER 1.0》的註冊碼破解 高手莫入!! (2千字)2001-05-18
- SecureCRT 7 註冊碼2016-09-02Securecrt
- Pycharm安裝破解 註冊碼2017-06-25PyCharm
- 轉載文章!有聲有色7.0正式版破解實錄(取註冊碼) (2千字)2001-07-20
- Konvertor 3.03的註冊碼演算法模組的分析
(7千字)2015-11-15演算法
- Topaz Video AI註冊碼破解版v4.1.02024-01-04IDEAI
- 如何破解Cool ASCII Art Maker V1.21註冊碼 (2千字)2001-05-03ASCII
- 猜數記---BCWIPE註冊半破解 (25千字)2001-04-02