兩分種搞定UPX殼
Author:yellow
Email:[email protected]
Home Page:www.safechina.net
Date:2004-01-19.夜
我從沒有搞過破解只是在前段時間學習PE文件格式在看雪學院Down了一些資料明
天就要放假了閑來無事用一個小時把看雪學院的通覽了一遍為
了練習搞定了幾個CrackMe覺得也怪好玩的覺得!
Crack技術里的脫殼技術是非常有意思
我不想解釋脫殼的概念什么的這方面的資料非常多好了不廢話下面讓開始講解如何
在兩分種內脫掉UPX的殼以前沒有搞過Crack有什么Error的地方高手誤笑!呵呵!
相關工具:
UPX 1.23W(用于壓縮和加殼)
W32Dasm 10.0黃金漢化版(Cracker們和Hacker們都經常要用的)
OllyDbg 1.09c聆風聽雨漢化版(這個漢化Bug很少很好用)
OllyDump(OllyDbg脫殼插件)
"開始"-->"程序"-->"附件"-->"游戲"-->"掃雷"-->"右擊"-->"屬性"-->"查找目標"
復制到工作目錄下(我的是D:/temp/Crack/)使用UPX對掃雷程序加殼
命令如下:
d:/temp/crack>upx -9 winmine.exe -o swinmine.exe
目錄下生成了一個名為swinmine.exe的已加殼程序
使用W32Dasm打開反匯編已經看不到引入和引出函數參考對話框和菜單參考字串參考全變成了
String Resource ID=00001: "哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌"
String Resource ID=00002: "哌哌哌哌哌哌哌哌哌哌哌哌哌哌?
哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌?quot;
String Resource ID=0!
0003: &q
uot;哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌"
String Resource ID=00004: "哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌"
String Resource ID=00005: "哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌"
String Resource ID=00007: "哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌"
String Resource ID=00009: "哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌"
String Resource ID=00011: "哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌"
String Resource ID=00014: "哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌"
String Resource ID=00014: "哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌"
先按Ctrl+End光標走到了最后一行再選擇W32Dasm的"查找/查找文本"菜單輸入"popad"選中
查找方向為向上找到這樣的語句:
:0101BC28 FF96E8BC0100 !
call dword ptr [esi+0001BCE8]
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
│:0101BBF0(C)
│
:0101BC2E 61 popad
:0101BC2F E99C81FEFF jmp 01003DD0;<==---
光標移到:0101BC2F E99C81FEFF jmp 01003DD0這句上選擇"編輯/快速編輯"
菜單項將
E99C81FEFF000000000000000000000000000000改為
CCE99C81FEFF0000000000000000000000000000
(后面去掉兩個一字節前面添加一字節的十六進制數的CC即匯編語句int 3User Break
Point中斷調用)保存成Pswinmine.exe運行一下彈出一個MessageBox"Software Exception...
位置0101bc2f"出現一個未處理異常?出錯了?沒有!沒有!是我們寫入的int 3發出的!
看
清楚它的位置0101bc2f
再反匯編Pswinmine.exe看一下0x01!
01bc2f地
址的指令就明白了:
:0101BC28 FF96E8BC0100 call dword ptr [esi+0001BCE8]
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
│:0101BBF0(C)
│
:0101BC2E 61 popad
:0101BC2F CC int 03;<==---
:0101BC30 E99C81FEFF jmp 01003DD1<==---
退出W32Dasm打開OllyDbg打開剛才打過用戶中斷調用補丁的Pswinmine.exe程序顯示
"模塊"Pwinmine"的快速統計測試報告說明它的代碼總發也許是經過了壓縮加密或者包含
很大數目的嵌入式數據.代碼分析結果將會是非常不可靠的或者是簡單而且錯誤的.您確定要
繼續進行分析嗎?"當然!
點"是"了再按F9程序會中斷在0101bc2f因為我們int 3調用了User
Break Point中斷控制權轉到了OllyDbg其實加殼(加密)后程序需要在執行時由一小段程序
來解密程序然后再跳轉到解密后的代碼執行這和Overflow攻擊中使用的ShellCode編解碼技
術驚人的相似ShellCode在解碼以前只有一小段代碼(通常是解碼子程序)是可執行的其它未
經解碼的代碼(其實在未解碼前它們同加殼過的軟件代碼一樣是一系列毫無規則的錯誤的指令
甚至是根本不存在的指令代碼)如果執行就會出現錯誤.
右擊選"Dump Debuged Process"在Entry Point框輸入3dd1注意是3dd1而不是3dd0輸入保
存文件名123.exe點確定保存運行一下一切正常(這時程序已從內存中被脫殼出來).
退出OllyDbg打開W32Dasm再次反匯編123.exe(已脫UPX殼的掃雷程序)
菜單參考:
Menu: MenuID_01F4
Menu: MenuID_01F4 Item: ""
Menu: MenuID_01F4 Item: "??)(M)"
Menu: MenuID_01F4 Item: "?B)"
Menu: MenuID_01F4 Item: "-?I)"
Menu: MenuID_01F4 Item: "痼(S)"
Menu: MenuID_01F4 !
Item: "丕(E)"
Menu: MenuID_01F4 Item: "
主站蜘蛛池模板:
久久国产精品成人免费网站
|
精品国产一区二区三区久久久蜜月
|
国产91小视频在线观看
|
久久久久久久久久久综合
|
毛片一级片|
七首小情歌泰剧在线播放
|
久久久久久久亚洲精品
|
久久激情国产
|
久久影院在线观看
|
92看片淫黄大片一级
|
国产高潮失禁喷水爽到抽搐视频
|
国产亚洲在
|
欧美日韩专区国产精品
|
成人9禁啪啪无遮挡免费
|
亚洲第一页在线观看
|
欧美一级片免费在线观看
|
国产免费观看av
|
粉嫩蜜桃麻豆免费大片
|
在线播放视频一区二区
|
欧美韩国日本在线
|
中文字幕网址
|
羞羞答答tv|
日本黄色免费播放
|
国产毛毛片一区二区三区四区
|
日韩深夜视频
|
在线成人免费观看www
|
色吧久久
|
国产精品入口夜色视频大尺度
|
h色网站免费观看
|
久久九九热re6这里有精品
|
久久成人黄色
|
一区二区三区视频在线
|
涩涩伊人|
久草在线手机观看
|
久色乳综合思思在线视频
|
中文字幕在线网站
|
国产永久免费观看
|
欧美成人理论片乱
|
欧美一级黄视频
|
亚洲国产色婷婷
|
天天夜天天操
|