Argus-PAG

We conduct research to apply static analysis on Dalvik bytecode of both Android applications and libraries, for the purpose of identifying potential malicious behaviors or program vulnerabilities.

About Us »

Jawa Language

Jawa Language

Intermediate representation (IR) for JVM based bytecodes.

Learn More

Argus Static Analysis Framework

Argus-SAF

Static analysis back-end for Jawa Language.

Learn More

Jawa Compiler

Jawa Compiler

Interactive Compiler for Jawa language.

Learn More

Gradle Plugins

Gradle Plugins

Gradle plugins for build Jawa with java and android program.

Learn More

Jawa to Java

jawa2java

Translate Jawa code to Java code.

Learn More

Argus Code Inspection Tool

Argus-CIT

Code Inspection Tool integrate IDE, static analysis, compiler for Jawa language.

Learn More

Products Overview

Argus Program Analysis Group provides open source softwares that assissts researcher and analyst to do program analysis tasks. The following diagram shows the major products from us.

Figure: Argus-PAG products stack.
Figure: Argus-PAG products stack.

Jawa Language

Jawa is an intermediate representation (IR) language for JVM based bytecodes (eg., Java bytecode, Dalvik bytecode). It is a highly flexible, annotation based, and have the capability of representing ‘all’ JVM based bytecode cleanly. Jawa defines the grammar for static analysis and IDE tools build upon it.

Argus-SAF

Argus Static Analysis Framework is a static analysis back-end for Jawa Language. It provides a framework to do static analysis on any Jawa convertible program (e.g., Java program, Android program). It currently integrated Jawa and Amandroid, thus have the capability to perform comprehensive, efficient and highly precise inter-component analysis for Android applications.

Jawa Compiler

Jawa compiler provides compilation support for Jawa language. It provides lexer and parser to parse jawa code, and code generator to generate java bytecode from Jawa code. This gives Jawa language the ability to work with Java program and perform Java/Jawa cross compilation.

Gradle Plugins

We developed two gradle plugins (gradle-jawa-plugin and gradle-android-jawa-plugin) to allowing Jawa language to build with java and android program.

jawa2java

Jawa-to-Java provides user the ability to translate Jawa code to Java code, which helps reverse engineering Android application much easier. jawa2java addressed the challenges of recovering control logic and exception handling, and we plan to further optimize the translation to make it even more readable.

Argus-CIT

Argus Code Inspection Tool is a platform which leverages all aforementioned products to provide a user friendly reverse engineering and program analysis working environment. It provides an IDE environment for reviewing and editing Jawa language, and integrated compiler plugins, static analysis plugins and code translation plugins to make it powerful and convenient. Argus-CIT currently have an Eclipse implementation and Intellij implementation. As Android development is shifting to Intellij based IDE, we stoped support for Eclipse.