MIDI軟體COMPOSER2.0暴破
這個軟體是MID修改和編輯用的,不註冊不能存檔,所以要破.用TRW2000,W32DSM,HIEW三種兵器.
點註冊,在兩個空行裡填入自己的信箱和一組自編的密碼,執行TRW2000,下斷,最普通的HMEMCPY就可以了,GO之後,回到程式介面,點註冊,被斷,直接用BC
*,PMODULE,再次來到程式領空,一下子就到了,不用按F12,按一下就出錯了.程式程式碼如下:
:0040435B 6804010000 push 00000104
按F10走.
:00404360 68C1EB4100 push 0041EBC1
* Possible Reference to Dialog: DialogID_03E7, CONTROL_ID:03FC, ""
|
:00404365 68FC030000 push 000003FC
:0040436A 53
push ebx
* Reference To: USER32.GetDlgItemTextA, Ord:0000h
|
:0040436B E8CA980100 Call 0041DC3A
來到下面這個CALL.
:00404370 E8DBF6FFFF call 00403A50
注意這個CALL,下面有比較,有跳轉,說明有問題.按F8進入:
* Possible StringData Ref from Data Obj ->"鐿溧痤?
|
:00403A55 B8CBF64100 mov eax,
0041F6CB
:00403A5A BAC1EB4100 mov edx,
0041EBC1
這裡下D 0041EBC1可以看到自己剛才輸入的註冊碼,那麼上面的0041F6CB裡的亂七八糟的東西就可能是真正的註冊碼了.但是我看不出來是什麼.還請高手指點.往下走是比比跳跳.
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00403A79(C)
|
:00403A5F 8A08
mov cl, byte ptr [eax]
:00403A61 3A0A
cmp cl, byte ptr [edx]
:00403A63 7516
jne 00403A7B
程式在這裡顯示要跳,因為上面的比較肯定不相等.當然如果不跳就會註冊成功的.所以在這裡就可以下手了.不過改這裡的話下面的JE也得改,不如讓它走下去,直接跳到00403A7B處再改.
{:00403A65 84C9
test cl, cl
:00403A67 743C
je 00403AA5 (注意)
:00403A69 8A4801
mov cl, byte ptr [eax+01]
:00403A6C 3A4A01
cmp cl, byte ptr [edx+01]
:00403A6F 750A
jne 00403A7B
:00403A71 83C002
add eax, 00000002
:00403A74 83C202
add edx, 00000002
:00403A77 84C9
test cl, cl
:00403A79 75E4
jne 00403A5F}
以上是跳過的程式碼.下面來到了真正要改的地方:
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00403A63(C), :00403A6F(C)
:00403A7B 7428
jne 00403AA5 (和上面的跳一樣,只有在這裡跳才能成功)
* Possible StringData Ref from Data Obj ->"鐿溧痤?
|
:00403A7D B8D3F64100 mov eax,
0041F6D3
:00403A82 BABCEA4100 mov edx,
0041EABC
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00403AA1(C)
|
:00403A87 8A08
mov cl, byte ptr [eax]
:00403A89 3A0A
cmp cl, byte ptr [edx]
:00403A8B 7524
jne 00403AB1
:00403A8D 84C9
test cl, cl
:00403A8F 7412
je 00403AA3
:00403A91 8A4801 mov
cl, byte ptr [eax+01]
:00403A94 3A4A01 cmp
cl, byte ptr [edx+01]
:00403A97 7518
jne 00403AB1
:00403A99 83C002 add
eax, 00000002
:00403A9C 83C202 add
edx, 00000002
:00403A9F 84C9
test cl, cl
:00403AA1 75E4
jne 00403A87
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00403A8F(C)
|
:00403AA3 750C
jne 00403AB1
以上就是反覆比比跳跳,總之不讓你跳到正地方.那麼究竟為什麼非要跳到0403AA5這個地方呢?現在我們來看看這個地方有什麼.
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
:00403A67(C), :00403A7B(C)
* Possible Reference to String Resource ID=00001: "AKoff Music Composer -
Version 2.0"
|
:00403AA5 C705C8EC410001000000 mov dword ptr [0041ECC8], 00000001
上面的程式碼現在把一個00000001放到了[0041ECC8]裡.然後程式開始回去.
:00403AAF EB72
jmp 00403B23
.
.
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00403AAF(U), :00403AE9(U), :00403B1A(U)
|
:00403B23 83C414 add
esp, 00000014
:00403B26 5F
pop edi
:00403B27 5E
pop esi
:00403B28 C3
ret
回去了,回到呼叫子程式的地方.
:00404370 E8DBF6FFFF call 00403A50
(剛才就是從這個CALL裡出來的.)
:00404375 833DC8EC410000 cmp dword ptr [0041ECC8],
00000000
現在我們再來注意這上面的一行,剛才在子程式裡,經過運算比較後,得到了一個[0041ECC8],現在又來比較這個[0041ECC8],剛才這個地址裡是00000001,現在要拿00000000來和它比,然後下面一行說得很清楚,如果等於就跳走,走到哪兒呢?走到004043CE.
:0040437C 7450
je 004043CE
這個004043CE是個什麼東西呢?經過反彙編我們會看到,那是一個ERROR,緊接著就是那個出錯對話方塊裡的話
"Not valid Code or E-mail." 如下所示:
:004043CE 6A30
push 00000030
* Possible StringData Ref from Data Obj ->"Error"
|
:004043D0 6890F84100 push 0041F890
* Possible StringData Ref from Data Obj ->"Not valid Code or E-mail."
肯定是不能讓他跳過來的啦!這裡不跳就說明成功了,下面的程式碼一行行走向了" - Registered".
:004043D5 6876F84100 push 0041F876
:004043DA 53
push ebx
:0040437E 33C0
xor eax, eax
:00404380 83C9FF or
ecx, FFFFFFFF
:00404383 BF81E14100 mov edi,
0041E181
:00404388 8DB5F0FEFFFF lea esi, dword
ptr [ebp+FFFFFEF0]
:0040438E F2
repnz
:0040438F AE
scasb
:00404390 F7D1
not ecx
:00404392 2BF9
sub edi, ecx
:00404394 8BD1
mov edx, ecx
:00404396 87F7
xchg edi, esi
:00404398 C1E902 shr
ecx, 02
:0040439B 8BC7
mov eax, edi
:0040439D F3
repz
:0040439E A5
movsd
:0040439F 8BCA
mov ecx, edx
:004043A1 8D85F0FEFFFF lea eax, dword
ptr [ebp+FFFFFEF0]
:004043A7 83E103 and
ecx, 00000003
:004043AA F3
repz
:004043AB A4
movsb
* Possible StringData Ref from Data Obj ->" - Registered"
下略.
也不知道你看懂了沒有,反正我的思路比較業餘一些,只是從那個出錯的對話方塊,找到了那幾個跳轉,現在要改的是子程式裡面的那個JNE,就是:00403A7B 7428
jne 00403AA5,因為改了它,判斷密碼正確與否的子程式就不起作用了,而是直接把這個版本認為是經過註冊的正式版.好了,現在動手:
用HIEW把COMPOSER開啟,F4切換,F5輸入它的偏移地址0000307B,F3修改,把74改為75,F9存檔.退出,好了現在再啟動COMPOSER,直接就是"Registered"了.把你的MID載入,可以任意修改各種音色,成為自己的MID,存檔.真爽!
相關文章
- EasyBoot5.03脫殼+暴破2004-11-17boot
- 請破破這個軟體 (129字)2000-06-25
- ERP軟體——期待破繭化蝶(轉)2007-08-03
- McAfee:移動惡意軟體數量暴增700%2012-09-05
- 淺析中國軟體行業破局之道2023-03-06行業
- 巧破軟體測試缺陷管理之痛2008-05-21
- 如何對登入介面加密欄位進行暴破?2022-08-25加密
- 基於python的多執行緒暴破指令碼2017-02-23Python執行緒指令碼
- MIDI 檔案格式 (轉)2008-01-06
- 任意使用者密碼重置(五):重置憑證可暴破2018-06-06密碼
- VB黑客程式的暴破(修改)一例 (9千字)2003-02-06黑客
- 新華社:約會軟體將掀起下一場“社交網路風暴”2014-02-17
- 勒索軟體 GermanWiper 破壞資料然後索要贖金2019-08-05
- 企業級軟體市場的暴風雨 CIO須未卜先知2017-01-17
- 破局之作!《如鳶》公測首日風暴級席捲遊戲界2024-09-27遊戲
- 病毒“死神下載器”來了 破壞防毒軟體下病毒2007-09-29防毒
- 簡單演算法――暴風共享軟體管理器I V1.02015-11-15演算法
- 高收益的笨辦法:暴破在Windows提權中的應用2018-06-06Windows
- 文思創新本月登陸紐交所 中國軟體外包資本破局2007-12-12
- 什麼國產軟體不許破解,我就破就破!!!------FlashSoft1.07破解方法 (2千字)2001-05-19
- winrar2.71的破解和對暴破的一點想法 (4千字)2001-04-16
- 班門弄斧之暴破檔案整容專家 3.0 (6千字)2001-10-09
- 班門弄斧之暴破網頁特效小精靈 (6千字)2001-10-10網頁特效
- 如何最小化勒索軟體的破壞路徑及其相關成本2021-11-23
- SLK下透過軟波表播放MIDI音樂簡單實現辦法(轉)2007-08-10
- Rhode Island:“約炮”軟體讓2014年梅毒發病率暴漲了79%2015-06-09
- 微軟稱發現針對烏克蘭的破壞性惡意軟體2022-01-17微軟
- 勒索軟體破局之道,解讀零信任架構的三大優勢2021-05-20架構
- *輔助工具 1.0 Encrypt by Stkman
完美暴破(應該只能用暴力了) (11千字)2002-04-03
- 暴破-AQUA 3D Screen Saver v1.5-水族館屏保程式
(15千字)2002-05-053D
- C#,Winform軟體防破譯-原始碼加密簡單方法之.NET REACTOR(一)2023-02-08C#ORM原始碼加密React
- 我國研發出勒索病毒防禦軟體:能阻止其破壞檔案2017-06-02
- 《軟體創新——衝破高技術營造的牢籠》好書推薦 (轉)2007-12-12
- 為Java程式中新增播放MIDI音樂功能2022-05-10Java
- MIDI檔案格式分析(補充和勘誤)2018-04-12
- 軟體、軟體危機、軟體工程 (轉)2007-12-04軟體工程
- 急求板大哥,Tomcat記憶體暴漲2009-01-04Tomcat記憶體
- 為什麼有人說無程式碼和低程式碼軟體行業破壞者?2020-08-18行業