UPX 脱壳初见

UPX 脱壳初见1.壳是什么?加壳一般是指保护程序资源的方法.脱壳一般是指除掉程序的保护,用来修改程序资源.病毒加壳技术与脱壳杀毒方法:壳是什么?脱壳又是什么?这是很多经常感到迷惑和经常提出的问题,其实这个问题一点也不幼稚。壳,在我们的印象中,它的作用就是保护,例如龟壳,这是传统意义上的壳,通常被用来保护自己;今天我们讨论的壳是程序的壳,它的功能和一般意义上的壳有相同的地方,它们都是保护作用,在一…

大家好,又见面了,我是你们的朋友全栈君。

1.壳是什么?

加壳一般是指保护程序资源的方法. 
脱壳一般是指除掉程序的保护,用来修改程序资源. 
病毒加壳技术与脱壳杀毒方法 : 
壳是什么?脱壳又是什么?这是很多经常感到迷惑和经常提出的问题,其实这个问题一点也不幼稚。

壳,在我们的印象中,它的作用就是保护,例如龟壳,这是传统意义上的壳,通常被用来保护自己;今天我们讨论的壳是程序的壳,它的功能和一般意义上的壳有相同的地方,它们都是保护作用,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。 从功能上抽象,软件的壳和自然界中的壳相差无几。无非是保护、隐蔽壳内的东西。而从技术的角度出发,壳是一段执行于原始程序前的代码。原始程序的代码在加壳的过程中可能被压缩、加密……。当加壳后的文件执行时,壳-这段代码先于原始程序运行,他把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。 软件的壳分为加密壳、压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序真正的OEP(入口点,防止被激活成功教程)。

2.怎么加壳?

作者编好软件后,编译成exe可执行文件。 1.有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名,即为了保护软件不被激活成功教程,通常都是采用加壳来进行保护。 2.需要把程序搞的小一点,从而方便使用。于是,需要用到一些软件,它们能将exe可执行文件压缩, 3.在黑客界给木马等软件加壳脱壳以躲避杀毒软件。实现上述功能,这些软件称为加壳软件。 

3.常见的加壳软件?

软件加壳是作者写完软件后,为了保护自己的代码或维护软件产权等利益所常用到的手段。目前有很多加壳工具,当然有盾,自然就有矛,只要我们收集全常用脱壳工具,那就不怕他加壳了。软件脱壳有手动脱和自动脱壳之分,下面我们先介绍自动脱壳,因为手动脱壳需要运用汇编语言,要跟踪断点等,不适合初学者,但我们在后边将稍作介绍。 

加壳一般属于软件加密,现在越来越多的软件经过压缩处理,给汉化带来许多不便,软件汉化爱好者也不得不学习掌握这种技能。现在脱壳一般分手动和自动两种,手动就是用TRW2000、TR、SOFTICE等调试工具对付,对脱壳者有一定水平要求,涉及到很多汇编语言和软件调试方面的知识。而自动就是用专门的脱壳工具来脱,最常用某种压缩软件都有他人写的反压缩工具对应,有些压缩工具自身能解压,如UPX;有些不提供这功能,如:ASPACK,就需要UNASPACK对付,好处是简单,缺点是版本更新了就没用了。另外脱壳就是用专门的脱壳工具来对付,最流行的是PROCDUMP v1.62 ,可对付目前各种压缩软件的压缩档。在这里介绍的是一些通用的方法和工具,希望对大家有帮助。我们知道文件的加密方式,就可以使用不同的工具、不同的方法进行脱壳。下面是我们常常会碰到的加壳方式及简单的脱壳措施,供大家参考: 脱壳的基本原则就是单步跟踪,只能往前,不能往后。脱壳的一般流程是:查壳->寻找OEP->Dump->修复 找OEP的一般思路如下: 先看壳是加密壳还是压缩壳,压缩壳相对来说容易些,一般是没有异常,找到对应的popad后就能到入口,跳到入口的方式一般为。 我们知道文件被一些压缩加壳软件加密,下一步我们就要分析加密软件的名称、版本。因为不同软件甚至不同版本加的壳,脱壳处理的方法都不相同。

 

 4.常用脱壳工具

 

1、文件分析工具(侦测壳的类型):Fi,GetTyp,peid,pe-scan, 

2、OEP入口查找工具:SoftICE,TRW,ollydbg,loader,peid 

3、dump工具:IceDump,TRW,PEditor,ProcDump32,LordPE 

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)Aspack: 用的最多,但只要用UNASPACK或PEDUMP32脱壳就行了 

(2)ASProtect+aspack:次之,国外的软件多用它加壳,脱壳时需要用到SOFTICE+ICEDUMP,需要一定的专业知识,但最新版现在暂时没有办法。 

(3)Upx: 可以用UPX本身来脱壳,但要注意版本是否一致,用-D 参数 

(4)Armadill: 可以用SOFTICE+ICEDUMP脱壳,比较烦 

(5)Dbpe: 国内比较好的加密软件,新版本暂时不能脱,但可以激活成功教程 

(6)NeoLite: 可以用自己来脱壳 

(7)Pcguard: 可以用SOFTICE+ICEDUMP+FROGICE来脱壳 

(8)Pecompat: 用SOFTICE配合PEDUMP32来脱壳,但不要专业知识 

(9)Petite: 有一部分的老版本可以用PEDUMP32直接脱壳,新版本脱壳时需要用到SOFTICE+ICEDUMP,需要一定的专业知识 

(10)WWpack32: 和PECOMPACT一样其实有一部分的老版本可以用PEDUMP32直接脱壳,不过有时候资源无法修改,也就无法汉化,所以最好还是用SOFTICE配合 PEDUMP32脱壳 

我们通常都会使用Procdump32这个通用脱壳软件,它是一个强大的脱壳软件,他可以解开绝大部分的加密外壳,还有脚本功能可以使用脚本轻松解开特定外壳的加密文件。另外很多时候我们要用到exe可执行文件编辑软件ultraedit。我们可以下载它的汉化注册版本,它的注册机可从网上搜到。ultraedit打开一个中文软件,若加壳,许多汉字不能被认出 ultraedit打开一个中文软件,若未加壳或已经脱壳,许多汉字能被认出 ultraedit可用来检验壳是否脱掉,以后它的用处还很多,请熟练掌握例如,可用它的替换功能替换作者的姓名为你的姓名注意字节必须相等,两个汉字替两个,三个替三个,不足处在ultraedit编辑器左边用00补。 

 

5.常见的壳脱法 

(一)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界面。第二种:将aa.exe的图标拖到caspr.exe的图标上***若已侦测出是aspack壳,用unaspack脱壳出错,说明是aspack高版本的壳,用caspr脱即可。 

(二)upx壳 脱壳可用upx待脱壳的软件(如aa.exe)和upx.exe位于同一目录下,执行windows起始菜单的运行,键入upx -d aa.exe。 

(三)PEcompact壳 脱壳用unpecompact 使用方法类似lanuage傻瓜式软件,运行后选取待脱壳的软件即可。 

(四)procdump 万能脱壳但不精,一般不要用 使用方法:运行后,先指定壳的名称,再选定欲脱壳软件,确定即可脱壳后的文件大于原文件由于脱壳软件很成熟,手动脱壳一般用不到。

 

转载于:https://www.cnblogs.com/pw1scn/p/9313953.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161715.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 回归分析数学建模_matlab 回归分析

    回归分析数学建模_matlab 回归分析一元线性回归变量之间的关系大致可分为两大类:确定性的关系:可以用精确的函数关系来表达。例如矩形面积S与边长a,b的关系。非确定性的关系:变量之间既互相联系但又不是完全确定的关系,称为相关关系。例如人的身高与体重、农作物产量与降雨量等的关系。从数量的角度去研究这种非确定性的关系,是数理统计的一个任务.包括通过观察和试验数据去判断变量之间有无关系,对其关系大小作数量上的估计、推断和预测,等等.回归分析就是研究相关关系的一种重要的数理统计方法.一元正态线性回归模型只有两个变量的回归分析,称

    2025年6月12日
    0
  • LaTeX求和符号_matlab中求和符号怎么表示

    LaTeX求和符号_matlab中求和符号怎么表示Latex的求和公式:若想输出∑i=0n\sum_{i=0}^n∑i=0n​则需要输入:$\sum_{i=0}^n$其中,\sum是求和符号,下划线_之后为起始条件,^是终止条件

    2022年10月12日
    0
  • linux数据恢复_Linux操作系统服务器意外断电数据恢复成功案例

    【linux服务器数据恢复介绍】客户带来一台需要进行数据恢复的服务器,服务器是linux操作系统,导致服务器数据丢失的原因是由于服务器意外断电导致的一部分文件丢失。数据丢失后客户没再进行其他操作,直接将服务器正常关机后切断电源带到北亚数据恢复中心进行数据恢复操作。【服务器数据备份】北亚数据恢复中心接到客户的服务器后,将客户的linux服务器连接到数据恢复专用服务器上,将客户数据以只读模式进行镜像备…

    2022年4月3日
    54
  • 三十岁以上的男人才会用到的网站,不浮夸这是真的

    三十岁以上的男人才会用到的网站,不浮夸这是真的三十岁以上的男人其实已经经历过很多多岁月了,无论是工作、社交、还是家庭都应该是得心应手的。但是未必所有三十岁的男人都用到过下面这些网站。PPT素材类优品PPT我们可以免费PPT模板下载网站!企帮

    2022年7月3日
    30
  • 批处理教程pdf_批处理怎么用

    批处理教程pdf_批处理怎么用批处理是Windows自带的一个脚本引擎,语法简洁、内置一些功能强大的命令,并且可以与Windows上的其他软件进行良好的通信。批处理能够提供一系统自动化处理功能,大幅提高日常工作中的一些琐碎重复事情的效率。1.概念批处理(Batch),顾名思义即是指批量处理。批处理是基于dos命令行,Windows默认内置解释器cmd.exe的脚本语言。批处理文件默认保存为.bat或.cmd。批处理是基于Dos命令行,所以批处理是没有GUI的,是运行在命令提示符终端(CommandPromptTermina

    2022年8月22日
    4
  • 成为java架构师需要具备那些技能?

    成为java架构师需要具备那些技能?架构师定义百度百科,系统架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。架构师工作职能软件架构师在整个软件开发过程中都起着重要的作用,并随着开发进程的推进而其职责或关注点不断地变化,在需求阶段,软件架构师主要负责理解和管理非功能性系统需求,比如软件的可维护性、性能、复用性、可靠性、有效性和可测试性等等,此外,架构师还要经常审查客户及市场人员

    2022年7月8日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号