首页
社区
课程
招聘
[讨论]关于《加密与解密》第四版进展(2016.1.1更新)
2015-8-19 14:03 203572

[讨论]关于《加密与解密》第四版进展(2016.1.1更新)

2015-8-19 14:03
203572
《加密与解密(第三版)》自2008年7月1日 出版发行,距今己经7年了,一直没有再版更新。这1、2年,出版社多次联系我,希望能更新一版。鉴于时间和精力原因,和出版社商量,这次做些小范围的更新,更新内容估计20%以内。己有第3版的同学,就不用期待了,书的定位还是入门新手,内容主要是Windows平台的安全技术。

下面最新的目录,针对现有或新的内容,愿意一起参与第4版更新的同学,可以联系我。(目录的数字序号还没重新编序)

目前参与的人员:


1.backer: windows64位代码逆向技术
2.MallocFree:内核调试技术
3.cnbragon :加密算法一章的扩充,更侧重加密算法在软件保护中的应用
4.achillis: HOOK技术和 注入技术
5.bughoho:VMProtect逆向和还原浅析
6.snowdbg:漏洞分析技术
7.hannibal:取证技术
8.飘云:PEDIY_HookAPI过强壳校验,补充到“补丁技术”一节中。
另外,再将《软件加密技术内幕》中hying写的Win32 调试API放上来。





第一篇 基础篇

第1章 基础知识
1.1 文本字符
1.1.1 字节存储顺序
1.1.2 ASCII与Unicode字符集
1.2 WINDOWS操作系统
1.2.1 Win32 API函数
1.2.2 WOW64
1.2.3 Windows消息机制
1.2.4 虚拟内存
1.2.5 保护模式的权限级别


第二篇 调试篇

第2章 动态分析技术
2.1 OllyDbg调试器
2.2 内核调试技术


第3章 静态分析技术
3.1 文件类型分析
3.2 静态反汇编
3.2.2 1 反汇编引擎
3.2.2 IDA Pro简介

第4章 32位逆向分析技术
4.1 启动函数
4.2 函 数 72
4.2.1 函数的识别
4.2.2 函数的参数
4.2.3 函数的返回值
4.3 数据结构
4.3.1 局部变量
4.3.2 全局变量
4.3.3 数组
4.4 虚函数
4.5 控制语句
4.5.1 IF-THEN-ELSE语句
4.5.2 SWITCH-CASE语句
4.5.3 转移指令机器码的计算
4.5.4 条件设置指令(SETcc)
4.5.5 纯算法实现逻辑判断
4.6 循环语句
4.7 数学运算符
4.7.1 整数的加法和减法
4.7.2 整数的乘法
4.7.3 整数的除法
4.8 文本字符串
4.8.1 字符串存储格式
4.8.2 字符寻址指令
4.8.3 字母大小写转换
4.8.4 计算字符串的长度
4.9 指令修改技巧

第5章 64位逆向分析技术

第三篇 解密篇
第5章 常见的演示版保护技术
5.1 序列号保护方式
5.2 警告(Nag)窗口
5.3 时间限制
5.4 菜单功能限制
5.5 KeyFile保护
5.6 网络验证
5.7 CD-Check
5.8 只运行一个实例
5.9 常用断点设置技巧

第6章 加密算法
6.1 单向散列算法
6.1.1 MD5
6.1.2 SHA1
6.1.3 SHA2
6.1.4 SHA3
6.1.5 Whirepool
6.1.6 小结
6.2 对称加密算法
6.2.1 RC4
6.2.2 TEA
6.2.3 AES
6.2.4 SMS4
6.2.5 Camellia
6.2.6 小结
6.3 非对称加密算法
6.3.1 RSA
6.3.2 DSA
6.3.3 椭圆曲线密码
6.3.4 ECNR签名机制
6.3.5 小结
6.4 其他算法
6.3.1 CRC16/32
6.3.2 Base32/Base64
6.3.4 数字证书介绍
6.3.5 加密协议介绍
6.3.6 小结
6.5 常见加密算法库使用及其识别
6.5.1 Miracl
6.5.2 FGInt
6.5.3 Openssl
6.5.4 Crypto++
6.6.6 CryptoAPI
6.6.7 LibTomCrypt
6.6.8 CryptoFBC
6.6 加密算法在软件保护中的应用


第四篇 系统篇

第7章 windows数据结构
内核重要结构:ssdt,shadowssdt,EPROCESS,内核函数等
TEB
PEB

第8章 Win32 调试API

第9章 结构化异常处理

第10章 PE文件格式

第11章 HOOK技术
一、Hook的基础概念
二、Hook实例观察
三、Hook的分类
四、Hook位置的挑选
五、Hook的典型过程
六、Detour函数的典型用法
七、Hook中的注意事项
八、Hook应用
九、Hook对抗

第12章 注入技术
一、为什么要注入Dll
二、Dll注入的常见方法
三、Dll注入技术的应用
四、Dll注入的防范

第五篇 保护篇

第13章 软件保护技术
14.1 防范算法求逆 380
14.1.1 基本概念 380
14.1.2 堡垒战术 381
14.1.3 游击战术 382
14.2 抵御静态分析 383
14.2.1 花指令 383
14.2.2 SMC技术实现 385
14.2.3 信息隐藏 390
14.2.4 简单的多态变形技术 391
14.3 文件完整性检验 392
14.3.1 磁盘文件校验实现 392
14.3.2 校验和(Checksum) 393
14.3.3 内存映像校验 393
14.4 代码与数据结合技术 395
14.4.1 准备工作 396
14.4.2 加密算法选用 397
14.4.3 手动加密代码 397
14.4.4 使.text区块(section)可写 399
14.5 软件保护的若干忠告 399


第14章 反跟踪技术
15.1 由BeingDebugged引发的蝴蝶效应 401
15.1.1 BeingDebugged 401
15.1.2 NtGlobalFlag 405
15.1.3 Heap Magic 407
15.1.4 从源头消灭BeingDebugged 412
15.2 回归Native:用户态的梦魇 413
15.2.1 CheckRemoteDebuggerPresent 413
15.2.2 ProcessDebugPort 414
15.2.3 ThreadHideFromDebugger 416
15.2.4 Debug Object 419
15.2.5 SystemKernelDebuggerInformation 423
15.2.6 Native API 425
15.2.7 Hook和AntiHook 430
15.3 真正的奥秘:小技巧一览 433
15.3.1 SoftICE检测方法 433
15.3.2 OllyDbg检测方法 435
15.3.3 调试器漏洞 437
15.3.4 防止调试器附加 438
15.3.5 父进程检测 440
15.3.6 时间差 440
15.3.7 通过Trap Flag检测 441
15.3.8 双进程保护 441

第15章 加密软件
12.1 认识壳 316
12.1.1 壳的概念 316
12.1.2 压缩引擎 317
12.2 压缩壳 317
12.2.1 UPX 318
12.2.2 ASPack 318
12.3 加密壳 318
12.3.1 ASProtect 318
12.3.2 Armadillo 319
12.3.3 EXECryptor 320
12.3.4 Themida 320
12.4 虚拟机保护软件 321
12.4.1 虚拟机介绍 321
12.4.2 VMProtect简介 321


第16章 脱壳技术


第17章 外壳编写基础
16.1 外壳的结构 442
16.2 加壳主程序 443
16.2.1 判断文件是否为PE格式 443
16.2.2 文件基本数据读入 443
16.2.3 附加数据读取 445
16.2.4 输入表处理 445
16.2.5 重定位表处理 448
16.2.6 文件的压缩 450
16.2.7 资源数据处理 453
16.2.8 区块的融合 457
16.3 外壳部分编写 457
16.3.1 外壳的加载过程 458
16.3.2 自建输入表 458
16.3.3 外壳引导段 459
16.3.4 外壳第二段 462
16.4 将外壳部分添加至原程序 467

第18章 虚拟机的设计
17.1 原理 471
17.1.1 反汇编引擎 472
17.1.2 指令分类 472
17.2 启动框架和调用约定 473
17.2.1 调度器VStartVM 473
17.2.2 虚拟环境:VMContext 474
17.2.3 平衡堆栈:VBegin和VCheckEsp 474
17.3 Handler的设计 475
17.3.1 辅助Handler 475
17.3.2 普通Handler和指令拆解 476
17.3.3 标志位问题 477
17.3.4 相同作用的指令 478
17.3.5 转移指令 478
17.3.6 转移跳转指令的另一种实现 479
17.3.7 call指令 480
17.3.8 retn指令 481
17.3.9 不可模拟指令 481
17.4 托管代码的异常处理 482
17.4.1 VC++的异常处理 482
17.4.2 Delphi的异常处理 486
17.5 小结 490

第19章 VMProtect逆向和还原浅析

第六篇 软件重构篇

第20章 补丁技术 496493

第21章 代码的二次开发
19.1 数据对齐 510
19.2 增加空间 510
19.2.1 区块间隙 510
19.2.2 手工构造区块 511
19.2.3 工具辅助构造区块 512
19.3 获得函数的调用 512
19.3.1 增加输入函数 513
19.3.2 显式链接调用DLL 514
19.4 代码的重定位 514
19.4.1 修复重定位表 514
19.4.2 代码的自定位技术 516
19.5 增加输出函数 517
19.6 消息循环 518
19.6.1 WndProc函数 518
19.6.2 寻找消息循环 519
19.6.3 WndProc汇编形式 520
19.7 修改WndProc扩充功能 521
19.7.1 扩充WndProc 521
19.7.2 扩充Exit菜单功能 522
19.7.3 扩充Open菜单功能 522
19.8 增加接口 525
19.8.1 用DLL增加功能 525
19.8.2 扩展消息循环 526



第七篇 语言和平台篇
第22章 Delphi程序

第23章 Visual Basic程序

第24章 .NET平台加解密

第八篇 漏洞分析技术
第25章 漏洞分析

第九篇 取证技术
第26章 电子取证技术
1.硬盘数据的获取与恢复
硬盘数据的获取
硬盘中分区的解析
数据恢复技术原理
2.内存数据的获取与分析
物理内存数据的获取
物理内存中数据的解析
物理内存中数据的恢复
3.硬盘中残缺数据的恢复
文件格式分析——残缺数据恢复的基础
特征码方法
4.各种应用程序存储的数据的解析
浏览器
IM软件
电子邮件客户端
5.系统记录的数据
最近使用的程序,打开的文档,使用的硬件
6.网络数据的抓取和分析
技术基础——协议分析
各种抓包工具,及分析脚本的编写
7.时间线分析——统揽全局


附 录
附录A 浮点指令
附录B 在Visual C++中使用内联汇编




[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (250)
雪    币: 18
活跃值: (979)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
猪会被杀掉 1 2015-8-19 14:06
2
0
沙发,期待海风、ccfer等各种大牛的表演.
雪    币: 16097
活跃值: (2088)
能力值: ( LV9,RANK:147 )
在线值:
发帖
回帖
粉丝
orz1ruo 2015-8-19 14:07
3
0
- -此贴必火.火速留名.若干年后就是元老了.

看来大家对64位很支持..
雪    币: 1088
活跃值: (30)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
Tebox 2015-8-19 14:07
4
0
2014看雪精华什么时候出来?
雪    币: 4581
活跃值: (942)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
b23526 2015-8-19 14:08
5
0
可以考虑加点智能设备的加解密介绍
雪    币: 1126
活跃值: (3336)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
FIGHTING安 1 2015-8-19 14:24
6
0
可以加入移动安全部分
雪    币: 110
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小剑 2015-8-19 14:26
7
0
有点小失望呢 。。。。。。。。。。。。。

该版应该以移动安全为主,PC 抛弃外壳部分 ,.net 更新一下就好
雪    币: 2401
活跃值: (2262)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
gtict 2015-8-19 14:32
8
0
现在应该win7 64用OD怎么调试~现在很多机子已经是64了
雪    币: 20
活跃值: (242)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
GeekCheng 2 2015-8-19 14:39
9
0
《0day》有没有更新的计划?《加密与解密》应该以x64为主吧,最好是能兼顾移动端的
雪    币: 38
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
KCG 2015-8-19 14:42
10
0
感觉还是出本移动的加解密比较好。这方面是硬伤。
雪    币: 453
活跃值: (1193)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
StarsunYzL 2015-8-19 15:17
11
0
移动平台的内容都可以单独出一本书了,建议按照原书的体系,最应该加的是x64平台的内容
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jkld 2015-8-19 15:38
12
0
确实要入x64平台的内容
雪    币: 1185
活跃值: (458)
能力值: ( LV13,RANK:360 )
在线值:
发帖
回帖
粉丝
Ericky 6 2015-8-19 15:56
13
0
加的是x64平台的内容
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hunxiaozi 2015-8-19 16:44
14
0
很期待新版加入x64和移动平台的内容
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
大p 2015-8-19 16:50
15
0
期待~~~…
雪    币: 7
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
cmloo 2015-8-19 16:53
16
0
期待x64相关内容的加入。毕竟x86逐步淘汰了。
雪    币: 6550
活跃值: (1009)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Protected 2015-8-19 17:34
17
0
可以加入移动安全部分
雪    币: 5424
活跃值: (2656)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
JAYceMS 2015-8-19 17:43
18
0
增加x64的内容是非常有必要的, 而且不能拿一章简单介绍
雪    币: 7806
活跃值: (2271)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
option 2015-8-19 18:50
19
0
买过2版3版还没看完的路过
雪    币: 437
活跃值: (88)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gscsnm 2015-8-19 19:08
20
0
x64,是个难题。
雪    币: 135
活跃值: (64)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
fatecaster 1 2015-8-19 19:57
21
0
后排怒Mark
雪    币: 4671
活跃值: (2881)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
任蝶飞 2015-8-19 20:34
22
0
老大2014精华还出吗   2015都快过完了。。。
雪    币: 178
活跃值: (125)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
子琳 2015-8-20 18:12
23
0
求更新20%的内容
雪    币: 32408
活跃值: (18755)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2015-8-21 09:42
24
0
计划加上“漏洞分析”一章,将由 『漏洞分析』 版主  snowdbg 主笔。
雪    币: 6
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
影子不寂寞 2015-8-21 13:09
25
0
支持老大的新书。
游客
登录 | 注册 方可回帖
返回