查看單個文章
舊 2006-03-02, 04:20 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 談逆向工程——使程序自己顯示註冊碼

談逆向工程——使程序自己顯示註冊碼

【破文標題】淺談逆向工程——使程序自己顯示註冊碼
【破文作者】飄雲[PYG]
【破解平台】winxp
【作者郵信箱】piaoyun04@163.com
【軟體名稱】精品網路電視王 V6.22 新禧版
【軟體大小】615 KB
【下載位址】http://www4.skycn.com/soft/16083.html
【破解工具】PEid0.93、W32Dasm10.0漢化版、keymake1.73、OD二哥修改版
【保護方式】序列號
【軟體限制】部分功能限制
【破解難度】簡單,適合初學者。
【破解目的】學習破解。
【破解聲明】我乃小菜鳥一隻,偶得一點心得,願與大家分享:)
【軟體介紹】精品網路電視王是在寬瀕網上欣賞網路節目的精品軟體。收集了350多家國內外電視台(鳳凰衛視中文台、香港翡翠台、華娛衛視、星空體育、泰星體育等)和200多家電台。網路節目豐富,包括幾十部精彩的國內外影片、十幾個明星寫真片段、最新演唱會、當今流行歌曲、傳統相聲、膾炙人口的小品和好玩的遊戲。其收視率在96%以上。
·網路電視節目品質清晰、播放穩定
·網路電台音瀕效果劇佳
·界面總在最前端,用戶使用極為方便,佔用系統資源少
·本軟體以實用為主,不帶有任何廣告以阻礙用戶正常收看
·網路節目的動態連接增加了收視率,用戶可既時欣賞
·每日有專業人員對網路內容更新,確保軟體的可行性、實用性和穩定性
·方便用戶操作、保證軟體品質是我們的宗旨
【破解分析】首先用PEid查殼,爽!無殼!開啟W32DASM載入程序,在「串是式資料參考」找到:

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00463AA3(C)======跟過去!
|

* Possible StringData Ref from Code Obj ->"註冊碼無效,請與作者聯係Email:jpsoft_yh@163.com"
|
:00463B7B B8443C4600 mov eax, 00463C44
:00463B80 E85F7AFCFF call 0042B5E4
:00463B85 8B83FC020000 mov eax, dword ptr [ebx+000002FC]
:00463B8B 33D2 xor edx, edx
:00463B8D E81E71FDFF call 0043ACB0
:00463B92 8B83FC020000 mov eax, dword ptr [ebx+000002FC]
:00463B98 8B10 mov edx, dword ptr [eax]
:00463B9A FF92C4000000 call dword ptr [edx+000000C4]

===============================================

:00463A88 8D55F8 lea edx, dword ptr [ebp-08]
:00463A8B 8B83FC020000 mov eax, dword ptr [ebx+000002FC]
:00463A91 E8EA71FDFF call 0043AC80
:00463A96 8B45F8 mov eax, dword ptr [ebp-08]

* Possible StringData Ref from Code Obj ->"fyzo-muaw-jnqs"
|
:00463A99 BACC3B4600 mov edx, 00463BCC =====edx中是真碼
:00463A9E E85108FAFF call 004042F4 =====這裡幾句傳統比較處
:00463AA3 0F85D2000000 jne 00463B7B ★★★從這裡跳的,爆破則改為je★★★
:00463AA9 8BC3 mov eax, ebx
:00463AAB E8E837FFFF call 00457298
:00463AB0 B201 mov dl, 01
:00463AB2 A1DC014300 mov eax, dword ptr [004301DC]
:00463AB7 E820C8FCFF call 004302DC
:00463ABC 8945FC mov dword ptr [ebp-04], eax
:00463ABF 33C0 xor eax, eax
:00463AC1 55 push ebp
:00463AC2 685C3B4600 push 00463B5C
:00463AC7 64FF30 push dword ptr fs:[eax]
:00463ACA 648920 mov dword ptr fs:[eax], esp
:00463ACD BA01000080 mov edx, 80000001
:00463AD2 8B45FC mov eax, dword ptr [ebp-04]
:00463AD5 E8A2C8FCFF call 0043037C
:00463ADA 33C9 xor ecx, ecx

經過在od中分析得知 00463A99 處的edx(也就是4634cc)中是真碼,我們的目標是要讓程序自己顯示註冊碼,即把:"註冊碼無效,請與作者聯係Email:jpsoft_yh@163.com"取代成我們需要的東西! 怎麼改呢?看我的:

* Possible StringData Ref from Code Obj ->"註冊碼無效,請與作者聯係Email:jpsoft_yh@163.com"
|
:00463B7B B8443C4600 mov eax, 00463BCC 就是這裡:把原來的463c44換成463bcc就ok!
:00463B80 E85F7AFCFF call 0042B5E4
:00463B85 8B83FC020000 mov eax, dword ptr [ebx+000002FC]


然後執行程序任意輸入註冊碼看看,哈哈!真碼是不是乖乖跳出來了。

===============================================
附上註冊機寫法:
中斷位址:463a9e
中斷次數:1
第一字元:e8
指令長度:5

記憶體方式-暫存器-edx

===============================================

因為是逆向分析,所以我沒有注重算法,有興趣的可以自己跟蹤!
希望本文能給初學者一點啟發!哈哈!
收工!
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次