Android APP 反编译入门学习笔记


参考资料

内容 资料/链接 说明
ApkTool + dex2jar + JD-GUI (Mac)反编译Android APK详细操作指南 Apk 反编译工具(入门级,较繁琐)
Jadx Github 源码 Apk 反编译工具(推荐)
脱壳原理介绍 APK脱壳简介 调试 → 找到入口点 → 脱壳 → 修复
ApkScan APK查壳工具PKID 查壳工具

【加壳】 也称 “加固”, 是指在一个主程序的外面再包裹上另一段代码,用于保护里面的主程序不不被非法修改或反编译。它们一般都是先于主程序运行、拿到控制权,然后完成它们保护主程序的任务。

学习记录

练习 1 (无壳 - 已完成)

条项 说明
APK 3.6.4-xxx-store.apk
目标 找到登录 Token
工具 ApkTool + dex2jar + JD-GUI

对 APK 解包 unzip 3.6.4-xxx-store.apk 得到 12 个 classesN.dex 文件:

使用 d2j-dex2jar 工具把这 12 个 dex 文件转换成 jar 包 ./d2j-dex2jar.sh *.dex

使用 JD-GUI 反编译这些 jar 包,找到 Token 在 classes9-dex2jar.jar 里面的 com.xxx.store.BuildConfig.class

练习 2 (无壳 - 已完成)

条项 说明
APK xxx.go.v4.v4.1.2.apk
目标 找到激活 Token
工具 Jadx

直接使用 Jadx 打开 3.6.4-xxx-store.apk 即可实现反编译。

xxx.pilot.active.xxxActiveController.classxxx.pilot.active.b.class 可以找到特征非常明显的激活 Token ,激活逻辑在 xxx.pilot.active.b.class 下面,对该 Token 实现了调用。

练习 3 (有壳 - 未完成)

条项 说明
APK 3.6.4-xxx-store-梆梆加固.apk
目标 找到登录 Token
工具 ApkScan + Jadx

使用 ApkScan 查壳,发现 APK 使用了【梆梆企业版】进行加固:

未完待续……


文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
 上一篇
【Root-Me】 Pixel Madness 【Root-Me】 Pixel Madness
来源:Root-Me 题型:Cryptanalysis 题目:Pixel Madness 分数:15 Points 从题目就可以猜测,这题与像素图有关。 但是题目提供的数据比较奇怪,我最开始以为是用十六进制数表示的像素点,但是 1x1
2019-11-22
下一篇 
【Root-Me】 SQL injection - Error 【Root-Me】 SQL injection - Error
来源:Root-Me 题型:Web-Server 题目:SQL injection - Error 分数:40 Points 试错提示是基于错误的 SQL 注入,就是我们要令 SQL 尽可能报错,通过错误找到有用的信息(即账号密码)进
2019-11-21
  目录