Java的二元性增强工具(JBET)是一个通用的Java程序分析和操作的工具。现有的类文件可以被拆开,重新组装,或者通过API JBET编程编辑。 JBET也可以用于从头开始创建新的Java类文件。 JBET使用的Java的二进制(的.class)文件的所有内容的方便的内部表示,从而允许用户容易地编辑的类,以结构化方式。
JBET是作为在OASIS DARPA的自我保护移动代理的项目和部分主动网络方案(合同号N66001-00-C-8602)为了研究自动化软件混淆。
Java语言的选择,因为(相对)容易通过建设大量存在于类文件类型信息提供的二进制编辑工具的这个项目。我们的两份报告中,混淆技术评估报告,以及混淆报告,都可以从下载区。开发的混淆工具不是此版本的一部分。
JBET也被用在DARPA / AFRL存活服务器项目(合同编号F30602-00-C-0183),以增加额外的安全检查,以Java标准库。 (Java的安全管理器API不支持许多理想的安全检查,如开放后的文件访问授权继续。)
JBET被用来取代调用一个可插拔的安全策略存根Java标准库的本地方法的参考。这个工具,称为Jpolicy,也可以下载这个网站。 Jpolicy是非常不完整的,此时,也可以是吸引那些工作在Java安全或改变标准库本身。
使用的JBET Java类文件的内部表示intented,以方便程序员编写的Java二进制代码转换。 Java类文件中的每个元素都有一个相应的内部数据结构:的ClassInfo为整个类,MethodInfo的为方法,字段信息字段的,Snippit为码块,并指令为单个指令。 Snippit与教学理解的Java操作码的语法和语义,从而有效的Java程序自动创建。一个Java兼容级验证也包括在内。
某些代码变换是难以直接通过操纵Java指令进行编程。对于那些变换,代码有向非循环图(DAG)表示可用。 DAG中表示,每个基本块具有对应的DAG,与一组输入和输出节点的。图中的边缘连接“生产者”节点(如常量,或者计算的结果),以“用户”节点(如方法调用或其他计算)。方法分为基本块和控制流被存储在基本块级(可能因为Java只具有固定的跳转目标)
JBET需要一个Java 1.4虚拟机来运行,虽然它可以从早期的Java版本的类文件进行操作。供给的包装和构建环境支持Linux和Windows的Cygwin用;然而,构建过程简单,可以在其他平台上手动执行。 Perl是需要进行回归测试。
Jpolicy需要一个Java 1.4虚拟机的建立,Linux或Windows NT / XP与Cygwin的。 GCC需要建立在Windows(Cygwin的带附件)。运行时系统可以是Java的1.3或1.4(Sun的JVM只),在Linux或Windows NT / XP上运行。的Windows 9x和Windows 2000可能工作为好,但还没有经过测试。
安装
1.安装JDK 1.4.1。
2.设置CLASSPATH以JDK1.4.1 / JRE / lib中/的rt.jar
3. CD SRC;使
4.如果没有工作,检查Makefile文件。 java或javac的可能不是在路径。
5.要建立一个能与“Java的罐子jbet.jar”中使用的jar文件,运行“make罐子”。
6.如果您有Perl安装,运行与“做试验”的测试。
或者,运行“make再生,使测试”。
使你的路径从jbet3 /斌/ JBET某处的符号链接。
用法
JBET使用JNI格式类名和JNI类型和方法描述符。对于这个语法的总结,使用'JBET帮助语法“。 Sun的JVM规范也可以是有帮助的。
看一个类的拆装,使用'JBET打印“。尝试拆卸一类,你有来源,并建立与调试信息(-g):“JBET -P
按类别搜索
热门软件
Quirky Linux 22 Jun 18
Zorin OS Lite 16 Aug 18
Google Music Manager 15 Apr 15
Zuma Deluxe 20 Feb 15
PyVISA 3 Jun 15
ed2k-gtk-gui 4 Jun 15
NdisWrapper 11 May 16
Java Binary Enhancement Tool
类似的软件
意见 Java Binary Enhancement Tool
按类别搜索
热门软件
Ubuntu MATE 16 Aug 18
Absolute Linux 22 Jun 18
qNotesManager 17 Feb 15
BackBox Linux 16 Aug 18
Plants vs. Zombies 12 May 15
LaTeX::BibTeX 14 Apr 15
Syslinux 17 Feb 15
评论没有发现