记录一下自己学习Android反编译的过程。
先说下我的环境:
- 操作系统:windows xp
- Apktool:1.5.2
- dex2jar:0.0.9.15
- jd-gui:0.3.5
简单说一下步骤:
1. java -jar apktool.jar d dangdang.apk
该命令会在当前文件夹下生成dangdang目录,里面包含assets、res、smali、AndroidManifest.xml、apktool.yml等文件。
2. 从apk文件里提取出classes.dex,执行dex2jar classes.dex
apk本质上是一个zip压缩文件,用解压缩软件打开apk文件,将classes.dex提取出来,用dex2jar将该文件转为classes_dex2jar.jar
3. 打开jd-gui,将步骤二得到的jar包导入,会看到一些经过混淆的java文件。
到了第三步,你会发现java源代码基本没法看,都是一些a、b、c、ab之类经过混淆的名字。
个人认为突破口主要集中在第一步中的AndroidManifest.xml、xml资源文件和smali文件。
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>