软件加壳脱壳技术教程

合集下载

upx脱壳方法

upx脱壳方法

upx脱壳方法UPX是一种广泛使用的可执行文件压缩工具,它可以将可执行文件压缩为较小的体积,同时保持其功能和完整性。

然而,一些恶意分析人员和软件破解者可能会使用UPX脱壳方法来绕过防护措施,对恶意软件进行分析或篡改。

在本文中,我们将介绍一些常见的UPX脱壳方法,并提供解决方案以保护可执行文件的安全性。

UPX使用一种称为Pack算法的压缩算法,这使得破解者可以很容易地进行脱壳操作。

以下是一些常见的UPX脱壳方法:1. 使用UPX扩展工具:一些破解者使用特定的UPX扩展工具,如UPXGui或UPXShell,来脱去UPX压缩的可执行文件。

这些工具简化了脱壳过程,使得攻击者能够更快速地解压被保护的可执行文件。

2. 反汇编和调试:使用逆向工程技术,攻击者可以将被压缩的可执行文件通过反汇编和调试操作还原为原始代码。

一旦得到了原始代码,攻击者可以轻松地修改和分析它。

3. 替换UPX头部:攻击者可以通过替换UPX头部来绕过UPX压缩的可执行文件的保护。

UPX头部是一个特殊的标识符,帮助识别文件是否经过UPX压缩。

攻击者可以通过删除或替换UPX头部,从而使可执行文件看起来像是未经过UPX压缩的。

为了保护可执行文件免受UPX脱壳攻击,我们可以采取以下措施:1. 使用反脱壳技术:一些保护工具提供了反脱壳功能,用于检测和阻止UPX脱壳操作。

这些技术能够检测恶意破解工具,并阻止其对文件进行脱壳。

2. 文件完整性校验:通过计算可执行文件的哈希值或使用数字签名技术,可以确保文件的完整性。

任何对文件进行篡改的尝试都会被检测到,并阻止执行。

3. 加密和混淆:使用加密算法和代码混淆技术,可以使恶意分析人员难以直接分析和篡改文件。

加密和混淆能够增加破解者解密的难度和时间成本。

4. 运行时防护:一些安全软件提供了运行时防护功能,可以实时监控和阻止对可执行文件的脱壳和篡改操作。

这些工具可以提高系统的安全性,并保护文件免受UPX脱壳等攻击。

记一次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)加密原始可执行文件:使用对称加密算法(如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架构和文件格式。

第2课用相应工具软件为软件自动脱壳(非手动脱壳)

第2课用相应工具软件为软件自动脱壳(非手动脱壳)

第二课用相应工具软件为软件自动脱壳(非手动脱壳)欲破解一个软件,我们首先应根据前面的内容侦测它的壳,然后我们要把它的壳脱去,还原软件的本来面目。

如果软件是一个PLMM,我们不喜欢穿衣服的MM,我们不喜欢艺术照的MM,我们迫不及待地想把MM脱光,想把MM骗上床。

带壳的软件以后很难分析,带壳的穿衣的MM很难调教,壳是一个拦路虎,我们却不知武松醉在何处。

这就如同我们要吃糖炒栗子,必须先剥掉栗子壳一样。

这一课就教给你如何用自动剥壳机去掉花生壳、栗子壳之类的东东。

若侦测出它根本没加壳,就可省掉这一步了(现在没加壳的软件已经很少很少了,除非软件作者缺乏最基本的加密解密常识)。

脱壳成功的标志是脱壳后的文件能正常运行,功能没有任何损耗。

一般来说,脱壳后的文件长度大于原文件长度;即使同一个文件,当采用不同脱壳软件进行脱壳的时候,由于脱壳软件机理不同,脱出来的文件大小也不尽相同。

但只要能够运行起来,这都是正常的,就如同人的体重,每次上秤,份量都有所不同。

但只要这个人是健康的,就无所谓,合乎情理。

一、脱壳软件的两大类别(两个门派――少林、武当)脱壳软件主要分两大类:专用脱壳软件(武当派)和通用脱壳软件(少林派,源自“全民皆武,天下英雄出少年”)。

每个专用脱壳软件只能脱掉特定的一种或两种加壳软件所加的壳,也就是说它是专门针对某种加壳软件的某个版本而制作的。

通用脱壳软件则具有通用性,可以脱掉许多种不同类型的壳。

根据“以一当一”的原则,专用类此门派为“武当”派。

大家可能会有这样的疑问?既然有通用脱壳软件,为什么还要专用脱壳软件呢?所谓“术业有专攻”,通用的脱壳程序往往不能精确地适用于某些软件,而专用的脱壳程序适用面虽窄,对付特定的壳却极为有效。

因此,少林派和武当派缺一不可,相辅相成。

均掌握了武术之精髓,能置“壳”以死地,打得壳满地找牙,第一时间以迅雷不及掩耳之势极速脱掉壳MM的衣衫。

二、专用脱壳软件的四大类别根据壳的流行程度,常用的脱壳软件主要有三类:脱Aspack类(叉A)、脱UPX类(叉U)、脱pecompact类(叉P,怎么又跟微软搞到一块儿了),分别针对前面提到的3个加壳软件。

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

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

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

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

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

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

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

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

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

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

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

软件加壳脱壳技术教程

软件加壳脱壳技术教程
附加一点内容
一.壳的概念
作者编好软件后,编译成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必修。

软件脱壳破解精典实例教程

软件脱壳破解精典实例教程

软件脱壳破解精典实例教程软件脱壳、破解精典实例教程我要破解的软件:网络填表终结者破解需要的软件(点击下载):侦壳language.exe 脱壳AspackDie.exe反编译W32Dasm黄金中文版16进制编辑器UltraEdit.rar在破解之前先复习一下基础知识:一.破解的等级初级,修改程序,用ultraedit修改exe文件,称暴力破解,简称爆破中级,追出软件的注册码高级,写出注册机二.用w32dasm破解的一般步骤:1.看软件的说明书,软件注册与不注册在功能上有什么区别,如何注册2.运行此软件,试着输入你的姓名和任意注册码去注册,有什麽错误提示信息,将错误提示信息记下来3.侦测有无加壳(第一课).若加壳,脱壳(第二课)4.pw32dasmgold反汇编5.串式参考中找到错误提示信息或可能是正确的提示信息双击鼠标左键6.pw32dasmgold主窗口中分析相应汇编,找出关键跳转和关键call7.绿色光条停在关键跳转,在pw32dasmgold主窗口底部找到关键跳转的偏移地址(实际修改地址)8.用ultraedit找到偏移地址(实际修改地址)修改机器码,保存壳的概念:版权信息需要保护起来,不想让别人随便改动,exe可执行文件压缩,最常见的加壳软件ASPACK ,UPX,PEcompact脱壳:拿到一个软件,侦测它的壳,然后我们要把它的壳脱去,还原它的本来面目.若它没有加壳,就省事不用脱壳了.脱壳软件unaspack,caspr,upx,unpecompact,procdump 实际修改地址(偏移地址)和行地址(虚拟地址)pw32dasmgold反汇编出来的代码由三列组成第一列行地址(虚拟地址)第二列机器码(最终修改时用ultraedit修改)第三列汇编指令第一列第二列第三列:0041BE38 2B45F0 sub eax, dword ptr [ebp-10]:0041BE3B 6A42 push 00000042:0041BE3D 50 push eax:0041BE3E FF75F4 push [ebp-0C]:0041BE41 FF75F0 push [ebp-10]:0041BE44 FF35A8AB4400 push dword ptr [0044ABA8]两种不同情况的不同修改方法1.修改为jmpje(jne,jz,jnz) =>jmp相应的机器码EB (出错信息向上找到的第一个跳转)jmp 的作用是绝对跳,无条件跳,从而跳过下面的出错信息 2.修改为nopje(jne,jz,jnz) =>nop相应的机器码90 (正确信息向上找到的第一个跳转)nop 的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处。

加壳与脱壳

加壳与脱壳
加壳与脱壳

1.什么是壳? 2.加壳与脱壳 3.加壳的加载过程 4.脱壳的实现过程
什么是壳?
在一些计算机软件里也有一段专门负 责保护软件不被非法修改或反编译的程序。 它们一般都是先于程序运行,拿到控制权, 然后完成它们保护软件的任务。由于这段 程序和自然界的壳在功能上有很多相同的 地方,基于命名的规则,就把这样的程序 称为“壳”了。
壳的加载过程
3.重定位 文件执行时将被映像到指定内存地址 中,这个初始内存地址成为基地址。 对于EXE的程序文件来说,Windows 系统会尽量满足,所以加壳软件把源程序 文件中用于保存重定位信息的区块干脆也 删除了。
壳的加载过程
4.HOOK-API 程序文件中的输入表的作用是让 Windows系统在程序运行时提供API的实际 地址给程序使用。在程序的第一行代码执 行之前,Windows系统就完成了这个工作。 壳一般都修改了原程序文件的输入表, 然后自己模仿Windows系统的工作来填充 输入表中相关的数据。
什么是壳?
壳的加载过程
1.获取壳自己所需要使用的API地址 如果用PE编辑工具查看加壳后的文件,会发 现未加壳的文件和加壳后的文件的输入表不一样, 加壳后的输入表一般所引入的DLL和API函数很少, 甚至只有Kernel32.dll以及GetProcAddress这个 API函数。 壳实际上还需要其他的API函数来完成它的 工作,为了隐藏这些API,它一般只在壳的代码 中用显式链接方式动态加载这些API函数
脱壳
一般的压缩壳,都有专用的脱壳机,或者 用万能脱壳机也可以,如:procdump。而 加密壳一般很少有脱壳机,必须手动脱 壳手动脱壳----三步 1.查找程序的真正入口点(OEP) 2.抓取内存映像文件 3.输入表重建

脱壳教程_精品文档

脱壳教程_精品文档

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

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

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

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

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

常见的保护壳有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这两行的变化。

软件加壳、脱壳基础介绍

软件加壳、脱壳基础介绍

软件加壳、脱壳基础介绍什么是加壳加壳的全称应该是可执⾏程序资源压缩,压缩后的程序可以直接运⾏。

加壳,顾名思义,就是给⼀个东西加上⼀个壳,只不过这⾥是程序。

就好⽐这⼤⾃然中的种⼦⼀样,为了保护⾃⼰,有⼀层壳,要想看到⾥⾯的东西,就要剥开这层壳。

加壳的另⼀种常⽤的⽅式是在⼆进制的程序中植⼊⼀段代码,在运⾏的时候优先取得程序的控制权,之后再把控制权交还给原始代码,这样做的⽬的是隐藏程序真正的OEP(⼊⼝点,防⽌被破解)。

⼤多数病毒就是基于此原理。

加壳的程序需要阻⽌外部程序或软件对加壳程序本⾝的反汇编分析或者动态分析,以达到保护壳内原始程序以及软件不被外部程序破坏,保证原始程序正常运⾏。

这种技术也常⽤来保护软件版权,防⽌软件被破解。

但对于病毒,加壳可以绕过⼀些杀毒软件的扫描,从⽽实现它作为病毒的⼀些⼊侵或破坏的⼀些特性。

加壳的⼯具分为压缩壳和加密壳:* UPX ASPCAK TELOCK PELITE NSPACK … ** ARMADILLO ASPROTECT ACPROTECT EPE SVKP …*什么是脱壳 脱壳就是将外⾯的保护程序脱掉,看到⾥⾯的程序。

对于有壳的程序,每次程序的⼊⼝点总是从壳开始,,这个⼊⼝点是EP,那么源程序的⼊⼝点是OEP,壳将真正的OEP隐藏了,我们脱壳就是修改程序的⼊⼝点。

如何脱壳 如果没有基础的汇编知识,那就查出相应的壳,⽤相应的脱壳机进⾏脱壳,那如果,脱壳机⽆法脱呢?⼿动脱壳!基础知识1.PUSHAD (压栈)代表程序的⼊⼝点,2.POPAD (出栈)代表程序的出⼝点,与PUSHAD想对应,⼀般找到这个OEP就在附近3.OEP:程序的⼊⼝点,软件加壳就是隐藏了OEP(或者⽤了假的OEP/FOEP),只要我们找到程序真正的OEP,就可以⽴刻脱壳。

脱壳的⽅法清单⽅法⼀:单步跟踪法1.⽤OD载⼊,点“不分析代码!”2.单步向下跟踪F8,实现向下的跳。

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

总结的一个VMP脱壳步骤

总结的一个VMP脱壳步骤
0046C090 50 push eax
0046C091 64:8925 00000000 mov dword ptr fs:[0],esp
0046C098 83EC 58 sub esp,58
0046C09B 53 push ebx
0046C09D 57 push edi
其次就是StrongOD.dll这个插件了,现在用的比较多的就是海风月影,同样网上也是大把大把的。下载回来后复制到你的OD程序所在的文件夹里面的plugin里。StrongOD的设置选项搞不懂就全部打钩。
接下来要做的工作就是搞清楚我们要脱壳的程序编程的语言了,可以用PEID或者fastscanner查看,如果在这里看不到也可以在OD载入以后通过里面的字符串判断了。例如VB的程序会出现MSVB----/VC的会出现MSVC---等等。这些都是程序运行所需要的windows链接文件。
0012F66C 0042A000 |Address = TradeCen.0042A000
0012F670 000069DE |Size = 69DE (27102.)
0012F674 00000002 |NewProtect = PAGE_READONLY
0012F678 0012FF98 \pOldProtect = 0012FF98
0046C07B U> 55 push ebp
0046C07C 8BEC mov ebp,esp
0046C07E 6A FF push -1
0046C080 68 18064C00 push UltraSna.004C0618
00401646 |4F dec edi
00401647 |4B dec ebx

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

脱壳

脱壳

壳的概念
从技术的角度出发,壳是一段执行于原始程序前的代码。原始程序的代码在加壳的过程中可能被压缩、加 密……当加壳后的文件执行时,壳-这段代码先于原始程序运行,他把压缩、加密后的代码还原成原始程序代码, 然后再把执行权交还给原始代码。软件的壳分为加密壳、压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序 真正的OEP(入口点,防止被破解)。
2、upx壳:脱壳可用upx待脱壳的软件(如aa.exe)和upx.exe位于同一目录下,执行windows起始菜单的运 行,键入upx -d aa.exe。
3、PEcompact壳:脱壳用unpecompact使用方法类似lanuage傻瓜式软件,运行后选取待脱壳的软件即可。
4、procdump:万能脱壳但不精,一般不要用,使用方法:运行后,先指定壳的名称,再选定欲脱壳软件, 确定即可,脱壳后的文件大于原文件,由于脱壳软件很成熟,手动脱壳一般用不到。
感谢观看
作者编好软件后,编译成exe可执行文件。1.有一些版权信息需要保护起来,不想让别人随便改动,如作者 的姓名,即为了保护软件不被破解,通常都是采用加壳来进行保护。2.需要把程序搞的小一点,从而方便使用。 于是,需要用到一些软件,它们能将exe可执行文件压缩。3.在黑客界给木马等软件加壳脱壳以躲避杀毒软件。 实现上述功能,这些软件称为加壳软件。
相关信息
加壳软件最常见的加壳软件ASPACK,UPX,PEcompact,不常用的加壳软件WWPACK32,PE-PACK,PETITE NEOLITE。
侦测壳和软件所用编写语言的软件,因为脱壳之前要查他的壳的类型。
1.侦测壳的软件fileinfo.exe,简称fi.exe(侦测壳的能力极强);2.侦测壳和软件所用编写语言的软件 language.exe(两个功能合为一体,很棒),推荐language2000中文版(专门检测加壳类型);3.软件常用编 写语言Delphi,VisualBasic(VB)---最难破,VisualC(VC)。

第2课用相应工具软件为软件自动脱壳(非手动脱壳)解析

第2课用相应工具软件为软件自动脱壳(非手动脱壳)解析

第二课用相应工具软件为软件自动脱壳(非手动脱壳)欲破解一个软件,我们首先应根据前面的内容侦测它的壳,然后我们要把它的壳脱去,还原软件的本来面目。

如果软件是一个PLMM,我们不喜欢穿衣服的MM,我们不喜欢艺术照的MM,我们迫不及待地想把MM脱光,想把MM骗上床。

带壳的软件以后很难分析,带壳的穿衣的MM很难调教,壳是一个拦路虎,我们却不知武松醉在何处。

这就如同我们要吃糖炒栗子,必须先剥掉栗子壳一样。

这一课就教给你如何用自动剥壳机去掉花生壳、栗子壳之类的东东。

若侦测出它根本没加壳,就可省掉这一步了(现在没加壳的软件已经很少很少了,除非软件作者缺乏最基本的加密解密常识)。

脱壳成功的标志是脱壳后的文件能正常运行,功能没有任何损耗。

一般来说,脱壳后的文件长度大于原文件长度;即使同一个文件,当采用不同脱壳软件进行脱壳的时候,由于脱壳软件机理不同,脱出来的文件大小也不尽相同。

但只要能够运行起来,这都是正常的,就如同人的体重,每次上秤,份量都有所不同。

但只要这个人是健康的,就无所谓,合乎情理。

一、脱壳软件的两大类别(两个门派――少林、武当)脱壳软件主要分两大类:专用脱壳软件(武当派)和通用脱壳软件(少林派,源自“全民皆武,天下英雄出少年”)。

每个专用脱壳软件只能脱掉特定的一种或两种加壳软件所加的壳,也就是说它是专门针对某种加壳软件的某个版本而制作的。

通用脱壳软件则具有通用性,可以脱掉许多种不同类型的壳。

根据“以一当一”的原则,专用类此门派为“武当”派。

大家可能会有这样的疑问?既然有通用脱壳软件,为什么还要专用脱壳软件呢?所谓“术业有专攻”,通用的脱壳程序往往不能精确地适用于某些软件,而专用的脱壳程序适用面虽窄,对付特定的壳却极为有效。

因此,少林派和武当派缺一不可,相辅相成。

均掌握了武术之精髓,能置“壳”以死地,打得壳满地找牙,第一时间以迅雷不及掩耳之势极速脱掉壳MM的衣衫。

二、专用脱壳软件的四大类别根据壳的流行程度,常用的脱壳软件主要有三类:脱Aspack类(叉A)、脱UPX类(叉U)、脱pecompact类(叉P,怎么又跟微软搞到一块儿了),分别针对前面提到的3个加壳软件。

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来汉化。

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

病毒加壳和脱壳技术详解

病毒加壳和脱壳技术详解
我们知道 当一个普 通 的 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什 么 是 壳 : 数学运算 , 可执行程 序文件或动态链 将 文件 分析 工具 ( 测 壳 的 类 型 ) 侦 :
计 算 机 软 件 里 有 一 段 专 门 负 责 保 护 软 件 不 被 非 法 修 改 或 反 编 译 的 程 序 。 们 一 般 都 是 先 于 程 序 运 行 。 到 它 拿 控 制 权 ,然 后 完 成 它 们 保 护 软 件 的 任

Dex加壳解壳原理

Dex加壳解壳原理

Android Dex文件加壳原理:1、加壳程序:加密源程序为解壳数据、组装解壳程序和解壳数据2、解壳程序:解密解壳数据,并运行时通过DexClassLoader动态加载3、源程序:需要加壳处理的被保护代码根据解壳数据在解壳程序DEX文件中的不同分布,本文将提出两种Android Dex加壳的实现方案。

加壳程序工作流程:1、加密源程序APK文件为解壳数据2、把解壳数据写入解壳程序Dex文件末尾,并在文件尾部添加解壳数据的大小。

3、修改解壳程序DEX头中checksum、signature 和file_size头信息。

4、修改源程序AndroidMainfest.xml文件并覆盖解壳程序AndroidMainfest.xml文件。

解壳DEX程序工作流程:1、读取DEX文件末尾数据获取借壳数据长度。

2、从DEX文件读取解壳数据,解密解壳数据。

以文件形式保存解密数据到a.APK文件3、通过DexClassLoader动态加载a.apk。

当数据在解壳文件头中时,加壳程序工作流程:1、加密源程序APK文件为解壳数据2、计算解壳数据长度,并添加该长度到解壳DEX文件头末尾,并继续解壳数据到文件头末尾。

(插入数据的位置为0x70处)3、修改解壳程序DEX头中checksum、signature、file_size、header_size、string_ids_off、type_ids_off、proto_ids_off、field_ids_off、 method_ids_off、class_defs_off和data_off相关项。

分析map_off 数据,修改相关的数据偏移量。

4、修改源程序AndroidMainfest.xml文件并覆盖解壳程序AndroidMainfest.xml文件。

解壳DEX程序工作流程:1、从0x70处读取解壳数据长度。

2、从DEX文件读取解壳数据,解密解壳数据。

以文件形式保存解密数据到a.APK3、通过DexClassLoader动态加载a.APK。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一切从“壳”开始首先大家应该先明白“壳”的概念。

在自然界中,大家对壳这东西应该都不会陌生了,植物用它来保护种子,动物用它来保护身体等等。

同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。

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

就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。

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

就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。

最早提出“壳”这个概念的,据我所知,应该是当年推出脱壳软件RCOPY 3 的作者熊焰先生。

在几年前的DOS 时代,“壳”一般都是指磁盘加密软件的段加密程序,可能是那时侯的加密软件还刚起步不久吧,所以大多数的加密软件(加壳软件)所生成的“成品”在“壳”和需要加密的程序之间总有一条比较明显的“分界线”。

有经验的人可以在跟踪软件的运行以后找出这条分界线来,至于这样有什么用这个问题,就不用我多说了。

但毕竟在当时,甚至现在这样的人也不是很多,所以当RCOPY3 这个可以很容易就找出“分界线”,并可以方便的去掉“壳”的软件推出以后,立即就受到了很多人的注意。

老实说,这个我当年在《电脑》杂志看到广告,在广州电脑城看到标着999元的软件,在当时来说,的确是有很多全新的构思,单内存生成EXE 可执行文件这项,就应该是世界首创了。

但它的思路在程序的表现上我认为还有很多可以改进的地方(虽然后来出现了可以加强其功力的RO97),这个想法也在后来和作者的面谈中得到了证实。

在这以后,同类型的软件想雨后春笋一般冒出来,记得住名字的就有:UNKEY、MSCOPY、UNALL .... 等等,但很多的软件都把磁盘解密当成了主攻方向,忽略了其它方面,当然这也为以后的“密界克星”“解密机器”等软件打下了基础,这另外的分支就不多祥谈了,相信机龄大一点的朋友都应该看过当时的广告了。

解密(脱壳)技术的进步促进、推动了当时的加密(加壳)技术的发展。

LOCK95和BITLOK 等所谓的“壳中带籽”加密程序纷纷出笼,真是各出奇谋,把小小的软盘也折腾的够辛苦的了。

正在国内的加壳软件和脱壳软件较量得正火红的时候,国外的“壳”类软件早已经发展到像LZEXE 之类的压缩壳了。

这类软件说穿了其实就是一个标准的加壳软件,它把EXE 文件压缩了以后,再在文件上加上一层在软件被执行的时候自动把文件解压缩的“壳”来达到压缩EXE 文件的目的。

接着,这类软件也越来越多,PKEXE、AINEXE、UCEXE 和后来被很多人认识的WWPACK 都属于这类软件,但奇怪的是,当时我看不到一个国产的同类软件。

过了一段时间,可能是国外淘汰了磁盘加密转向使用软件序列号的加密方法吧,保护EXE 文件不被动态跟踪和静态反编译就显得非常重要了。

所以专门实现这样功能的加壳程序便诞生了。

MESS 、CRACKSTOP、HACKSTOP、TRAP、UPS 等等都是比较有名气的本类软件代表,当然,还有到现在还是数一数二的,由台湾同胞所写的FSE 。

其实以我的观点来看,这样的软件才能算是正宗的加壳软件。

在以上这些加壳软件的不断升级较劲中,很多软件都把比较“极端”技术用了上去,因为在这个时候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 和众加壳软件的版本数字之争而已。

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 这几个国外的好软件了,它们每个都有自己的特色,可以说都是当今各类“壳”中的最新代表了。

(这些软件和详细介绍请到我的主页查阅)由于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 ,由现在的版本来看可以对付的壳还不多,有待改进。

BW 的作者Ding-Boy 最新发表了一个WIN95 的EXE 加壳软件DBPE 。

虽然它还不太成熟,但它可以为软件加上使用日期限制这个功能是其它加壳软件所没有的,或者以后的加壳软件真的会是像他说的那样可以:加壳和压缩并重、并施;随意加使用日期;加上注册码;加软件狗(磁盘)保护;加硬件序列号判别;加... 。

附加一点内容一.壳的概念作者编好软件后,编译成exe可执行文件1.有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名等2.需要把程序搞的小一点,从而方便使用于是,需要用到一些软件,他们能将exe可执行文件压缩,实现上述两个功能,这些软件称为加壳软件或压缩软件.它不同于一般的winzip,winrar等压缩软件.它是压缩exe可执行文件的,压缩后的文件可以直接运行.二.加壳软件最常见的加壳软件ASPACK ,UPX,PEcompact不常用的加壳软件WWPACK32;PE-PACK ;PETITE ;NEOLITE三.侦测壳和软件所用编写语言的软件1.侦测壳的软件fileinfo.exe 简称fi.exe(侦测壳的能力极强)使用方法:第一种:待侦测壳的软件(如aa.exe)和fi.exe位于同一目录下,执行windows起始菜单的运行,键入fi aa第二种:待侦测壳的软件(如aa.exe)和fi.exe位于同一目录下,将aa的图标拖到fi的图标上2.侦测壳和软件所用编写语言的软件language.exe(两个功能合为一体,很棒)推荐language2000中文版,我的主页可下载傻瓜式软件,运行后选取待侦测壳的软件即可(open)脱壳教程2:手动脱壳入门第一篇【使用工具】Ollydbg1.10b,ImportREC1.6F【破解平台】Win2000/XP前言,作者写这篇文章只是举个例子,希望读者能够举一反三,看清思路.本论坛中破解高手很多,不会手动脱壳者人数仍然不少。

有人会说,我有Unaspack,Caspr,ProcDump 等众多脱壳工具,不会手动脱壳用工具脱就可以了。

相关文档
最新文档