安卓应用加固之静态反反汇编技术总结

0x00 前言

对安卓应用的静态保护增加了逆向时对应用的分析难度,可以从以下多个方面进行:

1.应用代码保护

2.资源保护

3.完整性校验

0x01 应用代码保护

所谓应用代码保护主要是对应用的源码进行保护,主要采用的保护手段是:软件混淆技术

软件混淆技术从混淆对象上来看,可以分为代码混淆和数据混淆。从混淆时间来分类,又可以分为:1.代码混淆  2.编译期混淆  3.二进制混淆

以下主要从混淆的不同时间来探讨混淆技术

一、代码混淆

二、模板混淆(编译期混淆)

三、AST混淆(编译期混淆)

四、IR混淆(编译期混淆)

五、DEX混淆(编译期混淆)

六、DEX二次混淆(二进制混淆)

0x02 资源保护

对APK的资源文件,包括字符串资源、图片资源、脚本等进行混淆。

待更...

0x03 完整性校验

对APK是否被篡改,是否被反编译过进行校验。

待更...

原文地址:https://www.cnblogs.com/victor-paladin/p/11406646.html

时间: 2024-10-14 16:13:30

安卓应用加固之静态反反汇编技术总结的相关文章

爱加密安卓应用加固、谨防“越位木马”借世界杯捆绑手机App

距离四年一度的世界杯重燃战火还有不到一个月的时间,但是伴随本届巴西世界杯的负面消息不断.有消息指出,本届世界杯不仅遭遇巴西人民抗议.面临球场无法按时交付等不利条件,还要谨防各种"毒",比如巴西日益猖獗的贩毒活动以及世界杯球衣球鞋上的有毒化学品都会让本次世界杯面临考验.其中,覆盖面最广.最防不慎防的"毒"要数借世界杯类App侵害用户隐私与利益的"越位木马"病毒.文章出处:www.ijiami.cn "越位木马"损耗资费.窃取隐私

防止Android手游apk遭破解, 爱加密安卓App加固保安全!

现如今手机App的开发者无论是个人还是企业,在开发过程中,许多App应用开发商的技术不够成熟,因此在App中会留有漏洞.再加上有些市场对恶意App无法进行识别!导致许多垃圾的应用程序非常容易出现在用户的手机上,如果只是伤害手机系统,那问题还不那么严重.但是威胁到个人信息和财产安全,结果就损失惨重,所以提醒大家下载App应用时多注意点. 目前手游App很火,用户量很多,但是想找到一款免费的手游并不容易.很多手游要么就是一大堆植入的广告,要么就是挂着免费的幌子,下载后一打开还要收费的.而游戏本身的体

反调试技术

反调试技术在调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破解自己.为了了解如何破解反调试技术,首先我们来看看反调试技术. 一.Windows API方法 Win32提供了两个API, IsDebuggerPresent和CheckRemoteDebuggerPresent可以用来检测当前进程是否正在被调试,以IsDebuggerPresent函数为例,例子如下: BOOL ret

android apk 防止反编译技术第二篇-运行时修改字节码

上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止apk反编译的技术-运行时修改字节码.这种方法是在工作中在实现app wrapping时,看到国外的一篇关于android 安全的介绍实现的并且独创.下面我们来介绍一下这种方法. 我们知道apk生成后所有的java生成的class文件都被dx命令整合成了一个classes.dex文件,当apk运行时d

android apk 防止反编译技术第二篇-运行时修改Dalvik指令

上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止apk反编译的技术-运行时修改字节码.这种方法是在工作中在实现app wrapping时,看到国外的一篇关于android 安全的介绍实现的并且独创.下面我们来介绍一下这种方法. 我们知道apk生成后所有的java生成的class文件都被dx命令整合成了一个classes.dex文件,当apk运行时d

原来... 反调试技术揭秘(转)

在调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破解自己.为了了解如何破解反调试技术,首先我们来看看反调试技术. 一.Windows API方法 Win32提供了两个API, IsDebuggerPresent和CheckRemoteDebuggerPresent可以用来检测当前进程是否正在被调试,以IsDebuggerPresent函数为例,例子如下: BOOL ret = Is

反调试技术常用API,用来对付检测od和自动退出程序

在调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破解自己.为了了解如何破解反调试技术,首先我们来看看反调试技术. 一.Windows API方法 Win32提供了两个API, IsDebuggerPresent和CheckRemoteDebuggerPresent可以用来检测当前进程是否正在被调试,以IsDebuggerPresent函数为例,例子如下: BOOL ret = Is

详解反虚拟机技术

恶意代码编写者经常使用反虚拟机技术逃避分析,恶意代码可以使用这种技术检测自己是否运行在虚拟机中.如果恶意代码探测到自己在虚拟机中运行,它会执行与其本身行为不同的行为,其中最简单的行为是停止自身运行.近年来,随着虚拟化技术的使用不断增加,采用反虚拟机技术的恶意代码数量逐渐下降.恶意代码编写者已经开始意识到,目标主机是虚拟机,也并不意味着它就没有攻击价值.随着虚拟化技术的不断发展和普通应用,反虚拟机技术可能变得更加少见.这里研究最常见的反虚拟机技术(包括VMware.virtualbox和virtu

反调试技术揭秘

在调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破解自己.为了了解如何破解反调试技术,首先我们来看看反调试技术. 一.Windows API方法 Win32提供了两个API, IsDebuggerPresent和CheckRemoteDebuggerPresent可以用来检测当前进程是否正在被调试,以IsDebuggerPresent函数为例,例子如下: BOOL ret = Is