阅读 402

加密与解密(第4版) PDF 高清版

给大家带来的一篇关于信息安全相关的电子书资源,介绍了关于加密、解密方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小176.1 MB,段钢编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.2分

资源详情相关推荐
加密与解密(第4版)
  • 出版社:电子工业出版社

  • 作者:段钢

  • 大小:176.1 MB

  • 类别:信息安全

  • 热度:943

  • 改变未来的九大算法

  • SEM长尾搜索营销策略解密

  • PPT动画传奇:解密专业演示动画特效

  • 安全简史:从隐私保护到量子密码

  • March高等有机化学:反应、机理与结构

加密与解密

加密与解密

内容介绍

本书以软件逆向为切入点,讲述了软件安全领域相关的基础知识和技能。读者阅读本书后,很容易就能在逆向分析、漏洞分析、安全编程、病毒分析等领域进行扩展。这些知识点的相互关联,将促使读者开阔思路,融会贯通,领悟更多的学习方法,提升自身的学习能力。本书适合安全技术相关工作者、对逆向调试技术感兴趣的人、对软件保护感兴趣的软件开发人员、相关专业在校学生及关注个人信息安全、计算机安全技术并想了解技术内幕的读者阅读。

目录

  • 基础篇

  • 第1章 基础知识 2

  • 1.1 什么是加密与解密 2

  • 1.1.1 软件的加密与解密 2

  • 1.1.2 软件逆向工程 2

  • 1.1.3 逆向分析技术 3

  • 1.2 文本字符 4

  • 1.2.1 ASCII与Unicode字符集 4

  • 1.2.2 字节存储顺序 6

  • 1.3 Windows操作系统 6

  • 1.3.1 Win32 API函数 6

  • 1.3.2 WOW64 9

  • 1.3.3 Windows消息机制 9

  • 1.3.4 虚拟内存 11

  • 调试篇

  • 第2章 动态分析技术 14

  • 2.1 OllyDbg调试器 14

  • 2.1.1 OllyDbg的界面 14

  • 2.1.2 OllyDbg的配置 15

  • 2.1.3 基本操作 16

  • 2.1.4 常用断点 27

  • 2.1.5 插件 35

  • 2.1.6 Run trace 36

  • 2.1.7 Hit trace 37

  • 2.1.8 调试符号 37

  • 2.1.9 加载程序 39

  • 2.1.10 OllyDbg的常见问题 40

  • 2.2 x64dbg调试器 42

  • 2.3 MDebug调试器 44

  • 2.3.1 MDebug的界面 44

  • 2.3.2 表达式 45

  • 2.3.3 调试 45

  • 2.3.4 断点 46

  • 2.3.5 MDebug的其他功能 47

  • 2.4 WinDbg调试器 47

  • 2.4.1 WinDbg的安装与配置 47

  • 2.4.2 调试过程 51

  • 2.4.3 断点命令 51

  • 2.4.4 栈窗口 53

  • 2.4.5 内存命令 55

  • 2.4.6 脚本 56

  • 2.4.7 调试功能扩展 58

  • 2.4.8 小结 59

  • 第3章 静态分析技术 60

  • 3.1 文件类型分析 60

  • 3.2 反汇编引擎 61

  • 3.2.1 OllyDbg的ODDisasm 61

  • 3.2.2 BeaEngine 61

  • 3.2.3 Udis86 61

  • 3.2.4 Capstone 62

  • 3.2.5 AsmJit 63

  • 3.2.6 Keystone 64

  • 3.2.7 小结 64

  • 3.3 静态反汇编 65

  • 3.3.1 IDA Pro简介 65

  • 3.3.2 IDA的配置 66

  • 3.3.3 IDA主窗口 68

  • 3.3.4 交叉参考 69

  • 3.3.5 参考重命名 70

  • 3.3.6 标签的用法 71

  • 3.3.7 格式化指令操作数 71

  • 3.3.8 函数的操作 72

  • 3.3.9 代码和数据转换 72

  • 3.3.10 字符串 73

  • 3.3.11 数组 74

  • 3.3.12 结构体 75

  • 3.3.13 枚举类型 79

  • 3.3.14 变量 80

  • 3.3.15 FLIRT 81

  • 3.3.16 IDC脚本 82

  • 3.3.17 插件 86

  • 3.3.18 IDA调试器 87

  • 3.3.19 远程调试 90

  • 3.3.20 其他功能 93

  • 3.3.21 小结 94

  • 3.4 十六进制工具 94

  • 3.5 静态分析技术应用实例 97

  • 3.5.1 解密初步 97

  • 3.5.2 逆向工程初步 99

  • 解密篇

  • 第4章 逆向分析技术 102

  • 4.1 32位软件逆向技术 102

  • 4.1.1 启动函数 102

  • 4.1.2 函数 103

  • 4.1.3 数据结构 111

  • 4.1.4 虚函数 115

  • 4.1.5 控制语句 117

  • 4.1.6 循环语句 124

  • 4.1.7 数学运算符 125

  • 4.1.8 文本字符串 128

  • 4.1.9 指令修改技巧 130

  • 4.2 64位软件逆向技术 131

  • 4.2.1 寄存器 131

  • 4.2.2 函数 132

  • 4.2.3 数据结构 142

  • 4.2.4 控制语句 145

  • 4.2.5 循环语句 154

  • 4.2.6 数学运算符 158

  • 4.2.7 虚函数 169

  • 4.2.8 小结 193

  • 第5章 演示版保护技术 194

  • 5.1 序列号保护方式 194

  • 5.1.1 序列号保护机制 194

  • 5.1.2 如何攻击序列号保护机制 195

  • 5.1.3 字符串比较形式 197

  • 5.1.4 制作注册机 198

  • 5.2 警告窗口 203

  • 5.3 时间限制 205

  • 5.3.1 计时器 205

  • 5.3.2 时间限制 205

  • 5.3.3 拆解时间限制保护 206

  • 5.4 菜单功能限制 207

  • 5.4.1 相关函数 207

  • 5.4.2 拆解菜单限制保护 208

  • 5.5 KeyFile保护 208

  • 5.5.1 相关API函数 208

  • 5.5.2 拆解KeyFile保护 209

  • 5.6 网络验证 213

  • 5.6.1 相关函数 214

  • 5.6.2 破解网络验证的一般思路 214

  • 5.7 光盘检测 219

  • 5.7.1 相关函数 219

  • 5.7.2 拆解光盘保护 220

  • 5.8 只运行1个实例 221

  • 5.8.1 实现方法 221

  • 5.8.2 实例 222

  • 5.9 常用断点设置技巧 222

  • 第6章 加密算法 223

  • 6.1 单向散列算法 223

  • 6.1.1 MD5算法 223

  • 6.1.2 SHA算法 227

  • 6.1.3 SM3密码杂凑算法 231

  • 6.1.4 小结 231

  • 6.2 对称加密算法 231

  • 6.2.1 RC4流密码 231

  • 6.2.2 TEA算法 233

  • 6.2.3 IDEA算法 236

  • 6.2.4 BlowFish算法 243

  • 6.2.5 AES算法 246

  • 6.2.6 SM4分组密码算法 259

  • 6.2.7 小结 259

  • 6.3 公开密钥加密算法 259

  • 6.3.1 RSA算法 260

  • 6.3.2 ElGamal公钥算法 264

  • 6.3.3 DSA数字签名算法 270

  • 6.3.4 椭圆曲线密码编码学 272

  • 6.3.5 SM2算法 279

  • 6.4 其他算法 279

  • 6.4.1 CRC32算法 279

  • 6.4.2 Base64编码 280

  • 6.5 常见的加密库接口及其识别 281

  • 6.5.1 Miracl大数运算库 281

  • 6.5.2 FGInt 283

  • 6.5.3 其他加密算法库介绍 284

  • 6.6 加密算法在软件保护中的应用 285

  • 系统篇

  • 第7章 Windows内核基础 290

  • 7.1 内核理论基础 290

  • 7.1.1 权限级别 290

  • 7.1.2 内存空间布局 291

  • 7.1.3 Windows与内核启动过程 292

  • 7.1.4 Windows R3与R0通信 294

  • 7.1.5 内核函数 296

  • 7.1.6 内核驱动模块 297

  • 7.2 内核重要数据结构 298

  • 7.2.1 内核对象 298

  • 7.2.2 SSDT 300

  • 7.2.3 TEB 302

  • 7.2.4 PEB 304

  • 7.3 内核调试基础 306

  • 7.3.1 使用WinDbg搭建双机调试环境 306

  • 7.3.2 加载内核驱动并设置符号表 308

  • 7.3.3 SSDT与Shadow SSDT的查看 311

  • 第8章 Windows下的异常处理 313

  • 8.1 异常处理的基本概念 313

  • 8.1.1 异常列表 313

  • 8.1.2 异常处理的基本过程 314

  • 8.2 SEH的概念及基本知识 319

  • 8.2.1 SEH的相关数据结构 319

  • 8.2.2 SEH处理程序的安装和卸载 320

  • 8.2.3 SEH实例跟踪 321

  • 8.3 SEH异常处理程序原理及设计 325

  • 8.3.1 异常分发的详细过程 325

  • 8.3.2 线程异常处理 330

  • 8.3.3 异常处理的栈展开 336

  • 8.3.4 MSC编译器对线程异常处理的增强 342

  • 8.3.5 顶层异常处理 349

  • 8.3.6 异常处理程序的安全性 357

  • 8.4 向量化异常处理 361

  • 8.4.1 向量化异常处理的使用 361

  • 8.4.2 VEH与SEH的异同 362

  • 8.4.3 向量化异常处理的新内容 363

  • 8.5 x64平台上的异常处理 363

  • 8.5.1 原生x64程序的异常分发 364

  • 8.5.2 WOW64下的异常分发 366

  • 8.6 异常处理程序设计中的注意事项 367

  • 8.7 异常处理的实际应用 368

  • 8.7.1 使用SEH对用户输入进行验证 368

  • 8.7.2 SEH在加密与解密中的应用 369

  • 8.7.3 用VEH实现API Hook 371

  • 8.8 本章小结 371

  • 第9章 Win32调试API 372

  • 9.1 调试相关函数简要说明 372

  • 9.2 调试事件 375

  • 9.3 创建并跟踪进程 377

  • 9.4 调试循环体 378

  • 9.5 处理调试事件 379

  • 9.6 线程环境 380

  • 9.7 将代码注入进程 382

  • 第10章 VT技术 384

  • 10.1 硬件虚拟化的基本概念 384

  • 10.1.1 概述 384

  • 10.1.2 相关结构和汇编指令 385

  • 10.1.3 EPT机制 388

  • 10.2 VT技术的应用 389

  • 10.2.1 编译运行ShadowWalker 389

  • 10.2.2 分析Hypervisor 390

  • 10.2.3 检测VT支持情况 392

  • 10.2.4 VMCS的配置 393

  • 10.2.5 EPT的配置 396

  • 10.2.6 开启VT 399

  • 10.2.7 内存隐藏的实现 399

  • 10.3 VT调试方法 401

  • 第11章 PE文件格式 404

  • 11.1 PE的基本概念 405

  • 11.1.1 基地址 405

  • 11.1.2 虚拟地址 406

  • 11.1.3 相对虚拟地址 406

  • 11.1.4 文件偏移地址 407

  • 11.2 MS-DOS头部 407

  • 11.3 PE文件头 408

  • 11.3.1 Signature字段 408

  • 11.3.2 IMAGE_FILE_HEADER结构 409

  • 11.3.3 IMAGE_OPTIONAL_HEADER结构 410

  • 11.4 区块 415

  • 11.4.1 区块表 415

  • 11.4.2 常见区块与区块合并 417

  • 11.4.3 区块的对齐值 419

  • 11.4.4 文件偏移与虚拟地址的转换 419

  • 11.5 输入表 421

  • 11.5.1 输入函数的调用 421

  • 11.5.2 输入表的结构 422

  • 11.5.3 输入地址表 424

  • 11.5.4 输入表实例分析 424

  • 11.6 绑定输入 428

  • 11.7 输出表 429

  • 11.7.1 输出表的结构 430

  • 11.7.2 输出表实例分析 431

  • 11.8 基址重定位 432

  • 11.8.1 基址重定位的概念 432

  • 11.8.2 基址重定位表的结构 433

  • 11.8.3 基址重定位表实例分析 434

  • 11.9 资源 435

  • 11.9.1 资源结构 435

  • 11.9.2 资源结构实例分析 438

  • 11.9.3 资源编辑工具 440

  • 11.10 TLS初始化 440

  • 11.11 调试目录 441

  • 11.12 延迟载入数据 441

  • 11.13 程序异常数据 442

  • 11.14 .NET头部 442

  • 11.15 编写PE分析工具 443

  • 11.15.1 检查文件格式 443

  • 11.15.2 读取FileHeader和OptionalHeader的内容 444

  • 11.15.3 得到数据目录表信息 445

  • 11.15.4 得到区块表信息 446

  • 11.15.5 得到输出表信息 447

  • 11.15.6 得到输入表信息 448

  • 第12章 注入技术 450

  • 12.1 DLL注入方法 450

  • 12.1.1 通过干预输入表处理过程加载目标DLL 450

  • 12.1.2 改变程序运行流程使其主动加载目标DLL 466

  • 12.1.3 利用系统机制加载DLL 484

  • 12.2 DLL注入的应用 491

  • 12.3 DLL注入的防范 491

  • 12.3.1 驱动层防范 491

  • 12.3.2 应用层防范 493

  • 第13章 Hook技术 497

  • 13.1 Hook概述 497

  • 13.1.1 IAT Hook篡改MessageBox消息 497

  • 13.1.2 Inline Hook篡改指定MessageBox消息 499

  • 13.2 Hook的分类 500

  • 13.2.1 Address Hook 501

  • 13.2.2 Inline Hook 511

  • 13.2.3 基于异常处理的Hook 513

  • 13.2.4 不是Hook的Hook 514

  • 13.3 Hook位置的挑选 515

  • 13.4 Hook的典型过程 519

  • 13.4.1 Address Hook的实施过程 519

  • 13.4.2 Inline Hook的实施过程 526

  • 13.4.3 基于异常处理的Hook实施过程 529

  • 13.4.4 二次Hook的注意事项 532

  • 13.4.5 通用Hook引擎的实现 533

  • 13.5 Detour函数的典型用法 533

  • 13.6 Hook中的注意事项 536

  • 13.7 Hook在x64平台上的新问题 541

  • 13.8 Hook技术的应用 543

  • 13.9 Hook的检测、恢复与对抗 544


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐