国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 邏輯算法 > 正文

怎樣用SOFTICE逆向WinampV2.05的注冊(cè)碼2.1

2019-09-10 09:02:34
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

作者:星痕
e-mail:jrg1982@163.com


1. 用softice載入windows(通過(guò)CTRL+D來(lái)檢查softice是否已經(jīng)準(zhǔn)備好,按F5退出softice);

2. 運(yùn)行winamp,選擇“Winamp...”下的“Shareware”,點(diǎn)擊“Enter Registration info”;

3. 在“Name:”中輸入:Xingheng(隨意),“Reg#:”中輸入:12345678(隨意);

4. 用CTRL+D呼出softice,下萬(wàn)能斷點(diǎn):bpx hmemcpy,按F5返回到winamp;

5. 在winamp中選擇“OK”,等一等?是不是發(fā)現(xiàn)一個(gè)問(wèn)題:“OK”按鈕是無(wú)效的,不能被點(diǎn)擊,也就是說(shuō)程序已經(jīng)知道了注冊(cè)碼是錯(cuò)誤的。如此看來(lái)在我們輸入注冊(cè)碼的過(guò)程中winamp已經(jīng)在判斷輸入的注冊(cè)碼是否正確了,所以當(dāng)我們輸完注冊(cè)碼它已經(jīng)知道注冊(cè)碼是錯(cuò)誤的,因此就禁止了“OK”按鈕;

6. 既然winamp是在我們輸入注冊(cè)碼的過(guò)程中同時(shí)判斷其正確性的,那么我們就不能像通常那樣先輸完注冊(cè)碼再設(shè)置斷點(diǎn),而是要反過(guò)來(lái);

7. 先用 BD * 禁止剛才設(shè)置的斷點(diǎn)(如果不這樣你的任何舉動(dòng)都會(huì)被softice攔截下來(lái)的,不信就試一試^_^);

8. 刪掉剛才輸入的注冊(cè)碼“12345678”,接著按 CTRL+D 切換到softice,用 BE * 恢復(fù)剛才暫停的斷點(diǎn) bpx hmemcpy 。因?yàn)閣inamp會(huì)在我們輸入任何注冊(cè)碼時(shí)判斷其正確性,那么它必定要讀取輸入的信息,這樣的話設(shè)置斷點(diǎn) bpx hmemcpy 一定能監(jiān)視它的一舉一動(dòng);

9. 在“Reg#:”中輸入:1 ,winamp馬上就會(huì)被softice攔截下來(lái);

10. 用 BD * 暫停斷點(diǎn),然后再按F12返回到winamp的領(lǐng)空--問(wèn)題又來(lái)了:當(dāng)你按F12還沒(méi)有返回到winamp的領(lǐng)空時(shí)程序已經(jīng)判斷完畢,回到winamp的控制中了。為什么呢?肯定是斷點(diǎn) bpx hmemcpy 設(shè)置有問(wèn)題。俗話說(shuō)山不轉(zhuǎn)水轉(zhuǎn),既然 bpx hmemcpy 不行我們就干脆換另外的斷點(diǎn)。winamp的注冊(cè)界面是個(gè)對(duì)話框,所以我們干脆用 bpx getdlgitemtexta 試一下;

11. 重新進(jìn)入winamp的注冊(cè)選項(xiàng),然后按 CTRL+D 切換到softice中,下斷點(diǎn) bpx getdlgitemtexta;

12. 在“Reg#:”中輸入:1,哈哈。。。winamp馬上就被softice攔截下來(lái);

13. 用 BD * 禁止剛才設(shè)置過(guò)的斷點(diǎn);

14. 按F12鍵1次返回到winamp的領(lǐng)空:
。。。
0167:0041E6CF CALL [USER32!GetDlgItemTextA]   <-- 獲取對(duì)話框文本
0167:0041E6D5 PUSH 00               <-- 返回winamp的領(lǐng)空時(shí)程序停在這里
0167:0041E6D7 PUSH 00
0167:0041E6D9 PUSH 0000048C
0167:0041E6DE PUSH EBX
0167:0041E6DF CALL [USER32!GetDlgItemInt]    <-- 獲取對(duì)話框文本的整數(shù)值
0167:0041E6E5 MOV ESI,EAX            <-- 返回值EAX中是輸入注冊(cè)碼“1”的16進(jìn)制整數(shù)值1
0167:0041E6E7 LEA EAX,[ESP+10]
0167:0041E6EB PUSH EAX              <-- EAX指向輸入的名字“Xingheng”
0167:0041E6EC CALL 004261E0
0167:0041E6F1 ADD ESP,04
0167:0041E6F4 CMP EAX,ESI            <-- ESI=00000001,EAX=0333F395
0167:0041E6F6 JNZ 0041E703
。。。

15. 從上面的程序看出winamp通過(guò)API函數(shù)GetDlgItemTextA取得輸入的文本信息,然后利用API函數(shù)GetDlgItemInt得到輸入注冊(cè)碼“1”的16進(jìn)制整數(shù)值1并將結(jié)果返回EAX中。按F10走到0167:0041E6EB PUSH EAX時(shí)用 D EAX 可以看到EAX指向輸入的名字“Xingheng”,繼續(xù)跟蹤你會(huì)發(fā)現(xiàn)下面的CALL 004261E0利用“Xingheng”計(jì)算得到16進(jìn)制值0333F395并和我們輸入注冊(cè)碼“1”的16進(jìn)制值相比較,用 ?0333F395 可知其10進(jìn)制值是53736341,因?yàn)椴坏人阅莻€(gè)“OK”鍵始終不能點(diǎn)擊嘍。

16. 驗(yàn)證結(jié)果:重新進(jìn)入winamp的注冊(cè)選項(xiàng),在“Name:”中輸入:Xingheng,“Reg#:”中輸入:53736341,現(xiàn)在“OK”鍵是不是已經(jīng)可用了^_^!點(diǎn)擊“OK”后winamp顯示注冊(cè)成功的消息,搞定了^_^!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 昌都县| 忻州市| 牡丹江市| 洱源县| 枞阳县| 新蔡县| 宁化县| 益阳市| 增城市| 攀枝花市| 琼海市| 沙湾县| 新余市| 灯塔市| 团风县| 千阳县| 五台县| 启东市| 明星| 西畴县| 简阳市| 寿光市| 旬阳县| 鹰潭市| 崇信县| 宽城| 诸暨市| 阳江市| 瑞昌市| 连平县| 民和| 泾源县| 永川市| 鹤壁市| 申扎县| 阆中市| 阳江市| 柘城县| 左云县| 海林市| 墨脱县|