找回密码
 立即注册
注册 登录
×
热搜: 活动 交友 discuz
查看: 111|回复: 0

Android APK(加壳+脱壳+加固演练)浅析

[复制链接]

2

主题

3

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2022-9-20 09:05:54 | 显示全部楼层 |阅读模式
背景

加壳

加壳是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数病毒就是基于此原理。是应用加固的一种手法对原始二进制原文进行加密/隐藏/混淆。 作用:加壳的程序可以有效阻止对程序的反汇编分析,常用来保护软件版权,防止被软件破解。
APP加壳软件:


  • apkprotect
  • 梆梆加固
  • 爱加密
  • 娜迦
  • 阿里
  • 百度
  • 腾讯
  • 360等
Android加壳的原理图:


脱壳

跟java类似,安卓的class都是由Classloader的loadClass方法加载的。跟java不同的是,每一个class对象都会有对应的dex对象属性跟相应的dex文件关联起来。利用xposed,将loadClass方法劫持住,每当loadClass方法调用完成后,用xposed执行后置方法。获取方法加载的class对象,然后调用getDex方法。拿到对应的dex文件引用,最后将dex文件序列成byte数据,写到自定义保存文件里面去。就能拿到脱壳后的dex文件。脱壳软件
APK脱壳软件:


  • 反射大师 (需要搭建xposed环境)
  • DumpDex (需要搭建xposed环境且在真机下运行)
  • FRIDA-DEXDump(需要搭建frida环境)
  • FDex2
加壳方法/步骤

Android apk加壳技术实现步骤一

apktool 反编译apk文件,得到反编译后文件夹(assets(项目原始的assets),smali(项目的经过特殊处理的代码库,后缀smali),res(项目原始res),AndroidManifest.xml(项目原始manifest文件))
Android apk加壳技术实现步骤二

创建一个新的android项目,实现相关的类(尽量不去使用xml,所有需要用到的内容用代码实现),并生成apk文件
Android apk加壳技术实现步骤三

使用apktool反编译2中生成的apk文件,得到smali文件夹
Android apk加壳技搁施露术实现步骤四

将3中得到的smali文件夹加入1中的smali文件夹,并修改1中的AndroidManifest.xml,比如说设置应用从自己的activity启动,执行部分代码后篇侮再跳转至原始应用的启动页
Android apk加壳技术实现步骤五

使用apktool对处理完的文件夹进行编译,得到apk文件(未签名),然后再进行醒膨签名,得到已签名apk文件(可以在真机上安装运行)
Android apk加壳在爱加密平台—专业的Android apk加壳保护平台,Android应用主要保护是在dex加壳的基础上实现的,通过给Android apk加壳实现Android应用的加密保护,防止Android apk被反编译以及破解。
脱壳步骤

FDex2

这里我以FDex2软件为例
通过Hook ClassLoader的loadClass方法,反射调用getDex方法取得Dex(com.android.dex.Dex类对象),在将里面的dex写出
dex2jar 将dex转换为jar
Genymotion-ARM-Translation.zip 直接拉入模拟器中,使模拟器可以支持arm apk包
xposed_v3.1.2.apk
脱壳

1、将xposed_v3.1.2、FDex2和需要脱壳的应用都安装到模拟器上。2、xposed_v3.1.2,将FDex2添加的xposed_v3.1.2的模块中激活
3、点击xposed_v3.1.2模块中FDex2选中要脱壳的包4、运行要脱壳的包
5、安装Re文件管理器,到data/data/包名拿到对应的dex文
6、将拿到的dex使用dex2jar转换为jar,然后直接放入Android Studio可以查看对应代码

文章简单介绍了apk加固中的加壳与脱壳;简单介绍了原理与使用的简单步骤。有关更多的Android apk加固,可以前往B站视频详解:华为资深专家深度教学;AndroidIO加密文件改造全过程;dex文件加密、解密;apk打包、解包、加壳、脱壳!_哔哩哔哩_bilibili。点击查看这可免费获取《Android核心进阶》免费资料一份。这是华为高级专家整理出的一份Android学习资料及思维导图。望刷到这篇文章的,能多多点赞关注支持一下哦!
学习思维导图


学习PDF(部分)




【下方小卡片获取】Android核心技术进阶手册、实战笔记、面试题纲资料
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋| 黑客通

GMT+8, 2025-10-12 02:03 , Processed in 0.093413 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2020, LianLian.

快速回复 返回顶部 返回列表