Binary Ninja(逆向编译平台)出色的编程方面的軟件,可以通过它对程序进行逆向的编译处理,功能非常的棒,编译的速度非常的快捷,用户的使用体验非常的出色哦,可以轻松的进行各种模式的编辑軟件,支持多种代码哦!

Binary Ninja功能说明
Binary Ninja相对于其他类似軟件来说, 能够更快、更便捷的修改二进制文件
Binary Ninja提供了一个可供操作二进制文件的平台,你甚至还可以在平台的基础上基于API来编写更方便的脚本和插件
無需長時間的等待編譯完畢,可以快速的測試修改結果
對程序進行黑盒評測
維護或者升級老程序(一般是沒有源碼對情況)
通过修改二进制文件学习现有的一个軟件系统或者修复軟件问题
修複第三方庫的安全問題
反混淆
Binary Ninja軟件优势
HEX編輯模式
是最直观的修改方式,也是最简易的一种修改方式。如上图所示,可以通过右下角的菜单按钮或者热键H打开(^ + H),这里要注意一下,这里介绍的热键如果没有效果,可以去参考 用户文档.
這種編輯模式下,可以一邊修改,一邊實時的看修改結果,從而到達比較高的修改測試效率,一次修改過程大致的操作步驟如下:
先在圖形視圖或者線性彙編試圖中找一個准備修改的函數
使用菜单 view -> Split进行一次屏幕视图拆分
現在可以隨意調整拆分的視圖,看著舒服就行,把其中一個視圖切換到hex編輯模式,並修改一下上面選定的函數。你這邊修改,另一個視圖中就會看到同步的修改結果展示,一般情況下,如果修改一個比較大的函數的時候,操作反應可能會慢一點。編輯器也支持大塊的複制粘貼操作。
結構體實時修改
这个实时预览功能说起来比反汇编字节码有用多了, 这里给出一个实时修改结构体并查看结构体解码结果的的演示视频:
這裏本來是一段演示視頻,但是是youtube的視頻源,沒有辦法觀看,請在原文鏈接中翻牆觀看(sorry),視頻地址是:http://www.youtube.com/embed/sCKiG_xdNSc
點兩下鼠標就搞定
上面介绍的方法,需要你对二进制的内容甚至是系统架构有所了解,对于大多人来说可能还有点困难,但是在Binary Ninja这个平台上,你甚至不必了解那么多的知识也可以通过平台来完成二进制文件的修改工作。比如,专有的 右键修改菜单,有了这个菜单的帮助,你只需要点两下鼠标就可以了
这个弹出菜单里面有不少专门用来修改條件分支跳转的功能,通过这些选项你可以强制性的把一个條件分支改成 永远跳转或者永不跳转。使用 Invert Brach功能,可以进行條件反转,这些功能使用起来很简单命令,但是确实能很方便快速的实现你想要的结果。
還有其他的一些有用的功能,比如把一些彙編指令給Nop掉,也就是說,你選中一條指令,然後用這個功能來進行Nop指令替換,這裏系統還會自動的進行剩余空間填充,比如原先的指令占4個直接,你直接把這條指令給Nop調用,那麽剩下的3個字節系統會自動的給你也填充成Nop指令,這個功能對于那種變長指令系統還是很實用的。
这里需要注意的一点是, 如果你把鼠标放到一个條件分支上,这个时候菜单里面可能没有 Convert to NOP这个选项,因为和 as Never功能是一样的,軟件显示一个就够了。
單行編輯
在Patch这个菜单中,还有一些隐藏的菜单项,比如單行編輯功能。使用單行編輯功能,你可以快速的以汇编形式修改单行指令。选择一條需要修改的指令,按快捷键e或者使用右键菜单Patch/Edit current line选项,然后就可以看到选中那條汇编指令就变成了可编辑状态,编辑完成之后按回车即可,Binary Ninja会自动把修改结果应用到二进制文件中去。

Binary Ninja軟件特色
現代UI
并非所有的黑客都会忽略UI/UX。Binary Ninja使用了现代的UX范式,如果默认的主题不适合你,你可以使用众多替代品中的一种。
廣泛的API
我們的Python和C++綁定能夠與平台的幾乎所有元素進行交互。UI、ILs、反彙編、頭文件、我們的類型解析器等等。
強大的分析
代碼和數據交叉引用、基于置信度的類型傳播、值集分析等--所有這些都是自動完成的,並且能夠以一種與架構無關的方式進行腳本。
二進制忍者中級語言(BNIL)
我們創建了一個強大而又易于閱讀的IL系列,涵蓋了分析的多個階段。最低級別接近彙編,更高的級別接近反編譯輸出。對于不支持的架構,實現提升器也極其簡單
Binary Ninja更新日志
2.0.2170 (2020-05-22)
- 修正了。解决了加载数据库时的崩溃问题
Binary Ninja安装说明
將下載好的壓縮文件解壓,找到安裝文件雙擊安裝
彈出主界面,點擊下一步
選擇同意安裝協議,點擊下一步
選擇安裝對象,點擊下一步
选择軟件的安装路径,建议不要在装载在C盘,以免占用内存,点击install进行安装。
程序正在安裝中,請耐心等待程序安裝完成即可。
Binary Ninja軟件测评
Binary Ninja提供了许多的方式来修改二进制文件,大致可以分为低级和高级模式两种, 其中低级模式主要就是原始码的十六进制编辑和汇编模式, 高级模式可以使用内置的C编译器直接书写C代码来进行操作。