APK反编译笔记(一)[基础工具]


0x00 前言

最近看了看安卓逆向,反编译的文章,简单的记录一下笔记。

当然作为一个开发者,学习反编译也是必不可少的技能,从他人代码中学习知识也是一种提升。

对于白帽子,测试人员,逆向,反编译则可以从茫茫无序的代码中获得自己想要的信息。

 

0x01 相关工具

(测试环境:win8)

  1. dex2jar —–将apk反编译成java源码(classes.dex转化成jar文件)
  2. jd-gui —–查看APK中classes.dex转化成出的jar文件,即源码文件

当然还有很多其他工具,比如apktool,Androidfby,这里暂做dex2jar和jd-gui的介绍

0x02 使用方法

1.将要反编译的akp后缀改为rar/zip… 解压缩

20151107152013

可以看到许多文件夹,其中包括app所调用的图片,如图

2345截图20151107152051

2.找到classes.dex 放至dex2jar 目录下

命令输入:

2345截图20151107151947

将会生成一个classes_dex2jar.jar(文件名__dex2jar.jar)的java文件,这就是我们所得到的java源码

 

3.使用jd-gui打开该文件

如图

2345截图20151107144557

正常未混淆源码:

2345截图20151107154454

 

 

当然还有一种代码的混淆,这是开发者为了防止他人恶意修改程序所做的保护措施,从而增大了代码阅读理解难度。

如图有许多字母,a,b,c,h,f,g,hkg…

2345截图20151107151301

 

4.利用姿势

反编译下来可以看看程序调用了哪些接口,是否有信息泄露都是基本的利用方式

2345截图20151107151917

 

0x03 总结

 

基础工具的使用其实很简单,熟能生巧。

 

分享出来希望和大家一起学习进步 🙂