混淆程序是恶意代码编写者用于隐藏其执行过程的代码。加壳程序是混淆程序中的一类,加壳之后的程序会被压缩,使得含义分析。
判断程序是否加壳的一个模糊的判别规则是,正常程序中的字符串往往会很多,而被加壳或混淆后的程序能够获取到的,能直接打印出的字符串却很少。注意 加壳和混淆代码通常至少会带有LoadLibrary和GetProcAddress函数,主要是用于加载和使用其他函数的功能。在加壳程序运行前,首
转载
2024-07-23 21:05:08
107阅读
这几天在做自己的一个小程序,因为使用了3层架构,运行目录下有很多dll文件,最终发布时,我打算将dll文件都合并到exe文件中去。微软发布的免费软件ILmerge可以完成这项工作,研究了一下,其用法如下:://tech.ddvip.com/2010-04/1270099865149311.htmlC:\Program Files (x86)\Microsoft\ILMe
转载
2024-01-22 21:27:42
231阅读
目前来说windows程序状态大体可以分为以下几种类型:未加壳、压缩壳、传统加密壳、代码虚拟化保护、.Net程序加密。识别程序加的什么壳目前常用的方法有以下两个:1.使用查壳工具:如PEiD、Exeinfo PE等查壳工具。这些工具内置各种壳的十六进制特征码进行对比查壳。 下面说下这些工具各自的优缺点: (1) PEiD、FFI、FastScanner、RDG Packer Detector这类程
转载
2023-12-25 22:44:05
509阅读
在自然界中,我想大家对壳这东西应该都不会陌生了,由上述故事,我们也可见一斑。自然界中植物用它来保护种子,动物用它来保护身体等等。同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的
转载
精选
2010-07-19 00:03:34
1761阅读
加壳工具是指注入一段功能代码到 APP 中,并可以将原始的二进制指令经过混淆、虚拟化等手段进行等价变换,实现满足 APP 多种安全需求。根据功能的不同可以分为:压缩壳、加密壳、虚拟机壳。 压缩壳 以隐藏程序代码和数据为目的,并将隐藏后的代码和数据进行压缩。但是,压缩壳由于在运行时会将代码段和数据段还
原创
2021-10-22 13:32:39
416阅读
加壳工具是指注入一段功能代码到 APP 中,并可以将原始的二进制指令经过混淆、虚拟化等手段进行等价变换,实现满足 APP 多种安全需求。根据功能的不同可以分为:压缩壳、加密壳、虚拟机壳。加壳工具的分类压缩壳以隐藏程序代码和数据为目的,并将隐藏后的代码和数据进行压缩。
原创
2022-01-16 11:32:22
372阅读
VMP加壳的选项中,有个内存效验选项,默认是勾上的,于是,默认的加壳后的程序,只要修改1个字节,程序就会报错。比如,我把加了VMP2.06后的记事本程序,用Hexworkshop打开,把最后一个字节,修改成90,如图:然后保存后,打开程序,就会报如下错:下面就来分析下,如何过这个效验。VMP中,进行效验,都是由handler VM_CRC来进行的,大致的过程可以描述如下:if(VM_CRC(dwC
加壳工具是指注入一段功能代码到 APP 中,并可以将原始的二进制指令经过混淆、虚拟化等手段进行等价变换,实现满足 APP 多种安全需求。根据功能的不同可以分为:压缩壳、加密壳、虚拟机壳。加壳工具的分类压缩壳以隐藏程序代码和数据为目的,并将隐藏后的代码和数据进行压缩。但是,压缩壳由于在运行时会将代码段和数据段还原,所以安全性较低。加密壳功能与压缩壳类似,可以将代码和数据进行加密,也可以对单个函数加密
原创
2020-03-31 15:14:18
691阅读
原创
2021-10-25 16:58:12
896阅读
点赞
1评论
一、什么是加壳?加壳是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数就是基于此原理。PC EXE文件加壳的过程如下:二、加壳作用加壳的程序可以有效阻止对程序的反汇编分析,以达到它不可告人的目的。这种技术也常用来保护软件版权,防止被软件三、Android Dex文件加壳原理PC平台现在已存在大量的标准的加壳和解壳工具,但是Android作为新
转载
2023-06-29 21:35:26
416阅读
1、合并file1.dll、file2.dll到destination.dll ILmerge /ndebug /target:dll /out:C:\destination.dll /log C:\file1.dll C:\file2.dll 2、合并file1.dll、file2.dll以及myApp.exe到newApp.exe ILmerge /ndebug /targ...
转载
2011-08-31 20:06:00
590阅读
2评论
加壳加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩、加密。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。它们附加在原程序上通过Windows加载器载入内存后,先于原始程序执行,得到控制权,执行过程中对原始程序进行解密、还原,还原完成后再把控制权交还给原始程序,执行原来的代码部分。加上外壳后,原始程序代码在磁盘文件中一般是以加密
转载
2023-12-03 13:56:23
13阅读
一代壳dex整体加固第一代壳主要是对dex/apk文件整体加密,然后自定义类加载器动态加载dex/apk文件并执行。在动态加载dex/apk文件的时候有落地加载和不落地加载,落地加载就是通过DexClassLoader从磁盘加载dex/apk文件,不落地加载就是通过InMemoryDexClassLoader从内存中加载dex/apk文件。下面以落地加载为例(不落地加载实现原理类似)。一代壳实现原
转载
2023-08-03 14:47:41
340阅读
加壳的实现我是个初学者,所知有限,难免会有错误,如果有人发现了错误,还请指正。 先大致说一下加壳的原理,即在原PE文件(后面称之为宿主文件)上加一个新的区段(也就是壳),然后从这个新的区段上开始运行;也就算是成功的加上了壳;下面我们就说一下具体的实现。 这个工程有两个项目,一个用来生成壳的Win32项目(dll类型),另一个是实现加壳的MFC项目; 加壳的项目界面是用
转载
2024-01-19 23:53:21
97阅读
分析加壳--加壳程序如何工作及如何识别前文 此系列文章仅是自己学习记录不做其它加壳可执行程序文件的两个主要的目的是缩小程序的大小,保护对加壳程序的探测与分析。虽然加壳器的种类众多,但是它们遵循相似的模式:将一个可执行文件转换创建一个新的可执行文件,被转换的可执行文件将在这个新的可执行文件中作为数据存储,另外新的可执行文件还包括一个供操作系统调用的脱壳存根(stub)。下面首先以加壳程序如何工作及如
在C世界,对代码进行加密,主要通过加壳的方式。所谓加壳,就是先将程序代码加密,然后用特定的程序加载器,将代码解密后加载进内存,这样可以在防止代码的反编译,当然,有加壳工具,也有解壳工具,虽然不能100%防止crack,但仍然给代码增加一层有力的保护。
然而在java世界,保护代码是件很困难的事情,因为class文件非常规范,极易反编译,且反编译后的代码
转载
2024-01-26 07:05:37
212阅读
1评论
由于本人从c++开发直接跳到android开发,没有对android进行系统的学习,看上面博客时还是有很多不理解的地方。本文把不理解的地方梳理一下,最后提供个测试源码(加了比较详细的注释)。希望对于跟我一样安卓基础不是太好的人有一定帮助。正文:apk加壳的目的(我的用途):增加apk静态分析的难度。(如果反编译的人知道是加壳的,可以在data/包名目录下 找到真正的apk。所以在壳上增加正常的代码
转载
2024-01-16 20:53:51
136阅读
我们常常看到, 自己用PyInstaller等库打包的exe被别人反编译。而源代码在exe文件中是以字节码形式存储的。掌握了字节码的加密技巧, 就可以防止源代码的反编译。 目录1.字节码是什么2.包装字节码3.压缩字节码4.加壳字节码(方法一):修改co_code5.加壳字节码(方法二):混淆变量名6.解压缩, 脱壳字节码总结 1.字节码是什么PyInstaller, py2exe等库会把编译生成
转载
2023-08-11 14:14:41
860阅读
先把核心原理记录一下,代码随后再补。PRE、dex文件结构知识和加壳原理 先看下dex文件的基本结构 对于加壳主要关注3个关键字: 1)checksum 文件校验码,使用alder32算法,校验文件除了maigc和checksum外余下的所有文件区域,用于检查文件错误。 2)signature 使用SHA-1算法hash除了magic ,checksum和signature外余下的所有
转载
2023-10-08 07:29:33
208阅读
1、前言Android开发者经常面临的一个问题就是防破解、 防二次打包。现现在,安全问题愈来愈重要,愈来愈多 的Android开发者也开始寻求安全的保护方案。请看一下下面的几张图片:android1.1 1.2 2、什么要加壳?a.应用安全是产品质量的一个重要方面。b.加固为APP提供专业安全的保护,从源头保护APP的数据安全和开发者利益。c.防止应用被逆向分析、反编译和二
转载
2023-08-29 22:20:19
32阅读