移动安全测试 安卓安全测试----《一》应用反编译

81—1 · 2017年11月22日 · 最后由 SineIO 回复于 2020年03月18日 · 3563 次阅读

《一》应用反编译

对于现有的项目做了部分角度的安全测试。做个记录。

工具:
apktool
主要查看 res 文件下 xml 文件、AndroidManifest.xml 和图片。(注意:如果直接解压.apk 文件,xml 文件打开全部是乱码)
Smali2JavaUI csdn 太黑了都挂的十来币,挂个自己的七牛免费的 下载地址
较老的教程都是用的(dex2jar、jd-gui),先 dex2jar 把 classes.dex 转为 jar,再 jd-gui 把 jar 转为源码.java 文件。
现在可以用 Smali2JavaUI 这个软件,一部到位。可以把这两个步骤化为一个步骤。
原开发者的网站已经被和谐了,博主留下的愤言还是值得回味的。http://www.hensence.com/cn/
所以,如果只想反编译看
.java 文件的话,只用 Smali2JavaUI 软件就可以了。
这个软件可以直接打开 **.apk 文件,然后就直接看到.java 文件了。其实他已经集成了 apktool,只是如果 apktool 有新版本的话,最好自己手动反编译。

步骤:
1.安装最新版 apktool:https://ibotpeaches.github.io/Apktool/install/
(1)解包
$ apktool d app-release.apk
(2)重新打包
$ apktool b test

运行 CMD,进入比如 app-release.apk 所在目录,然后运行 apktool d app-release.apk,默认解压的文件就在 app-release.apk 所在目录。

2.直接用 Smali2JavaUI 打开需要反编译的 apk,检查是否混淆,检查代码及配置信息,有无敏感的账号信息等。
实际的黑客还可以针对应用是否需要付费等相关代码进行篡改,比如我现在用的 charles 破解版,就是把其中的注册验证段的代码给修改后,二次打包。绕过了服务器的验证。
目前我们的互联应用主要还是服务端去验证相关的数据权限。so,看到主要的业务代码或者重要的加密逻辑混淆,基本就测试 pass 了。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 7 条回复 时间 点赞

有用,赞一个

simple 回复

文中加了 Smali2JavaUI 的下载地址。需要的可以下载。

一早上社区看到了楼楼发了很多文章,赶脚很不错,赞~

jierong01 回复

之前一直写在自己搭的博客里,没啥人能看到,放社区给入门需要的同学了解下。

匿名 #5 · 2018年02月02日

如果是安卓壳套个 webview 的那种混合应用,是不是就没必要反编译了

那要看你想做什么了,webview 的内容你是改了的,但是要访问的入口地址可从反编译的代码里修改。

七牛链接失效了吗,老哥。。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册