Android反编译实战(1)

记录一下自己学习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文件,结合grep命令进行查找。

推荐下看雪论坛出的书《Android 软件安全与逆向分析》,作者写的很用心。

 

posted on 2013-06-05 19:42  feiyunruyue  阅读(524)  评论(0编辑  收藏  举报

导航