特点 不同的压缩壳会先将 pe 文件压缩,载入内存后进行解压缩(TLS函数内)然后运行,而 vmp 是修改 pe文件中的汇编指令为一...
原创
2022-07-19 10:08:55
1179阅读
现在的VMP的比较常见了,应该也是稳定性满足要求了,今天来分析一波,如有不当还请各位大佬指正实际上 libdexjni.so在不同的APP中体积会不一样,应该是硬编码写入字符串和指令导致的1-VMP还是先看下opcode部分知识,DEX指令格式代码转换成DEX指令先看代码对应的第一条指令是每条指令是2字节,所以先看第一条 6f 20,根据官方文档 6F的解释是 invoke-super
转载
2023-08-17 16:14:10
188阅读
这次爆破的是某编辑类软件,版本是32位绿色版本:V4.3.1 1、OD打开后发现了VMP0段,这里下个内存访问断点: 又来到这里了,非常明显的VMP入口特征: 一大堆push指令又开始保存物理寄存器;同时让esi指向虚拟指令集;和上面一篇文章分析的混淆手法一模一样,个人猜测用的
好久没有到博客写文章了,9月份开学有点忙,参加了一个上海的一个C
原创
2023-07-21 10:29:00
76阅读
一、加壳技术识别、二、VMP 加壳示例、三、Dex2C 加壳示例、
原创
2022-03-07 15:38:09
2304阅读
一代壳dex整体加固第一代壳主要是对dex/apk文件整体加密,然后自定义类加载器动态加载dex/apk文件并执行。在动态加载dex/apk文件的时候有落地加载和不落地加载,落地加载就是通过DexClassLoader从磁盘加载dex/apk文件,不落地加载就是通过InMemoryDexClassLoader从内存中加载dex/apk文件。下面以落地加载为例(不落地加载实现原理类似)。一代壳实现原
转载
2023-08-03 14:47:41
288阅读
先把核心原理记录一下,代码随后再补。PRE、dex文件结构知识和加壳原理 先看下dex文件的基本结构 对于加壳主要关注3个关键字: 1)checksum 文件校验码,使用alder32算法,校验文件除了maigc和checksum外余下的所有文件区域,用于检查文件错误。 2)signature 使用SHA-1算法hash除了magic ,checksum和signature外余下的所有
转载
2023-10-08 07:29:33
191阅读
目前针对移动应用市场上安卓APP被破解、反编译、盗版丛生的现象,很多APP开发人员已经意识到保护APP的重要性。而对于移动应用APP加密保护的问题,如何对DEX文件加密尤为重要。那么接下来,我们就先介绍一下什么是App加壳和加壳的原理,利与弊等。 一、什么是加壳?加壳是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数病毒就是基于此原理。是应用加固的一种手法
一、加壳特征识别、1、函数抽取 与 Native 化加壳的区分、2、VMP 加壳与 Dex2C 加壳的区分、
原创
2022-03-07 15:38:33
556阅读
Java定制类加载器实现Java加壳Java中有哪些类加载器?1. 顶层类加载器/引导类加载器:BootstrapClassLoader2. 拓展类加载器:ExtClassLoader3. 系统类加载器:AppClassLoader4. 线程上下文类加载器:con
转载
2023-08-13 21:14:21
248阅读
一、DEX 整体加壳、二、函数抽取加壳、三、VMP 加壳、四、Dex2C 加壳、五、Android 应用加固防护级别、
原创
2022-03-07 15:34:25
1669阅读
作者介绍:周科,腾讯工程师,QQ动漫Android主力开发,从事过Rom开发,参与过手Q阅读、手Q趣味来电等项目,对Android底层原理有深入理解。前言说起壳可能有的同学并不太了解,简单的说,计算机软件领域所说的壳实际上是一种软件加密技术。与自然界中的壳类似,花生用壳保护种子,乌龟用壳保护自己的身体,而我们写的程序为了在一定程度上防止被逆向分析,也可以给它加壳。壳主要分为两大类:加密壳和压缩壳,
转载
2023-10-08 13:09:30
199阅读
#0x00 前言安卓应用加固技术是伴随安卓应用破解技术一同发展起来的。加固技术分为加壳保护和反反汇编保护技术。市面上成熟的加固厂商一般会使用加壳保护技术配合反反汇编技术对安卓应用进行加固。安卓反反汇编技术的总结在我以下博客中将进行详细探讨(未写完),链接:反反汇编:反动态调试: 安卓应用加壳技术的发展可以划分为以下几代壳技术:第一代壳——动态加载壳:对用户端的Dex、so、资源进行混淆及
转载
2023-10-09 13:24:02
0阅读
好久没有到博客写文章了,9月份开学有点忙,参加了一个上海的一个CHINA SIG信息比赛,前几天又无锡南京来回跑了几趟,签了阿里巴巴的安全工程师,准备11月以后过去实习,这之前就好好待在学校学习了。这段时间断断续续把《加密与解码 第三版》给看完了,虽然对逆向还是一知半解,不过对VMP虚拟机加壳这块有了一点新的认识。这里分享一些笔记和想法,没有新的东西,都是书上还KSSD里看来的,权当笔记和分享,大
加壳的实现我是个初学者,所知有限,难免会有错误,如果有人发现了错误,还请指正。 先大致说一下加壳的原理,即在原PE文件(后面称之为宿主文件)上加一个新的区段(也就是壳),然后从这个新的区段上开始运行;也就算是成功的加上了壳;下面我们就说一下具体的实现。 这个工程有两个项目,一个用来生成壳的Win32项目(dll类型),另一个是实现加壳的MFC项目; 加壳的项目界面是用
加壳软件的实现原理篇 Author: x0R Heap Heap棕色:代表HEAP区,也就是动态分配的内存区域. Protected Program Program蓝色:代表被加密后的源程序代码区  
加壳一般是指保护程序资源的方法.
脱壳一般是指除掉程序的保护,用来修改程序资源.
病毒加壳技术与脱壳杀毒方法 :
壳是什么?脱壳又是什么?这是很多经常感到迷惑和经常提出的问题,其实这个问题一点也不幼稚。当你想听说脱壳这个名词并试着去了解的时候,说明你已经在各个安全站点很有了一段日子了。下面,我们进入“壳”的世
界吧。
一、金蝉脱壳的故事
我先想讲个故事吧。
原创
2023-01-25 13:48:40
689阅读
在自然界中,我想大家对壳这东西应该都不会陌生了,由上述故事,我们也可见一斑。自然界中植物用它来保护种子,动物用它来保护身体等等。同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的
转载
精选
2010-07-19 00:03:34
1579阅读
一、什么是加壳?加壳是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数就是基于此原理。PC EXE文件加壳的过程如下:二、加壳作用加壳的程序可以有效阻止对程序的反汇编分析,以达到它不可告人的目的。这种技术也常用来保护软件版权,防止被软件三、Android Dex文件加壳原理PC平台现在已存在大量的标准的加壳和解壳工具,但是Android作为新
转载
2023-06-29 21:35:26
402阅读
加壳加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩、加密。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。它们附加在原程序上通过Windows加载器载入内存后,先于原始程序执行,得到控制权,执行过程中对原始程序进行解密、还原,还原完成后再把控制权交还给原始程序,执行原来的代码部分。加上外壳后,原始程序代码在磁盘文件中一般是以加密