查壳去壳和加壳的使用指南

这篇具有很好参考价值的文章主要介绍了查壳去壳和加壳的使用指南。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

查壳去壳和加壳的基本原理

1.什么是壳

  1. 介绍下加壳、脱壳以及如何病毒免杀技术与原理 在自然界中,我想大家对壳这东西应该都不会陌生了,由上述故事,我们也可见一斑。自然界中植物用它来保护种子,动物用它来保护身体等等。同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物的壳一般都是在身体外面一样理所当然(但后来也出现了所谓的“壳中带籽”的壳)。由于这段程序和自然界的壳在功能上有很多相同的地方,基于命名的规则,大家就把这样的程序称为“壳”了。就像计算机病毒和自然界的病毒一样,其实都是命名上的方法罢了。 从功能上抽象,软件的壳和自然界中的壳相差无几。无非是保护、隐蔽壳内的东西。而从技术的角度出发,壳是一段执行于原始程序前的代码。原始程序的代码在加壳的过程中可能被压缩、加密……。当加壳后的文件执行时,壳-这段代码先于原始程序运行,他把压缩、加密后的代码还原成原始程序代码,然后再把执行权交还给原始代码。 软件的壳分为加密壳、压缩壳、伪装壳、多层壳等类,目的都是为了隐藏程序真正的OEP(入口点,防止被破解)。

2.壳的概念

  • 作者编好软件后,编译成exe文件
    - 有一些版权信息需要保护起来,不想让别人改动,为了保护软件不被破解,通常都是采用加壳方式来进行保护
    - 需要把程序搞得小店,加壳可以将exe文件压缩
    - 黑客届给木马等软件加壳脱壳以躲避杀毒软件。

加壳

1. 加壳常用软件

  • (1)Aspack,upx,PEcompact.
  • (2)不常用的加壳软件WWPACK32;PE-PACK ;PETITE NEOLITE

查壳

1.侦测壳和软件所用编写语言的软件

  • 脱壳之前要查看他的软件类型,侦测壳的软件,fileinfoexe简称fi.exe
  • 侦测可和软件所用编写语言的软件language.exe(两个功能合二为一)
  • 软件常用编写语言Delphi,VisualBasic(VB)–最难破,VisualC(VC)

脱壳

1.脱壳软件

(1)软件加壳是作者写完软件后,为了保护自己的代码或维护软件产权等利益所常用到的手段。目前有很多加壳工具,当然有盾,自然就有矛,只要我们收集全常用脱壳工具,那就不怕他加壳了。软件脱壳有手动脱和自动脱壳之分
(2)手动就是用 TRW2000 、 TR 、 SOFTICE 等调试工具对付,对脱壳者有一定水平要求,涉及到很多汇编语言和软件调试方面的知识。而自动就是用专门的脱壳工具来脱,最常用某种压缩软件都有他人写的反压缩工具对应,有些压缩工具自身能解压,如 UPX ;有些不提供这功能,如: ASPACK ,就需要 UNASPACK 对付,好处是简单,缺点是版本更新了就没用了。
(3) 脱壳的基本原则就是单步跟踪,只能往前,不能往后。脱壳的一般流程是:查壳 -> 寻找 OEP->Dump-> 修复

2.常用脱壳软件

(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

PEid工具的具体使用方法

1.什么是PE文件

(1)PE是Windows下的可执行文件的格式。这是微软基于UNIX平台的COFF(Common Object File Format,通用文件格式)制成的。微软原本的意思是提高程序的移植型。但是想法是好的,但是实际上只用于Windows系列的操作系统下。
(2)PE文件是指32位的可执行文件,也称PE32。注意:64位的可执行文件称为PE+或PE32+,是PE32的一种扩展,不叫PE64。

2.什么时候需要用到PEid

(1)当你需要快速了解目标程序
(2)快速鉴定一个程序是否正常
(3)它的入口点是什么?
(4) 用什么工具开发的
(5)是否被加了已知壳?
(6)查看它的反汇编代码
(7)PE头结构
(8)脱简易的壳

3.操作实例

(1)拖入一个exe程序。我这里拖入ollydgb.exe
软件查壳是什么意思,学习,web安全,测试工具,软件工程,网络安全,安全
(2)可以看出是用c++编写
(3)再试试之前的crack me里的Brad Soblesky.exe
软件查壳是什么意思,学习,web安全,测试工具,软件工程,网络安全,安全
(4)Not a valid PE file.不是有效的pe文件
(5)再试试acid burn
软件查壳是什么意思,学习,web安全,测试工具,软件工程,网络安全,安全
(6)好像也没有壳
(7)再试试一个crackme05-ajj.2
软件查壳是什么意思,学习,web安全,测试工具,软件工程,网络安全,安全
(8)看到是upx壳文章来源地址https://www.toymoban.com/news/detail-755257.html

到了这里,关于查壳去壳和加壳的使用指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Matlab使用指南

    zcy 2.1 数据类型 matlab中有15种基本数据类型,每种数据类型均以数组/矩阵的形式出现 整数 matlab支持1、2、4、8字节的有符号整数和无符号整数 浮点数 有单精度和双精度两种浮点数 复数 复数包含实部和虚部,可以用i或者j来表示虚部 2.2 基本矩阵操作 2.2.1 矩阵的构造 2.2.2 矩阵

    2024年02月06日
    浏览(43)
  • Sqlmap使用指南

    使用流程: 当给sqlmap一个url的时候,它会有如下流程: 1、判断可注入的参数 2、判断可用哪种SQL注入技术进行注入 3、识别出哪种数据库 4、根据用户选择,读取哪些数据 支持的模式(5种) 1、基于布尔的盲注,即可根据返回页面判断条件的真假的注入 2、基于时间的盲注,

    2024年02月08日
    浏览(39)
  • Vim深入使用指南

    Vim是一款功能强大的文本编辑器,被广泛用于编写和编辑各种类型的文档和代码。 可以操作系统下载并安装Vim。在安装完成后,通过在终端中输入 vim 命令来启动Vim。 Vim有多个工作模式,每个模式有不同的功能和快捷键。以下是Vim的三个基本模式: 命令模式(Command mode) :

    2024年02月15日
    浏览(34)
  • chtagpt使用指南

    ChatGPT是一款基于GPT-3.5架构的大型语言模型,它可以进行多种自然语言处理任务,如文本生成、对话生成、文本分类等。在本文中,我将为您提供一份详细的ChatGPT使用指南,帮助您更好地了解和使用ChatGPT。 要使用ChatGPT,您需要首先创建一个OpenAI账户并登录。创建账户后,您

    2023年04月17日
    浏览(34)
  • ZED使用指南(一)

    将相机插入USB3.0端口。 进入下载的文件夹: 使用chmod +x命令增加安装程序的执行权限,注意将名称替换为自己下载的版本: 运行: 安装开始时,会显示软件许可证Software License,按Enter看完后按q。 在安装过程中,需要回答有关依赖项dependencies,工具tools和示例samples的安装的

    2024年02月16日
    浏览(36)
  • CuteHttpFileSever使用指南

    浏览器访问,多端互通 局域网传输,速度很快 官方网址 我下载时比较慢,好在文件不大 个人蓝奏云网址 文件提取码:1lqd 官网下载说明 官网页面见下图 1 是windows内的安装包,根据自己电脑配置选择 2 是图形化界面的软件 以上两种选其一即可 图形化界面使用教程 双击图形

    2024年02月05日
    浏览(33)
  • ILRuntime使用指南

    前言 最近闲着没事做,于是用ILRuntime做了一个小游戏 中间遇到一些坑,对于ILRuntime的认识更清楚了。 其它技巧 自动转换DLL 设置引用文件夹 我们在热更项目里面写代码的时候需要用到Unity的DLL,可是这些DLL引用起来查找就很麻烦。 这时候可以设置文件夹 编辑器就会自动提示

    2023年04月27日
    浏览(35)
  • Git使用指南

    # 创建本地branch git branch branch # 当前branch 重命名 git branch -m branch # 列举所有分支  等同于 git branch --list git branch # 列举remote branch git branch -a # 安全删除branch git branch -d branch # 强制删除branch git branch -D branch # 删除remote branch # 等同于git push origin :branch git push origin --delete branch # 查询

    2023年04月25日
    浏览(52)
  • sqlx库使用指南

    sqlx库使用指南 在项目中我们通常可能会使用database/sql连接MySQL数据库。本文借助使用sqlx实现批量插入数据的例子,介绍了sqlx中可能被你忽视了的sqlx.In和DB.NamedExec方法。 sqlx介绍 在项目中我们通常可能会使用database/sql连接MySQL数据库。sqlx可以认为是Go语言内置database/sql的超集

    2024年02月09日
    浏览(37)
  • Docker 网络使用指南

    目录 前言 Docker网络类型 Docker 网络概念 使用 Docker 网络 运行容器并连接到网络 检查网络 清理网络资源 Docker Compose网络 Docker 是一种容器化平台,它允许你将应用程序和它们的依赖项打包成一个称为容器的独立单元。Docker 提供了一种轻量级、可移植和自包含的方式来部署应用

    2024年02月05日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包