美文网首页
android反编译,脱壳流程

android反编译,脱壳流程

作者: Elek | 来源:发表于2020-04-06 14:53 被阅读0次

什么是脱壳?

脱壳是把加在软件上的保护程序脱了 直接能看到它的原码
对于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 所以会报错貌似是因为什么规则)


报错截图
图片.png

第四步:打开jd-gui将生成的jar直接拖到里面就可以看到带码了
朋友没有没有觉得很复杂? 提供一个界面化的工具 地址提取码:c95n
小结: 以上就是整体的反编译过程 只适用没有加固的app如果如果加固了就像穿了衣服一样不过不用紧张 我们可以运用手段帮她脱

脱壳过程(脱衣)

首先要准备一个手机因为FDex和VX对手机版本有要求我准备了一个android6.0系统手机 9.0系统以上就不要尝试了
提前说一下手机是否有root权限均可,没有root权限就需要安装Total_Commander以便于将生成的.dex文件导出到电脑中

配置XV

第一步:装软件把以上所提到的软件统统装到手机中(还有要被脱的软件)

图片.png
第二步: 打开vx进入到设置>添加应用>选中Fdex(和刚才安装的所有应用)>安装
第三部:在xv中打开Xposed Installer > 选择右上角三 > 模块 > 勾选FDex
图片.png
第四步: 回到xv设置中重启xv
----------xv里面的设置已经全部配置好了----------

插一下说一说查看脱出来了dex(这个要提到前面说不然脱得流程可能要重新走一次)

这个分两种情况就是有没有root权限.有权限的拿到dex的输出路径自己随便搞,这里介绍一下没有权限的 就是使用Total_Commander
第一步:xv里打开Total_Commander点击书签就是那个红框框

图片.png
第二步:添加书签>位置为\data\data\io.va.exposed 如图 点击保存
图片.png
一会脱出来的dex文件就会显示在这个书签中

配置FDex2

第一步: 打开fdex2选择你要脱得的应用点他(开始解扣子咳)

图片.png
第二步: 点击ok返回到xv的首页(目前为止扣子已经解开一半了咳 ! 咳 ! )
第三部: 打开你刚刚选中的应用也就是你要脱的应用
可能说出来你不信 已经脱完了(我说的是脱壳不要瞎想)可是我们什么也没看到啊 白忙了么?怎么会...

查看脱出来的dex(赤果果?)

(这里以没有root机器为主)记得刚刚配置的Total_Commander输出路径么?用到它了
第一步:在xv中打开Total_Commander
第二步:打开刚刚创建的书签>virtual>data>user>0>要脱的包名文件夹


图片.png

第三部: 不管用什么办法将这个几个dex文件弄到sdcard目录移动复制都可以
第四步: 反编译流程走一遍 dex2jar 再用jd-gui打开编译后的jar

为什么会有这么多dex及哪个dex里面是带码逻辑什么的不要问 ,问就是不知道因为我也不太了解哈哈

360加固后脱出来的带码

脱出来的带码阅读性一般不过慢慢看还是可以的

相关文章

  • android反编译,脱壳流程

    什么是脱壳? 脱壳是把加在软件上的保护程序脱了 直接能看到它的原码对于android而言 就是把加固后的apk打回...

  • 反编译-脱壳

    iOS 中普遍采用硬脱壳的方式,iOS中很好用的脱壳工具Clunch和dumpdecrypted。 如何验证可执行...

  • FDex2 源码学习

    今天来学习一下脱壳的xposed模块:Fdex2 一 反编译 使用jadx反编译fdex2.apk 二 源码学习 ...

  • 初识 android 反/回编译

    Android 反编译 Android 反编译环境准备 配置JAVA JDK 环境变量 安装android kil...

  • 反编译Android APK及防止APK程序被反编译

    反编译Android APK及防止APK程序被反编译 怎么逆向工程对Android Apk 进行反编译 googl...

  • apk脱壳反编译

    脱壳参考:Android APK脱壳--腾讯乐固、360加固一键脱壳 - 简书 (jianshu.com)[htt...

  • Android反编译主要流程

    改.apk文件后缀名(一般.zip),并解压,获得.dex文件; 用dex2jar执行bat(参数dex文件路径)...

  • Mac Android 反编译

    Mac Android 反编译 参考自己的:android 反编译工具记录谷歌提供的一键工具:android-cl...

  • Android App反编译之脱壳笔记(一)。

    由于最近在学习反编译相关的过程中,通过AndroidKiller发现使用了一些第三方安全软件的加壳处理后的apk反...

  • Android逆向工程

    一 : 反编译 获取到需要的apk 包,利用反编译工具进行反编译. 反编译工具:Android Killer 首先...

网友评论

      本文标题:android反编译,脱壳流程

      本文链接:https://www.haomeiwen.com/subject/kagvphtx.html