日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言反向工程软件,逆向工程工具之Reverse

發布時間:2023/12/20 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言反向工程软件,逆向工程工具之Reverse 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

支撐架構

架構:x86, ARM, MIPS

文件格式:ELF, PE, RAW

在GitHub中,也提供了一個Makefile作為測試之用,詳細請點擊鏈接:Makefile。

使用環境要求

1、python 版本需要在 3.4及以上版本;

2、具備capstone反匯編框架,其能提供豐富的反匯編指令;

3、具備python-pyelftools模塊,用于解析ELF文件(ELF文件除了機器碼外,還包含其它額外的信息,如段的加載地址,運行地址,重定位表,符號表等)以及DWARF調試信息,詳細請點擊鏈接:pyelftools;

4、具備python-pefile模塊,以用于解析PE文件(如exe、dll、vxd、sys和vdm等),詳細請點擊鏈接:PEfile;

5、具備python-msgpack模塊,用于序列化運算,詳細請點擊鏈接:msgpack;

6、具備256色終端;

你可以通過運行requirements.sh檢測是否符合所有的要求,requirements.sh。

類反編譯功能

因為二進制文件中包含了符號型的main,所以其中的-x main是可選的。具體使用如下,

$./reverse.py?tests/server.bin

交互模式

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

TODO列表

1、添加命令:setbe/setle rawbase(用于原文件格式);

2、如果從shell獲取的文件為raw文件,則進行加載。

視覺模式

在交互模式中,我們可以通過使用命令 v 來切換到視覺模式。但該模式需要ncurses動態庫的支持。

其中支持,

1、代碼/功能的定義

2、內聯注釋

3、外部參照

TODO列表

1、當分析器修改代碼時,自動進行重載;

2、多行注釋;

3、創建數據/數組;

4、符號重命名;

5、堆棧變量;

6、結構、枚舉;

7、提高分析器的性能。

Swich-跳轉表舉例

Switch語句的使用需要跳轉表,但其不能自動檢測。所以我們需要告訴它使用哪一個跳轉表。具體操作如下,

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

分析shellcode

其中對于每一個Int 0×80,該工具都會嘗試通過參數檢測syscall函數

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

function0x0{0x0:eax=0#?xor?eax,?eax0x2:al='\x0b'#?mov?al,?0xb0x4:cdq0x5:push?edx0x6:push1752379246"n/sh"0xb:push1768042287"//bi"0x10:ebx=esp#?mov?ebx,?esp0x12:push?edx0x13:push?ebx0x14:ecx=esp#?mov?ecx,?esp0x16:int128;execve(ebx,ecx,edx)#?int?0x80}

使用VIM進行編輯

***再通過使用VIM進行編輯,具體參考如下,

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

GitHub 下載鏈接:GitHub。

【責任編輯:藍雨淚 TEL:(010)68476606】

點贊 0

總結

以上是生活随笔為你收集整理的c语言反向工程软件,逆向工程工具之Reverse的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。