软件加壳脱壳技术教程

合集下载

加壳与脱壳应用及实现

加壳与脱壳应用及实现

加壳与脱壳的应用与实现一、加壳 (2)1.什么是壳 (2)2.加壳原因 (2)3.壳的加载过程 (3)4.压缩引擎 (5)5.常见的加壳工具 (6)a.常用压缩壳介绍 (6)b.加密保护壳介绍 (7)二、脱壳 (10)1.侦壳 (10)2.脱壳 (13)a.查找程序的真正入口点(OEP) (13)b.抓取内存映像文件 (15)c.输入表重建 (15)附:视频“加壳与脱壳(软件)”和“手动脱壳” (17)加壳与脱壳一、加壳1.什么是壳在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。

它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。

由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,就把这样的程序称为“壳”了。

图1.12.加壳原因就把这样的程序称为“壳”了。

作者编好软件后,编译成exe可执行文件。

1)有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名,即为了保护软件不被破解,通常都是采用加壳来进行保护。

2)需要把程序搞的小一点,从而方便使用。

于是,需要用到一些软件,它们能将exe可执行文件压缩。

3)在黑客界给木马等软件加壳脱壳以躲避杀毒软件。

实现上述功能,这些软件称为加壳软件。

3.壳的加载过程1)获取壳自己所需要使用的API地址如果用PE编辑工具查看加壳后的文件,会发现未加壳的文件和加壳后的文件的输入表不一样,加壳后的输入表一般所引入的DLL和API函数很少,甚至只有Kernel32.dll以及GetProcAddress这个API 函数。

壳实际上还需要其他的API函数来完成它的工作,为了隐藏这些API,它一般只在壳的代码中用显式链接方式动态加载这些API函数2)解密原程序的各个区块(Section)的数据壳出于保护原程序代码和数据的目的,一般都会加密原程序文件的各个区块。

在程序执行时外壳将会对这些区块数据解密,以让程序能正常运行。

壳一般按区块加密的,那么在解密时也按区块解密,并且把解密的区块数据按照区块的定义放在合适的内存位置。

软件加壳技术及实现

软件加壳技术及实现

软件加壳技术及实现软件加壳是一种常见的软件保护技术,通过将原始的可执行文件进行加密和封装,增加软件的安全性和难度,提高软件的抵抗逆向工程、防止破解的能力。

下面将介绍软件加壳技术的原理及实现方法。

1.软件加壳原理软件加壳的基本原理是将原始可执行文件进行加密处理,生成一个加密后的壳程序,再将原始可执行文件嵌入到壳程序中,并根据可执行文件的特征信息进行相应的处理和解密,最终执行原始程序。

具体的加壳流程如下:(1)加密原始可执行文件:使用对称加密算法(如AES、DES等)对原始可执行文件进行加密处理,使其不可读。

(2)生成壳程序:编写一个壳程序,包括解密原始可执行文件、加载和执行原始程序等功能。

壳程序本身一般是已经加密的,以防止被分析破解。

(3)将原始可执行文件嵌入到壳程序中:将加密后的原始可执行文件隐藏在壳程序中,一般是作为一个资源或数据块存在。

(4)运行壳程序:用户双击运行壳程序,壳程序首先进行解密处理,获取原始可执行文件,然后进行加载和执行。

2.软件加壳实现方法(1)静态加壳:在编译链接阶段对可执行文件进行加壳处理。

静态加壳可以通过修改可执行文件的文件头信息和重定位表等方式实现。

(2)动态加壳:在运行时对可执行文件进行加壳处理。

动态加壳使用的是运行时加载原始程序的方式,可以提高软件的安全性,但也会增加运行的开销。

3.加壳脱壳工具目前市面上有很多成熟的加壳脱壳工具可供使用,如UPX、ASPack、FSG等。

这些工具可以方便地对可执行文件进行加壳和脱壳操作,但也容易被黑客用来破解软件。

总结:软件加壳技术是一种常用的软件保护手段,通过加密和封装原始可执行文件,增加软件的安全性和防破解能力。

加壳脱壳工具能够方便地实现对可执行文件的加壳和脱壳操作,但需要注意合理的加密算法和技术选型,以提高软件的安全性。

怎样使用脱壳软件

怎样使用脱壳软件

怎样使用脱壳软件使用脱壳软件是指将一个已经加壳和加密的程序进行去壳操作,以便分析其内部机制和功能。

脱壳操作可以帮助安全研究人员和逆向工程师了解加壳程序的运行方式,分析其潜在的恶意行为和风险,并可能发现潜在的漏洞和安全问题。

下面将介绍一般的脱壳过程和常用的脱壳软件。

一、脱壳软件使用的一般过程:2. 选择适合的脱壳软件:根据目标程序的特征和加壳方式选择合适的脱壳工具。

常见的脱壳软件有OllyDbg、x64dbg、IDA Pro等。

3.加载加壳程序到脱壳软件中:将获取到的加壳程序文件加载到所选的脱壳软件中,通常通过点击软件的“打开”或“载入”按钮来实现。

4.设置断点:在脱壳软件中设置断点,断点可以是程序入口点、解密函数等位置,以便在程序执行过程中暂停执行,并进行相应的分析。

5.运行加壳程序:运行被加载的加壳程序,让其开始执行。

通常,加壳程序在运行时会进行解密、反调试等处理,因此需要在适当的时机暂停执行。

6.分析解密过程:当加壳程序暂停时,可以通过逆向工程和调试工具分析解密过程。

可以查看内存中解密后的内容以及解密算法的具体实现,并将其保存下来。

7.脱壳并验证:经过分析和调试,获取到解密后的内容后,可以将其保存并进行验证。

验证过程可以是检查解密后的内容和原程序的差异、运行解密后的程序以验证其功能等。

8.分析被脱壳程序:对脱壳的程序进行进一步分析,可能需要使用其他反汇编工具、动态分析工具和调试工具等进行代码阅读、数据流分析、函数调用跟踪等操作。

9.编写报告和总结:根据脱壳过程和分析结果,编写报告和总结,记录分析过程中发现的问题、风险和建议。

二、常用的脱壳软件:1. OllyDbg:这是一款非常流行的反汇编和调试工具,适用于Windows系统,可用于脱壳加壳的程序、病毒、逆向等操作。

2. x64dbg:这是一款免费的32位和64位反汇编和调试工具,提供了易于使用的界面和强大的功能,适用于Windows系统。

3. IDA Pro:这是一款高级的静态反汇编工具,可用于对加密代码进行分析和逆向工程,支持多种CPU架构和文件格式。

介绍下加壳识别壳破壳的方法

介绍下加壳识别壳破壳的方法

介绍下加壳识别壳破壳的方法加壳是计算机软件中的一种保护措施,用于保护软件免受逆向工程和盗版侵害。

加壳通过在原始程序上添加一层原生或自定义的壳,在运行时加固被保护的代码,隐藏关键功能和算法,对软件进行加密和压缩等操作,使其更加难以被逆向工程分析和破解。

因此,加壳成为了软件开发者和软件厂商保护自己知识产权和商业模式的重要手段。

然而,随着逆向工程技术的发展,破解加壳技术也变得越来越成熟。

破壳是指绕过加壳保护,还原被保护的软件的原始二进制代码。

下面将介绍几种常见的加壳识别壳破壳的方法。

一、静态分析法静态分析法是在不运行加壳程序的情况下对其进行逆向分析的方法。

通过分析加壳程序的头部信息、导入导出表、节表信息、加壳部分的代码特征等,可以判断出是否存在加壳和使用的壳类型。

然后,借助逆向工程工具(如IDA Pro、OllyDbg等),对加壳程序进行反汇编和调试,还原出被壳保护的原始软件代码。

二、动态调试法动态调试法是通过运行加壳程序,在运行时动态调试其行为,获取关键信息,帮助识别壳的类型和破解壳。

通过使用调试工具,如OllyDbg和x64dbg等,可以在软件运行过程中观察和修改寄存器、内存、堆栈等信息,找到关键的跳转指令,尝试绕过壳的保护和加密操作。

三、壳特征识别法壳特征识别法是通过分析加壳程序的一些特征,如一些特殊字符串、特定函数的调用方式、调用API的顺序等,来识别壳的类型。

根据壳的特征,可以编写脚本或使用专门的壳特征识别工具,从二进制代码中特定的特征,找到壳并进行破解。

四、动态调用链分析法动态调用链分析法是通过分析加壳程序的动态调用链,了解程序的运行过程和保护措施。

通过传递参数、查找调用、分析返回值等方式,逐步跟踪加壳程序的执行流程,找到关键的调用和逻辑判断,破解保护措施,还原原始代码。

虽然破壳技术不断发展,加壳技术也不断进化,但是通过以上方法可以部分或完全破解绝大多数的软件加壳。

要保护软件不被破解,开发者需要采取更加综合和复杂的保护措施,如代码混淆、虚拟机保护、反调试等,提高软件的保护级别,增加破壳难度。

几种用OD脱壳方法

几种用OD脱壳方法

几种用OD脱壳方法OD是反编译软件的一种,可以将可执行文件转换为可读的源代码。

脱壳是指从已经加密或保护的软件中提取出原始的未加密或未保护的代码。

下面是几种常见的OD脱壳方法:1.静态分析法:静态分析是指对二进制文件进行分析,了解其结构、函数调用和控制流程等信息。

通过对逆向工程的分析,可以分析出加密算法和解密函数的位置。

使用静态分析法脱壳的主要步骤如下:-打开OD软件,将加密的可执行文件加载到OD中。

- 使用各种OD工具,如IDA Pro,OllyDbg等,显示可执行文件的汇编代码。

-通过分析代码和调试程序,找到加密算法和解密函数的位置。

-根据找到的位置,修改程序的执行流程,跳过解密函数,使得程序直接执行解密后的代码。

2.动态调试法:动态调试是指在运行时对程序进行调试和分析。

使用动态调试法脱壳的主要步骤如下:-打开OD软件,将加密的可执行文件加载到OD中。

- 使用动态调试工具,如OllyDbg或GDB等,在程序执行期间跟踪和记录函数调用和内存访问。

-通过分析函数调用和内存访问,找到加密算法和解密函数的位置。

-在找到的位置上下断点,执行程序并使用OD工具查看解密后的代码。

3.内存镜像法:内存镜像法是指通过将程序加载到内存中,并对内存进行镜像和分析来脱壳。

使用内存镜像法脱壳的主要步骤如下:-运行加密的可执行文件。

- 使用内存镜像工具,如DumpBin或WinDBG等,将程序的内存镜像保存到磁盘上。

-使用OD软件加载内存镜像文件。

-通过分析内存镜像文件,找到加密算法和解密函数的位置。

-修改程序的执行流程,跳过解密函数,使得程序直接执行解密后的代码。

这些方法都可以用于将加密的可执行文件转换为可读的源代码,从而进行进一步的分析和修改。

脱壳过程需要进行深入的逆向工程和对程序的理解,因此需要具备一定的技术和知识。

此外,需要注意的是,脱壳过程可能涉及到破解和侵犯版权的行为,应遵守法律规定,并仅限于安全研究和个人学习的目的使用。

upx脱壳方法 -回复

upx脱壳方法 -回复

upx脱壳方法-回复UPX(Ultimate Packer for eXecutables)是一种广泛使用的可执行文件压缩器和脱壳器。

它采用了先进的压缩算法,能够有效地减小可执行文件的体积,同时保持文件的可执行性。

然而,有时我们需要对UPX压缩过的可执行文件进行脱壳操作,以便进行进一步的分析或修改。

本文将一步一步介绍UPX脱壳的方法。

第一步:准备工作在开始UPX脱壳之前,我们需要先准备一些工具。

首先,我们需要下载并安装IDA Pro。

IDA Pro是一款非常强大的逆向工程软件,可以帮助我们分析和修改可执行文件。

其次,我们还需要下载并安装UPX工具集,以便进行脱壳操作。

最后,我们需要找到一个已经被UPX压缩过的可执行文件,作为我们的实验对象。

第二步:分析可执行文件打开IDA Pro,并导入我们选定的UPX压缩文件。

通过IDA Pro的静态分析功能,我们可以获取有关该文件的一些基本信息,例如文件的入口点地址和函数列表等。

这将有助于我们在后续操作中准确定位需要脱壳的代码。

第三步:寻找脱壳代码在IDA Pro中,我们需要找到UPX的脱壳代码。

UPX脱壳的主要原理是在运行时将压缩过的可执行文件还原为原始的可执行文件。

因此,UPX脱壳代码的位置通常在程序的入口点之后。

我们可以通过在IDA Pro中分析可执行文件的反汇编代码,寻找与UPX脱壳相关的代码段或函数。

这些代码段或函数通常包含有关文件解压缩和内存映射的指令。

第四步:研究脱壳代码找到UPX脱壳代码后,我们需要仔细研究这段代码的逻辑和功能。

通常,UPX脱壳代码会包含一系列指令,用于解压缩数据并将其映射到内存中。

通过对脱壳代码的分析,我们可以了解到UPX是如何解压缩和还原可执行文件的。

第五步:修改脱壳代码在研究了脱壳代码后,我们可以尝试对其进行修改,以实现我们的需求。

可能的修改包括改变解压缩的方式、修改解压缩后的文件内容等。

通过在IDA Pro中编辑脱壳代码,我们可以实现对UPX脱壳过程的定制。

如何将EXE安装文件脱壳和破解

如何将EXE安装文件脱壳和破解

如何将EXE安装文件脱壳和破解
首先,我要强调,破解软件和脱壳软件违反了软件版权法,这是非法
行为。

那么,如何脱壳和破解EXE安装文件呢?
1.脱壳软件
脱壳是指将被打包、加密或保护的EXE文件还原为原始的可执行文件。

脱壳软件通常需要一些专业的技术知识,并且不同软件的脱壳方法也会有
所不同。

下面是一些常见的脱壳方法:
-调试器:将脱壳软件用调试器打开,断点在加载代码之前的位置上,使得在加载期间可以捕捉到呈现在内存中的文件。

- 静态分析:通过静态分析工具,如IDA Pro,分析文件的指令、数
据和控制流,找出加密和保护技术,并获取原始的可执行文件。

2.破解软件
破解软件是指破解免注册版或试用期软件的功能限制,以获得免费使
用所需功能的方法。

以下是一些常见的破解方法:
-序列号生成器:破解序列号的软件,通过生成有效的序列号来解锁
软件的功能限制。

-反向工程:通过逆向工程将软件中的保护措施绕过或关闭,以便在
未注册的情况下使用软件的全部功能。

- Patching:通过修改软件的二进制代码,删除或绕过软件的注册验证,以实现破解的目的。

无论您是否打算进行此类操作,我们鼓励您始终遵守版权法。

许多软
件公司对未经授权的破解行为采取法律行动,并对侵权者提起诉讼。

同时,使用未经授权的破解软件可能会导致您的计算机感染恶意软件或病毒。

因此,我们建议您遵守软件许可协议,并根据开发商提供的合法方式
获得软件的完整功能。

如果您希望获得一款软件的全部功能,可以考虑购
买正版软件或使用免费的替代品。

加壳免杀与脱壳反编译图文教程

加壳免杀与脱壳反编译图文教程

加壳免杀与脱壳反编译图文教程时间:2009-09-14 10:24来源:安全中国第一、什么是免杀?免杀,也就是反病毒(Anti Virus)与反间谍(Anti Spyware)的对立面,英文为Anti Anti- Virus(简写Vi rus AV),逐字翻译为“反-反病毒”,我们可以翻译为“反杀毒技术”。

单从汉语“免杀”的字面意思来理解,可以将其看为一种能使病毒木马免于被杀毒软件查杀的技术。

但是不得不客观地说,免杀技术的涉猎面非常广,您可以由此轻松转型为反汇编、逆向工程甚至系统漏洞的发掘等其他顶级黑客技术,由此可见免杀并不简单。

第二、什么是加壳?加壳的全称应该是可执行程序资源压缩,是保护文件的常用手段. 其实是利用特殊的算法,对EXE、D LL文件里的资源进行压缩、加密。

类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。

它们附加在原程序上通过Windows加载器载入内存后,先于原始程序执行,得到控制权,执行过程中对原始程序进行解密、还原,还原完成后再把控制权交还给原始程序,执行原来的代码部分。

加上外壳后,原始程序代码在磁盘文件中一般是以加密后的形式存在的,只在执行时在内存中还原,这样就可以比较有效地防止破解者对程序文件的非法修改,同时也可以防止程序被静态反编译.第三、什么是脱壳?脱壳是站在加壳的对立面的,如果说加壳是变化,脱壳就是还原.第四、什么是反编译?高级语言源程序经过编译变成可执行文件,反编译就是逆过程。

但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。

计算机软件反向工程(Reversepengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,作为自己开发软件时的参考,或者直接用于自己的软件产品中。

浅谈壳的加载步骤及手动脱壳

浅谈壳的加载步骤及手动脱壳

浅谈壳的加载步骤及手动脱壳。

现在玩脱壳的人越来越多了,不知道是好事还是坏事。

现在玩手动脱壳一般三样工具足矣:loader,ImpREC,TRW2000。

也许是这三剑客的功能太强大,因此手动脱壳也变得象流水化作业。

大致以下几个步骤就搞定了。

1)loader找OEP.(OEP就是程序原来的入口点,即Original Entry Point)2)TRW2000来Dump。

也就是把内存映象保存为文件。

3)ImpREC修补Import Table.(也就是修补程序原来的API地址)不过如果这样,那么我想手动脱壳也没有必要了,因为更先进的工具如各种脱壳机会更快捷有效。

既然是手动脱壳,当然想对壳有所了解,那么让我们看看壳是如何工作的吧。

壳和病毒从某些方面比较类似,都需要比原程序代码更早的获得控制权,这是通过在原程序的代码执行前加入自己的一段代码来实现的。

注意我说的这是执行时的情况。

对于文件中的情况,就是壳修改了原程序的执行文件的组织结构,从而达到壳的代码能够比原程序的代码提前获得控制权,并且不会影响原程序的正常运行,所以从这点上说,壳和病毒很类似。

现在的执行文件一般都是PE格式,如果你对PE格式一无所知,最好还是去看一看相关的资料。

我没有那么地道的专业知识,也怕误人子弟。

相关名词1)Entry Point (入口点)PE格式的可执行文件的执行时的入口点,即是PE格式中的Entry Point。

用PEditor或者LordPE之类的PE查看工具看看NotePad.exe,你就会看到Entry Point的值。

也就是说NotePad.exe在执行时的第一行代码的地址应该就是这个值。

(当然应该加上基地址)2)Section (节区)PE格式文件是按节区进行规划组织的,不同的节区一般保存的数据的作用也不相同。

通常使用缺省方式编译的程序文件,有CODE/DATA/TLS/.text/.data/.tls/.rsrc/.rdata/.edata/.reloc等不同的名称,有的用于保存程序代码,如CODE和.text节区,有的用于保存程序中的变量的,如DATA/.data节区,有的保存重定位信息,如.reloc,有的用于保存资源数据,如.rsrc。

壳的介绍以及脱壳常用思路

壳的介绍以及脱壳常用思路

一、概论壳出于程序作者想对程序资源压缩、注册保护的目的,把壳分为压缩壳和加密壳两种常见压缩壳:UPX、ASpcak、Telite、PElite、Nspack ...常见加密壳:Armadillo ASProtect ACProtect EPE SVKP ...顾名思义,压缩壳只是为了减小程序体积对资源进行压缩,加密壳是程序输入表等等进行加密保护。

当然加密壳的保护能力要强得多!二、常见脱壳方法预备知识1.PUSHAD (压栈)代表程序的入口点,2.POPAD (出栈)代表程序的出口点,与PUSHAD想对应,一般找到这个OEP就在附近3.OEP:程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP/FOEP),只要我们找到程序真正的OEP,就可以立刻脱壳。

如何分辨加密壳和压缩壳,通用特点,OD载入时有入口警告或询问是压缩程序吗?普通压缩壳OD调试时候没有异常,加密壳全部有反跟踪代码,会有许多SEH陷阱使OD调试时产生异常。

找OEP的一般思路如下:先看壳是加密壳还是压缩壳,压缩壳相对来说容易些,一般是没有异常。

外壳解压代码起始点如果是pushfdpushad跟踪时如果有发现popadpopfd对应有些壳只有pushad和popad相对应附近还有retnjmp等指令,发生跨断跳跃一般就到了OEP处。

当然也有其他的,如 je OEP等等,一般都是段之间的大跳转,OD的反汇编窗口里都是同一个段的内容,所以更好区别是否是段间跳转。

找Oep时注意两点。

1、单步往前走,不要回头。

2、观察。

注意poshad、poshfd,popad、popfd等,和外壳代码处对应,注意地址发生大的变化。

单步跟踪什么时候F8走,F7,F4步过?这里我说说关于F8(Step Over)和F7(Step in)的一般方法,粗跟的时候一般都是常用F8走,但是有些call是变形的Jmp,此时就需要F7代过,区别是否是变形Jmp的一个简单方法是比较call的目标地址和当前地址,如果两者离的很近,一般就是变形Jmp了,用F7走。

软件加壳脱壳技术教程

软件加壳脱壳技术教程
附加一点内容
一.壳的概念
作者编好软件后,编译成exe可执行文件
1.有一些版权信息需要保护起来,不想让别人
随便改动,如作者的姓名等
2.需要把程序搞的小一点,从而方便使用
于是,需要用到一些软件,他们能将exe可执行文件压缩,
实现上述两个功能,这些软件称为加壳软件或压缩软件.
它不同于一般的winzip,winrar等压缩软件.
好,我们先从一个基本的Upx壳入手。
本地下载
首先必须的工具要准备好,
查壳工具
Peid0.91,Fileinfo,Language2000,File Scanner等。
查入口工具。
Peid0.91首推,冲击波(9X)系统专用,Asloader,自己的感觉,程序跨段跳跃点。
脱壳工具。
Ollydbg首选,LoadPe,PEditor,ProcDump等,够用了。
傻瓜式软件,运行后选取待侦测壳的软件即可(open)
脱壳教程2:手动脱壳入门第一篇
【使用工具】Ollydbg1.10b,ImportREC1.6F
【破解平台】Win2000/XP
前言,作者写这篇文章只是举个例子,希望读者能够举一反三,看清思路.
本论坛中破解高手很多,不会手动脱壳者人数仍然不少。有人会说,我有Unaspack,Caspr,ProcDump等众多脱壳工具,不会手动脱壳用工具脱就可以了。但有部分壳如Asprotect1.23Rc4,本论坛高手仙剑(将自己加密壳伪装成C++),有漏洞,用Peid查壳,Ep区段写有Xj,用Od载入提示有壳,更有甚一些软件如大嘴日语加了四层壳,这些都是工具无法脱壳的。随着加密壳的不断出现,基本壳都不会,高版本的加密壳以后脱壳盲根本无从入手。所以,手动脱壳Crack必修。

脱壳教程_精品文档

脱壳教程_精品文档

脱壳教程标题:脱壳教程引言:脱壳是指将软件或应用程序的包装层(也称为保护壳或加密层)移除,以便对其进行更深入的分析、修改或逆向工程。

脱壳过程可以帮助软件开发人员或安全研究人员理解程序的内部运行机制,发现其中的漏洞或者进行优化改进。

本文将介绍脱壳过程的基本原理和几种常见的脱壳工具以及其使用方法。

一、脱壳的基本原理脱壳的基本原理是通过破解或绕过软件的保护机制来移除保护壳。

保护机制通常包括各种检测和防御技术,如代码混淆、加壳、逆向工程等。

常见的保护壳有UPX、ASProtect、Enigma等。

脱壳的过程涉及对程序进行调试、分析和修改。

二、脱壳工具介绍及使用方法1. OllyDbgOllyDbg是一款著名的逆向工程和调试工具,也是脱壳过程中经常使用的工具之一。

它具有强大的调试和反汇编功能,可以帮助分析程序的执行流程、内存变化等。

使用OllyDbg进行脱壳时,首先需要加载待脱壳的程序,然后设置断点,跟踪程序执行,找到关键的保护机制的位置,最终移除保护壳。

2. IDA ProIDA Pro是一款功能强大的反汇编和逆向工程工具。

它可以将程序转换为易读的汇编代码,并提供强大的导航和分析功能。

脱壳时可以使用IDA Pro来分析和修改程序的内存和代码。

它可以帮助找到程序的入口点、解密过程等,从而移除保护壳。

3. x64dbgx64dbg是一款开源的调试器工具,适用于32位和64位的Windows系统。

它具有用户友好的界面和丰富的调试功能,并支持脱壳过程中的动态调试和反调试技术。

使用x64dbg进行脱壳时,可以跟踪程序的执行流程、查看内存变化,找到关键代码并进行修改。

三、脱壳过程示例以某款加壳的软件为例,介绍基本的脱壳过程。

1. 加载待脱壳的程序到脱壳工具中,并设置断点。

2. 运行程序,在断点处停下来,观察程序的状态和执行流程。

3. 跟踪程序的执行,查找关键的保护机制位置,例如解密函数、保护壳的入口等。

4. 分析并修改程序的内存和代码,移除保护壳。

360脱壳方法

360脱壳方法

360脱壳方法通常涉及到一系列的逆向工程技巧,具体如下:
1. 过掉反调试:需要找到并绕过360加固的反调试机制。

这可能涉及到对加固应用的内存进行分析,寻找和修改与反调试相关的代码部分。

2. 获取原APK的classes.dex文件:这是脱壳的关键一步,因为classes.dex文件包含了应用程序的大部分代码。

可以尝试从内存中DUMP出原始的classes.dex文件。

在Dalvik虚拟机下,可能需要自己实现加载classes.dex的代码,而在ART环境下,操作空间可能会更小。

3. 使用MT管理器脱壳:MT管理器是一个常用的工具,可以用来进行APK文件的分析、编辑和脱壳。

通过MT管理器,可以对APK包中的文件进行操作,尝试去除加固壳的部分。

4. IDA手动脱壳:IDA(Interactive Disassembler)是一个强大的逆向工程工具,可以用来静态分析和动态调试程序。

在Dalvik模式下,可以在memcmp处进行断点,结合静态和动态分析来寻找反调试点,并在JNI_Onload处dump出so文件进行修复。

个人总结的一个VMP脱壳步骤

个人总结的一个VMP脱壳步骤

个人总结的一个VMP脱壳步骤个人在学习脱VMP加壳的过程中总结的一个步骤。

按照这个步骤,包括VMP1.6—2.0在内应该有70%-80%能脱壳。

脱不了的也别问我,我也刚开始学习。

我还想找人问呢。

想要脱VMP的壳,首要工作当然是要找一个强OD啦!至于是什么版本的OD自己多试验几个,网上大把大把的,一般来说只要加载了你想脱的VMP加壳程序不关闭都可以。

其次就是StrongOD.dll这个插件了,现在用的比较多的就是海风月影,同样网上也是大把大把的。

下载回来后复制到你的OD程序所在的文件夹里面的plugin里。

StrongOD的设置选项搞不懂就全部打钩。

接下来要做的工作就是搞清楚我们要脱壳的程序编程的语言了,可以用PEID或者fastscanner查看,如果在这里看不到也可以在OD载入以后通过里面的字符串判断了。

例如VB的程序会出现MSVB----/VC的会出现MSVC---等等。

这些都是程序运行所需要的windows链接文件。

做完这些预备工作接下来当然是用OD载入文件啦。

文件载入后在反汇编窗口CTRL+G搜索VirtualProtect(注意V跟P要大写,至于为什么要搜索这个别问我)。

一般来说搜索的结果会出现以下的类似:7C801AE3 E8 75FFFFFF call kernel32.VirtualProtectEx我们在这里下F2断点。

然后F9运行到我们下的这个断点。

接下来我们就要注意观察堆栈窗口了。

一般来说当我们F9运行到我们上面下的断点的时候在堆栈窗口会出现以下类似:0012F66C 00401000 |Address = TradeCen.004010000012F670 000280D1 |Size = 280D1 (164049.)0012F674 00000004 |NewProtect = PAGE_READWRITE0012F678 0012FF98 \pOldProtect = 0012FF98我们要注意观察的就是在接下来我们F9运行的时候,ADDRESS和NEWPROTECT这两行的变化。

介绍下加壳识别壳破壳的方法

介绍下加壳识别壳破壳的方法

介绍下加壳识别壳破壳的方法加壳是指在软件应用程序中,使用一种技术将其原始代码进行保护和加密,以防止非法复制、修改或逆向工程。

加壳技术可以对应用程序进行多种不同的保护措施,例如加密,混淆,虚拟机等,使得破解者难以破解原始代码。

然而,加壳也带来了为开发者和研究人员分析应用程序带来的困难,因此,识别和破解加壳成为了逆向工程的一个重要领域。

在识别壳并进行破壳的过程中,可以采用多种方法和技术。

下面将介绍一些常见的加壳识别与破壳方法。

1. 静态分析:静态分析主要是通过分析目标应用程序的可执行文件,以了解其结构和特征,从而确定是否使用了加壳技术。

常用的静态分析工具包括IDA Pro、OllyDbg等。

静态分析的过程中,可以查看应用程序的导入表、导出表、标题信息等,通过对这些信息的分析,可以判断是否存在加壳行为。

2. 动态调试:动态调试是指在应用程序运行的过程中,通过调试器对其进行动态分析。

动态调试可以帮助分析人员观察程序的执行过程、内存变化、寄存器状态等,从而判断是否存在加壳行为。

常用的动态调试工具包括OllyDbg、WinDbg等。

3.特征匹配:加壳工具通常会在目标应用程序中插入一些特征代码或指令,用于解密和执行加壳后的代码。

通过分析这些特征代码的存在与否,可以判断目标程序是否加壳。

例如,一些加壳工具会在代码中插入字符串或控制流混淆指令,通过检测这些特征代码的存在,可以识别加壳壳。

4.元数据检测:一些加壳工具会修改目标应用程序的元数据信息,例如PE文件头中的相关字段。

通过比较目标程序的元数据信息与原始程序的差异,可以判断是否存在加壳行为。

5.虚拟机检测:一些加壳工具使用了虚拟机技术,将原始代码转化为虚拟指令集,以增加破解难度。

通过动态执行目标应用程序,并对其执行过程进行监测和分析,可以检测虚拟机指令的存在,并进一步破解加壳。

6. Dump内存:一旦确定目标程序使用了加壳技术,可以通过Dump 内存的方式,将内存中的加壳代码和解密数据导出到磁盘上。

PEID查壳脱壳使用教程(图)及程序汉化

PEID查壳脱壳使用教程(图)及程序汉化

PEID使用教程(图)及程序汉化进行软件汉化,第一步就是要查壳,看看软件是否加壳,加的又是什么壳。

下面介绍PEID查壳软件使用方法。

PEID简介:PEiD是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470 种PE文档的加壳类型和签名,可以探测大多数PE文件封包器、加密器和编译器。

首先:运行PeiD,如图:图1 PEiD主界面第二步,定位要查壳的软件,如图2。

点击“打开”文件后就会出现如图3所示的界面。

说明该软件是加了Nullsoft PiMP Stub壳的,可以用专门脱Nullsoft PiMP Stub脱壳机来脱壳,也可能用自动脱壳机无法脱壳(版本更新等原因),可以选择手动脱壳。

PEID的扫描模式正常扫描模式:可在PE文档的入口点扫描所有记录的签名;深度扫描模式:可深入扫描所有记录的签名,这种模式要比上一种的扫描范围更广、更深入;核心扫描模式:可完整地扫描整个PE文档,建议将此模式作为最后的选择。

PEiD内置有差错控制的技术,所以一般能确保扫描结果的准确性。

前两种扫描模式几乎在瞬间就可得到结果,最后一种有点慢,原因显而易见。

插件应用最常用的插件就是脱壳。

Peid的插件里面有个通用脱壳器,能脱大部分的壳,如果脱壳后import表损害,还可以自动调用ImportREC修复improt表。

点击“=>”打开插件列表。

如图:根据插件列表,还可以专门针对一些壳脱壳,效果比通用脱壳器会好。

程序汉化如果程序没有加壳,或者脱壳好后,就可以用专门的汉化工具进行汉化了。

汉化时应选择适合的工具进行汉化,比如Microsoft Visual C++6.0编写的软件可以选用PE Explorer V1.98 R2汉化工具或Passolo V7.0.01.1汉化工具来汉化;而Visual Basic 编写的软件就要用VBLocaloze V1.0来汉化。

所以不同语言编写的软件要选用相应的汉化工具进行汉化。

如何将EXE安装文件脱壳和破解

如何将EXE安装文件脱壳和破解

如何将EXE安装文件脱壳和破解
对于EXE安装文件的脱壳和破解,首先需要明确一点:这种行为是非法的,违反了软件版权法,如果未经授权擅自进行脱壳和破解,将会面临法律风险。

因此,我们鼓励用户遵守法律法规,正当使用软件。

下面的内容仅供学习和了解用途,请勿用于非法活动。

脱壳和破解是逆向工程的一种技术手段,通常用于破解软件的限制或加密保护,使其可以在未经授权的情况下运行或修改。

下面的步骤介绍了脱壳和破解流程的一般步骤:
1.分析静态和动态行为:使用反编译工具或调试器分析EXE文件的静态和动态行为。

这包括查看程序的逻辑、代码结构和数据流。

2.寻找加密和保护机制:在静态和动态分析的基础上,尝试找到程序使用的加密和保护机制。

这可能包括对文件的加密、检测反调试措施、或者对特定代码进行混淆等。

3.去除加密和保护:通过修改程序的二进制代码,解开加密和保护措施,使得程序可以正常运行。

这可能需要修改关键函数、解密算法或者绕过反调试措施。

4.修改程序的逻辑:如果需要修改程序的逻辑,使其满足特定需求,可以通过修改代码或者增加额外功能来实现。

这可能需要对程序进行重写或者插入自定义代码。

5.重新打包和分发:脱壳和破解完成后,重新打包成可执行文件,并进行分发。

注意,这一步骤可能也涉及到版权问题,请谨慎操作。

如果您对软件有需求,可以考虑购买正版软件或者寻找合法的替代方案。

病毒加壳和脱壳技术详解

病毒加壳和脱壳技术详解
我们知道 当一个普 通 的 E XE程 序 生 成 好 后 , 轻 松 的就 可 以 利 用 诸 如 资 源 工 很
( ) P oet a ak 次 之 , 外 的 2 AS rtc+ s c : p 国 软 件 多 用 它 加 壳 ,脱 壳 时 需 要 用 到 s T c I E uM P 0F I E+ c D ,需 要 一 定 的 专 业 知识 , 最新版现在暂 时没有办法。 但 () x 3 Up :可 以 用 UP 本 身 来 脱 X 壳 , 要 注 意 版 本 是 否 一 致 , 一 参 但 用 D 数。 ( )_ dl 可 以 用 S T C 4 A ma i : r l OF I E+ IE C DUMP脱 壳 , 比较 烦 。 () p :国 内 比 较 好 的 加 密软 5 Db e 件 , 版 本 暂 时 不 能 脱 , 可 以破 解 。 新 但 ( ) o i : 以 用 自己 来 脱 壳 。 6 Ne Lt 可 e
( PrV11一 . 有 效 ) Ra (只 对 AS . V12 , d
时 , 一这 段 代 码 先 于 原 始 程 序 运 行 , 壳 他 把 压 缩 、加 密 后 的 代 码 还 原 成 原 始
程 序 代 码 ,然 后 再 把 执 行 权 交 还 给 原 始 代 码 。 软 件 的 壳 分 为 加 密 壳 、 缩 压
安 全 咖 啡 屋
n 翻 嘲 嘲 踊 硼 嘲 啦 翘 礤 鼹 计 鼻 L 向 蓍 睁 训 蒜f 生 『 酒

瘸霉赫蠢 稳麟藏技 详 解
1什 么 是 壳 : 数学运算 , 可执行程 序文件或动态链 将 文件 分析 工具 ( 测 壳 的 类 型 ) 侦 :
计 算 机 软 件 里 有 一 段 专 门 负 责 保 护 软 件 不 被 非 法 修 改 或 反 编 译 的 程 序 。 们 一 般 都 是 先 于 程 序 运 行 。 到 它 拿 控 制 权 ,然 后 完 成 它 们 保 护 软 件 的 任

(完整版)常见几种脱壳方法(可编辑修改word版)

(完整版)常见几种脱壳方法(可编辑修改word版)

----------------<小 A 分>----------------一、概论壳出于程序作者想对程序资源压缩、注册保护的目的,把壳分为压缩壳和加密壳(强壳)两种"UPX" "ASPCAK" "TELOCK" "PELITE" "NSPACK(北斗)" ... "ARMADILLO" "ASPROTECT" "ACPROTECT" "EPE(王)" "SVKP" ...顾名思义,压缩壳只是为了减小程序体积对资源进行压缩,加密壳是程序输入表等等进行加密保护。

当然加密壳的保护能力要强得多!-----------<小 A 分割线>-------------二、工具的认识OllyDBG ring3 shell 层级别的动态编译工具、PEid、ImportREC、LordPE、softIce ring0 级别调试工具-------------<小 A 分割>-------------------三、常见手动脱壳方法预备知识1.P USHAD (入栈/压栈)代表程序的入口点,2.P OPAD (弹栈/出栈)代表程序的出口点,与 PUSHAD 想对应,一般找到这个OEP 就在附近3.O EP:程序的入口点,软件加壳就是隐藏了 OEP(或者用了假的 OEP/FOEP),只要我们找到程序真正的 OEP,就可以立刻脱壳。

------------<小 A 分割线>--------------------方法一:单步跟踪法1.用OD 载入,点“不分析代码!”2.单步向下跟踪 F8,实现向下的跳。

也就是说向上的跳不让其实现!(通过F4)3.遇到程序往回跳的(包括循环),我们在下一句代码处按 F4(或者右健单击代码,选择断点——>运行到所选)4.绿色线条表示跳转没实现,不用理会,红色线条表示跳转已经实现!5.如果刚载入程序,在附近就有一个 CALL 的,我们就 F7 跟进去,不然程序很容易跑飞,这样很快就能到程序的 OEP6.在跟踪的时候,如果运行到某个 CALL 程序就运行的,就在这个 CALL 中F7 进入7.一般有很大的跳转(大跨段),比如 jmp XXXXXX 或者 JE XXXXXX 或者有RETN 的一般很快就会到程序的 OEP。

记一次APP去壳破解重新打包

记一次APP去壳破解重新打包

记一次APP去壳破解重新打包1.拿到apk包时,第一步先判断是否加壳,加的是什么壳在手机上或者虚拟机上用MT管理器找到对应的apk包可以看的这个包虽然说是未加固,但还有个伪百度加固,其实也就是加了百度的壳的2.利用BlackDex32进行去壳在手机或虚拟机上安装BlackDex32,在软件中选择你要去壳的APP(ps:要先把apk安装上,不然找不到),在软件中可以指定去壳后的文件存储路径,到对应位置下找到apk的包名即可找到去壳后的dex文件3.回到MT管理器,打开脱壳的后dex与未脱壳的dex进行比较未脱壳的:脱壳后的:可以看到,第一个是一些测试用代码,第二个是百度的壳相关代码,第三个是真正隐藏起来的代码,第四个和暴露出来的代码一致。

那么就简单了,保留第三个和第四个,其他的都不要了。

4.还是用MT管理器修改你想破解的代码可以看的源码跟java类似,但还是很难解读,这就需要预先了解一些smali语法了。

5.修改原始apk包1.将之前修改好的dex文件重命名为classes.dex,用MT管理器查看原始apk包,将原始的dex文件重命名为classes1.dex,将新的dex文件拖进去2.打开assets文件夹,将里面带baidu字样的全都删掉,再打开lib下的armeabi文件夹,同样把带baidu字样的so文件全都删掉3.打开AndroidManifest.xml文件,找到application标签里的android:name属性,这里的启动类是假,根据内容找到对应的代码文件去寻找真正的启动类4.5.打开对应的AppInfo文件,找到真正启动类6.7.8.将真正的启动类替换掉假的启动类,保存退出6.长按apk包,对apk进行签名,签名完后将之前的安装的删掉,重新安装破解的即可以上只是浅显的针对我的那个apk进行的简单破解,很大概率可能还是解决不了你的问题,具体问题还是得具体分析,当然如果能对你有所帮助,那我也很开心能帮上忙。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附加一点内容
一.壳的概念
作者编好软件后,编译成exe可执行文件
1.有一些版权信息需要保护起来,不想让别人
随便改动,如作者的姓名等
2.需要把程序搞的小一点,从而方便使用
于是,需要用到一些软件,他们能将exe可执行文件压缩,
实现上述两个功能,这些软件称为加壳软件或压缩软件.
它不同于一般的winzip,winrar等压缩软件.
解密(脱壳)技术的进步促进、推动了当时的加密(加壳)技术的发展。LOCK95和BITLOK等所谓的“壳中带籽”加密程序纷纷出笼,真是各出奇谋,把小小的软盘也折腾的够辛苦的了。正在国内的加壳软件和脱壳软件较量得正火红的时候,国外的“壳”类软件早已经发展到像LZEXE之类的压缩壳了。这类软件说穿了其实就是一个标准的加壳软件,它把EXE文件压缩了以后,再在文件上加上一层在软件被执行的时候自动把文件解压缩的“壳”来达到压缩EXE文件的目的。接着,这类软件也越来越多,PKEXE、AINEXE、UCEXE和后来被很多人认识的WWPACK都属于这类软件,但奇怪的是,当时我看不到一个国产的同类软件。
过了一段时间,可能是国外淘汰了磁盘加密转向使用软件序列号的加密方法吧,保护EXE文件不被动态跟踪和静态反编译就显得非常重要了。所以专门实现这样功能的加壳程序便诞生了。MESS、CRACKSTOP、HACKSTOP、TRAP、UPS等等都是比较有名气的本类软件代表,当然,还有到现在还是数一数二的,由台湾同胞所写的FSE。其实以我的观点来看,这样的软件才能算是正宗的加壳软件。
1998年8月,一个名为UNSEC(揭秘)的脱壳软件发表了,它号称可以脱掉98年8月以前发表的所有壳。我测试之后,觉得并没传闻中的那么厉害,特别是兼容性更是令我不想再碰它。Ding-Boy给这个软件的作者提了很多建议,但寄去的EMIAL有如泥牛入海,可能是一怒之下吧,不久Ding-Boy的BW(冲击波)就诞生了。这个使用内存一次定位生成EXE文件(后来放弃了)的脱壳软件,在我的站台公开后,得到了很多朋友们的肯定。要知道,从RCOPY 3开始,绝大部分的脱壳软件都是要两次运行目标程序来确定EXE的重定位数据的。BW的这一特点虽然有兼容性的问题,但也树立了自己的风格、特色。经过几个月的改善,BW升级到了2.0版本,这个版本的推出可以说是BW的转折点,因为它已经是一个成熟、稳定脱壳软件了,它可以对付当时(现在)大多数的壳,包括当时最新的FSE 0.6等。更重要的是这个版本把选择壳的和软件“分界线”这个最令新手头疼的步骤简化到不能再简化的地步,使更多的朋友接受了它。另外,能加强BW功力的CI模式也是其它脱壳软件没有的东西。最近,BW发表了最新的2.5 BETA2版本,增强了一些方面的功能,因它竟然可以脱掉号称最厉害的磁盘加密工具LOCKKING 2.0的加密壳,因而进一步奠定了它在“脱壳界”的地位。说到最新,就不能不提GTR、LTR、EDUMP、ADUMP、UPS、UPX、APACK这几个国外的好软件了,它们每个都有自己的特色,可以说都是当今各类“壳”中的最新代表了。(这些软件和详细介绍请到我的主页查阅)
BW的作者Ding-Boy最新发表了一个WIN95的EXE加壳软件DBPE。虽然它还不太成熟,但它可以为软件加上使用日期限制这个功能是其它加壳软件所没有的,或者以后的加壳软件真的会是像他说的那样可以:加壳和压缩并重、并施;随意加使用日期;加上注册码;加软件狗(磁盘)保护;加硬件序列号判别;加...。
在以上这些加壳软件的不断升级较劲中,很多软件都把比较“极端”技术用了上去,因为在这个时候DOS已经可以说是给众高手们玩弄在股掌之间了,什么保护模式、反SICE、逆指令等等。相对来说,在那段时间里发表的很多国外脱壳程序,根本就不能对付这么多的加壳大军,什么UPC、TEU等等都纷纷成为必防的对象,成绩比较理想的就只有CUP386了,反观国内,这段时间里也没了这方面的“矛盾斗争”。加壳软件门挥军直捣各处要岗重地,直到在我国遇到了TR这个铜墙铁壁以后,才纷纷败下阵来各谋对策,但这已经是一年多以后的事情了。我常想,如果TR能早两年“出生”的话,成就肯定比现在大得多,甚至盖过SICE也有可能。TR发表的时候WIN95的流行已经成为事实,DOS还有多少的空间,大家心里都清楚。但话又说回来,TR的确是个好软件,比起当年的RCOPY3有过之而无不及,同时也证明了我们中国的CRACK实力(虽然有点过时)。这个时候,前面提到过的FSE凭着强劲的实力也渐渐的浮出了水面,独领风骚。其时已经是1997年年底了,我也走完了学生“旅程”。工作后在CFIDO的CRACK区认识了Ding-Boy,不久CRACK区关了,我从此迷上了INTERNET,并于98年6月建起了一个专门介绍“壳”的站台: ;,放上了我所收集的所有“壳”类软件。在这段时间里,各种“壳”类软件也在不段的升级换代,但都没什么太大的进展,差不多就是TR和众加壳软件的版本数字之争而已。
一切从“壳”开始
首先大家应该先明白“壳”的概念。在自然界中,大家对壳这东西应该都不会陌生了,植物用它来保护种子,动物用它来保护身体等等。同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。
它是压缩exe可执行文件的,压缩后的文件可以直接运行.
二.加壳软件
最常见的加壳软件ASPACK ,UPX,PEcompact
不常用的加壳软件WWPACK32;PE-PACK;PETITE;NEOLITE
三.侦测壳和软件所用编写语言的软件
1.侦测壳的软件fileinfo.exe简称fi.exe(侦测壳的能力极强)
没加壳软件无任何提示。
加密壳有些Od载入时会提示压缩,基本上F9运行后,OD提示程序异常。
普通加壳Od载入时一般都会发现,提示软件被加壳,是否继续分析。
还有些是脱壳没有脱干净,Od载入时也提示加壳。
更猛的壳用Od载入就异常,如Acprotect。
关于壳的知识不是一两篇文章就能说清,要经过大量的各种壳的脱壳经验,参考文章。
使用方法:
第一种:待侦测壳的软件(如aa.exe)和fi.exe位于同一目录下,执行
windows起始菜单的运行,键入
fi aa
第二种:待侦测壳的软件(如aa.exe)和fi.exe位于同一目录下,将aa的图标拖到fi的图标上
2.侦测壳和软件所用编写语言的软件language.exe(两个功能
合为ቤተ መጻሕፍቲ ባይዱ体,很棒)推荐language2000中文版,我的主页可下载
最早提出“壳”这个概念的,据我所知,应该是当年推出脱壳软件RCOPY 3的作者熊焰先生。在几年前的DOS时代,“壳”一般都是指磁盘加密软件的段加密程序,可能是那时侯的加密软件还刚起步不久吧,所以大多数的加密软件(加壳软件)所生成的“成品”在“壳”和需要加密的程序之间总有一条比较明显的“分界线”。有经验的人可以在跟踪软件的运行以后找出这条分界线来,至于这样有什么用这个问题,就不用我多说了。但毕竟在当时,甚至现在这样的人也不是很多,所以当RCOPY3这个可以很容易就找出“分界线”,并可以方便的去掉“壳”的软件推出以后,立即就受到了很多人的注意。老实说,这个我当年在《电脑》杂志看到广告,在广州电脑城看到标着999元的软件,在当时来说,的确是有很多全新的构思,单内存生成EXE可执行文件这项,就应该是世界首创了。但它的思路在程序的表现上我认为还有很多可以改进的地方(虽然后来出现了可以加强其功力的RO97),这个想法也在后来和作者的面谈中得到了证实。在这以后,同类型的软件想雨后春笋一般冒出来,记得住名字的就有:UNKEY、MSCOPY、UNALL ....等等,但很多的软件都把磁盘解密当成了主攻方向,忽略了其它方面,当然这也为以后的“密界克星”“解密机器”等软件打下了基础,这另外的分支就不多祥谈了,相信机龄大一点的朋友都应该看过当时的广告了。
由于WINDOWS 3.1只是基于DOS下的一个图形外壳,所以在这个平台下的“壳”类软件很少,见过的就只有像PACKWIN等几个有限的压缩工具,终难成气候。
可能是MICROSOFT保留了WIN95的很多技术上的秘密吧,所以即便是WIN95已经推出了3年多的时间,也没见过在其上面运行的“壳”类软件。直到98年的中期,这样的软件才迟迟的出现,而这个时候WIN98也发表了有一段日子了。应该是有DOS下的经验吧,这类的软件不发表由自可,一发表就一大批地的冲了出来。先是加壳类的软件如:BJFNT、PELOCKNT等,它们的出现,使暴露了3年多的WIN95下的PE格式EXE文件得到了很好的保护。大家都应该知道现在很多WIN95下的软件都是用注册码的方法来区分、确定合法与非法用户的吧,有了这类加壳软件,这种注册方法的安全性提高了不少,如果大家也有自己编的WIN95程序,就一定要多留意一下本类软件了。接着出现的就是压缩软件了,因为WIN95下运行的EXE文件“体积”一般都比较大,所以它的实用价值比起DOS下的压缩软件要大很多,这类的软件也很多,早些时候的VBOX、PEPACK、PETITE和最近才发表的ASPACK、UPX都是其中的佼佼者。在DOS下很流行的压缩软件WWPACK的作者也推出了对应WIN95版本的WWPACK32,由于性能并不是十分的突出,所以用的人也不太多。由于压缩软件其实也是间接给软件加了壳,所以用它们来处理EXE也是很多软件作者喜欢做的事情,最近新发表的很多软件里都可以看到这些加壳、加压缩软件的名字了。有加壳就一定会有脱壳的,在WIN95下当然也不例外,但由于编这类软件比编加壳软件要难得多,所以到目前为止,我认为就只有PROCDUMP这个软件能称为通用脱壳软件了,它可以对付现在大多数的加壳、压缩软件所加的壳,的确是一个难得的精品。其它的脱壳软件多是专门针对某某加壳软件而编,虽然针对性强、效果好,但收集麻烦,而且这样的脱壳软件也不多。前些时候TR作者也顺应潮流发表了TR的WIN95版本:TRW,由现在的版本来看可以对付的壳还不多,有待改进。
相关文档
最新文档