Android逆向分析(反编译)工具ded的使用
来源:互联网 发布:手机二级代理软件 编辑:程序博客网 时间:2024/05/16 15:01
今天使用了ded做逆向分析,瞬间比Apktool高大上了,功能太强大了,不过还有升级版,明天研究。吼吼~
详细内容可以参考这篇论文:A Study of Android Application Security
还有http://siis.cse.psu.edu/ded/index.html
1.安装ded
下载链接:http://siis.cse.psu.edu/ded/downloads/linux/ded-0.7.1
首先下载ded用来重定向 dex 、apk、或者是class文件
为了使用ded你应该下载Jasmin它和ded的可执行文件应该放在同一个目录下。
Jasmin下载链接
http://siis.cse.psu.edu/ded/downloads/jasminclasses-2.4.0.jar
使用ded可以使用:
ded-<version> -d <output dir> <dex/apk file>
例如:
ded-0.7.1 -d ~/samples sample.apk
它会输出class文件,但是是不经过优化的,反编译出的文件很难做追踪。这个时候你可以使用 soot文件来做优化
soot是用来优化类文件的:
下载链接:http://www.sable.mcgill.ca/software/sootall-2.3.0.tar.gz
ded/Soot launcher启动器
http://siis.cse.psu.edu/ded/downloads/linux/ded-launcher-0.7.1
Wrapper脚本
http://siis.cse.psu.edu/ded/downloads/ded-script.tar.gz
2.解压复制文件
首先,解压脚本文件
tar -xf ded-script.tar.gz
它将会产生两个目录一个是名为ded的目录还有一个是包含在ded中的soot目录(ded/soot) 和一个ded.sh脚本之后将下载的sootall文件解压到soot目录下,使用如下的命令
tar -xf <path_to_soot_archive>/sootall-2.3.0.tar.gz -C <path_to_ded_dir>/ded/soot
之后你需要移动ded,ded-launcher以及 Jasmin到ded目录下
之后需要使用Android的API类,在SDK当中,如果你还没有的话可以参照下面的官网进行安装。http://developer.android.com/sdk/index.html 一旦下载成功你可以选择希望的API等级,例如我们需要的是API 8 那么我们可以到相应的目录下寻找
到android.jar文件到<sdk_directory>/platforms/android-8 把它复制到 ded/android-libs 目录下,如果有其他的需要的类文件你也可以移动他们到 ded/android-libs 文件下。
之后最后得到的目录是这样的:
你可以使用tree ded -L 2命令对照一下你的是否和上面的目录结构是一样的
3.启动ded和soot来执行ded.sh文件
首先你需要给ded文件付一下可执行的权限 chmod a+x ded 这样保证 ded-0.7.1 ded-launcher-0.7.1 ded.sh
可执行,之后使用./ded.sh -d <output directory> [-o] [-c] <dex/apk file> 命令进行反编译-o 表示的是使用soot进行优化,-c表示使用soot即反编译又优化。
有一个缺点就是速度比较慢。使用ded.但是可以得到详细的代码。
0 0
- Android逆向分析(反编译)工具ded的使用
- Android逆向分析(反编译)工具ded的使用
- Android逆向分析工具ded的使用
- android逆向分析之反编译
- 【android逆向笔记】(九)恶意软件分析工具-androguard的使用
- Android逆向反编译之工具介绍
- Android反编译分析工具
- Android反编译工具的使用-Android Killer
- Android反编译工具的使用-Android Killer
- Android反编译工具使用
- Android反编译工具使用
- Android 反编译工具使用
- Android反编译工具使用
- Android学习之反编译工具的使用
- Android反编译工具jadx的使用
- Android基础--apk反编译工具的使用
- 【Android安全】APK静态分析-源码反编译逆向分析
- Android的逆向分析
- win7 64位下安装nodejs 的jquery@1.6.3时无法安装依赖包jsdom的解决办法
- linux常用命令全拼
- Windows下Python添加库(模块)路径
- 'telnet' is not recognized as an internal or external command 解决办法
- 应届毕业生的户口,档案到底有多大的用处
- Android逆向分析(反编译)工具ded的使用
- substring的用法归纳
- App的开发成本是多少?
- [FSM]状态机实践入门——程咬金只要三斧头厉害
- You have uncommitted work pending. Please commit or rollback before calling out
- UVA261--The Window Property
- WPF Toolkit 之 AreaSeries chart with DateTime Axis
- 12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球,并且知道此球比其它球是轻还是重,如果13个球呢
- Windows Server 2012试用版 循环使用