【加密与解密(第四版)】第十六章笔记

第十六章 脱壳技术

16.1 基础知识

壳的加载过程:保存入口参数、获取壳本身需要使用的API地址、解密原程序各个区块的数据、IAT的初始化、重定位项的处理、HOOK API、跳转到程序原入口点

手动脱壳步骤:查找真正的入口点、抓取内存映像文件、重建PE文件(修复OEP、IAT的RVA和Size)

16.2 寻找OEP

根据跨段指令寻找OEP(单步跟踪)

用内存访问断点寻找OEP(两次断点)

根据栈平衡原理寻找OEP(ESP定律)

根据编译语言特点寻找OEP(常见函数入口代码特征)

16.3 抓取内存映像

使用OllyDump插件

反Dump技术:纠正SizeOfImage、修改内存属性

16.4 重建输入表

确定IAT的地址和大小

用ImportREC重建输入表

16.5  DLL文件脱壳

16.6 附加数据

在某些特殊的 PE 文件中,在各个区块的正式数据之后还有一些数据,这些数据不属于任何区块。因为PE文件被映射到内存中时是按区块映射的,所以这些数据是不能被映射到内存中的。这些额外的数据称为附加数据(overlay)。以认为附加数据的起点是最后一个区块的末尾,终点是文件的末尾。

16.7  PE文件的优化

优化输入表存放位置、资源的重建、装配文件、修正PE文件头

16.8 压缩壳

UPX:注意UPXPR、UPX-Scrambler软件的保护

16.9 加密壳

ASProtect已经有脱壳机了

“stolen bytes”是指外壳将程序的部分代码变形并搬到外壳段中

16.10 静态脱壳

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/638813.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pod介绍之 容器分类与重启策略

目录 一 pod 基础概念介绍 1,pod 是什么 2,Pod使用方式 3,如何解决一个pod 多容器通信 4,pod 组成 5, k8s 中的 pod 二 pause容器 1,pause容器 是什么 2,pause容器作用 3&#xff…

Android studio关闭自动更新

Windows下: 左上角file - setting - Appearance & Behavier - system setting - update - 取消勾选

汉明码(海明码)的计算的规则

一.汉明码的由来 1.汉明码(Hamming Code),是在电信领域的一种线性调试码,以发明者理查德卫斯里汉明的名字命名。汉明码在传输的消息流中插入验证码,当计算机存储或移动数据时,可能会产生数据位错误&#x…

vivado2020.2创建hls仿真工程实现led闪烁

下载vivado2020.2后会有这个出现在桌面 点击进入创建工程,这里注意不要有前面的\我再复制的时候复制错了导致创建失败 按f光标就会跳转到下一个f开头的函数处,要查找其他函数也同理 生成了一个synthesis summary文件 找到目录下生成的.v文件 an 点…

U-Mail邮件系统为用户提供更加安全的数据保护机制

据外媒报道,近日美国国家安全委员会泄露了其成员的近1万封电子邮件和密码,暴露了政府组织和大公司在内的2000家公司。其中包括美国国家航空航天局和特斯拉等。报道称该漏洞于3月7日被研究人员发现,通过该漏洞攻击者能够访问对web服务器操作至…

等保三级-MySQL 加固

1、身份鉴别 要求:建议身份密码登录,身份标识具有唯一性,身份鉴别信息具有复杂度要求,密码长度最少为8位,密码由数字、字母大小写、特殊符号组成、并设置定期更换,更换时间最长位90天 (1&#…

asp.net core接入prometheus

安装prometheus和Grafana 参考之前的文章->安装prometheus和Grafana教程 源代码 dotnet源代码 新建.net core7 web项目 修改Program.cs using Prometheus;namespace PrometheusStu01;public class Program {public static void Main(string[] args){var builder We…

airflow2.7.3 + celery + redis + mysql 安装部署测试

集群环境: ​ 3台 centos 7.9 (dp95、dp96、dp97) python3.8 ​ dp96:mysql8.0.36(mysql8.0离线安装) ​ dp95\dp96\dp97:celery 集群(Celery安装测试) 安装目标: airflow2.7.3 mysql celery redis WebserverSchedulerwo…

Java 商品入库系统 案例

测试类 package 练习.商品入库系统;import java.util.ArrayList; import java.util.Scanner; public class Test {public static final int Enrool 1;public static final int Search 2;public static final int Delect 3;public static final int Exit 4;public static…

交换机部分综合实验

实验要求 1.内网IP地址使用172.16.0.0/16 2.sw1和sW2之间互为备份; 3.VRRP/mstp/vlan/eth-trunk均使用; 4.所有pc均通过DHcP获取Ip地址; 5.ISP只配置IP地址; 6.所有电脑可以正常访问IsP路由器环回 实验拓扑 实验思路 1.给交换机创建vlan,并将接口划入vlan 2.在SW1和…

java实现List对象转geojson文本返回前端

1.业务需求 查询带有经纬度数据的list列表,将其转为geojson格式给前端。 2.GeoJson格式说明 GeoJSON是一种对各种地理数据结构进行编码的格式,基于Javascript对象表示法(JavaScript Object Notation, 简称JSON)的地理空间信息数据交换格式。GeoJSON对…

3D透视图模型转模型变形?---模大狮模型网

3D建模是数字艺术和设计领域中的重要技术,它可以为我们带来丰富多彩的视觉体验和创意表达。在本文中,我们将探讨一个引人注目的话题:3D透视图中模型转换是否会导致变形?通过深入探讨这个问题,我们希望能够帮助您更好地理解在3D建…

131. 面试中关于架构设计都需要了解哪些内容?

文章目录 一、社区系统架构组件概览1. 系统拆分2. CDN、Nginx静态缓存、JVM本地缓存3. Redis缓存4. MQ5. 分库分表6. 读写分离7. ElasticSearch 二、商城系统-亿级商品如何存储三、对账系统-分布式事务一致性四、统计系统-海量计数六、系统设计 - 微软1、需求收集2、顶层设计3、…

Zoho CRM怎么样?云衔科技为企业提供采购优惠!

企业对于客户关系管理(CRM)系统的需求日益增加,Zoho CRM作为一款备受赞誉的国际CRM服务提供商,凭借其全面的功能、出色的用户体验和卓越的性价比,成为了众多企业数字化转型的得力助手。 Zoho CRM是一款覆盖客户全生命…

【webrtc】m98:Call的创建及Call对音频接收处理

call中多個流共享相同的辅助组件 这几个是与外部共用的 线程传输send控制module 线程任务队列工厂call的辅助组件中各种统计以及接收测的cc是自己创建的 call自己的多个辅助组件是外部传递来的 call 创建多个接收流 这里用一个set 来保存所有指针,并没有要map的意思:

2024年贵州特岗教师招聘报名流程,速速查收哦!

2024年贵州特岗教师招聘报名流程,速速查收哦!

Thingsboard规则链:Alarm Status Filter节点详解

在物联网(IoT)平台的世界里,数据处理与自动化响应是核心功能之一。作为其中的佼佼者,Thingsboard提供了一套强大的规则引擎系统,允许用户基于设备上报的数据构建复杂的自动化逻辑。在这套规则引擎中,Alarm Status Filter节点扮演了…

RedisTemplateAPI:List

文章目录 ⛄介绍⛄List的常见命令有⛄RedisTemplate API❄️❄️添加缓存❄️❄️将List放入缓存❄️❄️设置过期时间(单独设置)❄️❄️获取List缓存全部内容(起始索引,结束索引)❄️❄️从左或从右弹出一个元素❄️❄️根据索引查询元素❄…

AI巨头争相与Reddit合作:为何一个古老的论坛成为AI训练的“宝藏”?

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…