加密与解密:软体保护技术攻防指南 pdf epub mobi txt 电子书 下载 2024

图书介绍


加密与解密:软体保护技术攻防指南

简体网页||繁体网页
著者
出版者 出版社:深石 订阅出版社新书快讯 新功能介绍
翻译者
出版日期 出版日期:2019/12/05
语言 语言:繁体中文



点击这里下载
    


想要找书就要到 小特书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

发表于2024-05-08

类似图书 点击查看全场最低价

图书描述

基础知识的介绍包含Windows 例外机制、核心基础、侦错器、加密演算法等,核心技术方面则有反组译技术、静态分析技术、动态分析技术、程式植入技术、Hook 技术、漏洞分析技术、脱壳技术等;以软体逆向为切入点,讲述了软体安全领域相关的基础知识和技能。读者阅读本书后,很容易就能在逆向分析、漏洞分析、安全程式设计、病毒分析等领域进行扩展。这些知识点的相互关联,将促使读者开阔思路,融会贯通,领悟更多的学习方法,提升自身的学习能力。

本书特色

  本书技术覆盖面广、可操作性强,详细而透彻地说明了系统底层的基础知识和安全核心技术的实作技能,适合安全技术相关工作者、对逆向调试技术/软体保护感兴趣之人员,及关注个人资讯安全、电脑安全技术并想了解技术内幕的读者阅读。

著者信息

作者简介

段钢


  于资讯安全领域具有广泛影响力的安全网站「看雪学院」的创始人及营运管理者,致力于研究资讯安全等相关技术,曾与相关领域专业人士共同出版数本技术专着。2016年创立上海看雪科技有限公司后,以看雪学院为基础,致力于营造一个能供PC、智慧型行动装置安全研究及逆向工程开发者和爱好者讨论的交流平台。
 
加密与解密:软体保护技术攻防指南 pdf epub mobi txt 电子书 下载

图书目录

基础篇
CHAPTER 01 基础知识
1.1 什么是加密与解密
1.1.1 软体的加密与解密
1.1.2 软体逆向工程
1.1.3 逆向工程分析技术
1.2 文字字元
1.2.1 ASCII 与Unicode 字元集
1.2.2 位元组储存顺序
1.3 Windows 作业系统
1.3.1 Win32 API 函数
1.3.2 WOW64
1.3.3 Windows 讯息机制
1.3.4 虚拟记忆体

侦错篇
CHAPTER 02 动态分析技术

2.1 OllyDbg 侦错器
2.1.1 OllyDbg 的介面
2.1.2 OllyDbg 的设定
2.1.3 基本操作
2.1.4 常用中断点
2.1.5 外挂程式
2.1.6 Run trace
2.1.7 Hit trace
2.1.8 侦错符号
2.1.9 载入程式
2.1.10 OllyDbg 的常见问题
2.2 x64dbg 侦错器
2.3 MDebug 侦错器
2.3.1 MDebug 的介面
2.3.2 运算式
2.3.3 侦错
2.3.4 中断点
2.3.5 MDebug 的其他功能
2.4 WinDbg 侦错器
2.4.1 WinDbg 的安装与设定
2.4.2 侦错过程
2.4.3 中断点指令
2.4.4 堆叠视窗
2.4.5 记忆体指令
2.4.6 指令稿
2.4.7 侦错功能扩充
2.4.8 小结

CHAPTER 03 静态分析技术
3.1 档案类型分析
3.2 反组译引擎
3.2.1 OllyDbg 的ODDisasm
3.2.2 BeaEngine
3.2.3 Udis86
3.2.4 Capstone
3.2.5 AsmJit
3.2.6 Keystone
3.2.7 小结
3.3 静态反组译
3.3.1 IDA Pro 简介
3.3.2 IDA 的设定
3.3.3 IDA 主视窗
3.3.4 交换参考
3.3.5 参考重新命名
3.3.6 标签的用法
3.3.7 格式化指令运算元
3.3.8 函数的操作
3.3.9 程式和资料转换
3.3.10 字串
3.3.11 阵列
3.3.12 结构
3.3.13 列举类型
3.3.14 变数
3.3.15 FLIRT
3.3.16 IDC 指令稿
3.3.17 外挂程式
3.3.18 IDA 侦错器
3.3.19 远端侦错
3.3.20 其他功能
3.3.21 小结
3.4 十六进位工具
3.5 静态分析技术应用实例
3.5.1 解密初步
3.5.2 逆向工程初步

解密篇
CHAPTER 04 逆向工程分析技术
4.1 32 位元软体逆向工程技术
4.1.1 启动函数
4.1.2 函数
4.1.3 资料结构
4.1.4 虚拟函数
4.1.5 控制叙述
4.1.6 循环叙述
4.1.7 数学运算子
4.1.8 文字字串
4.1.9 指令修改技巧
4.2 64 位元软体逆向工程技术
4.2.1 暂存器
4.2.2 函数
4.2.3 资料结构
4.2.4 控制叙述
4.2.5 循环叙述
4.2.6 数学运算子
4.2.7 虚拟函数
4.2.8 小结

CHAPTER 05 展示版本保护技术
5.1 序号保护方式
5.1.1 序号保护机制
5.1.2 如何攻击序号保护机制
5.1.3 字串比较形式
5.1.4 制作註册机
5.2 警告视窗
5.3 时间限制
5.3.1 计时器
5.3.2 时间限制
5.3.3 拆解时间限制保护
5.4 选单功能限制
5.4.1 相关函数
5.4.2 拆解选单限制保护
5.5 KeyFile 保护
5.5.1 相关API 函数
5.5.2 拆解KeyFile 保护
5.6 网路验证
5.6.1 相关函数
5.6.2 破解网路验证的一般想法
5.7 光碟检测
5.7.1 相关函数
5.7.2 拆解光碟保护
5.8 只执行1 个实例
5.8.1 实现方法
5.8.2 实例
5.9 常用中断点设定技巧

CHAPTER 06 加密演算法
6.1 单向杂凑演算法
6.1.1 MD5 演算法
6.1.2 SHA 演算法
6.1.3 SM3 密码杂凑演算法
6.1.4 小结
6.2 对称加密演算法
6.2.1 RC4 流密码
6.2.2 TEA 演算法
6.2.3 IDEA 演算法
6.2.4 BlowFish 演算法
6.2.5 AES 演算法
6.2.6 SM4 区块编码器演算法
6.2.7 小结
6.3 公开金钥加密演算法
6.3.1 RSA 演算法
6.3.2 ElGamal 公开金钥演算法
6.3.3 DSA 数位签章演算法
6.3.4 椭圆曲线密码编码学
6.3.5 SM2 演算法
6.4 其他演算法
6.4.1 CRC32 演算法
6.4.2 Base64 编码
6.5 常见的加密函数库介面及其识别
6.5.1 Miracl 大数运算函数库
6.5.2 FGInt
6.5.3 其他加密演算法函数库介绍
6.6 加密演算法在软体保护中的应用

系统篇
CHAPTER 07 Windows 核心基础
7.1 核心理论基础
7.1.1 许可权等级
7.1.2 记忆体空间版面配置
7.1.3 Windows 与核心启动过程
7.1.4 Windows R3 与R0 通讯
7.1.5 核心函数
7.1.6 核心驱动模组
7.2 核心重要资料结构
7.2.1 核心物件
7.2.2 SSDT
7.2.3 TEB
7.2.4 PEB
7.3 核心侦错基础
7.3.1 使用WinDbg 架设双机侦错环境
7.3.2 载入核心驱动并设定符号表
7.3.3 SSDT 与Shadow SSDT 的检视

CHAPTER 08 Windows 下的例外处理
8.1 例外处理的基本概念
8.1.1 例外列表
8.1.2 例外处理的基本过程
8.2 SEH 的概念及基础
8.2.1 SEH 的相关资料结构
8.2.2 SEH 处理常式的安装和移除
8.2.3 SEH 实例追踪
8.3 SEH 例外处理常式原理及设计
8.3.1 例外分发的详细过程
8.3.2 执行绪例外处理
8.3.3 例外处理的堆叠展开
8.3.4 MSC 编译器对执行绪例外处理的增强
8.3.5 顶层例外处理
8.3.6 例外处理常式的安全性
8.4 向量化例外处理
8.4.1 向量化例外处理的使用
8.4.2 VEH 与SEH 的异同
8.4.3 向量化例外处理的新内容
8.5 x64 平台上的例外处理
8.5.1 原生x64 程式的例外分发
8.5.2 WOW64 下的例外分发
8.6 例外处理常式设计中的注意事项
8.7 例外处理的实际应用
8.7.1 使用SEH 对使用者输入进行验证
8.7.2 SEH 在加密与解密中的应用
8.7.3 用VEH 实现API Hook
8.8 本章小结

CHAPTER 09 Win32 侦错API
9.1 侦错相关函数简要说明
9.2 侦错事件
9.3 建立并追踪处理程序
9.4 侦错循环本体
9.5 处理侦错事件
9.6 执行绪环境
9.7 将程式植入处理程序

CHAPTER 10 VT 技术
10.1 硬体虚拟化的基本概念
10.1.1 概述
10.1.2 相关结构和组合语言指令
10.1.3 EPT 机制
10.2 VT 技术的应用
10.2.1 编译执行ShadowWalker
10.2.2 分析Hypervisor
10.2.3 检测VT 支援情况
10.2.4 VMCS 的设定
10.2.5 EPT 的设定
10.2.6 开启VT
10.2.7 记忆体隐藏的实现
10.3 VT 侦错方法

CHAPTER 11 PE 档案格式
11.1 PE 的基本概念
11.1.1 基底位址
11.1.2 虚拟位址
11.1.3 相对虚拟位址
11.1.4 档案偏移位址
11.2 MS-DOS 表头
11.3 PE 档案表头
11.3.1 Signature 栏位
11.3.2 IMAGE_FILE_HEADER 结构
11.3.3 IMAGE_OPTIONAL_HEADER结构
11.4 区块
11.4.1 区块表
11.4.2 常见区块与区块合併
11.4.3 区块的对齐值
11.4.4 档案偏移与虚拟位址的转换
11.5 输入表
11.5.1 输入函数的唿叫
11.5.2 输入表的结构
11.5.3 输入位址表
11.5.4 输入表实例分析
11.6 绑定输入
11.7 输出表
11.7.1 输出表的结构
11.7.2 输出表实例分析
11.8 基址重定位
11.8.1 基址重定位的概念
11.8.2 基址重定位表的结构
11.8.3 基址重定位表实例分析
11.9 资源
11.9.1 资源结构
11.9.2 资源结构实例分析
11.9.3 资源编辑工具
11.10 TLS 初始化
11.11 侦错目录
11.12 延迟载入资料
11.13 程式例外资料
11.14 .NET 表头
11.15 撰写PE 分析工具
11.15.1 检查档案格式
11.15.2 读取FileHeader 和OptionalHeader 的内容
11.15.3 获得资料目录表资讯
11.15.4 获得区块表资讯
11.15.5 获得输出表资讯
11.15.6 获得输入表资讯

CHAPTER 12 植入技术
12.1 DLL 植入方法
12.1.1 透过干预输入表处理过程载入目标DLL
12.1.2 改变程式执行流程使其主动载入目标DLL
12.1.3 利用系统机制载入DLL
12.2 DLL 植入的应用
12.3 DLL 植入的防范
12.3.1 驱动层防范
12.3.2 应用层防范

CHAPTER 13 Hook 技术
13.1 Hook 概述
13.1.1 IAT Hook 篡改MessageBox讯息
13.1.2 Inline Hook 篡改指定
MessageBox 讯息
13.2 Hook 的分类
13.2.1 Address Hook
13.2.2 Inline Hook
13.2.3 以例外处理为基础的Hook
13.2.4 不是Hook 的Hook
13.3 Hook 位置的挑选
13.4 Hook 的典型过程
13.4.1 Address Hook 的实施过程
13.4.2 Inline Hook 的实施过程
13.4.3 以例外处理为基础的Hook实施过程
13.4.4 二次Hook 的注意事项
13.4.5 通用Hook 引擎的实现
13.5 Detour 函数的典型用法
13.6 Hook 中的注意事项
13.7 Hook 在x64 平台上的新问题
13.8 Hook 技术的应用
13.9 Hook 的检测、恢复与对抗
13.9.1 Hook 的检测与恢复
13.9.2 Hook 的对抗
13.10 本章小结

漏洞篇
CHAPTER 14 漏洞分析技术
14.1 软体漏洞原理
14.1.1 缓冲区溢位漏洞
14.1.2 整数溢位漏洞
14.1.3 UAF 漏洞
14.2 Shellcode
14.2.1 Shellcode 的结构
14.2.2 Shellcode 通用技术
14.2.3 实战Shellcode 撰写
14.3 漏洞利用
14.3.1 漏洞利用基本技术
14.3.2 漏洞利用进阶技术
14.4 漏洞样本
14.5 样本分析
14.5.1 准备工作
14.5.2 静态分析
14.5.3 动态侦错
14.5.4 追根溯源
14.5.5 小结

脱壳篇
CHAPTER 15 专用加密软体
15.1 认识壳
15.1.1 壳的概念
15.1.2 压缩引擎
15.2 压缩壳
15.2.1 UPX
15.2.2 ASPack
15.3 加密壳
15.3.1 ASProtect
15.3.2 Armadillo
15.3.3 EXECryptor
15.3.4 Themida
15.4 虚拟机器保护软体
15.4.1 虚拟机器介绍
15.4.2 VMProtect 简介

CHAPTER 16 脱壳技术
16.1 基础知识
16.1.1 壳的载入过程
16.1.2 脱壳机
16.1.3 手动脱壳
16.2 寻找OEP
16.2.1 根据跨段指令寻找OEP
16.2.2 用记忆体存取中断点寻找OEP
16.2.3 根据堆叠平衡原理寻找OEP
16.2.4 根据编译语言特点寻找OEP
16.3 抓取记忆体映射
16.3.1 Dump 原理
16.3.2 反Dump 技术
16.4 重建输入表
16.4.1 输入表重建的原理
16.4.2 确定IAT 的位址和大小
16.4.3 根据IAT 重建输入表
16.4.4 用Import REC 重建输入表
16.4.5 输入表加密概括
16.5 DLL 档案脱壳
16.5.1 寻找OEP
16.5.2 Dump 映射档案
16.5.3 重建DLL 的输入表
建置重定位表
16.6 附加资料
16.7 PE 档案的最佳化
16.8 压缩壳
16.8.1 UPX 外壳
16.8.2 ASPack 外壳
16.9 加密壳
16.10 静态脱壳
16.10.1 外壳Loader 分析
16.10.2 撰写静态脱壳器

保护篇
CHAPTER 17 软体保护技术
17.1 防范演算法求逆
17.1.1 基本概念
17.1.2 堡垒战术
17.1.3 游击战术
17.2 抵御静态分析
17.2.1 花指令
17.2.2 SMC 技术实现
17.2.3 资讯隐藏
17.2.4 简单的多形变形技术
17.3 档案完整性检验
17.3.1 磁碟档案验证的实现
17.3.2 校正码
17.3.3 记忆体映射验证
17.4 程式与资料结合
17.4.1 准备工作
17.4.2 加密演算法的选用
17.4.3 手动加密程式
17.4.4 使 .text 区块写入
17.5 关于软体保护的许多忠告

CHAPTER 18 反追踪技术
18.1 由BeingDebugged 引发的蝴蝶效应
18.1.1 BeingDebugged
18.1.2 NtGlobalFlag
18.1.3 Heap Magic
18.1.4 从源头消灭BeingDebugged
18.2 回归Native:使用者态的梦魇
18.2.1 CheckRemoteDebuggerPresent
18.2.2 ProcessDebugPort
18.2.3 ThreadHideFromDebugger
18.2.4 DebugObject
18.2.5 SystemKernelDebuggerInformation
18.2.6 Native API
18.2.7 Hook 和AntiHook
18.3 真正的奥秘:小技巧一览
18.3.1 SoftICE 检测方法
18.3.2 OllyDbg 检测方法
18.3.3 侦错器漏洞
18.3.4 防止侦错器附加
18.3.5 父处理程序检测
18.3.6 时间差
18.3.7 透过Trap Flag 检测
18.3.8 双处理程序保护

CHAPTER 19 外壳撰写基础
19.1 外壳的结构
19.2 加壳主程式
19.2.1 判断档案是否为PE格式
19.2.2 档案基本资料读取
19.2.3 附加资料的读取
19.2.4 输入表的处理
19.2.5 重定位表的处理
19.2.6 档案的压缩
19.2.7 资源资料的处理
19.2.8 区块的融合
19.3 用组合语言写外壳部分
19.3.1 外壳的载入过程
19.3.2 自建输入表
19.3.3 外壳启动段
19.3.4 外壳第2 部分
19.3.5 将外壳部分增加至原程式
19.4 用C++ 撰写外壳部分

CHAPTER 20 虚拟机器的设计
20.1 虚拟机器保护技术原理
20.1.1 反组译引擎
20.1.2 指令分类
20.2 启动架构和唿叫约定
20.2.1 排程器
20.2.2 虚拟环境
20.2.3 平衡堆叠vBegin 和vCheckSTACK
20.3 Handler 的设计
20.3.1 辅助Handler
20.3.2 普通Handler 和指令拆解
20.3.3 标示位问题
20.3.4 相同作用的指令
20.3.5 传输指令
20.3.6 传输跳跃指令的另一种实现
20.3.7 call 指令
20.3.8 retn 指令
20.3.9 不可模拟指令
20.4 列管码的例外处理
20.4.1 VC++ 的例外处理
20.4.2 Delphi 的例外处理
20.5 本章小结

CHAPTER 21 VMProtect 逆向和还原浅析
21.1 VMProtect 逆向分析
21.1.1 VMProtect 虚拟执行引擎的全景图
21.1.2 VMProtect 虚拟引擎的基本架构
21.1.3 指令分类
21.2 VMProtect 的还原
21.2.1 虚拟执行系统
21.2.2 产生完整的位元组串流速度程图
21.2.3 替Handler 命名并增加语义动作
21.2.4 将位元组码的低阶描述转为中级描述
21.2.5 清除无用的位元组码
21.2.6 用真值表化简逻辑指令
21.2.7 从特征中建立部分暂存器对映资讯
21.2.8 其他无法确定的暂存器的图着色演算法
21.2.9 使用DAG 比对产生指令
21.2.10 其他问题

软体重构篇
CHAPTER 22 专用加密软体
22.1 档案更新
22.2 记忆体更新
22.2.1 跨处理程序记忆体存取机制
22.2.2 Debug API 机制
22.2.3 利用侦错暂存器机制
22.2.4 利用DLL 植入技术
22.2.5 利用Hook 技术
22.2.6 利用VT 技术
22.3 SMC 更新技术
22.3.1 单层SMC 更新技术
22.3.2 多层SMC 更新技术
22.4 更新工具

CHAPTER 23 程式的延伸开发
23.1 资料对齐
23.2 增加空间
23.2.1 区块间隙
23.2.2 手动建置区块
23.2.3 工具辅助建置区块
23.3 获得函数的唿叫资讯
23.3.1 增加输入函数
23.3.2 显性连结唿叫DLL
23.4 程式的重定位
23.4.1 修复重定位表
23.4.2 程式的自定位技术
23.5 增加输出函数
23.6 讯息循环
23.6.1 WndProc 函数
23.6.2 寻找讯息循环
23.6.3 WndProc 组合语言形式
23.7 选单扩充
23.7.1 扩充WndProc
23.7.2 扩充Exit 选单的功能
23.7.3 扩充Open 选单的功能
23.8 DLL 扩充
23.8.1 扩充介面
23.8.2 扩充讯息循环

语言和平台篇
CHAPTER 24 专用加密软体
24.1 .NET 概述
24.1.1 什么是 .NET
24.1.2 基本概念
24.1.3 第1 个 .NET 程式
24.2 MSIL 与中继资料
24.2.1 PE 结构的扩充
24.2.2 .NET 下的组合语言MSIL
24.2.3 MSIL 与中继资料的结合
24.3 程式分析与修改技术
24.3.1 静态分析
24.3.2 动态侦错
24.3.3 程式修改
24.4 .NET 程式保护技术及其逆向工程
24.4.1 强式名称
24.4.2 名称混淆
24.4.3 流程混淆
24.4.4 压缩
24.4.5 加密
24.4.6 其他保护方法
24.5 本章小结

取证篇
CHAPTER 25 专用加密软体
25.1 硬碟资料的取得和固定
25.1.1 硬碟资料的取得
25.1.2 电子资料的固定
25.2 硬碟的分区和资料恢复
25.2.1 分区的解析
25.2.2 以档案系统为基础的资料恢复原理
25.3 记忆体分析
25.3.1 记忆体映像档的取得
25.3.2 记忆体映像档的分析
25.4 动态模拟技术
25.4.1 模拟专用硬体
25.4.2 软体模拟
25.5 登录档
25.5.1 Hive 档案
25.5.2 登录档中的时间
25.5.3 USB 行动存放装置
25.6 档案格式
25.6.1 档案修复和特征码
25.6.2 以档案为基础的资料恢复技术
25.6.3 资料隐藏的分析

术语表
参考文献

图书序言

图书试读

None

加密与解密:软体保护技术攻防指南 epub 下载 mobi 下载 pdf 下载 txt 电子书 下载 2024


加密与解密:软体保护技术攻防指南 epub 下载 mobi 下载 pdf 下载 txt 电子书 下载 2024

加密与解密:软体保护技术攻防指南 pdf epub mobi txt 电子书 下载 2024




想要找书就要到 小特书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

用户评价

类似图书 点击查看全场最低价

加密与解密:软体保护技术攻防指南 pdf epub mobi txt 电子书 下载


分享链接





相关图书




本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

友情链接

© 2024 ttbooks.qciss.net All Rights Reserved. 小特书站 版权所有