什么是脱壳?
脱壳是把加在软件上的保护程序脱了 直接能看到它的原码
对于android而言 就是把加固后的apk打回原形 (阅读起来还是有点费力的)
脱壳所需要的软件
这里列一个清单 都是脱壳和反编译所需要的软件
地址 提取码 : hkr7
APK TOOL :谷歌提供的 APK 编译工具,可以反编译和回编译(主要看xml和资源文件这些东西)
dex2jar:将 dex 文件转换成 jar
jd-gui:用来查看 jar 包里面的代码
VirtualXposed: 一下简称 VX
FDex:
Total_Commander: 这就是一个资源文件管理器没什么新奇(如果手机未root才会用到它)
脱壳之前先要说一下反编译
------------------------第一种反编译(无法看到逻辑)------------------------
------------------------所需软件apktool------------------------
这种编译出来的文件里看不到带码逻辑因为带码部分都是.smali格式的文件
打开运行窗口进入到apk_tool所在文件夹 运行
java -jar apktool.jar d -f appname.apk -o OUT
appname.apk是你要反编译的apk
OUT 是反编译之后输出的文件夹名称(可以随意取名)
------------------------第二种反编译(可以看到逻辑)------------------------
------------------------所需软件dex2jar和jd-gui------------------------
首先需要将下载的dex2jar和jd-gui解压
第一步: 修改.apk文件后缀名改为.zip 并且解压获取到 .dex 文件
第二步: 将获取到的dex文件复制到dex2jar解压后的文件夹中
第三步: 命令行进入到dex2jar的文件夹执行.\dex2jar.bat classes.dex
执行成功会会生成.jar文件
这个步骤会有一个小细节
如果你在执行的时候报错不要慌张 打开classes.dex 把头文件改为036或者035?(我的是037 所以会报错貌似是因为什么规则)
第四步:打开jd-gui将生成的jar直接拖到里面就可以看到带码了
朋友没有没有觉得很复杂? 提供一个界面化的工具 地址提取码:c95n
小结: 以上就是整体的反编译过程 只适用没有加固的app如果如果加固了就像穿了衣服一样不过不用紧张 我们可以运用手段帮她脱
脱壳过程(脱衣)
首先要准备一个手机因为FDex和VX对手机版本有要求我准备了一个android6.0系统手机 9.0系统以上就不要尝试了
提前说一下手机是否有root权限均可,没有root权限就需要安装Total_Commander以便于将生成的.dex文件导出到电脑中
配置XV
第一步:装软件把以上所提到的软件统统装到手机中(还有要被脱的软件)
第二步: 打开vx进入到设置>添加应用>选中Fdex(和刚才安装的所有应用)>安装
第三部:在xv中打开Xposed Installer > 选择右上角三 > 模块 > 勾选FDex
第四步: 回到xv设置中重启xv
----------xv里面的设置已经全部配置好了----------
插一下说一说查看脱出来了dex(这个要提到前面说不然脱得流程可能要重新走一次)
这个分两种情况就是有没有root权限.有权限的拿到dex的输出路径自己随便搞,这里介绍一下没有权限的 就是使用Total_Commander
第一步:xv里打开Total_Commander点击书签就是那个红框框
第二步:添加书签>位置为
\data\data\io.va.exposed
如图 点击保存一会脱出来的dex文件就会显示在这个书签中
配置FDex2
第一步: 打开fdex2选择你要脱得的应用点他(开始解扣子咳咳)
第二步: 点击ok返回到xv的首页(目前为止扣子已经解开一半了咳 ! 咳 ! )
第三部: 打开你刚刚选中的应用也就是你要脱的应用
可能说出来你不信 已经脱完了(我说的是脱壳不要瞎想)可是我们什么也没看到啊 白忙了么?怎么会...
查看脱出来的dex(赤果果?)
(这里以没有root机器为主)记得刚刚配置的Total_Commander输出路径么?用到它了
第一步:在xv中打开Total_Commander
第二步:打开刚刚创建的书签>virtual>data>user>0>要脱的包名文件夹
第三部: 不管用什么办法将这个几个dex文件弄到sdcard目录移动复制都可以
第四步: 反编译流程走一遍 dex2jar 再用jd-gui打开编译后的jar
为什么会有这么多dex及哪个dex里面是带码逻辑什么的不要问 ,问就是不知道因为我也不太了解哈哈
脱出来的带码阅读性一般不过慢慢看还是可以的