From 0bb41d382aa20dcb148034e91b97a04a3ba78300 Mon Sep 17 00:00:00 2001 From: flankerhqd Date: Fri, 3 Jun 2016 15:52:51 +0800 Subject: [PATCH] Update README.md --- README.md | 84 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 43 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index c4e4410..46c25c4 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Command line for analysis: ###-c option -c must be provided as the directory for config files, including taint rules, source and sink, vulnerable API description and so on. If you do -not understand the config files' content, do not modify them, leave them as it is. +not understand the config files content, do not modify them, leave them as it is. ###-p option -p option specifies the android platform directory, which usually just points to ${ANDROID_SDK}/platforms/ @@ -34,53 +34,55 @@ not understand the config files' content, do not modify them, leave them as it i ## Output JADE will output result to in a list to console and also writes json-ed result to output/ directory: {MD5_OF_INPUT_APK}.txt. A sample can be find in output directory of this repo: https://github.com/flankerhqd/JADE/blob/master/output/92db77bbe1cae9004f11ef9d3d6cbf08.txt - Snippet: - }, { - "desc": "sensitive data flow", - "sourceStmt": "$r24 = virtualinvoke $r2.($r24)", - "custom": "", - "vulnKind": 2, - "destMethod": "", - "paths": [], - "destStmt": "virtualinvoke $r1.($r27, $r24)", - "sourceMethod": "" - }, { - "desc": "sensitive data flow", - "sourceStmt": "$r4 = virtualinvoke $r2.()", - "custom": "", - "vulnKind": 2, - "destMethod": "", - "paths": [], - "destStmt": "virtualinvoke $r1.($r2)", - "sourceMethod": "" - }, { - "desc": "sensitive data flow", - "sourceStmt": "$r6 = virtualinvoke $r2.($r6)", - "custom": "", - "vulnKind": 2, - "destMethod": "", - "paths": [], - "destStmt": "virtualinvoke $r1.($r2)", - "sourceMethod": "" - }, { - "desc": "sensitive data flow", - "sourceStmt": "$r9 = virtualinvoke $r2.($r9)", - "custom": "", - "vulnKind": 2, - "destMethod": "", - "paths": [], - "destStmt": "virtualinvoke $r1.($r2)", - "sourceMethod": "" - }] - } + +```json + }, { + "desc": "sensitive data flow", + "sourceStmt": "$r24 = virtualinvoke $r2.($r24)", + "custom": "", + "vulnKind": 2, + "destMethod": "", + "paths": [], + "destStmt": "virtualinvoke $r1.($r27, $r24)", + "sourceMethod": "" + }, { + "desc": "sensitive data flow", + "sourceStmt": "$r4 = virtualinvoke $r2.()", + "custom": "", + "vulnKind": 2, + "destMethod": "", + "paths": [], + "destStmt": "virtualinvoke $r1.($r2)", + "sourceMethod": "" + }, { + "desc": "sensitive data flow", + "sourceStmt": "$r6 = virtualinvoke $r2.($r6)", + "custom": "", + "vulnKind": 2, + "destMethod": "", + "paths": [], + "destStmt": "virtualinvoke $r1.($r2)", + "sourceMethod": "" + }, { + "desc": "sensitive data flow", + "sourceStmt": "$r9 = virtualinvoke $r2.($r9)", + "custom": "", + "vulnKind": 2, + "destMethod": "", + "paths": [], + "destStmt": "virtualinvoke $r1.($r2)", + "sourceMethod": "" + }]} +``` + # Hint To avoid OOM, add -Xmx option to commandline, e.g. java -jar jade-0.1.jar -Xmx8192m # Build from source code JADE is organized by gradle. Run `gradle fatJar` at the root of source directory and single-bundled jar will be generated at ./jade/build/ -Each directory actually represents a git submodule originally. For simplicity I'm combining them to same root directories and you can change it +Each directory actually represents a git submodule originally. For simplicity I am combining them to same root directories and you can change it as you wish, track upstream Soot changes. # Credits