androguard安装和体验
安装步骤按照官方教程https://code.google.com/p/androguard/wiki/Installation,下面记录下无法在ubuntu下apt-get的模块:
python模块:
在https://pypi.python.org/pypi查找需要的python模块并下载解压,用命令 " sudo python setup.py install "按照模块
zlib:
参考http://jingyan.baidu.com/article/29697b91321e2eab20de3c0d.html
chilkat:
在http://www.chilkatsoft.com/python.asp下载系统和python对应版本的zip,解压并把吃chilkat.py和_chilkat.pyd复制到python的"site-packages"目录下
编译elsim:
在正式编译之前,要修改一下elsim下面的formula和libelsign的Makefile文件。
打开elsim/elsign/formula/Makefile,添加上包含目录,从而使编译器能够找到muParser.h,例如:
CFLAGS += -I/usr/include/muParser打开elsim/elsign/libelsign/Makefile,添加上包含目录,从而使编译器能找到muParser.h和Python,例如:
CFLAGS += -I/usr/include/muParser -I/usr/include/python2.7
最后在androguard目录下make,在此过程中如果出现.h找不到。请看下面的字符是否有对应的,直接apt-get
python-dev python-bzutils libbz2-dev libmuparser-dev libsparsehash-dev python-ptrace python-pygments python-pydot graphviz liblzma-dev libsnappy-dev
Gephi:
在https://gephi.org/users/download/下载Gephi。ubuntu安装后没安装jdk,故先sudo apt-get install openjdk-7-jdk。安装好java环境后,运行"update-alternatives ---config java" and "update-alternatives --config javac"(若这2个命令没成功说明java环境没安装成功)。系统没设置java_home则直接在Gephi/bin/gephi文本中修改javahome字符串值为java主目录;接着运行"./gephi"运行Gephi
jdkhome="/usr/lib/jvm/java-7-openjdk-amd64"
以上关于androguard的基本模块和功能都以安装完毕,下面简单介绍下androguard的模块功能(androguard-19版本):
androapkinfo.py: 查看apk文件信息:
./androapkinfo.py -i crackme0502.apk > output/apkinfo.txt (该模块输出信息较多,使用重定向到文档;下同)
androxml.py: 解密并输出apk包中AndroidManifest.xml文件:
./androaxml.py -i crackme0502.apk >output/Manifest.xml (该模块输出的xml中,图片资源路径没修复只用id表示)
androcsign.py: 添加apk文件的签名信息到数据库文件
androdd.py: 生成apk文件中每个类方法的调用流程图:
./androdd.py -i crackme0502.apk -o ./output -d -f jpg
androdiff.py: 比较两个apk文件的差异
androdump.py: dump一个linux进程的信息
androgexf.py: 生成apk的GEXF格式的图形文件,可搭配Gephi查看:
./androgexf.py -i crackme0502.apk -o ./output/apk.gexf
androlyze.py: 提供交互环境方便分析人员静态分析android程序
andromercury.py: 原为Mercury(先改名为drozer,可看我前面对其源码分析)工具框架,最新版androguard已没有该模块;
androrisk.py: 评估apk文件中潜在的风险:
./androrisk.py -m -i crackme0502.apk > output/risk.txt
androsign.py: 检测apk的签名信息是否存在数据库中,与androcsign.py相反
androsim.py: 计算2个apk文件的相似度
androxgmml.py: 生成apk/jar/class/dex文件的控制流程及功能调用图:
./androxgmml.py -i crackme0502.apk -o output/apk.xgmml
apkviwer.py: 为apk文件中每一类生产独立的graphml图像文件:
./apkviewer.py -i crackme0502.apk -o output/viewer/
参考资料:
android软件安全与逆向分析
androguard安装和体验的更多相关文章
- Nginx unit 源码安装初体验
Nginx unit 源码安装初体验 上次介绍了从yum的安装方法(https://www.cnblogs.com/wang-li/p/9684040.html),这次将介绍源码安装,目前最新版为1. ...
- Windows Server 2012 R2部署--安装桌面体验
Windows Server 2012 R2部署(3)---安装桌面体验 1) 打开服务器管理器 2) 选择所有服务器 3)添加角色和功能 4)下一步 5)下一步 6)下一步 ...
- PHP 7安装使用体验,升级PHP要谨慎
一.发挥PHP 7高性能的几个要点 PHP 7相对于之前的PHP版本来说可以说性能有了质的飞跃,但是所谓“好马配好鞍,好车配风帆”,想要发挥PHP 7的性能优势,还需要从以下几个方面做准备:(此部分引 ...
- Emacs 安装与体验
Emacs 安装与体验 下载与安装 首先是下载最新的x64版本的Emacs. 将下载下来的文件解压到你喜欢的磁盘目录下,我选择的是C:\Program Files.放在D盘可能是更好的选择,因 ...
- WPS Office 2012专业版与WPS2019政府云办公增强版下载安装与体验
WPS Office 2012专业版与WPS2019政府云办公增强版下载安装与体验 一.WPS Office 2012专业版. 优点:没有广告,很清爽,界面很人性化.是我于2019年11月找出来安装测 ...
- Kylin 初入门 | 从下载安装到体验查询
本文旨在为 Kylin 新手用户提供一份从下载安装到体验亚秒级查询的完整流程.文章分为两个部分,分别介绍了有 Hadoop 环境(基于 Hadoop 环境的安装)和没有 Hadoop 环境(从 Doc ...
- ansible2.4安装和体验
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 20天等待,申请终于通过,安装和体验IntelliJ IDEA新UI预览版
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于IDEA的预览版 IDEA会启用新的UI,这事情之 ...
- 一起学微软Power BI系列-使用技巧(3)Power BI安卓手机版安装与体验
Power BI有手机版,目前支持安卓,苹果和WP,不过没有WP手机,苹果在国内还不能用,要FQ和用就不测试了.安卓的我也也是费了九牛二虎之力才把app下载下来,把方法分享给大家. FQ太麻烦,所以建 ...
随机推荐
- KL散度相关理解以及视频推荐
以下内容基于对[中字]信息熵,交叉熵,KL散度介绍||机器学习的信息论基础这个视频的理解,请务必先看几遍这个视频. 假设一个事件可能有多种结果,每一种结果都有其发生的概率,概率总和为1,也即一个数据分 ...
- 大数据实战-Hive-技巧实战
1.union 和 union all 前者可以去重 select sex,address from test where dt='20210218' union all select sex,add ...
- Git 常用命令 和 安装
这年头不会点git还真不能与别人进行代码交流 安装 windowns版下载:https://git-scm.com/download/win ,下载完成后就自己手动安装 ,很简单就不多说. Ubunt ...
- CVE-2018-2628-WLS Core Components 反序列化
漏洞参考 https://blog.csdn.net/csacs/article/details/87122472 漏洞概述:在 WebLogic 里,攻击者利用其他rmi绕过weblogic黑名单限 ...
- 在C++中实现aligned_malloc
malloc的默认行为 大家都知道C++中可以直接调用malloc请求内存被返回分配成功的内存指针,该指针指向的地址就是分配得到的内存的起始地址.比如下面的代码 int main() { void * ...
- mongodb导入,导出实例
MongoDB中文手册|官方文档中文版 英文版:https://docs.mongodb.com/manual/ 1.mongoexport 导出文件 打开命令行,进入我们所安装的mongodb路径下 ...
- 追洞小组 | fastjson1.2.24复现+分析
出品|MS08067实验室(www.ms08067.com) 本文作者:爱吃芝士的小葵(Ms08067实验室追洞小组成员) 1.靶场搭建 2.漏洞复现 3.漏洞分析 4.漏洞修复 5.心得 靶场搭建 ...
- MyBatis架构分析
我们都知道Mybatis是一个非常小巧灵活的ORM框架,深受国内广大开发者的喜爱,我们知道它的出现某种程度是为了消除所有的JDBC代码和参数的手工设置以及结果集的封装问题:基于这个一点,我们就可以 ...
- 使用伪类(::before/::after)设置图标
使用伪类(::before/::after)设置文本前后图标.减少标签的浪费,使页面更加整洁. 如图: <!DOCTYPE html> <html> <head> ...
- Go语言中利用append巧妙的删除slice切片中的元素
package main import ( "fmt" ) //删除函数 func remove(s []string, i int) []string { return appe ...