Droidbox恶意软件动态分析环境搭建
@author : Dlive
0x01 DroidBox简介
DroidBox是一款,可以获得以下信息
1.APK包hash值
2.网络通信数据
3.文件读写操作
4.网络通信,文件读写,SMS中的信息泄露
5.权限漏洞
6.调用Android API进行的加密操作
7.Broadcast receiver组件信息
8.SMS短信与电话信息
9.DexClassLoader加载信息
0x02 Droidbox安装运行
本机现有环境:
1. Ubuntu 14.04 amd64
安装环境:
1. Oracle JDK 1.7(apktools需要jdk1.7的环境)
2. Android SDK
3. Apktool
4.DroidBox
0x03 JDK安装
从Oracle官网下载JDK安装包 jdk-7u79-linux-x64.tar.gz
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
将安装包解压到/home/android/java 目录下
在 /etc/profile中配置环境变量如下
运行. /etc/profile使环境变量生效
0x04 Android SDK安装
下载Android SDK压缩包 android-sdk_r22.6.2-linux.tgz
将压缩包解压到/home/android/sdk 目录下
但是这个SDK压缩包里并不是完整的SDK,其中不含常用工具platform-tools
运行 . tools/android sdk 命令 ,选择你想要安装的API版本和platform-tools
设置好代理即可下载:(不设置的话国内会很慢。。。你懂的)
在 /etc/profile中配置环境变量如下
0x04 Apktool安装
按照官网的说明下载安装即可,这个就不多说了
http://ibotpeaches.github.io/Apktool/install/
配置一下环境变量
0x05 DroidBox安装
下载一大堆的依赖包
apt-get install python-dev python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
下载最新版的DroidBox https://github.com/pjlantz/droidbox/releases
这里我下载的时候最新版为:DroidBox411RC.tar.gz (for android 4.1.1)
创建android虚拟机:
android list target #查看可获取的安卓虚拟机
android list avd #查看已创建的安卓虚拟机
android create avd -n <avd name> -t <android id> #创建一个虚拟机,名字自定义
(启动虚拟机的命令:emulator @droidbox_android4.1.2)
这里我创建的是API16 Android 4.1.2的虚拟机(arm内核 –abi armabi-v7a)
启动虚拟机:./startemu.sh droidbox_android4.1.2
安装要分析APK: adb install 1.apk
开始分析:./droidbox.sh 1.apk
可以设置分析时间:./droidbox.sh 1.apk 10 (10表示10s)
0x00 参考资料
1. DroidBox-Android APP动态分析工具&APIMonitor -- 碳基体
http://danqingdani.blog.163.com/blog/static/18609419520121125104952911
2. DroidBox环境搭建
http://blog.csdn.net/ccc7560673/article/details/8004039
3. Linux上创建安卓模拟器
http://blog.csdn.net/ruanjianxiong/article/details/7620570
4. Flappy Bird恶意程序详细分析 – 乌云知识库
http://drops.wooyun.org/tips/1314
Droidbox恶意软件动态分析环境搭建的更多相关文章
- Android 程序分析环境搭建-动态分析环境搭建
静态查看过app 的代码,但是有些app 非常复杂,页面好多,你根本找不到从何处下手.还有app 通过静态分析,发现有被加固(后续会讲如何砸壳),根本找不到,还有即便你搜索app界面上的文字,你也搜索 ...
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- Azure Service Fabric 开发环境搭建
微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...
- rnandroid环境搭建
react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- springMVC初探--环境搭建和第一个HelloWorld简单项目
注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...
- 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~
一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...
- Nexus(一)环境搭建
昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...
- 「译」JUnit 5 系列:环境搭建
原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...
随机推荐
- [Leetcode] Course Schedule
There are a total of n courses you have to take, labeled from 0 to n - 1. Some courses may have prer ...
- jquery easy ui datagrid中遇到的坑爹的問題。。。
; //修改 function Update() { //獲取選中行 var selected = $("#dg1").datagrid('getSelected'); //判斷是 ...
- 【JavaScript】js数组操作,由push到那么多
shift() 定义:删除并返回数组的第一个元素: pop() 定义:删除数组最后一个元素,并返回: push() 定义:在数组后边添加一个或者多个元素,并返回新数组的长度: array.push(& ...
- Maven代理教程
明确代理服务器地址及端口,比如proxy.supremehover.com:8080 找到maven目录下的conf\settings.xml并打开,在proxies节点下添加proxy <pr ...
- Graphics绘图闪烁的问题
加入获取的boardPanel.CreateGraphics()时候 用这个g去g.Clear(BackColor);时候会闪烁. 解决办法: 在绘图的时候 用 绘图的image的Graphics. ...
- jQuery倒计时插件
倒计时jQuery插件 引言 最近又换工作了,还不错,我换工作的次数其实有点频繁,2014年7月份毕业,到现在工作已经换了3份了,工资跟刚毕业时候相比也涨了点儿,最近一次换工作我离开了深圳,来到了北京 ...
- poj 1390 Blocks
poj 1390 Blocks 题意 一排带有颜色的砖块,每一个可以消除相同颜色的砖块,,每一次可以到块数k的平方分数.问怎么消能使分数最大.. 题解 此题在徐源盛<对一类动态规划问题的研究&g ...
- python--函数式编程 (高阶函数(map , reduce ,filter,sorted),匿名函数(lambda))
1.1函数式编程 面向过程编程:我们通过把大段代码拆成函数,通过一层一层的函数,可以把复杂的任务分解成简单的任务,这种一步一步的分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. ...
- 【转】Java enum的用法详解
用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. p ...
- Scene
Unity 中场景切换 http://www.cnphp6.com/archives/62868 场景管理插件Scene Manager http://blog.csdn.net/onerain88/ ...