壳,加壳,脱壳,介绍壳的一些基本常识
壳,加壳,脱壳,介绍壳的一些基本常识
壳,加壳,脱壳,介绍壳的一些基本常识免杀入门 2009-08-06 16:58 阅读7 评论0 字号:大大中中小小在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。
它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。
就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。
由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。
就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。
从功能上抽象,软件的壳和自然界中的壳相差无几。
无非是保护、隐蔽壳内的东西。
而从技术的角度出发,壳是一段执行于原始程序前的代码。
原始程序的代码在加壳的过程中可能被压缩、加密……。
当加壳后的文件执行时,壳-这段代码先于原始程序运行,他把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。
软件的壳分为加密壳、压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序真正的OEP(入口点,防止被破解)。
关于“壳”以及相关软件的发展历史请参阅吴先生的《一切从“壳”开始》。
(一)壳的概念作者编好软件后,编译成exe可执行文件。
1.有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名,即为了保护软件不被破解,通常都是采用加壳来进行保护。
2.需要把程序搞的小一点,从而方便使用。
于是,需要用到一些软件,它们能将exe可执行文件压缩,3.在黑客界给木马等软件加壳脱壳以躲避杀毒软件。
实现上述功能,这些软件称为加壳软件。
(二)加壳软件最常见的加壳软件ASPACK ,UPX,PEcompact 不常用的加壳软件WWPACK32;PE-PACK ;PETITE NEOLITE (三)侦测壳和软件所用编写语言的软件因为脱壳之前要查他的壳的类型。
1.侦测壳的软件fileinfo.exe 简称fi.exe(侦测壳的能力极强)。
2.侦测壳和软件所用编写语言的软件language.exe(两个功能合为一体,很棒),推荐language2000中文版(专门检测加壳类型)。
乌龟蜕壳知识点总结
乌龟蜕壳知识点总结乌龟是一种古老的爬行动物,它们所属的龟鳖目下分布着数百个不同的物种。
乌龟的一个独特的生理特征就是蜕壳,它们的外壳具有自我修复和蜕皮的能力。
下面是一些乌龟蜕壳的知识点总结。
1. 乌龟蜕壳的发育过程乌龟的外壳是由一种称为角质素的蛋白质和硬质的骨骼组成的。
乌龟成长的过程中,外壳会逐渐增加厚度和硬度。
当乌龟感到外壳受到伤害或过度磨损时,它们就会开始蜕壳。
蜕壳的过程通常需要一段时间,乌龟会寻找一个安全和干燥的环境,在这里蜕下自己的外壳,然后再长出一层新的外壳。
2. 乌龟蜕壳的原因乌龟蜕壳的主要原因是为了修复受损的外壳。
外壳在乌龟的生活中扮演着非常重要的角色,它不仅能够提供保护,还能够帮助乌龟维持水分和体温的平衡。
因此,一旦外壳受到破坏,乌龟就有必要蜕壳以修复这些损伤。
此外,乌龟蜕壳还可以帮助它们摆脱寄生虫和真菌等有害生物的侵扰。
3. 乌龟蜕壳的过程乌龟蜕壳的过程通常会在夜间进行,因为在这个时候乌龟会感到相对安全。
在蜕壳之前,乌龟会寻找一个安静的地方,并且停止进食。
然后它们会用其前爪开始挠掉旧外壳上的一小部分皮肤,接着开始用鳞片和角质组成的新壳推动外壳,最终使旧外壳褪去。
蜕壳过程中,乌龟会保持它们的鳞片和外壳的湿润程度,以确保这个过程的顺利进行。
蜕壳完成后,乌龟会回到生活中,并开始积累新的外壳。
4. 乌龟蜕壳的频率乌龟的蜕壳频率因种类和生理状态的不同而有所差异。
一般来说,幼年乌龟的蜕壳频率较高,有些甚至每个月都会进行一次蜕壳。
成年乌龟则蜕壳的频率会变得更加稀疏,通常为每一到两年进行一次蜕壳。
然而,在乌龟受到外界环境的干扰或受伤时,它们的蜕壳频率会有所增加。
5. 乌龟蜕壳后的保养乌龟在蜕壳之后需要一定的时间来适应新的外壳。
此时,它们的外壳会比较柔软,需要特别小心地保护。
在这个时候,乌龟的饲养者需要提供适当的环境和饮食,以帮助它们尽快地恢复健康。
6. 常见的乌龟蜕壳问题有些乌龟在蜕壳的过程中会遇到一些问题,如蜕壳不完整、部分鳞片残留在旧外壳上、蜕壳后的新外壳异常等。
普通壳的脱壳方法和脱壳技巧
普通壳的脱壳方法和脱壳技巧脱壳是指将普通壳(通常指硬壳类)从内部原材料中取出的过程。
这个过程既需要一定的方法,也需要一些技巧。
下面我将详细介绍普通壳的脱壳方法和技巧。
脱壳主要分为以下几个步骤:准备工作、撬开壳体、去除壳体和整理内部原材料。
首先,准备工作是非常重要的。
需要准备好必要的工具,例如锤子、螺丝刀、剪刀、塑料袋等,以及切割和清洁壳体的材料,如剪刀、刀片、洗涤剂等。
接下来,需要撬开壳体。
首先,要检查壳体是否有任何阻挡物,如胶水、胶带或其他附着物。
如果有,需要小心地切除或剥离它们。
然后,可以用螺丝刀或剪刀等工具轻轻撬开壳体的缝隙,逐渐将缝隙扩大,直到可以插入手指或其他工具。
使用锤子轻轻敲击壳体,有时会使壳体裂开,从而更容易打开。
脱壳之后,要去除壳体。
根据壳体的类型和材料,不同的方法和技巧可以选择。
例如,对于较薄的塑料壳体,可以用手指轻松地撕裂或剥离。
对于较厚的金属壳体,可能需要使用剪刀或刀片进行切割。
切割时要小心不要损坏内部的原材料,以及不要让手指受伤。
最后,需要整理内部原材料。
脱壳后,可能会有一些残留的胶水、胶带或其他附着物,需要用洗涤剂和水或其他清洁剂擦拭清除。
同时,还要注意保持内部原材料的完整和安全。
如果壳体中还有其他零部件或线路,要小心保护它们,以免损坏。
在脱壳的过程中,还有一些技巧可以使用。
首先,要注意避免使用过大的力量,以免损坏壳体或内部原材料。
其次,可以选择从壳体的较薄、较弱的部位开始撬开,比如角落或接缝处,这样更容易开启壳体。
另外,使用锤子时,要轻轻敲击,以避免壳体破裂或内部原材料受损。
最后,选择适当的工具非常重要。
根据壳体的类型和特性,选择合适的工具可以更有效地完成脱壳过程。
总的来说,普通壳的脱壳方法和技巧在于准备工作的细致、撬开壳体的谨慎、去除壳体的适当、整理内部原材料的细致和使用合适的工具等。
希望以上的介绍对您有所帮助!。
Armadillo脱壳知识和方法大全
般情况下,这个跳转比较大的话,就改为jmp,而跳转比较小的话,就改nop)。[注:下此断点的目的是找到Magic Jump,修改Magic Jump目的
是避开的IAT的加密。]
2、找OEP
下断点bp GetCurrentThreadId/bp CreateThread,shift+f9运行,中断后,取消断点,Alt+F9返回,单步执行,看到一个call edi之类的。F7
进入,即到oep。OD不要关!打开import--选择进程--OEP输入va--自动搜索IAT--获取输入表--显示无效函数--CUT!
(二) 双线程的标准壳
总体步骤:1、要双变单;2、处理IAT,修改Magic Jump;3、寻找OEP;4、修复
1、双变单,方法有三。
方法一:PATCH代码法
004010109D popfd
0040101161 popad
00401012- E9 8F9FA777jmp KERNEL32.OpenMutexA
点右键选择重建eip,f9运行,断下后,取消断点, ctrl+g到00401000,恢复修改。
方法二:下断点BP OpenMutexA,SHIFT+F9运行,断下后,ALT+F9返回,返回后,将返回代码下面的第一个跳转改为相反跳转,再次SHIFT+F9
,断下后,ALT+F9返回,再次将返回代码下面的第一个跳转改为相反跳转。然后再一次SHIFT+F9,取消断点,至此,同样,双进程转单进程完毕!
此法相对简单,另外适用于00401000空数据不能修改的程序。
(2)修改Magic Jump 。
下断BP GetModuleHandleA+5,运行,一般是在堆栈窗口出现ASCII "kernel32.dll"和ASCII "VirtualFree后,再运行一次,就是返回时机,中
Crack软件破解脱壳入门术语简介
SMC : (self-modifying code) 意思是自我修改的代码,使程序在运行时自我修改,用途包括:
- 使一些重要的跳转位置爆破无效化 (以 smc 对重要位置进行覆写)
- 使一些重要代码隐藏 (在必要时才实时产生重要代码段,防止程序被人静态分析,也防止一些透过搜寻的破解方法)
RSA : 是一套加密技术 (public key infrastructure),它被广泛应用于各种层面,由一对密钥 (public key 和 private key) 的组合,提供安全的资料加密
Symmetric encryption : 对称加密,意思是加密和解密的 secret key 是相同的,例如 DES, AES, Blowfish
VA : (Virtual Address) 内存虚拟空间中的一个位置,在 PE 描述中的意思是 : PE 被载入后,区块在内存的确实位置
Offset : 意思是偏移值,通常用于指明一个位置,它的用法是把一个基底位置加上 offset 值 (offset 可以是负数)。 例如我们说 : 一个资料结构在内存中的位置是 0x125000,它的 offset 0x10 处是用户名字, offset 0x14 是用户序号。在 PE 结构中, offset 通常用于指明在 exe 档案中的实际位置
【入门术语简介】
(更详尽的资料,请Байду номын сангаас考看雪论坛精华,或看雪的书籍)
加壳 : 表示程序的 exe 被一层外壳保护,这层外壳是一些软件保护公司 (或一些高手) 设计出来的,可以把 exe包裹起来,在 exe 执行时提供保护,对抗破解者
爆破 : 意思是透过修改程序,来达到破解目的,主要方法包括,修改重要跳转指令 (jmp, jz, jzn, 等等)
软件加壳脱壳技术教程
一.壳的概念
作者编好软件后,编译成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必修。
壳加壳脱壳介绍壳的一些基本常识
壳加壳脱壳介绍壳的一些基本常识壳(Shell)是计算机操作系统的一种用户接口,它提供了用户与操作系统内核之间的交互方式。
它是用户与操作系统之间的纽带,使用户能够通过命令、脚本等方式与操作系统进行交互。
加壳(Packaging)指的是给软件程序添加额外的代码,以便增加安全性、保护程序免受非法分析和篡改。
加壳技术可以对软件进行加密,防止逆向工程和盗版,同时还可以实现防病毒和反调试的功能。
脱壳(Unpacking)是指将被加壳的软件程序恢复为原始的可执行文件。
通常情况下,脱壳是为了分析软件的结构和行为,或者绕过加壳的保护机制进行非法操作。
下面是一些基本的壳常识:1. 壳的种类:常见的壳包括命令行壳和图形用户界面壳。
命令行壳(例如Bash、PowerShell等)提供了一个命令行界面,用户可以通过输入命令来与操作系统进行交互。
图形用户界面壳(例如Windows的资源管理器、macOS的Finder等)提供了可视化的界面,用户可以通过鼠标点击和拖放来进行操作。
2.壳的功能:壳作为用户接口,提供了很多功能,例如操作文件和文件夹、运行程序、管理系统设置等。
它还可以提供脚本语言的支持,使用户可以通过编写脚本来自动化任务和定制操作。
3.壳的配置和定制:壳通常可以进行配置和定制,用户可以根据自己的需求设置壳的外观和行为。
例如,可以更改壳的主题、布局和颜色,添加自定义菜单和工具栏,设置快捷键等。
4. 壳脚本:壳脚本是一种用于定制壳行为的脚本语言。
例如,在Bash中,用户可以编写Shell脚本来自动执行一系列命令和操作。
壳脚本可以用于自动化任务、批处理、系统管理等方面。
5.加壳的原因和目的:加壳可以增加软件的安全性,保护知识产权和商业机密。
它可以防止软件被逆向工程,避免黑客和破解者篡改程序逻辑或者盗版软件。
加壳还可以实现软件的防病毒功能,使病毒难以对软件进行分析和感染。
6.加壳的原理和技术:加壳通常通过改变软件的结构和代码来实现。
加壳与脱壳
壳
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.输入表重建
脱壳基础知识入门
脱壳基础知识入门现在加解密发展己形成2个分支了,一个就是传统的算法,另一个就是加密壳。
越来越多的软件采用了密码学相关算法,现在要做出一个软件注册机己不象前几年那么容易,这就要求解密者必须要有一定的数学功底和密码学知识,而这些在短时间内是不容易掌握的。
除了密码学的应用,越来越多的软件加壳了,因此要求解密者必须掌握一些脱壳技术,这就使得壳成了解密必须迈过的一个门槛。
壳发展到今天,强度越来越高了,将许多人挡在门外,使得大家望壳兴叹。
另外,论坛现在两极分化比较严重,高手讨论的脱壳技术新手看不懂,很多人想学脱壳,但看到壳这么难,只好放弃了,造成新手与高手间一个断档,为了鼓励更多新人加入脱壳的行列,很有必要将壳有关知识总结一下。
主页提供的教学确实有点过时了,己到非更新不可了。
相对于密码学算法,脱壳并不难,只要肯花时间,短期内还是比较容易取得成绩的。
第一课PE格式要想学脱壳,第一步就得掌握PE格式,PE是Portable Executable File Format(可移植的执行体)简写,它是目前Windows平台上的主流可执行文件格式。
Microsoft Visual C++提供的WINNT.H里有PE数据结构的完整定义。
推荐文档:ah007翻译的“PE文件格式”1.9版qduwg翻译的PE文件格式Iczelion's的PE文件格式PE结构各字段偏移参考学习PE格式的方法是自己先准备一个十六进制工具,如HexWorkshop,WinHex,用这些工具打开一个EXE文件对照着学。
强烈推荐你用Stud_PE v.2.2.0.5这款工具辅助学习PE格式。
PE格式学习的重点是在输入表(Import Table)这块。
Stud_PE工具界面:PE结构图:第二课SEH技术结构化异常处理(Structured Exception Handling,SEH)是Windows操作系统处理程序错误或异常的技术。
SEH是Windows操作系统的一种系统机制,与特定的程序设计语言无关。
壳是什么
壳是什么?脱壳又是什么?这是很多经常感到迷惑和经常提出的问题,其实这个问题一点也不幼稚。
当你想听说脱壳这个名词并试着去了解的时候,说明你已经在各个安全站点很有了一段日子了。
下面,我们进入“壳”的世界吧。
一、金蝉脱壳的故事我先想讲个故事吧。
那就是金蝉脱壳。
金蝉脱壳属于三十六计中的混战计。
金蝉脱壳的本意是:寒蝉在蜕变时,本体脱离皮壳而走,只留下蝉蜕还挂在枝头。
此计用于军事,是指通过伪装摆脱敌人,撤退或转移,以实现我方的战略目标的谋略。
稳住对方,撤退或转移,决不是惊慌失措,消极逃跑,而是保留形式,抽走内容,稳住对方,使自己脱离险境达到己方战略目标,己方常常可用巧妙分兵转移的机会出击另一部分敌人。
三国时期,诸葛亮六出祁山,北伐中原,但一直未能成功,终于在第六次北伐时,积劳成疾,在五丈原病死于军中。
维遵照诸葛亮的吩咐,在诸葛亮死后,秘不发丧,对外严密封锁消息。
他带着灵柩,秘密率部撤退。
司马懿派部队跟踪追击蜀军。
姜维命工匠仿诸葛亮摸样,雕了一个木人,羽扇纶巾,稳坐车中。
并派杨仪率领部分人马大张旗鼓,向魏军发动进攻。
魏军远望蜀军,军容整齐,旗鼓大张,又见诸葛亮稳坐车中,指挥若定,不知蜀军又耍什么花招,不敢轻举妄动。
司马懿一向知道诸葛亮“诡计多端”,又怀疑此次退兵乃是诱敌之计,于是命令部队后撤,观察蜀军动向。
姜维趁司马懿退兵的大好时机,马上指挥主力部队,迅速安全转移,撤回汉中。
等司马懿得知诸葛亮已死,再进兵追击,为时已晚。
相信这个故事,大家在大型连续剧《三国演义》里已经看过了。
呵呵,只是没有理解得这么深入罢了!而在黑客入侵技术中,金蝉脱壳则是指:删除系统运行日志攻击者攻破系统后,常删除系统运行日志,隐藏自己的痕迹...呵呵二、壳,脱壳,加壳在自然界中,我想大家对壳这东西应该都不会陌生了,由上述故事,我们也可见一斑。
自然界中植物用它来保护种子,动物用它来保护身体等等。
同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。
软件加壳、脱壳基础介绍
软件加壳、脱壳基础介绍什么是加壳加壳的全称应该是可执⾏程序资源压缩,压缩后的程序可以直接运⾏。
加壳,顾名思义,就是给⼀个东西加上⼀个壳,只不过这⾥是程序。
就好⽐这⼤⾃然中的种⼦⼀样,为了保护⾃⼰,有⼀层壳,要想看到⾥⾯的东西,就要剥开这层壳。
加壳的另⼀种常⽤的⽅式是在⼆进制的程序中植⼊⼀段代码,在运⾏的时候优先取得程序的控制权,之后再把控制权交还给原始代码,这样做的⽬的是隐藏程序真正的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。
加壳与脱壳
首先要认识脱壳一切从“壳”开始////我我写这篇东西的主要目的是让初到本站的新手们能对“壳”有个大概的认识,知道我我每天说了些什么。
限于本人的知识,如果有////ERROR////之处,还请多原谅。
如果你你觉得还可以,////也欢迎转贴,但请保留文章的完整性和作者的资料。
当然如果你你想把它发表,硬塞些稿费给////俺花花,我我也不会拒绝的。
;)////////////////////////////////////////////////////////作为一个以“壳”为主的站台,如果连访者连什么是“壳”都不清楚的话,那我我也太失败了。
很早以前就想写编完全关于“壳”的文章,但苦于时间和文字水平的关系,都没提笔。
本着对站台负责的态度,现在经过一天的努力,“打”出这编尝试由壳的历史一直谈到最新发展的本章来。
首先我我想大家应该先明白“壳”的概念。
在自然界中,我我想大家对壳这东西应该都不会陌生了,植物用它来保护种子,动物用它来保护身体等等。
同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。
它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。
就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。
由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。
就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。
////最早提出“壳”这个概念的,据我我所知,应该是当年推出脱壳软件////RCOPY////3////的作者熊焰先生。
在几年前的////DOS////时代,“壳”一般都是指磁盘加密软件的段加密程序,可能是那时侯的加密软件还刚起步不久吧,所以大多数的加密软件(加壳软件)所生成的“成品”在“壳”和需要加密的程序之间总有一条比较明显的“分界线”。
有经验的人可以在跟踪软件的运行以后找出这条分界线来,至于这样有什么用这个问题,就不用我我多说了。
脱壳知识——精选推荐
脱壳知识什么是壳因为许多软件为了保护⾃⼰的软件不被和修改,通常会加壳,代码加密,增加破解的难度,从⽽达到保护软件的⽬的。
⾸先⼤家应该先明⽩“壳”的概念。
在⾃然界中,我想⼤家对壳这东西应该都不会陌⽣了,植物⽤它来保护种⼦,动物⽤它来保护⾝体等等。
同样,在⼀些计算机软件⾥也有⼀段专门负责保护软件不被⾮法修改或反编译的程序。
它们⼀般都是先于程序运⾏,拿到控制权,然后完成它们保护软件的任务。
举个例⼦,核桃⼤家都知道吧,想要吃到⾥⾯的⾁,就必须得先打开核桃外⾯那⼀层坚硬的壳,同样,外⾯想要看到⼀个程序的内部逻辑代码,就要脱掉外⾯的⼀层壳。
程序作者在编好软件后,编译成exe可执⾏⽂件。
有⼀些版权信息需要保护起来,不想让别⼈随便改动,如作者的姓名,即为了保护软件不被破解,通常都是采⽤加壳来进⾏保护。
需要把程序搞的⼩⼀点,缩⼩程序的体积,减少内存容量,从⽽⽅便使⽤。
于是,需要⽤到⼀些软件,它们能将exe可执⾏⽂件压缩,在⿊客界给⽊马等软件加壳以躲避杀毒软件。
实现上述功能,这些称为加壳。
⾃然有加壳就会有脱壳。
为什么要脱壳脱壳是为了能够学习⼀个软件的程序设计逻辑,达到我们想要的⽬的。
如果不脱壳,我们就不能够了解软件的逻辑,也就⽆法得到源代码,也就⽆法破解⼀个软件,也就不会有这篇⽂章了。
我们拿到⼀个软件想要了解它的编程逻辑,那么我们就需要对它进⾏反汇编,当然有壳,也必须先脱壳(有些软件也可以不脱壳破解)。
如果我们需要对⼀个病毒或者⽊马进⾏分析,也是需要脱壳的,如果病毒⽊马不加壳,早被杀毒软件杀掉了。
⼀些常见的壳1、aspack壳2.caspr2、upx壳3、PEcompact壳等等...我们要脱壳,就需要⽤到⼀些汇编的指令,这是必须的,如果不懂汇编指令的话,那么就⽆法进⾏软件的脱壳了。
下⾯我就来介绍破解需要的⼀些主要的汇编指令⼀、数据传输指令───────────────────────────────────────它们在存贮器和寄存器、寄存器和输⼊输出端⼝之间传送数据.1. 通⽤数据传送指令.MOV 传送字或字节.MOVSX 先符号扩展,再传送.MOVZX 先零扩展,再传送.PUSH 把字压⼊堆栈.POP 把字弹出堆栈.PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压⼊堆栈.POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压⼊堆栈.POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.BSWAP 交换32位寄存器⾥字节的顺序XCHG 交换字或字节.( ⾄少有⼀个操作数为寄存器,段寄存器不可作为操作数)CMPXCHG ⽐较并交换操作数.( 第⼆个操作数必须为累加器AL/AX/EAX )XADD 先交换再累加.( 结果在第⼀个操作数⾥ )XLAT 字节查表转换.── BX 指向⼀张 256 字节的表的起点, AL 为表的索引值 (0-255,即0-FFH); 返回 AL 为查表结果. ( [BX+AL]->AL )2. 输⼊输出端⼝传送指令.IN I/O端⼝输⼊. ( 语法: IN 累加器, {端⼝号│DX} )OUT I/O端⼝输出. ( 语法: OUT {端⼝号│DX},累加器 )输⼊输出端⼝由⽴即⽅式指定时, 其范围是 0-255; 由寄存器 DX 指定时,其范围是 0-65535.3. ⽬的地址传送指令.LEA 装⼊有效地址.例: LEA DX,string ;把偏移地址存到DX.LDS 传送⽬标指针,把指针内容装⼊DS.例: LDS SI,string ;把段地址:偏移地址存到DS:SI.LES 传送⽬标指针,把指针内容装⼊ES.例: LES DI,string ;把段地址:偏移地址存到ES:DI.LFS 传送⽬标指针,把指针内容装⼊FS.例: LFS DI,string ;把段地址:偏移地址存到FS:DI.LGS 传送⽬标指针,把指针内容装⼊GS.例: LGS DI,string ;把段地址:偏移地址存到GS:DI.LSS 传送⽬标指针,把指针内容装⼊SS.例: LSS DI,string ;把段地址:偏移地址存到SS:DI.4. 标志传送指令.LAHF 标志寄存器传送,把标志装⼊AH.SAHF 标志寄存器传送,把AH内容装⼊标志寄存器.PUSHF 标志⼊栈.POPF 标志出栈.PUSHD 32位标志⼊栈.POPD 32位标志出栈.⼆、算术运算指令───────────────────────────────────────ADD 加法.ADC 带进位加法.INC 加 1.AAA 加法的ASCII码调整.DAA 加法的⼗进制调整.SUB 减法.SBB 带借位减法.DEC 减 1.NEC 求反(以 0 减之).CMP ⽐较.(两操作数作减法,仅修改标志位,不回送结果).AAS 减法的ASCII码调整.DAS 减法的⼗进制调整.MUL ⽆符号乘法.IMUL 整数乘法.以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),AAM 乘法的ASCII码调整.DIV ⽆符号除法.IDIV 整数除法.以上两条,结果回送:商回送AL,余数回送AH, (字节运算);或商回送AX,余数回送DX, (字运算).AAD 除法的ASCII码调整.CBW 字节转换为字. (把AL中字节的符号扩展到AH中去)CWD 字转换为双字. (把AX中的字的符号扩展到DX中去)CWDE 字转换为双字. (把AX中的字符号扩展到EAX中去)CDQ 双字扩展. (把EAX中的字的符号扩展到EDX中去)三、逻辑运算指令───────────────────────────────────────AND 与运算.OR 或运算.XOR 异或运算.NOT 取反.TEST 测试.(两操作数作与运算,仅修改标志位,不回送结果).SHL 逻辑左移.SAL 算术左移.(=SHL)SHR 逻辑右移.SAR 算术右移.(=SHR)ROL 循环左移.ROR 循环右移.RCL 通过进位的循环左移.RCR 通过进位的循环右移.以上⼋种移位指令,其移位次数可达255次.移位⼀次时, 可直接⽤操作码. 如 SHL AX,1.移位>1次时, 则由寄存器CL给出移位次数.如 MOV CL,04SHL AX,CL四、串指令─────────────────────────────────────── DS:SI 源串段寄存器 :源串变址.ES:DI ⽬标串段寄存器:⽬标串变址.CX 重复次数计数器.AL/AX 扫描值.D标志 0表⽰重复操作中SI和DI应⾃动增量; 1表⽰应⾃动减量. Z标志⽤来控制扫描或⽐较操作的结束.MOVS 串传送.( MOVSB 传送字符. MOVSW 传送字. MOVSD 传送双字. ) CMPS 串⽐较.( CMPSB ⽐较字符. CMPSW ⽐较字. )SCAS 串扫描.把AL或AX的内容与⽬标串作⽐较,⽐较结果反映在标志位.LODS 装⼊串.把源串中的元素(字或字节)逐⼀装⼊AL或AX中.( LODSB 传送字符. LODSW 传送字. LODSD 传送双字. )STOS 保存串.是LODS的逆过程.REP 当CX/ECX<>0时重复.REPE/REPZ 当ZF=1或⽐较结果相等,且CX/ECX<>0时重复.REPNE/REPNZ 当ZF=0或⽐较结果不相等,且CX/ECX<>0时重复.REPC 当CF=1且CX/ECX<>0时重复.REPNC 当CF=0且CX/ECX<>0时重复.五、程序转移指令─────────────────────────────────────── 1>⽆条件转移指令 (长转移)JMP ⽆条件转移指令CALL 过程调⽤RET/RETF过程返回.2>条件转移指令 (短转移,-128到+127的距离内)( 当且仅当(SF XOR OF)=1时,OP1<OP2 )JA/JNBE 不⼩于或不等于时转移.JAE/JNB ⼤于或等于转移.JB/JNAE ⼩于转移.JBE/JNA ⼩于或等于转移.以上四条,测试⽆符号整数运算的结果(标志C和Z).JG/JNLE ⼤于转移.JGE/JNL ⼤于或等于转移.JL/JNGE ⼩于转移.JLE/JNG ⼩于或等于转移.以上四条,测试带符号整数运算的结果(标志S,O和Z).JE/JZ 等于转移.JNE/JNZ 不等于时转移.JC 有进位时转移.JNC ⽆进位时转移.JNO 不溢出时转移.JNP/JPO 奇偶性为奇数时转移.JNS 符号位为 "0" 时转移.JO 溢出转移.JP/JPE 奇偶性为偶数时转移.JS 符号位为 "1" 时转移.3>循环控制指令(短转移)LOOP CX不为零时循环.LOOPE/LOOPZ CX不为零且标志Z=1时循环.LOOPNE/LOOPNZ CX不为零且标志Z=0时循环.JCXZ CX为零时转移.JECXZ ECX为零时转移.4>中断指令INT 中断指令INTO 溢出中断IRET 中断返回5>处理器控制指令HLT 处理器暂停, 直到出现中断或复位信号才继续.WAIT 当芯⽚引线TEST为⾼电平时使CPU进⼊等待状态.ESC 转换到外处理器.LOCK 封锁总线.NOP 空操作.STC 置进位标志位.CLC 清进位标志位.CMC 进位标志取反.STD 置⽅向标志位.CLD 清⽅向标志位.STI 置中断允许位.CLI 清中断允许位.其实上⾯我们⽤到的也就主要有⼀些赋值指令和⼀些跳转指令⽽已,⼤部分我们⽬前是⽤不到的。
病毒加壳和脱壳技术详解
( ) 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什 么 是 壳 : 数学运算 , 可执行程 序文件或动态链 将 文件 分析 工具 ( 测 壳 的 类 型 ) 侦 :
计 算 机 软 件 里 有 一 段 专 门 负 责 保 护 软 件 不 被 非 法 修 改 或 反 编 译 的 程 序 。 们 一 般 都 是 先 于 程 序 运 行 。 到 它 拿 控 制 权 ,然 后 完 成 它 们 保 护 软 件 的 任
如何加双层壳、多层壳
资源释放:这个,我其实也说不太明白^_^ ,应该就是利用软件运行之后[已经被CPU 在内存中解压]这个机会,提取出内存中的软件资源。FreeRes这个工具(这个工具注册费很低的,建议使用注册版),就是提取出资源,并可以重新建立一个可以编辑的资源,主要用在汉化领域,用来释放资源后再进行汉化工作。
脱壳,是完全破除压缩后软件无法编辑的限制,去掉头部的解压缩指令,然后解压出加壳前的完整软件。这样,你就可以对其“动刀”了。
先说一下什么是加壳,什么是脱壳,什么是资源释放:加壳:其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。现在的CPU都很快,所以这个解压过程你看不出什么东东。软件一下子就打开了,只有你机器配置非常差,才会感觉到不加壳和加壳后的软件运行速度的差别。你的机器配置很差么?喔,恭喜你。你将可能无法忍受等会你照我说的方法加壳后的软件的运行速度~~:)
一直有人问怎么样加多层壳,其实很简单,不过多层壳再有些人眼里看来就是浪费资源,不过也确实能增加软件的安全性,刚才又有问这个问题的,就简单写个教程,本人原来以为自己是个菜鸟,现在才发现,自己已经不是菜鸟了,都快成白痴型了,由于接二连三的打击,堕落了好久,已经对键盘生疏了不少,算了,不多说,直接来说明怎么样加多层壳。高手绕道,新手止步!
脱壳和资源释放的区别:脱壳软件版本依赖性很强。用哪种加壳软件加的壳,几乎只能用相应版本对应的脱壳工具。资源释放软件,并不是脱壳,只是释放出“文字”“图片” 这些资源,供你编辑进行第一层加壳,然后再用freeRes进行资源重建。然后再用其他加壳软件进行第二层加壳。压缩完毕后,测试一下,软件是否还能运行。(一般情况下是不会出错的^_^)再次用freeRes进行资源重建。继续用其他加壳软件进行压缩~ 譬如使用UPX 1.20的图形界面版本,选中“压缩输出信息”、“压缩资源”“压缩图标” 还有最重要的“强制压缩”,只有选了这个,UPX才会压缩。切记!KO,现在搞定。你的软件已经有了3层外壳了。如果你还想给破解者加难度,呵呵,就再用tElock 0.42 再来一层,因为这个的脱壳机在XP下貌似很少。。。
壳加壳脱壳介绍壳的一些基本常识
壳加壳脱壳介绍壳的一些基本常识壳是计算机领域中的一个术语,它指的是对可执行文件进行封装或保护的一种技术方法。
壳通过在可执行文件中添加一些额外的功能,或者对文件进行加密和混淆,来防止程序被破解、修改或复制。
壳可以分为加壳和脱壳两个方面。
加壳是指在可执行文件的外部包裹一层壳,壳可以是自己编写的程序代码,也可以是现有的壳程序。
加壳的目的是增强程序的安全性,使破解者难以通过逆向工程的方式分析、修改或复制可执行文件。
加壳壳通常会在执行可执行文件时先将文件解压缩或解密成原始的可执行文件,然后再执行该文件。
加壳壳中还可以添加一些功能,如代码调试、反调试、防止内存修改等。
加壳壳还可以选择将部分或全部的代码进行混淆,使得反汇编或逆向分析更加困难。
脱壳是指将加壳的可执行文件恢复成原始的可执行文件。
脱壳是反加壳的过程,可以通过逆向工程等方法来进行。
脱壳可以用于研究加壳技术、分析壳的实现方式以及绕过壳进行破解。
脱壳既可以是为了学习和研究的目的,也可以是为了绕过软件的保护措施进行非法操作。
因此,在一些情况下,脱壳也可能构成侵权行为。
壳技术在软件保护和安全领域有着广泛的应用。
它可以保护软件版权,防止软件被未授权的用户使用和复制。
壳还可以加固软件的安全性,防止软件被破解、修改和滥用。
壳也可以实现程序的试用期限制、授权验证和网络授权等功能。
壳技术的发展与软件逆向工程的发展和对抗密切相关。
随着逆向工程技术的不断成熟和发展,对壳的破解和绕过也变得越来越容易。
因此,壳厂商也会不断改进和更新壳的技术,以适应逆向工程的挑战。
现如今,一些高级的壳技术已经能够有效地抵御逆向工程和破解行为。
总的来说,壳是一种对可执行文件进行封装和保护的技术方法,可以增强软件的安全性和防止软件的破解、修改和复制。
加壳是指在可执行文件中添加一层外壳,脱壳是将加壳的文件恢复成原始的可执行文件。
壳技术在软件保护和安全领域有着重要的应用,但也面临着逆向工程的挑战。
壳技术的发展与逆向工程技术的发展密切相关,双方在不断的博弈和对抗中推动着彼此的进步。
外壳知识点总结
外壳知识点总结一、外壳的概念外壳是指覆盖在物体表面上的保护性结构,可以保护物体不受外界的损害。
在生物学中,外壳也指动植物体外具有保护功能的结构。
在工程学中,外壳是指包裹在设备或机械结构表面的保护层,可防腐、防爆、防尘。
在计算机科学中,外壳(shell)是用来启动程序和向操作系统发送命令的软件。
二、外壳的类型1. 生物学中的外壳在生物学中,外壳是许多动植物的一种特殊结构,用来保护身体或结构。
比如,鸡蛋的外壳、甲壳类动物的外骨骼等。
2. 工程学中的外壳在工程学中,外壳通常是指一种覆盖在设备、机械或结构表面的保护层。
根据材料和用途的不同,工程学中的外壳可以分为金属外壳、塑料外壳、玻璃外壳等。
3. 计算机科学中的外壳在计算机科学中,外壳是一种用户与操作系统交互的软件。
外壳可以分为命令行外壳和图形化外壳两种。
三、外壳的功能1. 保护功能外壳的最基本功能是保护物体不受外界损害。
例如,机械设备的外壳可以防止设备零部件受到外界物体的碰撞和磨损。
2. 美观功能外壳还可以起到美化物体的作用,使物体看起来更加整洁、精致。
3. 防护功能外壳还可以起到防护作用,如防火、防腐、防爆、防尘等。
4. 用户交互功能计算机科学中的外壳还可以作为用户与操作系统交互的界面,用户可以通过外壳向操作系统发送命令,执行各种操作。
四、外壳的制造材料1. 金属外壳金属外壳多用于机械设备、电子产品等,常见的金属外壳材料有铝合金、不锈钢等。
2. 塑料外壳塑料外壳多用于家用电器、手机等产品,常见的塑料外壳材料有ABS、PC、PP等。
3. 玻璃外壳玻璃外壳通常用于手机、平板等电子设备,常见的玻璃外壳材料有康宝莱、大猩猩玻璃等。
五、计算机科学中的外壳在计算机科学中,外壳是用户与操作系统交互的界面,可以分为命令行外壳和图形化外壳。
1. 命令行外壳命令行外壳是一种纯文本界面,用户通过输入命令来与操作系统进行交互,常见的命令行外壳有Bash、PowerShell等。
壳的偏旁和结构
壳的偏旁和结构一、壳的基本结构和功能1.1 壳的定义和作用壳是动物身体的一部分,用来保护和支撑身体。
不同物种的壳具有不同的外形、结构和功能。
一般情况下,壳可以分为硬壳和软壳两种类型。
1.2 硬壳的结构和特点硬壳是一种坚硬且具有一定强度的外壳,常见于贝类、甲鱼等动物。
硬壳主要由钙质组成,使得它具有很高的硬度和耐磨性。
硬壳的外部通常覆盖着角质层,可以保护内部的壳体不受外界环境的侵害。
1.3 软壳的结构和特点软壳是一种柔软且不具有很高硬度的外壳,常见于螃蟹、贝类等动物。
软壳主要由蛋白质和多糖组成,使得它具有柔软性和适应性。
软壳的外部没有角质层,容易受到外界环境的影响,但也便于动物生长和变化。
二、壳的偏旁和演化2.1 壳的偏旁和功能壳的偏旁是指壳体上的纹路、纹理和突起等结构。
壳的偏旁可以提供动物的外形特征和功能特性的信息。
例如,某些贝类壳体上的细节结构可以用来识别物种和判断其年龄。
壳的偏旁还可以帮助壳体在海底或河床等环境中稳固地定位,防止被冲刷或被捕食者捕食。
2.2 壳的偏旁的演化途径壳的偏旁的形成和演化是受到多种因素的影响的。
首先,壳体的形态和养分分配与动物的生活方式和环境有关。
例如,贝类生活在海底的浅水区域,它们的壳体往往呈扁平或圆形,以便更好地与海底环境相适应。
其次,壳的偏旁还可能受到基因突变和自然选择等进化机制的影响。
变异的壳体形态可能使得某些个体在面对捕食者或其他竞争者时具有一定的优势,从而在繁殖中福至自然选择。
2.3 壳体结构和生物多样性的关系壳体结构对于动物的生存和适应具有重要意义。
不同壳体结构的动物在生活方式、食性、栖息地等方面存在差异,因此也对生态系统的稳定性和生物多样性做出贡献。
通过研究不同壳体结构的动物,可以更深入地了解物种的起源、演化和生态功能,促进对生物多样性的保护和管理。
三、壳的重要性和应用3.1 壳在自然界的重要性壳作为动物的保护层和支撑结构,在自然界中具有重要的生物学功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.PE文件编辑工具PEditor,ProcDump32,LordPE
5.重建Import Table工具:ImportREC,ReVirgin
6.ASProtect脱壳专用工具:Caspr(ASPr V1.1-V1.2有效),Rad(只对ASPr V1.1有效),loader,peid
常用脱壳工具:
1.文件分析工具(侦测壳的类型):Fi,GetTyp,peid,pe-scan,
2.OEP入口查找工具:SoftICE,TRW,ollydbg,loader,peid
3.dump工具:IceDump,TRW,PEditor,ProcDump32,LordPE
从功能上抽象,软件的壳和自然界中的壳相差无几。无非是保护、隐蔽壳内的东西。而从技术的角度出发,壳是一段执行于原始程序前的代码。原始程序的代码在加壳的过程中可能被压缩、加密……。当加壳后的文件执行时,壳-这段代码先于原始程序运行,他把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。 软件的壳分为加密壳、压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序真正的OEP(入口点,防止被破解)。关于“壳”以及相关软件的发展历史请参阅吴先生的《一切从“壳”开始》。
第四:杀软的查杀特点:
卡巴:简单来说是靠主动吃饭的!他的病毒库虽然非常大!但是不知道为什么,简单的花指令竟然能破解它......虽然现在升级加了启发扫描~~但是我测试还是一个花就可以过!只要你的花有个性(别去网上找)加个壳改下壳头也可以过!瑞星:国内木马的超级对手可以这么说!对国内的木马定位的特征是洋货的N倍(鸽子见证)主要查杀技术是内存查杀技术,但是对一些生僻的木马,内存病毒库里竟然没有,只要过了表面就可以过内存......主动主杀敏感字符串,本人测试鸽子的时候改了表跟内存特征,竟然直接过主动......广告卖的倒不错,但是只是针对流行木马!其他不常见木马并没有加大什么强度!
(4)Armadill: 可以用SOFTICE+ICEDUMP脱壳,比较烦
(5)Dbpe:国内比较好的加密软件,新版本暂时不能脱,但可以破解
(6)NeoLite: 可以用自己来脱壳
(7)Pcguard: 可以用SOFTICE+ICEDUMP+FROGICE来脱壳
(8)Pecompat: 用SOFTICE配合PEDUMP32来脱壳,但不要专业知识
壳,加壳,脱壳,介绍壳的一些基本常识.txt今天心情不好。我只有四句话想说。包括这句和前面的两句。我的话说完了对付凶恶的人,就要比他更凶恶;对付卑鄙的人,就要比他更卑鄙没有情人味,哪来人情味 拿什么整死你,我的爱人。收银员说:没零钱了,找你两个塑料袋吧! 壳,加壳,脱壳,介绍壳的一些基本常识
(一)壳的概念
作者编好软件后,编译成exe可执行文件。
1.有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名,即为了保护软件不被破解,通常都是采用加壳来进行保护。
2.需要把程序搞的小一点,从而方便使用。于是,需要用到一些软件,它们能将exe可执行文件压缩,
3.在黑客界给木马等软件加壳脱壳以躲避杀毒软件。实现上述功能,这些软件称为加壳软件。
第三:杀软的安装设置:个人建议安装卡巴,小红伞,瑞星,金山!(当然配置好的电脑可以再加上江民,麦咖啡)这里我为什么不说安装NOD32呢!本人以前装卡巴,小红伞,瑞星,金山的时候就为了装个NOD32而导致不能上网(后来修复)又发现权限有问题(部分程序竟然没权限运行......)只好在虚拟机里单独安装!所以也建议大家要装NOD32的话,还是在虚拟机里单独安装吧!硬盘大的朋友建议全利用虚拟机安装杀软(方便以后重做系统,节省升级病毒库的时间)杀软的设置,可以说是很简单的!每安装完一个杀软,我们都要先在杀软设置里把监控跟自我保护的选项的钩去掉!然后升级病毒库!升级完后再关闭服务跟启动项(利用360安全卫士)这样安装其他的杀软就不会起冲突了!这里注意下!瑞星升级后会自己更改自己的服务为自动,所以瑞星建议最后装,最后升级,再关闭它的服务!这里我想大家肯定是关心杀软的序列号从哪来的吧!瑞星有体验版,金山有37天试用版,NOD32利用PPLO的细心了!呵呵!卡巴不建议装6.0的,虽然我知道6.0的有的序列号可以用到3000年!但是查杀模式跟7.0大有不同!!大家还是装7.0吧!(虽然卡巴的启发比不上NOD32的,但是它的主动可是免杀爱好者的“粉丝”)
免杀入门 2009-08-06 16:58 阅读7 评论0 字号: 大大 中中 小小 在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。
加壳一般属于软件加密,现在越来越多的软件经过压缩处理,给汉化带来许多不便,软件汉化爱好者也不得不学习掌握这种技能。现在脱壳一般分手动和自动两种,手动就是用TRW2000、TR、SOFTICE等调试工具对付,对脱壳者有一定水平要求,涉及到很多汇编语言和软件调试方面的知识。而自动就是用专门的脱壳工具来脱,最常用某种压缩软件都有他人写的反压缩工具对应,有些压缩工具自身能解压,如UPX;有些不提供这功能,如:ASPACK,就需要UNASPACK对付,好处是简单,缺点是版本更新了就没用了。另外脱壳就是用专门的脱壳工具来对付,最流行的是PROCDUMP v1.62 ,可对付目前各种压缩软件的压缩档。在这里介绍的是一些通用的方法和工具,希望对大家有帮助。
我们通常都会使用Procdump32这个通用脱壳软件,它是一个强大的脱壳软件,他可以解开绝大部分的加密外壳,还有脚本功能可以使用脚本轻松解开特定外壳的加密文件。另外很多时候我们要用到exe可执行文件编辑软件ultraedit。我们可以下载它的汉化注册版本,它的注册机可从网上搜到。ultraedit打开一个中文软件,若加壳,许多汉字不能被认出 ultraedit打开一个中文软件,若未加壳或已经脱壳,许多汉字能被认出 ultraedit可用来检验壳是否脱掉,以后它的用处还很多,请熟练掌握例如,可用它的替换功能替换作者的姓名为你的姓名注意字节必须相等,两个汉字替两个,三个替三个,不足处在ultraedit编辑器左边用00补。
3.PEcompact壳 脱壳用unpecompact 使用方法类似lanuage傻瓜式软件,运行后选取待脱壳的软件即可。
4.procdump 万能脱壳但不精,一般不要用使用方法:运行后,先指定壳的名称,再选定欲脱壳软件,确定即可脱壳后的文件大于原文件由于脱壳软件很成熟,手动脱壳一般用不到。
常见的壳脱法:
1.aspack壳脱壳可用unaspack或caspr 1.unaspack ,使用方法类似lanuage,傻瓜式软件,运行后选取待脱壳的软件即可. 缺点:只能脱aspack早些时候版本的壳,不能脱高版本的壳
2.caspr
第一种:待脱壳的软件(如aa.exe)和caspr.exe位于同一目录下,执行windows起始菜单的运行,键入 caspr aa.exe脱壳后的文件为aa.ex_,删掉原来的aa.exe,将aa.ex_改名为aa.exe即可。使用方法类似fi 优点:可以脱aspack任何版本的壳,脱壳能力极强缺点:Dos界面。
NOD32:启发扫描的头领!主杀输入表函数,针对MYCCL定位器做过调整!定位建议用 multiCCL这个来定位!不过这个大块头对生僻壳的侦壳能力不强!加些生僻壳把一些函数保护起来可以让它无用武之地!对外国木马还行~国内好多木马它都放行!!国内朋友不建议装这个杀软(这类壳主要是加密型,不建议用压缩型)金山:数据流查杀技术的代表!简单来说跟瑞星内存查杀技术有点一样!病毒库升级,查杀病毒速度都是超级快!但是杀毒能力比较上面的几款有点逊色!
我们知道文件的加密方式,就可以使用不同的工具、不同的方法进行脱壳。下面是我们常常会碰到的加壳方式及简单的脱壳措施,供大家参考:脱壳的基本原则就是单步跟踪,只能往前,不能往后。脱壳的一般流程是:查壳->寻找OEP->Dump->修复找OEP的一般思路如下:先看壳是加密壳还是压缩壳,压缩壳相对来说容易些,一般是没有异常,找到对应的popad后就能到入口,跳到入口的方式一般为。 我们知道文件被一些压缩加壳软件加密,下一步我们就要分析加密软件的名称、版本。因为不同软件甚至不同版本加的壳,脱壳处理的方法都不相同。
第二种:将aa.exe的图标拖到caspr.exe的图标上***若已侦测出是aspack壳,用unaspack脱壳出错,说明是aspack高版本的壳,用caspr脱即可。
2.upx壳脱壳可用upx待脱壳的软件(如aa.exe)和upx.exe位于同一目录下,执行windows起始菜单的运行,键入upx -d aa.exe。
(二)加壳软件最常见的加壳软件
ASPACK ,UPX,PEcompact 不常用的加壳软件WWPACK32;PE-PACK ;PETITE NEOLITE
(三)侦测壳和软件所用编写语言的软件
因为脱壳之前要查他的壳的类型。
1.侦测壳的软件fileinfo.exe 简称fi.exe(侦测壳的能力极强)。
(1)Aspack: 用的最多,但只要用UNASPACK或PEDUMP32脱壳就行了
(2)ASProtect+aspack:次之,国外的软件多用它加壳,脱壳时需要用到SOFTICE+ICEDUMP,需要一定的专业知识,但最新版现在暂时没有办法。