日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
逆向工程工具之Reverse

Reverse是一個(gè)用來(lái)解析二進(jìn)制文件的逆向工程工具,而且它可以生成更具可讀性的代碼(類C語(yǔ)言)并帶有彩色標(biāo)識(shí)的語(yǔ)法,便于研究人員進(jìn)行閱讀代碼。目前,其交互模式仍在做進(jìn)一步開(kāi)發(fā)。

支撐架構(gòu)

架構(gòu):x86, ARM, MIPS
文件格式:ELF, PE, RAW
在GitHub中,也提供了一個(gè)Makefile作為測(cè)試之用,詳細(xì)請(qǐng)點(diǎn)擊鏈接:Makefile。

使用環(huán)境要求

1、python 版本需要在 3.4及以上版本;
2、具備capstone反匯編框架,其能提供豐富的反匯編指令;
3、具備python-pyelftools模塊,用于解析ELF文件(ELF文件除了機(jī)器碼外,還包含其它額外的信息,如段的加載地址,運(yùn)行地址,重定位表,符號(hào)表等)以及DWARF調(diào)試信息,詳細(xì)請(qǐng)點(diǎn)擊鏈接:pyelftools;
4、具備python-pefile模塊,以用于解析PE文件(如exe、dll、vxd、sys和vdm等),詳細(xì)請(qǐng)點(diǎn)擊鏈接:PEfile;
5、具備python-msgpack模塊,用于序列化運(yùn)算,詳細(xì)請(qǐng)點(diǎn)擊鏈接:msgpack;
6、具備256色終端;

你可以通過(guò)運(yùn)行requirements.sh檢測(cè)是否符合所有的要求,requirements.sh。

類反編譯功能

因?yàn)槎M(jìn)制文件中包含了符號(hào)型的main,所以其中的-x main是可選的。具體使用如下,

$ ./reverse.py tests/server.bin

交互模式

在此模式下有更多的命令可以使用(da,db等),當(dāng)然我們也可以通過(guò)help查看更多的命令。

TODO列表

1、添加命令:setbe/setle rawbase(用于原文件格式);
2、如果從shell獲取的文件為raw文件,則進(jìn)行加載。

視覺(jué)模式

在交互模式中,我們可以通過(guò)使用命令 v 來(lái)切換到視覺(jué)模式。但該模式需要ncurses動(dòng)態(tài)庫(kù)的支持。

其中支持,

1、代碼/功能的定義
2、內(nèi)聯(lián)注釋
3、外部參照

TODO列表

1、當(dāng)分析器修改代碼時(shí),自動(dòng)進(jìn)行重載;
2、多行注釋;
3、創(chuàng)建數(shù)據(jù)/數(shù)組;
4、符號(hào)重命名;
5、堆棧變量;
6、結(jié)構(gòu)、枚舉;
7、提高分析器的性能。

Swich-跳轉(zhuǎn)表舉例

Switch語(yǔ)句的使用需要跳轉(zhuǎn)表,但其不能自動(dòng)檢測(cè)。所以我們需要告訴它使用哪一個(gè)跳轉(zhuǎn)表。具體操作如下,

$ ./reverse.py -i tests/others/switch.bin >> x ...>> jmptable 0x400526 0x400620 11 8  # A jump-table at 0x400620 is set with 11 entries, an address is on 8 bytes.>> x # Decompilation with switch

分析shellcode

其中對(duì)于每一個(gè)Int 0×80,該工具都會(huì)嘗試通過(guò)參數(shù)檢測(cè)syscall函數(shù)

$ ./reverse.py --raw x86 tests/shellcode.bin

function 0x0 {     0x0: eax = 0 # xor eax, eax     0x2: al = '\x0b' # mov al, 0xb     0x4: cdq     0x5: push edx     0x6: push 1752379246 "n/sh"     0xb: push 1768042287 "http://bi"     0x10: ebx = esp # mov ebx, esp     0x12: push edx     0x13: push ebx     0x14: ecx = esp # mov ecx, esp     0x16: int 128 ; execve(ebx, ecx, edx) # int 0x80}

使用VIM進(jìn)行編輯

***再通過(guò)使用VIM進(jìn)行編輯,具體參考如下,

$ ./reverse tests/dowhile1.bin --vim Run : vim dowhile1.bin.rev -S dowhile1.bin.vim

GitHub 下載鏈接:GitHub。


網(wǎng)頁(yè)名稱:逆向工程工具之Reverse
本文URL:http://m.5511xx.com/article/cdshedp.html