首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ARM Linux ELF方案

早期的产品主要利用压缩加密技术对文件进行整体性保护,但随着逆向技术的提升,整体性的文件保护方案已经被攻克,于是产品引入虚拟机概念,可以实现函数级的代码控制流保护,加密的颗粒度更加细致,激活成功教程难度呈几何级增加...压缩加密 技术原理类似桌面应用的「压缩」,将 SO 文件中的代码段压缩或加密,在入口函数中解密再执行。...后来又出现了「自定义 Linker」等方式的保护方式,这样可以隐藏一些文件格式信息,但依旧解决不了函数被Dump后的反编译问题。...由此可见,文件级的整体保护方案无法应对高等级的安全挑战,加固技术需要进一步升级,针对指令进行保护。...支持工具推荐 支持ARM 虚拟化保护方案的工具:Virbox Protector 开发环境支持 Windows、Linux、macOS。

5.6K30

【Android 逆向】技术识别 ( VMP 示例 | Dex2C 示例 )

文章目录 一、技术识别 二、VMP 示例 三、Dex2C 示例 一、技术识别 ---- 技术识别的必要性 : 拿到 APK 文件后 , 如果想要分析其 DEX 文件 , 需要先 识别出该...APK 是使用的什么技术进行的 , 如果该 APK 只是使用了整体保护 , 只需要将内存中的 DEX 文件 DUMP 下来即可 ; 如果该 APK 使用了 VMP , 则需要逆向分析解释器..., 也有可能使用 3 者中的多种技术 , 进行混合 ; 整体加固 就是对 DEX 文件进行 整体加密 , https://blog.csdn.net/shulianghan/category..._10559800.html 专栏就实现了一个 DEX 整体加固的示例 ; 函数抽取特征 : 获取到后的 DEX 文件 , 其函数体是无效的 ; VMP / Dex2C 特征 : 获取到 DEX...文件后 , Java 函数变为 Native 函数 ; 二、VMP 示例 ---- 推荐一个 VMP 程序 ADVMP ; 源码地址 : https://gitee.com/simon_haha

5.4K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    什么是App,以及App的利与弊

    而对于移动应用APP加密保护的问题,如何对DEX文件加密尤为重要。那么接下来,我们就先介绍一下什么是App和加的原理,利与弊等。 一、什么是?...三、Android Dex文件原理 Android Dex文件大量使用引用给带来了一定的难度,但是从理论上讲,Android APK也是可行的。...在这个过程中,牵扯到三个角色: 1、程序:加密源程序为解数据、组装解程序和解数据 2、解程序:解密解数据,并运行时通过DexClassLoader动态加载 3、源程序:需要处理的被保护代码...Android 上的技术发展至今也不过三年,而 PC 端的技术已经有十多年的发展。...目前市面上有很多第三方的平台, 如果应用需要选哪一种好?

    3.9K50

    什么是App,以及App的利与弊

    而对于移动应用APP加密保护的问题,如何对DEX文件加密尤为重要。那么接下来,我们就先介绍一下什么是App和加的原理,利与弊等。 一、什么是?...三、Android Dex文件原理 Android Dex文件大量使用引用给带来了一定的难度,但是从理论上讲,Android APK也是可行的。...在这个过程中,牵扯到三个角色: 程序:加密源程序为解数据、组装解程序和解数据 解程序:解密解数据,并运行时通过DexClassLoader动态加载 源程序:需要处理的被保护代码 四、的利与弊...Android 上的技术发展至今也不过三年,而 PC 端的技术已经有十多年的发展。...目前市面上有很多第三方的平台, 如果应用需要选哪一种好?

    3.2K50

    【Android 逆向】技术识别 ( 函数抽取 与 Native 化的区分 | VMP 与 Dex2C 的区分 )

    文章目录 一、特征识别 1、函数抽取 与 Native 化的区分 2、VMP 与 Dex2C 的区分 一、特征识别 ---- 1、函数抽取 与 Native 化的区分 函数抽取...与 Native 化的区别 : 函数抽取 : 没有将函数 Java 代码转为 Native 代码 , 函数体无效 ; VMP : 将函数 Java 代码转为 Native 代码 ; Dex2C... : 将函数 Java 代码转为 Native 代码 ; 如果函数是 非 Native 函数 , 并且 函数体 无效 , 说明这是 函数抽取 ; 如果函数是 Native 函数 , 说明这是...VMP 或者 Dex2C ; 2、VMP 与 Dex2C 的区分 VMP 的核心原理是 Dalvik 解释器 , 对于每个 VMP 保护的函数来说 , 都有一个 VMP 解释器... ; 函数的 注册地址不同 , 并且 函数逻辑不相似 , 则使用的是 Dex2C ;

    75020

    c 语言项目,C 工具,快速完成加密保护

    将C# .net 编译成的执行程序(.exe),动态库(.dll)直接拖入工具即可完成保护操作,十分方便。并且在效果上已经完全看不到源码中的逻辑。...原理 将原始的代码段与数据包打包并压缩,将原始程序入口(OEP)替换为代码,运行时由代码将代码段与数据段还原,并进行一些重定位等操作,使程序能正常运行。 功能 防止静态反编译,防止程序被打补丁。...优点 1、能起到一层整体保护效果,可以隐藏程序的代码、数据和文件结构信息。 2、运行效率高,仅在程序被加载时轻微的性能损失。...3、因此添加了强名称的程序时要去除强名称, 并在后重新添加强名称。 05函数级保护-代码加密 原理 代码加密是使用动态代码技术,将原始方法字节码加密,执行时才将方法解密并执行的保护方式。

    1.7K20

    【Android 逆向】脱壳解决方案 ( DEX 整体 | 函数抽取 | VMP | Dex2C | Android 应用加固防护级别 )

    文章目录 一、DEX 整体 二、函数抽取 三、VMP 四、Dex2C 五、Android 应用加固防护级别 一、DEX 整体 ---- DEX 整体 就是将 完整的 DEX...文件 , 进行加密 , 只保留一个应用 , 应用执行时 , 应用解密 DEX 文件 , 然后执行解密后的 DEX 文件 ; DEX 整体 比较容易进行 脱壳 , 可以通过 文件加载 和 内存加载...直接 使用 adb shell dump 命令 , 将内存中的 DEX 文件 DUMP 下来即可 ; 二、函数抽取 ---- 函数抽取方案中函数解密时机 : 加载执行前解密 : 在 类加载 和... ---- Dex2C 是根据 编译原理 , 通过 词法 句法 分析 , 将 Java 代码 进行了 等价的语义转换 , 转为了 C 代码 , 基本无法完全恢复为 Java 代码 ; 核心是...关注 Native 中的 jni.h 中相关函数的调用 ; 五、Android 应用加固防护级别 ---- Android 应用加固防护等级 : 初级防护 : DEX 整体 中级防护 : 函数抽取

    1.6K20

    工具科普篇

    02 后程序的稳定性 一定要选择市场上比较成熟的产品。 对程序进行,会增加软件的复杂程度。程序的某些特殊处理,很容易造成保护后程序的不稳定性。...甚至会出现某些后的程序被杀毒软件拦截查杀的现象。后的程序如果不稳定,会给使用者带来极大的不便,影响工作效率。 03 后是否影响性能 选择支持性能调节的工具。...操作系统:是否支持 Windows、Linux、macOS、Android、ARM Linux 等。 程序类型:C/C++、Delphi、Go 等静态语言编译生成的本地可执行程序。...05 数据保护 选择有数据保护功能的工具。 软件在运行过程需要加载一些重要数据来完成某项功能,数据文件的安全也应该被重视。防止数据文件的泄露和破坏才能更好的实现软件安全。...选择工具时要关注一下是否支持数据文件保护。 06 用户体验 选择操作简单的产品。 界面工具:优先考虑界面直观、操作简单的产品,这样能够事半功倍,提升加密效率。

    2.7K20

    工具的使用

    工具的使用 0x01 前言 0x01 简介 0x02 ASPack 0x03 PE-Armor 0x01 前言 这是我对工具的使用的学习记录。...0x01 简介 1.:是一种通过一系列数学运算,将可执行程序文件(EXE)或动态链接库文件(DLL)的编码进行改变(目前软件还可以压缩、加密),以达到缩小文件体积或加密程序编码的目的。...2.在控制端安装ASPack软件,对这四个木马进行后会生成备份的。 3.将的木马共享给被控制端,控制端再使用瑞星查杀,发现两个木马并查杀,有两个未检测出来。...0x03 PE-Armor 1.在控制端安装PE-Armor 软件。 2.用PE-Armor给四个木马进行。...3.将后的木马种植在被控制端计算机中,使用瑞星查杀,发现有一个被查杀,三个隐藏起来了。

    2.2K20

    工具简单使用

    时间20210107,环境winxp 介绍一些工具和和它们的简单使用。其中加工具都可以在看雪学院上下载。为了方便描述,就先写了一个原程序,原程序的逻辑很简单,代码如下。...将src.exe(待文件)放到该目录下,接下来简单介绍下UPX的使用。 使用命令“upx -h”可以查看帮助,如下,有命令的介绍。...使用命令“upx 待程序.exe”,即可对原程序进行,这里是“src.exe”,可以看到下面显示了压缩的信息,如下图所示,File size(文件大小)由184401变为31744。...如下图所示,对要的原程序和输出的后程序进行选择。这里使用的原程序和UPX中使用的原程序是同一个。...然后进入Protection选项卡,点击Protect即可,也可以点击工具栏上的小闪电,如图所示,如果出现图中所示字样,说明成功,我们进入到输出文件的目录查看。

    1.8K10

    逆向-工具介绍

    经过两周尝试手动编写程序,目前也只是能实现给PE文件添加新区块,后面还有重定位表的修复,地址输入表的处理,虚拟机和花指令技术等反调试手段…一大串要学习的工作,几乎就是放弃了吧,通过这两周学习能让自己对...目前的两个主要方向是压缩和加密。...本文把穿山甲的使用流程展示如下: 流程与工程创建相似,首先在工具内创建工程 然后输入工程名和版本号 在第二栏中选择需要保护的文件,需保护的次要文件为主文件调用的DLL等,也可不选...注意此时不要选默认,否则会导致后面密码设置出错,证书设置如图: 配置好后关闭设置页面可见如下界面: 点击工具栏中的锁头按钮即可开始,成功后弹出如下消息框: 此时运行后的文件会需要用户名和密码...加密工具:VM protect ,该工具使用虚拟机技术对代码进行加密,效果可以说是目前领域最强,且资料显示以目前的激活成功教程理论解密VMP保护下的文件是几乎不可能的。

    1.9K10

    【Android 逆向】APK 脱壳现状 | 判断 APK 是否 | APK 逆向流程

    文章目录 一、APK 脱壳现状 二、判断 APK 是否 三、APK 逆向流程 一、APK 脱壳现状 ---- 覆盖率很高 : 当前的应用 , 基本上 90% 都会加 , 各大加固厂商..., 并且都很特殊 , 需要 先进行脱壳 , 然后才能进行恶意代码分析 ; 二、判断 APK 是否 ---- 如何判断一个 Android 应用是否 : 直接解压观察 : 将应用 APK...解压 , 观察其特征 ; Android Killer 分析 : 使用 Android Killer 等工具分析 APK 文件 , 会提示信息 , 分析种类 ; 每种的方式都会留下的指纹特征...; GDA 分析 : 使用 GDA 分析 APK 文件 , 将 APK 文件直接拖动到 GDA 中 , 就会进行自动分析 ; 三、APK 逆向流程 ---- 检测 : 使用检测工具 如 GDA 等..., 判断 APK 文件是否 ; 根据的相关指纹信息 , 判断的是哪种 ; 脱壳 : 针对 APK 类型 , 进行 脱壳 ; 反编译 : 使用 反编译工具 如 ApkTool , JEB

    3.8K21

    c# 工具推荐

    将C# .net 编译成的执行程序(.exe),动态库(.dll)直接拖入工具即可完成保护操作,十分方便。并且在效果上已经完全看不到源码中的逻辑。...原理 将原始的代码段与数据包打包并压缩,将原始程序入口(OEP)替换为代码,运行时由代码将代码段与数据段还原,并进行一些重定位等操作,使程序能正常运行。 功能 防止静态反编译,防止程序被打补丁。...优点 1、能起到一层整体保护效果,可以隐藏程序的代码、数据和文件结构信息。 2、运行效率高,仅在程序被加载时轻微的性能损失。...3、因此添加了强名称的程序时要去除强名称, 并在后重新添加强名称。 函数级保护-代码加密 原理 代码加密是使用动态代码技术,将原始方法字节码加密,执行时才将方法解密并执行的保护方式。

    2.6K10

    c# 工具推荐

    将C# .net 编译成的执行程序(.exe),动态库(.dll)直接拖入工具即可完成保护操作,十分方便。并且在效果上已经完全看不到源码中的逻辑。...原理 将原始的代码段与数据包打包并压缩,将原始程序入口(OEP)替换为代码,运行时由代码将代码段与数据段还原,并进行一些重定位等操作,使程序能正常运行。 功能 防止静态反编译,防止程序被打补丁。...优点 1、能起到一层整体保护效果,可以隐藏程序的代码、数据和文件结构信息。 2、运行效率高,仅在程序被加载时轻微的性能损失。...3、因此添加了强名称的程序时要去除强名称, 并在后重新添加强名称。 函数级保护-代码加密 原理 代码加密是使用动态代码技术,将原始方法字节码加密,执行时才将方法解密并执行的保护方式。

    1.9K20

    【Android 逆向】技术简介 ( 动态加载 | 第一代技术 - DEX 整体加固 | 第二代技术 - 函数抽取 | 第三代技术 - VMP Dex2C | 动态库技术 )

    文章目录 一、动态加载 二、第一代技术 ( DEX 整体加固 ) 三、第二代技术 ( 函数抽取 ) 四、第三代技术 ( Java 函数 -> Native 函数 ) 五、so 动态库 一...( DEX 整体加固 ) ---- 第一代技术 : DEX 字节码文件整体加密 使用自定义 DexClassLoader 加载 DEX 文件 第一代的特征 : 在内存中 , DEX 文件是整体的连续的内存块...: 内存中的 DEX 文件是完整的 , 也可以从内存中加载 DEX 文件 ; 保护粒度是 DEX 整体文件 ; 三、第二代技术 ( 函数抽取 ) ---- 第二代技术 对 DEX 文件整体进行了保护...类 ; 保护的粒度由 DEX 细化为每个函数 ; 破解者可以将 DEX 文件拿到 , 但是其中的关键函数是空的 ; 四、第三代技术 ( Java 函数 -> Native 函数 ) ---- 第三代技术...: 将 Java 函数转为 Native 函数 ; VMP Dex2C / Java2C 该类型的保护效果是最强的 , 多数加固厂商的此类都是需要付费的 ; 五、so 动态库 ---

    1.5K10

    【Android 逆向】Dalvik 函数抽取 ⑥ ( 函数抽取实现 | 函数抽取 | 函数还原 )

    ; 二、函数还原 ---- 函数还原流程参考 【Android 逆向】Dalvik 函数抽取 ① ( Dalvik 下的函数指令抽取与恢复 | dex 函数指令恢复时机点 | 类加载流程 : 加载...分析 ) 【Android 逆向】Dalvik 函数抽取 ③ ( 类加载流程分析 | DexPathList#findClass 函数分析 | DexFile#loadClassBinaryName...函数 ) 【Android 逆向】Dalvik 函数抽取 ④ ( 类加载流程分析 | native 函数查询 | dalvik_system_DexFile.cpp#defineClassNative...函数) 【Android 逆向】Dalvik 函数抽取 ⑤ ( 类加载流程分析 | Class.cpp#findClassNoInit 函数 | DexFile.cpp#dexFindClass 函数...从内存中 dump 出来 , 也无法得到真正的字节码文件 ; 相关参考博客 ---- 函数指令 抽取 : 进行函数抽取 , 首先要熟悉 dex 文件的结构 , 需要定位 dex 字节码文件中 ,

    1.1K10

    Android Linker 与 SO 技术

    目前Android 应用加固可以分为dex加固和Native加固,Native 加固的保护对象为 Native 层的 SO 文件,使用、反调试、混淆、VM 等手段增加SO文件的反编译难度。...目前最主流的 SO 文件保护方案还是技术, 在SO文件和脱壳的攻防技术领域,最重要的基础的便是对于 Linker 即装载链接机制的理解。...本文详细分析了 Linker 对 SO 文件的装载和链接过程,最后对 SO 的关键技术进行了简要的介绍。...技术 在病毒和版权保护领域,“”一直扮演着极为重要的角色。通过可以对代码进行压缩和加密,同时再辅以虚拟化、代码混淆和反调试等手段,达到防止静态和动态分析。...在 Android 环境中,Native 层的主要是针对动态链接库 SO,SO 的示意图如下: ? 工具、loader、被保护SO。 SO: 即被保护的目标 SO。

    3.1K61
    领券