如何判断一个文件是否被加壳
我一般简单判断文件是否加壳,使用 PEid,Language2000 等,他们是第三方软件。
或者通过 Stu_PE 查看它的区段,一般第一区段是 “.text” 且入口点在第一区段之类的是未加壳。
其他的需要一些经验判断。
用 OD 调试器观察入口点也能做一些判断。
当然,Stu_PE 和 OD 都是软件。
还有用 UltraEdit 直接分析 PE 结构的,UltraEdit 也是软件。
如果不用第三方软件,我只能用 CreateFile,ReadFile 这些函数从文件里读取到特定的二进制数据进行分析。
当然,要使用这些函数,我必须使用一些编译器软件。
用记事本直接打开EXE也能看到区段名,但操作系统是软件,记事本也是软件,如果你想通过显示器看到或者通过喇叭听到信息,你必须通过软件来操作硬件。
完全彻底不用软件的方法,我想只能拆开硬盘,找到这个文件所在的地方,通过特定的设备给予硬盘特定的电子指令读取数据来判断了。
纯属猜想,技术能力有限。
如何判断软件是否加壳
方法如下:所需工具:DiE1. 打开DiE 2. 拖拽程序,加壳3. 拖拽程序,没加壳
请问怎么给脱壳的应用程序加壳?
加壳的全称应该是可执行程序资源压缩,是保护文件的常用手段. 加壳过的程序可以直接运行,但是不能查看源代码.要经过脱壳才可以查看源代码. 加“壳”其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。
类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。
解压原理,是加壳工具在文件头里加了一段指令,告诉CPU,怎么才能解压自己。
加“壳”虽然增加了CPU附带但是减少了硬盘读写时间,实际应用时加“壳”以后程序运行速度更快(当然有的加“壳”以后会变慢,那是选择的加“壳”工具问题)。
一般软件都加“壳”这样不但可以保护自己的软件不被破解、修改还可以增加运行时启动速度。
加“壳”不等于木马,我们平时的巨大多数软件都加了自己的专用“壳”。
RAR和ZIP都是压缩软件不是加“壳”工具,他们解压时是需要进行磁盘读写,“壳”的解压缩是直接在内存中进行的,用RAR或者ZIP压缩一个病毒你试试解压缩时杀毒软件肯定会发现,而用加“壳”手段封装老木马,能发现的杀毒软件就剩不下几个。
因为加壳了之后等于把这个文件进行了保护(就是有些杀毒软件杀不了的原因)因为文件不能重复加壳.判断依据是文件是否已经加了保护
软件破解脱壳法
什么是脱壳技术?在一些电脑软件里有一段专门负责保护软件不被非法修改或反编译的程序。
它们一般都是先于程序运行拿到控制权,然后完成它们保护软件的任务。
就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。
由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。
就像电脑病毒和自然界的病毒一样,其实都是命名上的方法罢了。
从功能上抽象,软件的壳和自然界中的壳相差无几。
无非是保护、隐蔽壳内的东西。
而从技术的角度出发,壳是一段执行于原始程序前的代码。
原始程序的代码在加壳的过程中可能被压缩、加密……。
当加壳后的文件执行时,壳这段代码先于原始程序运行,他把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。
软件的壳分为加密壳、压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序真正的OEP(入口点,防止被破解)。
关于“壳”以及相关软件的发展历史请参阅吴先生的《一切从“壳”开始》。
(一)壳的概念:作者编好软件后,编译成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)。
(四)脱壳软件。
软件加壳是作者写完软件后,为了保护自己的代码或维护软件产权等利益所常用到的手段。
目前有很多加壳工具,当然有盾,自然就有矛,只要我们收集全常用脱壳工具,那就不怕他加壳了。
软件脱壳有手动脱和自动脱壳之分,下面我们先介绍自动脱壳,因为手动脱壳需要运用汇编语言,要跟踪断点等,不适合初学者,但我们在后边将稍作介绍。
=======================================================================加壳一般属于软件加密,现在越来越多的软件经过压缩处理,给汉化带来许多不便,软件汉化爱好者也不得不学习掌握这种技能。
现在脱壳一般分手动和自动两种,手动就是用TRW2000、TR、SOFTICE等调试工具对付,对脱壳者有一定水平要求,涉及到很多汇编语言和软件调试方面的知识。
而自动就是用专门的脱壳工具来脱,最常用某种压缩软件都有他人写的反压缩工具对应,有些压缩工具自身能解压,如UPX;有些不提供这功能,例如:ASPACK,就需要UNASPACK对付,好处是简单,缺点是版本更新了就没用了。
另外脱壳就是用专门的脱壳工具来对付,最流行的是PROCDUMP v1.62,可对付目前各种压缩软件的压缩档。
在这里介绍的是一些通用的方法和工具,希望对大家有帮助。
我们知道文件的加密方式,就可以使用不同的工具、不同的方法进行脱壳。
下面是我们常常会碰到的加壳方式及简单的脱壳措施,供大家参考:脱壳的基本原则就是单步跟踪,只能往前不能往后。
脱壳的一般流程是:查壳--->寻找OEP--->Dump修复。
找OEP的一般思路如下:[color=blue]先看壳是加密壳还是压缩壳,压缩壳相对来说容易些一般是没有异常,找到对应的popad后就能到入口。
跳到入口的方式一般为:我们知道文件被一些压缩加壳软件加密,下一步我们就要分析加密软件的名称、版本。
因为不同软件甚至不同版本加的壳,脱壳处理的方法都不相同。
我很少写破文,最近看到一些新手常问查壳工具查不出是什麽壳?不知壳如何脱?我这里就简单的用一个范例程式谈谈脱壳方法,算是给新手打打气。
一般这种没有公开的壳不会太猛(除了hying,vcasm, jingulong等这些圈内人的壳哈)大多是自己土制的壳,有的还伪装一下致使查壳工具查不出或查出什麽Aspack,UPX的壳。
碰到这种壳不用太怕认真跟踪分析一下、一般都没多大问题。
一般加壳后的程式运行时大多是用各种方法AntiDebugger,其中夹杂很多花指令和垃圾指令、然后解码又是一堆AntiDebugger,可能又解码恢复IAT又是一堆AntiDebugger.....最后再跳到程式真正的OEP处。
对付这种壳一般的方法是先找到OEP,再修复IAT。
在壳跳到OEP的时候一般是个跨段跳转,跳转方法有很多例如:JMP XXXXXXXX, JMP [XXXXXXXX], JE [XXXXXXXX],PUSH XXXXXXXX RET, CALL XXXXXXXXX, CALL [XXXXXXXX], CALL EAX.....还有的是在SEH中直接指定EIP等等。
找到这个跳转位址,然后在相应位址上设上中断点,F9运行就到达OEP处了。
此时就是最好的Dump时机,修复IAT一般用...
如何把EXE文件加壳
展开全部 在好莱坞间谍电影里,那些特工们往往以神奇莫测的化妆来欺骗别人,甚至变换成另一个身份,国内对于这种伪装行为有个通俗的说法——“穿马甲”。
而这种正与邪的争斗已经延伸到了病毒领域,很多病毒作者通过给病毒“穿马甲”、甚至穿多个“马甲”的方式,躲避杀毒软件的查杀,这种技术就是“加壳”。
病毒作者可以通过给老病毒加壳,大批量制造出杀毒软件无法识别的新病毒。
所谓加壳,是一种通过一系列数学运算,将可执行程序文件或动态链接库文件的编码进行改变(目前还有一些加壳软件可以压缩、加密驱动程序),以达到缩小文件体积或加密程序编码的目的。
当被加壳的程序运行时,外壳程序先被执行,然后由这个外壳程序负责将用户原有的程序在内存中解压缩,并把控制权交还给脱壳后的真正程序。
一切操作自动完成,用户不知道也无需知道壳程序是如何运行的。
一般情况下,加壳程序和未加壳程序的运行结果是一样的。
既然加壳后的病毒不易被发现,那么如何判断一个可执行文件是否被加了壳呢? 有一个简单的方法(对中文软件效果较明显)。
用记事本打开一个可执行文件,如果能看到软件的提示信息则一般是未加壳的,如果完全是乱码,则多半是被加壳的。
我们还可以使用一款叫做Fileinfo的工具来查看文件具体加的是什么壳。
目前,较常见到的壳有“UPX”、“ASPack”、“PePack”、“PECompact”、“UPack”、“NsPack”、“免疫007”、“木马彩衣”等等。
病毒加壳的原理很简单,现在黑客营中提供的多数病毒中,很多都是经过处理的,而这些处理就是所谓的加壳。
我们知道当一个普通的EXE程序生成好后,很轻松的就可以利用诸如资源工具和反汇编工具对它进行修改,但如果程序员给EXE程序加一个壳的话,那么至少这个加了壳的EXE程序就不是那么好修改了,如果想修改就必须先脱壳。
病毒加壳后也是同样的道理,我们也必须先为病毒脱壳。
我不知道你要对病毒干什么 但是病毒是用来杀的 不用加什么“壳” 直接杀掉 杀不掉 隔离 或进安全模式 用杀毒软件!!!
怎么给手机上的apk软件加壳安装
版权声明:本文为博主原创文章,若转载请注明出处:http://blog.csdn.net/pvlking首先加壳的方法和代码都是从Jack_Jia的博客学习的。
详见:http://blog.csdn.net/jiazhijun/article/details/8678399由于本人从c++开发直接跳到Android开发,没有对android进行系统的学习,看上面博客时还是有很多不理解的地方。
本文把不理解的地方梳理一下,最后提供个测试源码(加了比较详细的注释)。
希望对于跟我一样安卓基础不是太好的人有一定帮助。
正文:apk加壳的目的(我的用途):增加apk静态分析的难度。
(如果反编译的人知道是加壳的,可以在data/包名目录下 找到真正的apk。
所以在壳上增加正常的代码的话可以增加迷惑性)基础知识:ClassLoader:http://www.iteye.com/topic/83978 这个写的不错想了解的可以去看看。
整个加壳的过程涉及到三个程序:要加壳的apk,加壳程序(demo中的apkjm),解壳程序(demo中的myunshell)。
其中加壳程序就是把要加壳的apk放入解壳程序的dex文件中。
解壳程序是最后替代我们apk安装到手机中运行的程序。
它在执行中从自己的dex中释放出我们apk程序。
步骤:1.实现加壳程序。
2.实现解壳程序:按博客创建个解壳的Application。
如果我们的apk中用到了 Application,需要在解壳程序的xml文件中添加:com.***.Application 是我们apk的Application类名 加上我们apk的包名注:1.我们apk用到的权限和组件都需要添加到解壳程序的xml中,组件都需要加上完整的包名路径。
2.我们apk内用到的资源也就是res文件内的东西,需要拷贝到解壳程序的res中。
3.如果我们apk静态注册了广播接收器,那广播接收器类需要在解壳程序中实现。
3.解壳程序完成后,把bin文件夹内的dex文件拷出来,用加密程序把我们的apk添加到该dex文件中。
4.把新生成的dex文件覆盖bin文件夹中原来的dex文件,并把apk文件也删掉,重新运行解壳程序生成新的解壳apk。
这个apk就是我们需要的最后的apk文件了。
加壳就完成了。
另外:1.在解壳程序中对我们apk文件进行解密函数调用的地方不对。
在demo中做了修改和说明。
2.我在释放apk的时候加了个判断,如果文件存在就不再释放了,如果是在测试的时候,可以先屏蔽掉,免的每次运行调试前要先删掉原来的程序。
[java] view plain copyif (!dexFile.exists()) { dexFile.createNewFile(); //在payload_odex文件夹内,创建payload.apk // 读取程序classes.dex文件 byte[] dexdata = this.readDexFileFromApk(); // 分离出解壳后的apk文件已用于动态加载 this.splitPayLoadFromDex(dexdata); } demo地址:http://download.csdn.net/detail/pvlking/8302249
提示有了后门程序怎么办?
一般这样的情况属于误报,修改器这样的东西一般都是加壳后的,杀毒软件有时取特征码会取在壳上,如果你原来用过,而现在只报主程序,而不报系统目录下的什么文件的话,基本上就是误报。
因为特征码需要时间升级,之前没有这个特征码自然是不报,杀毒软件报内存修改器,软件补丁什么为病毒是经常出现的事情,哈哈
残霞造梦西游3修改器最新版有没毒的吗
展开全部 传给你几个技巧: 带有刷需要钱的充值点数的一律为假的。
一般百度软件名称可以知道更多信息,可以判断软件的信誉这种小游戏辅助没多少有病毒的如果要你输入账号和密码那就要警惕点,可能是钓鱼判断钓鱼:把后辍名exe改为txt用ctrl+f搜smtp看到@什么什么的就是钓鱼,千万别输入真实账号和密码。
有些软件加壳看不出,可以自己去脱壳这种小游戏辅助的确是比较好编写的,而且还有专门的修改内存的模块,基本都是真的有没有病毒这个,易语言编的大多会误报吧,所以不必太担心。
有兴趣你可以去试试下载易语言学个两三天你也可以编写,我2年前玩这游戏还用别人的修改器,现在自己也能编了。
不懂可以问我我不明白这种小游戏辅助里的病毒有何作用?...
谁能帮我看看一个软件是不是病毒
展开全部 首先.这种软件一般的看不出来是否为病毒.然后是想要判断是否为病毒.建议是安装反病毒软件.然后使用反病毒软件扫描.一般情况下如果不是特别牛逼的病毒.一般是可以扫描出来的.不过有些虽然不是病毒.却是伪装的下载者之类的.并且一般的很难判断的得出来.因为一般的反病毒软件它是根据所谓听特征码来扫描的.有些软件件有打乱特征的代码和加壳.执行脚本.将病毒体写成资源在程序启动后才读取到内存中运行.所以并不是绝对的.最后就是使用的软件尽可能的使用大公司的官方网站下载的软件.这样呢一般情况下病毒会少一些.但也是不能完全避免的.然后就是下载后最好是多几个反病毒软件来扫描.这个还可以降低一些中病毒的风险.但世上没有完全绝对的.....有些木马是有通行证的.因为购买了反病毒公司的注册码或者是有特批的通行证编码....
转载请注明出处51数据库 » 怎么判断软件有没有加壳
Devil_May_Cry