APK反编译笔记(一)[基础工具]
APK反编译笔记(一)[基础工具]
0x00 前言
最近看了看安卓逆向,反编译的文章,简单的记录一下笔记。
当然作为一个开发者,学习反编译也是必不可少的技能,从他人代码中学习知识也是一种提升。
对于白帽子,测试人员,逆向,反编译则可以从茫茫无序的代码中获得自己想要的信息。
0x01 相关工具
(测试环境:win8)
- dex2jar —–将apk反编译成java源码(classes.dex转化成jar文件)
- jd-gui —–查看APK中classes.dex转化成出的jar文件,即源码文件
当然还有很多其他工具,比如apktool,Androidfby,这里暂做dex2jar和jd-gui的介绍
0x02 使用方法
1.将要反编译的akp后缀改为rar/zip… 解压缩
可以看到许多文件夹,其中包括app所调用的图片,如图
2.找到classes.dex 放至dex2jar 目录下
命令输入:
1 |
dex2jar.bat classes.dex |
将会生成一个classes_dex2jar.jar(文件名__dex2jar.jar)的java文件,这就是我们所得到的java源码
3.使用jd-gui打开该文件
如图
正常未混淆源码:
当然还有一种代码的混淆,这是开发者为了防止他人恶意修改程序所做的保护措施,从而增大了代码阅读理解难度。
如图有许多字母,a,b,c,h,f,g,hkg…
4.利用姿势
反编译下来可以看看程序调用了哪些接口,是否有信息泄露都是基本的利用方式
0x03 总结
基础工具的使用其实很简单,熟能生巧。
分享出来希望和大家一起学习进步 🙂
嗯 期待下次说说smail语法 这个才是修改dex的途径
可用apkdb集成包方便反编译apk apkide是可视化界面 但是在win10下好像不能回编译