Androguard的使用方法

Androguard的使用方法

androdd.py用来生成apk文件中每个类的方法的调用流程图

./androdd.py -i  /root/Desktop/apk/sign.apk -o output -f PNG


androlyze.py提供了一个交互环境方便分析人员静态分析Android程序

./androlyze.py -s

apk,d,dex = AnalyzeAPK("./sample.apk")

apkviewer.py用来为apk文件中每一个类生成一个独立的graphml图形文件,使用Gephi打开生成后的graphml文件,不过图形中的每个节点是指令级别的,在查看时效果没有方法级别的gexf文件直观。

androapkinfo.py用来查看apk文件的信息。该工具会输入apk文件的包、资源、权限、组件、方法等信息
./androapkinfo.py -i /root/Desktop/apk/sign.apk > sign.txt

androdiff.py用来比较两个apk文件的差异。

andromercury.py是Mercury工具的框架。 功能上是对Mercury的包装,

androrisk.py用于评估apk文件中潜在的风险
 ./androrisk.py -m -i /root/Desktop/apk/sign.apk

RedFlags
DEX {'NATIVE': 1, 'DYNAMIC': 0, 'CRYPTO': 1, 'REFLECTION': 1}
APK {'DEX': 0, 'EXECUTABLE': 0, 'ZIP': 0, 'SHELL_SCRIPT': 0, 'APK': 0, 'SHARED LIBRARIES': 3}
PERM {'PRIVACY': 8, 'NORMAL': 4, 'MONEY': 2, 'INTERNET': 1, 'SMS': 4, 'DANGEROUS': 14, 'SIGNATUREORSYSTEM': 0, 'CALL': 0, 'SIGNATURE': 0, 'GPS': 2}
FuzzyRisk
VALUE 52.2222222222
androsign.py用于检测apk的信息是否存在于特定的数据库中,它的作用与androcsign.py恰好相反
./androsign.py –i /root/Desktop/apk/sign.apk -b signatures/dbandroguard -c signatures/dbconfig

androaxml.py用来解密apk包中的AndroidManifest.xml文件
./androaxml.py -i /root/Desktop/apk/sign.apk

androgexf.py用来生成APK的GEXF格式的图形文件。该文件可以使用Gephi查看
./androgexf.py -i /root/Desktop/apk/sign.apk -o /root/Desktop/apk/sign.gexf

androsim.py用于计算两个apk文件的相似度
./androsim.py -i /root/Desktop/apk/sign.apk /root/Desktop/apk/mlgx.apk

androcsign.py用于添加apk文件的签名信息到一个数据库文件中。

androxgmml.py用来生成apk/jar/class/dex文件的控制流程及功能调用图,输出格式为xgmml

./androxgmml.py -i /root/Desktop/apk/sign.apk -o /root/Desktop/apk/sign.xgmml

http://www.ituring.com.cn/article/26970


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Androguard是一个用于分析和反编译Android应用程序的强大工具。以下是使用Androguard的一般步骤: 1. 安装Androguard:首先,你需要安装Androguard库。你可以使用pip命令来安装它: ``` pip install androguard ``` 2. 导入Androguard库:在Python脚本中,导入Androguard库以便使用其中的功能: ``` from androguard.core.bytecodes.apk import APK from androguard.core.bytecodes.dvm import DalvikVMFormat ``` 3. 加载APK文件:使用APK类加载APK文件,以便进行后续分析和操作: ``` apk = APK("path/to/apk/file.apk") ``` 4. 获取应用程序信息:通过APK对象,你可以获取应用程序的各种信息,例如包名、版本号、权限等: ``` package_name = apk.get_package() version_code = apk.get_androidversion_code() permissions = apk.get_permissions() ``` 5. 分析DEX文件:使用DalvikVMFormat类加载DEX文件,以便对应用程序的字节码进行分析: ``` dex = DalvikVMFormat(apk.get_dex()) ``` 6. 分析类和方法:通过DalvikVMFormat对象,你可以获取类和方法的信息,例如类名、方法名、参数等: ``` classes = dex.get_classes() for cls in classes: class_name = cls.get_name() methods = cls.get_methods() for method in methods: method_name = method.get_name() parameters = method.get_descriptor().get_parameters() ``` 7. 其他功能:Androguard还提供了其他一些功能,例如分析资源文件、查找敏感API调用等。你可以根据你的需求进一步探索Androguard的文档和示例。 需要注意的是,Androguard是一个功能强大但复杂的工具,对Android应用程序进行深入分析需要一定的知识和经验。在使用Androguard进行任何操作时,请确保你有合法的使用权限,并遵守相关法律和伦理规范。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值