逆編譯器(Binary Ninja) v1.3.2015免費(fèi)版

2022-07-12發(fā)布者:lisi大?。?/span> 下載:0

文件大小:

軟件介紹

Binary Ninja提供了許多的方式來修改二進(jìn)制文件,大致可以分為低級和高級模式兩種, 其中低級模式主要就是原始碼的十六進(jìn)制編輯和匯編模式, 高級模式可以使用內(nèi)置的C編譯器直接書寫C代碼來進(jìn)行操作。有需要的小伙伴歡迎來下載體驗(yàn)。

image.png

軟件概述:
我們經(jīng)常會收到這樣的問題,比如:
Binary Ninja比xx軟件好在哪里呢?
Binary Ninja這個軟件最主要的作用是什么呢?
對于上面的兩個問題,簡要的回答起來是這樣的:
Binary Ninja相對于其他類似軟件來說, 能夠更快、更便捷的修改二進(jìn)制文件
Binary Ninja最主要的作用是提供了一個可供操作二進(jìn)制文件的平臺,你甚至還可以在平臺的基礎(chǔ)上基于API來編寫更方便的腳本和插件
那么我們?yōu)槭裁匆薷默F(xiàn)有的二進(jìn)制文件呢?總結(jié)起來大致有一下幾種情況:
無需長時間的等待編譯完畢,可以快速的測試修改結(jié)果
對程序進(jìn)行黑盒評測
維護(hù)或者升級老程序(一般是沒有源碼對情況)
通過修改二進(jìn)制文件學(xué)習(xí)現(xiàn)有的一個軟件系統(tǒng)或者修復(fù)軟件問題
修復(fù)第三方庫的安全問題
反混淆
軟件特征:
HEX編輯模式
是最直觀的修改方式,也是最簡易的一種修改方式。如上圖所示,可以通過右下角的菜單按鈕或者熱鍵H打開(^ + H),這里要注意一下,這里介紹的熱鍵如果沒有效果,可以去參考 用戶文檔.
這種編輯模式下,可以一邊修改,一邊實(shí)時的看修改結(jié)果,從而到達(dá)比較高的修改測試效率,一次修改過程大致的操作步驟如下:
先在圖形視圖或者線性匯編試圖中找一個準(zhǔn)備修改的函數(shù)
使用菜單 view -> Split進(jìn)行一次屏幕視圖拆分
現(xiàn)在可以隨意調(diào)整拆分的視圖,看著舒服就行,把其中一個視圖切換到hex編輯模式,并修改一下上面選定的函數(shù)。你這邊修改,另一個視圖中就會看到同步的修改結(jié)果展示,一般情況下,如果修改一個比較大的函數(shù)的時候,操作反應(yīng)可能會慢一點(diǎn)。編輯器也支持大塊的復(fù)制粘貼操作。
結(jié)構(gòu)體實(shí)時修改
這個實(shí)時預(yù)覽功能說起來比反匯編字節(jié)碼有用多了, 這里給出一個實(shí)時修改結(jié)構(gòu)體并查看結(jié)構(gòu)體解碼結(jié)果的的演示視頻:
這里本來是一段演示視頻,但是是youtube的視頻源,沒有辦法觀看,請?jiān)谠逆溄又蟹瓑τ^看(sorry),視頻地址是:http://www.youtube.com/embed/sCKiG_xdNSc
點(diǎn)兩下鼠標(biāo)就搞定
上面介紹的方法,需要你對二進(jìn)制的內(nèi)容甚至是系統(tǒng)架構(gòu)有所了解,對于大多人來說可能還有點(diǎn)困難,但是在Binary Ninja這個平臺上,你甚至不必了解那么多的知識也可以通過平臺來完成二進(jìn)制文件的修改工作。比如,專有的 右鍵修改菜單,有了這個菜單的幫助,你只需要點(diǎn)兩下鼠標(biāo)就可以了
這個彈出菜單里面有不少專門用來修改條件分支跳轉(zhuǎn)的功能,通過這些選項(xiàng)你可以強(qiáng)制性的把一個條件分支改成 永遠(yuǎn)跳轉(zhuǎn)或者永不跳轉(zhuǎn)。使用 Invert Brach功能,可以進(jìn)行條件反轉(zhuǎn),這些功能使用起來很簡單命令,但是確實(shí)能很方便快速的實(shí)現(xiàn)你想要的結(jié)果。
還有其他的一些有用的功能,比如把一些匯編指令給Nop掉,也就是說,你選中一條指令,然后用這個功能來進(jìn)行Nop指令替換,這里系統(tǒng)還會自動的進(jìn)行剩余空間填充,比如原先的指令占4個直接,你直接把這條指令給Nop調(diào)用,那么剩下的3個字節(jié)系統(tǒng)會自動的給你也填充成Nop指令,這個功能對于那種變長指令系統(tǒng)還是很實(shí)用的。
這里需要注意的一點(diǎn)是, 如果你把鼠標(biāo)放到一個條件分支上,這個時候菜單里面可能沒有 Convert to NOP這個選項(xiàng),因?yàn)楹?as Never功能是一樣的,軟件顯示一個就夠了。
單行編輯
在Patch這個菜單中,還有一些隱藏的菜單項(xiàng),比如單行編輯功能。使用單行編輯功能,你可以快速的以匯編形式修改單行指令。選擇一條需要修改的指令,按快捷鍵e或者使用右鍵菜單Patch/Edit current line選項(xiàng),然后就可以看到選中那條匯編指令就變成了可編輯狀態(tài),編輯完成之后按回車即可,Binary Ninja會自動把修改結(jié)果應(yīng)用到二進(jìn)制文件中去。
如果編輯匯編的時候,新指令比原先的指令長度小的話,工具會自動填充余下的空間為NOP指令,比如在 x86 x64這些變長指令系統(tǒng)上。
附加說明:工具會盡最大努力保證匯編和反匯編的正確性, 如果遇到指令錯誤或者不支持的指令,可以聯(lián)系我們,把這些特殊的情況跟我們溝通一下

發(fā)表評論(共0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī),評論內(nèi)容只代表網(wǎng)友觀點(diǎn),發(fā)表審核后顯示!

版權(quán)聲明:

1 本站所有資源(含游戲)均是軟件作者、開發(fā)商投稿,任何涉及商業(yè)盈利目的均不得使用,否則產(chǎn)生的一切后果將由您自己承擔(dān)!

2 本站將不對任何資源負(fù)法律責(zé)任,所有資源請?jiān)谙螺d后24小時內(nèi)刪除。

3 若有關(guān)在線投稿、無法下載等問題,請與本站客服人員聯(lián)系。

4 如侵犯了您的版權(quán)、商標(biāo)等,請立刻聯(lián)系我們并具體說明情況后,本站將盡快處理刪除,聯(lián)系QQ:2499894784

返回頂部