Skip to content

Xcomplie is to help with the reverse engineering of executable code or binaries and find potential bugs with out run the program.

Notifications You must be signed in to change notification settings

LeoonZHANG/Xcomplie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

##########Xcomplie介绍

Xcomplie is to help with the reverse engineering of executable code or binaries and find potential bugs with out run the program.

Xcompile是通过静态分析的方法检测二进制程序可能存在的漏洞或者bug。 借助自行定义的反编译器将二进制程序/机器码转化成容易理解的中间语言IR,之后静态分析器去抽象解释该IR,通过符号执行以及数据流分析的方法,能够在不运行该程序的 情况下检测出内存越界访问、对象类型混淆等类型的漏洞。

目前实现的反编译器可以将Intel x86-32 、 x86-64 、 AVR-8 架构的机器码(ELF以及PE格式的文件)转化成相应的IR语言。 其中反编译器使用的标准是Generic Decoder Specification。

##########命令行使用

调用该分析器的命令:
'java -jar Xcomplie.jar '
老规矩帮助命令: 'java -jar Xcomplie.jar --help' 其中在Xcomplie中实现了基本的编译、转化、分析、日志等命令,具体可以使用help命令查看。

########## GUI图形界面使用 图形界面主要还是方便查看代码的CFG(控制流图),可以显示出CFG,当然这个主要是借助谷歌的开源框架BiNNavi。但是在实际检测漏洞时,GUI不用也行。

########## 安装依赖 由于该工程集成一些其他开源框架,因此大多数的安装依赖都包含在其他开源框架中, 由于需要兼容,分析器主要是用 Java 语言写的,因此Java的环境依赖肯定需要. 当然,不同操作系统所需要的安装库也要装上,我使用的环境如下:

  • JDK 1.7 (或者更高)
  • Maven 3 build tool 其中,我还用到的开源框架库如下:

########## 安装过程 Windows 和 Unix 安装过程比较简单:

根目录下执行 mvn clean 再执行 mvn package -DskipTests

最后运行:

java -jar Xcomplie--shaded.jar

About

Xcomplie is to help with the reverse engineering of executable code or binaries and find potential bugs with out run the program.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published