编译工具

关注公众号 jb51net

关闭
逆向编译调试Binary Ninja Personal v4.0.5336 免费注册授权版(附安装教程)

逆向编译调试Binary Ninja Personal v4.0.5336 免费注册授权版(附安装教程)

热门排行

简介

Binary Ninja个人版是一款由逆向工程师为逆向工程师构建的交互式反编译器、反汇编器、调试器和二进制分析平台,由逆向工程师构建,供逆向工程师使用。Binary Ninja 的开发重点是提供高质量的自动化 API 和干净可用的 GUI,被全球恶意软件分析师、漏洞研究人员和软件开发人员积极使用。欢迎需要此款工具的朋友前来下载使用。

主要特征

反编译
将代码反汇编并反编译为 C 或 BNIL,适用于任何受支持的体系结构(包括你自己的体系结构)。

分析
可视化控制流并以交互方式浏览交叉引用。

自动化
使用 C++、Python 和 Rust API 从 UI 内部或外部自动执行分析。

调试
在任何受支持的体系结构或平台上本地或远程调试程序。

合作
使用我们的企业产品轻松协作,同步提交。

加速
通过额外的 AI 功能加速分析并优化理解。

使用说明

1、安装软件并关闭

2、将补丁复制到C:\Users\用户名\AppData\Local\Vector35\BinaryNinja

3、打开软件,点击Locate license file导入license.dat

软件特色

现代UI

并非所有的黑客都会忽略UI/UX。Binary Ninja使用了现代的UX范式,如果默认的主题不适合你,你可以使用众多替代品中的一种。

广泛的API

我们的Python和C++绑定能够与平台的几乎所有元素进行交互。UI、ILs、反汇编、头文件、我们的类型解析器等等。

强大的分析

代码和数据交叉引用、基于置信度的类型传播、值集分析等--所有这些都是自动完成的,并且能够以一种与架构无关的方式进行脚本。

二进制忍者中级语言(BNIL)

我们创建了一个强大而又易于阅读的IL系列,涵盖了分析的多个阶段。最低级别接近汇编,更高的级别接近反编译输出。对于不支持的架构,实现提升器也极其简单

软件特征

HEX编辑模式

是最直观的修改方式,也是最简易的一种修改方式。如上图所示,可以通过右下角的菜单按钮或者热键H打开(^ + H),这里要注意一下,这里介绍的热键如果没有效果,可以去参考 用户文档.

这种编辑模式下,可以一边修改,一边实时的看修改结果,从而到达比较高的修改测试效率,一次修改过程大致的操作步骤如下:

先在图形视图或者线性汇编试图中找一个准备修改的函数

使用菜单 view -> Split进行一次屏幕视图拆分

现在可以随意调整拆分的视图,看着舒服就行,把其中一个视图切换到hex编辑模式,并修改一下上面选定的函数。你这边修改,另一个视图中就会看到同步的修改结果展示,一般情况下,如果修改一个比较大的函数的时候,操作反应可能会慢一点。编辑器也支持大块的复制粘贴操作。

结构体实时修改

这个实时预览功能说起来比反汇编字节码有用多了。

点两下鼠标就搞定

上面介绍的方法,需要你对二进制的内容甚至是系统架构有所了解,对于大多人来说可能还有点困难,但是在Binary Ninja这个平台上,你甚至不必了解那么多的知识也可以通过平台来完成二进制文件的修改工作。比如,专有的 右键修改菜单,有了这个菜单的帮助,你只需要点两下鼠标就可以了

这个弹出菜单里面有不少专门用来修改条件分支跳转的功能,通过这些选项你可以强制性的把一个条件分支改成 永远跳转或者永不跳转。使用 Invert Brach功能,可以进行条件反转,这些功能使用起来很简单命令,但是确实能很方便快速的实现你想要的结果。

还有其他的一些有用的功能,比如把一些汇编指令给Nop掉,也就是说,你选中一条指令,然后用这个功能来进行Nop指令替换,这里系统还会自动的进行剩余空间填充,比如原先的指令占4个直接,你直接把这条指令给Nop调用,那么剩下的3个字节系统会自动的给你也填充成Nop指令,这个功能对于那种变长指令系统还是很实用的。

这里需要注意的一点是, 如果你把鼠标放到一个条件分支上,这个时候菜单里面可能没有 Convert to NOP这个选项,因为和 as Never功能是一样的,软件显示一个就够了。

单行编辑

在Patch这个菜单中,还有一些隐藏的菜单项,比如单行编辑功能。使用单行编辑功能,你可以快速的以汇编形式修改单行指令。选择一条需要修改的指令,按快捷键e或者使用右键菜单Patch/Edit current line选项,然后就可以看到选中那条汇编指令就变成了可编辑状态,编辑完成之后按回车即可,Binary Ninja会自动把修改结果应用到二进制文件中去。

如果编辑汇编的时候,新指令比原先的指令长度小的话,工具会自动填充余下的空间为NOP指令,比如在 x86 x64这些变长指令系统上。

附加说明:工具会尽最大努力保证汇编和反汇编的正确性, 如果遇到指令错误或者不支持的指令,可以联系我们,把这些特殊的情况跟我们沟通一下

更新日志

4.0.5336 (2024-05-27)

修正了 - Bug (5158) 导致在某些情况下设置类型时挂起的问题
修正了 - KDE 6 下命令调色板焦点的错误 (5446)
修正了 - 最新版 Fedora 中的崩溃 (5401)
修正了 - 使用 ExternalLibraries 打开 BNDB 时的崩溃 (5444)
修正 - 打开数据库时取消进度时的崩溃 (5254)
修正了 - 在某些情况下打开二进制文件时侧边栏部件崩溃的问题(5255)
修正了 - 在某些情况下使用枚举显示类型时崩溃的问题 (5445)
修正了 - 嵌套文件夹在重新打开 BNDB 时可能崩溃的问题 (5441)
修正了 - 在 Windows 上使用 Binary Ninja Free 时 LLDB 崩溃(调试器 #566)的问题,不再崩溃,但仍无法使用。

大家还下载了