壳 查壳 去壳 加壳的基本原理
壳的概念
是指在一个程序的外面再包裹上另外一段代码,保护里面的代码不被非法修改或反编译的程序。壳最本质的功能就是实现加载器,它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。
壳绝对不能改变原来代码的执行流程。
查壳
侦测壳和软件所用编写语言的软件。
脱壳之前要查看它的软件类型,侦测壳的软件,fileinfoexe简称fi.exe。
侦测壳和软件所用编写语言的软件language.exe
去壳
当知道文件的加密方式,就可以使用不同的工具、不同的方法进行去壳。
下面是常会碰到的加壳方式及简单的去壳措施︰
去壳的基本原则是单步跟踪,只能往前,不能往后。
去壳的一般流程是︰查壳->寻找 OEP->Dump->修复。
找OEP(入口点) 一般思路如下: 先看壳是加密壳还是压缩壳,压缩壳相对来说容易些,一般是没有异常,找到对应的popad后就能到入口,跳到入口的方式一般为。我们知道文件被一些压缩加壳软件加密,下一步我们就要分析加密软件的名称、版本。因为不同软件甚至不同版本加的壳,脱壳处理的方法都不相同。
加壳
加壳的全称:可执行程序资源压缩,压缩后的程序可以直接运行。
加壳的另一种常用的方式是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,之后再把控制权交还给原始代码。这样做的目的是隐藏程序真正的OEP(入口点,防止被破解,查壳就是为了找它)。大多数病毒就是基于此原理。加壳可以绕过一些杀毒软件的扫描。
加壳工具通常分为:压缩壳和加密壳两类。
压缩壳的特点是减小软件体积大小,加密保护不是重点。
加密壳种类比较多,不同的壳侧重点不同,一些壳单纯保护程序,另一些壳提供额外的功能,如提供注册机制、使用次数、时间限制等。
加壳程序不能对源程序有任何的影响。
壳 查壳 去壳 加壳的基本原理相关推荐
- 什么是加壳和脱壳技术?加壳和脱壳技术是什么意思?
什么是加壳和脱壳技术?加壳和脱壳技术是什么意思? 加壳,是一种通过一系列数学运算,将可执行程序文件或动态链接库文件的编码进行改变(目前还有一些加壳软件可以压缩.加密驱动程序),以达到缩小文件体积或加密 ...
- 【Android 逆向】加壳技术简介 ( 动态加载 | 第一代加壳技术 - DEX 整体加固 | 第二代加壳技术 - 函数抽取 | 第三代加壳技术 - VMP / Dex2C | 动态库加壳技术 )
文章目录 一.动态加载 二.第一代加壳技术 ( DEX 整体加固 ) 三.第二代加壳技术 ( 函数抽取 ) 四.第三代加壳技术 ( Java 函数 -> Native 函数 ) 五.so 动态库 ...
- linux srelf 加壳代码,浅谈被加壳ELF文件的DUMP修复
前面的文章中,我已经介绍了如何调试被加壳的ELF,这里不在叙述,直接进入正题,以某加固为例,如何DUMP和修复被加壳的ELF,使其能调试加载 我们先来看看被加壳ELF的头和Program Header ...
- 加壳器第二部分,加壳器
1加壳器代码概述 为了软件的方便使用,这里我采用了mfc框架进行编写,其大致过程如下: 1.将加壳程序读入内存(因为要增加区段用于存放壳代码,并加密代码段) 2.加载壳代码 3.对一系列参数进行初始化 ...
- 查壳、加壳、脱壳详细教程
查壳教程 1.打开软件后我们点击右上角的三个点,会弹出一个选择文件的窗口,我们选择要查壳的文件,同样也可以直接把需要查壳的软件拖到PEID页面里 2.这里拖入一个程序后出现如下信息页面 这里我们看到B ...
- 病毒加壳技术与脱壳杀毒方法解析
壳是什么?脱壳又是什么?这是很多经常感到迷惑和经常提出的问题,其实这个问题一点也不幼稚.当你想听说脱壳这个名词并试着去了解的时候,说明你已经在各个安全站点很有了一段日子了.下面,我们进入"壳 ...
- 黑客术语肉鸡、后门、弱口令、shell、webshell、注入、端口、免杀、加壳、漏洞等
黑客术语 1.肉鸡: 所谓"肉鸡"是一种很形象的比喻,比喻那些可以随意被我们控制的电脑,对方可以是WINDOWS系统,也可以是UNIX/LINUX系统,可以是普通的个人电脑,也可以 ...
- 技术扫盲 软件加壳(转)
首先我想大家应该先明白"壳"的概念.在自然界中,我想大家对壳这东西应该都不会陌生了,植物用它来保护种子,动物用它来保护身体等等.同样,在一些计算机软件里也有一段专门负责保护软件不被 ...
- 壳的相关知识与木马加壳改壳免杀及各类修改特征码免杀方法
1.壳的分类:压缩壳和加密壳 2.壳的作用:保护和文件免杀 二.加壳免杀的几个弱点 1.不能躲过像瑞星这类具有内存查杀功能的杀毒软件. 2.一般不能躲过卡巴的查杀 因为卡巴采用了一种叫虚拟机技术.首先 ...
- APK加壳【1】初步方案实现详解
来源与原理 本文是尝试对CSDN大牛 Jack_Jia 的博客 Android APK加壳技术方案[2] 进行实现的过程记录,该文介绍了一种对源程序APK加壳的思路并提供了对应的源码. 所谓加壳,就是 ...
最新文章
- pathview包绘制富集的kegg图
- iOS开发--面试总结(二)
- 以字符串数组为输入参数的存储过程
- c语言函数打印零星,C语言零星笔记--(const、typedef)
- oracle dbcontrol界面,oracle enterprise manager配置简介
- 全网最详细的Sentinel安装教程,没有之一!谁反对?(Linux+windows)
- CodeForces - 76E Points
- 文本分类问题不需要ResNet?小夕解析DPCNN设计原理(上)
- 使用ACME部署生成阿里云免费HTTPS证书
- ASP.NET操作Excel(终极方法NPOI)
- python分类与原理以及国内好的发展方向
- 凸函数与简森不等式(Jensen's inequality)
- python中os.path.basename的使用
- JS 中的call,apply,bind 和 caller, callee
- Gogs 查看 git 代码地址
- mysql 二次方函数_MySQL SQRT函数:求二次方根
- 数据挖掘项目——金融反欺诈
- 电脑热点的连接问题(基于现有IPhone12)
- 徒手撸一个记账本(附源码)
- 商业数据分析-战略分析读后感