QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

管理员

Rank: 40Rank: 40Rank: 40Rank: 40Rank: 40Rank: 40

技术值
查看: 2947|回复: 1

[软件安全] 【入门】《加密与解密》(第3版)

[复制链接]
最佳答案
207 
累计签到:2396 天
连续签到:3 天
小甲鱼 发表于 2016-11-12 18:32:05 29471 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
TB1ivqzKpXXXXcjXXXXXXXXXXXX_!!0-item_pic.jpg_430x430q90.jpg
$ z3 R0 R9 q! }
8 i  D% J& `! m: L2 Z- H
书名:《加密与解密》(第3版)
+ }" ?3 g6 M( n5 W$ ^# E: c+ N5 k' ~作者:段钢3 D6 |: `# e5 B" H
出版社:电子工业出版社9 I! Y$ ]) s, s1 e& M8 p5 }
出版年:2008年7月1日(第1版)
6 y+ |5 \3 F9 w定价:59.00元
4 I* v7 E* t% l( h  M6 a装帧:平装
/ }* `) |4 S- U: Q2 m9 O6 aISBN:97871210664431 V4 g) U; @' `5 ?; t) A% z2 a8 I

9 L1 K( C, ?% A. a1 W/ }9 n0 x购买链接:
4 a5 Z- B/ ]6 H0 V, b" q4 r3 g: s4 W/ l* I2 s! s

: _; e4 w0 Y( K& e* h
亚马逊(Kindle)-> 传送门7 c; u) o- H; ^
4 T( {) `4 B7 j# }, X$ G' Z4 t' r
亚马逊 -> 传送门
5 g0 U/ i& X) x
8 F5 B8 N; P6 E+ k( F1 ^, l0 I7 o6 c当当网 -> 传送门
- `" w- \6 s& O+ C! U  ~" @% t$ @$ _6 E; V  |4 `1 f
京东 -> 传送门" C* M4 t9 m5 T/ }, z6 o

- v. ^/ e% ~" I( p  F; M. @. e! w天猫 -> 传送门
, R0 v+ P' o$ p  }6 o. v
+ A  B  v5 f/ ^0 n7 a  _
0 j! L: b, I. I3 Z内容简介:' K5 }$ _! J9 l$ j. v+ o: s: l; `
% D& }' H; U! w' A, `/ Y$ y6 e  [6 J


% ^( I" v2 M3 z% I. s《加密与解密》(第3版)以加密与解密为切入点,讲述了软件安全领域许多基础知识和技能,如调试技能、逆向分析、加密保护、外壳开发、虚拟机设计等。读者在掌握《加密与解密》(第3版)的内容,很容易在漏洞分析、安全编程、病毒分析、软件保护等领域扩展,这些知识点都是相互的,彼此联系。国内高校对软件安全这块教育重视程度还不够,许多方面还是空白,而近年来许多企业对软件安全技术人才需求量越来越大。从就业角度来说,掌握这方面技术,可以提高自身的竞争能力。从个人成长角度来说,研究软件安全技术有助于掌握一些系统底层知识。
5 K/ }5 l+ ?3 A5 h4 j% i# {5 X& G$ S; r- R8 Z! @! F6 V
《加密与解密》由看雪软件安全论众多高手共同打造而成,读者将从《加密与解密》(第3版)中获得许多极具价值的技术,是专业开发人员不可多得的一本好书。
2 n4 N/ P- i4 H3 V! V1 u' M! R8 y: L

& L% q+ d% z/ f, [3 j! k目录:0 Q9 f( b# |) \! e: e; j6 {

/ G$ j9 B' Q. U9 [% b* {
4 u' H1 A& ^+ X3 U. a  [
第1篇 基础篇: v7 d4 Y5 o0 |8 L
) A+ k/ r3 Y, l0 {$ J
第1章 基础知识& C! z: ]2 O3 S7 x. k& _; R) B

+ r/ ~: e% I! \9 o+ d1.1 文本字符
" G' g* O# U5 h1 J6 Q" J1.1.1 字节存储顺序
# x$ {- x* s8 u7 G* n. f1.1.2 ASCII与Unicode字符集3 w* [* V) Y0 P( ~- O; \

! z. s" b7 v) f% ]# R4 w1.2 WINDOWS 操作系统
1 X" X8 ~) K2 n% W6 x9 t1.2.1 Win API简介, `+ a6 A) T+ x  P; x. o/ X
1.2.2 常用Win32 API函数
9 O; k& h' o: t, m1.2.3 什么是句柄& l1 j, v  n& f6 Y
1.2.4 Windows 9x与Unicode) ~% w9 j! \  l  A/ v  \- R
1.2.5 Windows NT/2000/XP与Unicode
) J2 ]" y6 L. n* j$ y+ v. ^& {# p1.2.6 Windows 消息机制
5 B5 c* I; e: e% j
. P& W) z7 D: C2 ~+ m$ |  h- }1.3 保护模式简介( I5 M) @- x! o
1.3.1 虚拟内存' s: O; \0 Q( m
1.3.2 保护模式的权限级别, v. ^" M8 {/ N' f3 w
1.4 认识PE格式- A4 m) I/ y" D) H9 a/ Y

4 }. j3 K  M7 G7 ]5 k第2篇 调试篇
7 O0 n; `! I0 H! M% M; }1 F# f8 C+ F' |2 e3 Z9 _
第2章 动态分析技术' M8 @+ ^/ z5 \

5 X9 L! ^! \: l& g  _7 x% I# n2.1 OLLYDBG调试器
8 L( Z" c3 h( k# y  n& v: E2.1.1 OllyDbg界面
+ |2 H! q4 b7 W- P, e/ x% q: {2.1.2 OllyDbg的配置! c# y: ]6 k! H
2.1.3 加载程序  ~; G* t4 g# x5 x+ Q
2.1.4 基本操作+ R' M" s6 U( a
2.1.5 断点
! P7 ?5 B* h5 S+ ]: U$ t% s2.1.6 插件( }  V6 G8 g# Z; g9 d
2.1.7 Run trace3 F/ l) X+ z! G
2.1.8 Hit trace
- G1 g( v) p1 ~/ w( P, Z4 `( Q2.1.9 符号调试技术
9 L; r' Q* m7 b& G' R2.1.10 OllyDbg常见问题
1 V; ?7 d, d; c+ C* V$ _3 l2.2 SOFTICE调试器/ Q. T/ I0 o! }; R
/ }; q. H# j3 X+ f' D; s
第3章 静态分析技术
( t- v: t- G$ R; E" |
& Y- t, X7 [& `3.1 文件类型分析
& ?( V' I( P" ^* E3.1.1 PEiD工具9 x9 C& f6 X+ b6 V& _
3.1.2 FileInfo工具# J7 S% x6 J+ l7 S7 o

& V- p! l/ m" M: r# T3.2 静态反汇编
2 P, ?5 z* s- m1 [3.2.1 打开文件* G" C$ H. X$ D4 z: @
3.2.2 IDA的配置- F# M5 g+ u0 ]& _. c# n; K
3.2.3 IDA主窗口界面
; n! j% V6 J4 d% ?: A/ v9 Q6 p8 G3.2.6 交叉参考
6 P/ i" E/ K: i! X/ _3 j6 {. ~9 ?6 u3.2.7 参考重命名! I' V3 l, b- n- c7 ]' h( _
3.2.8 标签的用法' C  G) q* P1 z# P5 t! s
3.2.9 进制的转换3 c& R: y- S0 o7 h
3.2.10 代码和数据转换- X' F) k- a  B, O- i
3.2.11 字符串/ a1 O) \0 ?7 C* O9 K5 x
3.2.12 数组
' W; g. J3 Z% q8 ?$ ]# O3 ?3.2.13 结构体
4 M) j" y' n) f! q3.2.14 枚举类型
# ^( T+ V! b  O) |0 k3.2.15 堆栈变量5 M/ I5 y) x. S7 b' `0 [% d
3.2.16 IDC脚本
2 y1 Z: y* E/ L: g7 U5 r3.2.17 FLIRT+ W+ D, O4 i, s& O3 S+ N* {/ e  A' z
3.2.18 插件/ C7 u  }) v! g6 l
3.2.19 其他功能
& b, J7 P, b7 @4 z6 S% `! ?3.2.20 小结
! \; t" y! e5 o: k% j$ t( m6 F- H3.3 可执行文件的修改
1 ]/ @- n" [5 e( n5 c% C  v4 U3.4 静态分析技术应用实例
# `/ f1 [" `; t0 @7 R$ Q3.4.1 解密初步
$ I5 M9 p* j* u8 x+ e& T: y: Z6 C7 V( z3.4.2 逆向工程初步" y- X* o+ _2 ]0 m/ W% C% I" p) i

% F  l% z3 y8 q2 _6 w1 e第4章 逆向分析技术
3 u8 W, M4 Q  y, A% L' W& N* J$ Z& P5 V. J8 e0 [( Q3 s
4.1 启动函数  u* T3 f- _6 m5 U- r
4.2 函数
, c4 @5 ]) ]$ e6 J* g( o0 V9 @4.2.1 函数的识别
; R$ i  V( V! f6 n4 C$ f4.2.2 函数的参数
; g; Z' W! H. F: h4.2.3 函数的返回值
$ O/ J( n( ^0 P' i8 t7 G; s8 O8 G- F( w4 G( ~6 t: g: \7 b! K) y
4.3 数据结构7 X4 G3 V7 [( v
4.3.1 局部变量- n* n( i) s) E( o+ O/ O2 A1 C0 r
4.3.2 全局变量* z9 |/ x& p, j8 m, H4 L0 x
4.3.3 数组
0 u+ }+ C, p/ M+ R4.4 虚函数
. r( t7 h+ U' F, d. y* q4.5 控制语句
+ L/ |; m) x, K9 P* S  M, T4.5.1 IF-THEN-ELSE语句
3 D- y2 G2 F) O' K4.5.2 SWITCH-CASE语句
# }" \. e! ]" A4.5.3 转移指令机器码的计算4 y9 ^  F4 A2 H
4.5.4 条件设置指令
' l, C9 K. T' o, Q0 y7 H, e4.5.5 纯算法实现逻辑判断
5 P3 K5 ]+ y6 s/ Q4 w4.6 循环语句$ w1 R( n, n" s# D" o/ P
* d" ~) \* A- {+ L3 R: p( k
4.7 数学运算符
" D+ A) @- v+ M0 m4.7.1 整数的加法和减法( U9 `. O. \+ E
4.7.2 整数的乘法; k( ]$ W' b9 _: u& }5 k. u
4.7.3 整数的除法, X( \2 [$ g: K

# M' {& u7 ^+ `9 D. L% q  X5 d6 Y  [4.8 文本字符串( U" }4 [, S  h
4.8.1 字符串存储格式
# N' ~% X6 z- y3 t/ {4.8.2 字符寻址指令! O8 |* [: V. t$ b! c& q
4.8.3 字母大小写转换
8 q% z) X6 d- p) z* _% e4.8.4 计算字符串的长度
7 Y; U8 ^- D# }: ?5 M4.9 指令修改技巧
' r6 a+ U% I4 F0 m
7 |" \( F- d/ S6 |% T第3篇 解密篇
( k  T5 z4 f7 A* z5 y# b! |
, x' k5 w3 j, G* ]* j8 @第5章 常见的演示版保护技术+ n3 A! e9 q. M, g9 S6 K

0 I) u7 t) P, O! e5.1 序列号保护方式
; o/ x. o' h: b% b* k1 L5.1.1 序列号保护机制" u( @+ d# m2 C
5.1.2 如何攻击序列号保护+ h4 C# |, X% {4 H
5.1.3 字符串比较形式
2 V+ P; ?- z- N5.1.4 注册机制作! B+ \8 R3 z$ q  m6 q
5.2 警告(NAG)窗口
) K' d+ q1 r( E8 G& W7 O! n- C' m
& s5 t. t" S' U5.3 时间限制- g5 J5 c, c/ t" H
5.3.1 计时器3 h$ {5 W- k' N  r
5.3.2 时间限制
% }9 F# Z5 |8 N5.3.3 拆解时间限制保护' M* ]2 b  ?- a. J- _  D8 t7 d

  L, S0 z9 i1 S5.4 菜单功能限制# H* P! W1 D9 @" {0 }% A) N
5.4.1 相关函数
  b8 r4 P. \- ?8 T$ z0 |( u- S5.4.2 拆解菜单限制保护9 R- b" H, q  ?: m7 @4 ~" W
6 _, B3 J7 {5 Y2 l  Y1 T5 \
5.5 KEYFILE保护7 `9 Z4 h( X# |$ y( ~% D6 N- Y4 q
5.5.1 相关API函数
& {5 B) d+ [8 D/ u, A9 d. k8 ~5.5.2 拆解KeyFile保护
4 @. v5 y8 Z3 U5 D5 S- k* a5 n6 Q6 R, y, q7 \. Z
5.6 网络验证
' c: R1 |2 h! q" T( m5.6.1 相关函数
! v' C+ e, T3 a3 h, ?( o9 ~5.6.2 网络验证破解一般思路! `2 e, _) \( F  O2 E& |8 o
" W( C7 ]+ \7 v7 T9 N. l
5.7 CD-CHECK
1 d2 y, y1 u6 _, M5.7.1 相关函数
% P. x  j3 W/ ]' ]1 p9 b5 o5.7.2 拆解光盘保护
' l" f. D; f* j+ t
! q% e1 m& L! e8 i7 S$ h5.8 只运行一个实例
: Q; x9 {. O+ B- x7 V: M5.8.1 实现方案
; n! T: `+ Q; W9 r9 ]/ n+ e" g7 b7 M5.8.2 实例
" b# ^+ r. t) w, {  o  `0 h2 I" W5.9 常用断点设置技巧
& B& r. q4 D0 n6 H+ P# I0 U, I5 A: l2 K! {5 T
第6章 加密算法
2 _; ?6 B" i$ }% k
# u4 F% Z+ n# j3 R% l. W' r6.1 单向散列算法& g7 I" _3 `$ `% T) H' o. ^
6.1.1 MD5算法, P- }) N  p! K. ?' K0 [5 B
6.1.2 SHA算法
- E5 H' B% ?  T  V1 M( Z9 _% w6.1.3 小结
6 Y( i4 E6 m3 R2 ]
! W; Z; e  }+ R* x4 n- N. Z; E6.2 对称加密算法
3 I1 l$ M+ W7 s, B5 e6.2.1 RC4流密码6 I$ i8 a/ ~+ o' U) D/ Z
6.2.2 TEA算法
, y& ^' O, _1 S& {3 S! W) g/ m6.2.3 IDEA算法
- c& Z: I( s" J) d% z$ `5 X6.2.4 BlowFish算法# \  `2 |3 ?/ r  E
6.2.5 AES算法
4 H. O( T! [4 H+ h) [: l6.2.6 对称加密算法小结  [( y: I$ y0 O9 L: Z. J# s
+ K  Y4 G2 v2 A! m/ S' w" Y
6.3 公开密钥加密算法1 M' C' |& P/ c. \  `# G- n
6.3.1 RSA算法
% D: H9 ?2 E# m$ |2 v5 y* D$ g6.3.2 ElGamal公钥算法
) Y4 t$ s# X! B3 F6.3.3 DSA数字签名算法
& f" u8 N% M% ^: [1 K5 q. ^6.3.4 椭圆曲线密码编码学) K. b; U+ v) o) K9 d2 j' j9 S

  T2 ^5 A8 J$ o  [2 \; X3 h% g: T6.4.1 CRC32算法
# h2 ]3 H  s" Y5 q. Q% Q- d* L6.4.2 Base64
2 v0 l4 ~  B) d6 I6.5 常见加密库接口及其识别$ L7 c) }8 E: o# g  D; S
6.5.1 Miracl大数运算库
4 H+ {- S* Y. H2 M6.5.2 FGInt0 @" V# x! ^% u- u% @. K4 J4 w5 k+ f
6.5.4 其它加密算法库介绍( ^( D+ {+ ^2 S- N  h8 A* U

+ x1 M4 }# Y, A& a. A8 J6 [第4篇 语言和平台篇
! |' Z( H( m+ ?& C- v7 f& {; }0 _
5 C1 \/ {5 _% p  Q* E第7章 DELPHI程序
+ U1 V$ Y9 j0 {# y; m. F6 K$ L% e: ?( y
7.1 认识DELPHI! S6 a& o2 F2 b
7.2 DEDE反编译器8 A* r% T3 w, n2 x
7.3 按钮事件代码
* t2 I, |% [9 W1 d7.4 模块初始化与结束化  H8 y) a: F6 l7 H: A% g

/ q; P3 s, ?9 P: O3 m第8章 VISUAL BASIC程序
9 c" C5 y$ J  s1 y
# [9 j2 H, u6 i! K& A5 V) W/ h8.1 基础知识4 I8 I- b% ?4 q: M2 A. b
8.1.1 字符编码方式
) C" y! j! S" j( f, b/ m8.1.2 编译模式
7 [# L9 q7 }4 O. x, m
1 k7 `8 _4 W' H4 c: u1 k* ?8.2 自然编译(NATIVE)
6 e8 @+ J5 o% G5 q8.2.1 相关VB函数* ]% A" B: ?4 u( \; w) j
8.2.2 VB程序比较方式1 f0 a5 I, f$ X1 b5 l& g  R
" f/ b8 t7 h1 a+ s
8.3 伪编译(PCODE)(cyclotron编写)
2 a' o# O4 R) V" q3 T8.3.1 虚拟机与伪代码
+ j1 R2 \+ D1 K' y$ Y. @. i8.3.2 动态分析VB P-code程序
' G0 \) v; D. y3 F& B$ S" |8.3.3 伪代码的综合分析0 d5 Z5 x9 N# t4 s9 K4 `- n
8.3.4 VB P-code攻击实战
( O' J2 W" Y# N5 m- a' _& e* I- }- S% ^  G
第9章 .NET平台加解密(tankaiha 编写)5 V6 e& `4 f6 K# q& x; a0 R; |

. I# f% [, Q; H* I+ Z' R9.1 .NET概述8 Z! a" f7 V* @
9.1.1 什么是.Net
" m) R% L/ `) E0 n2 b% p3 u9.1.2 几个基本概念
$ x- h# c- U! O) f$ m- u9.1.3 第一个.Net程序* V; P* @. |. O. y3 f

9 o  c* r' P& ^* ?$ J( S2 N3 {9.2 MSIL与元数据, _% o9 k  ]+ {
9.2.1 PE结构的扩展
4 ~5 N. i- @& Y, D, `/ M9.2.2 .Net下的汇编MSIL
+ I6 W: U9 d4 u2 S9.2.3 MSIL与元数据的结合
  N% E( [  z0 W" J/ R6 v
+ M3 x. Y; k; D7 j! p6 @9.3 代码分析技术
+ N& D) A/ e9 X; Z9.3.1 静态分析8 r6 |' V1 w, U
9.3.2 动态调试' |( W& l6 F# F/ ?4 g5 J1 y6 E
9.3.3 代码修改
( d8 T& [8 O/ L
) g5 j. c4 I- i9.4 代码保护技术及其逆向5 z  @9 K! B% U7 ?0 d
9.4.1 强名称
* d' B+ m" R( P( b9 R9.4.2 名称混淆
: o+ ~6 Z+ c/ g/ G0 l- w! h- V4 b6 B9.4.3 流程混淆
6 _- H, Z/ U9 F0 a  l. B: V9.4.4 压缩6 N$ J. p0 K5 n2 q) r8 i
9.4.5 加密3 q7 u. I1 r+ R; L4 }/ J& C( @
9.4.6 其它保护手段
0 ^1 N( M, M& h; R( ^
7 n' b5 i7 B% J8 H; \9.5 深入.NET
& V7 g" m6 a6 a* T$ y9.5.1 反射与CodeDOM+ |- {0 e1 M& y: H
9.5.2 Unmaganed API) t# T: F+ u& [5 q7 |- X
9.5.3 Rotor、MONO与.Net内核! p& T3 y8 X1 p2 a7 n
- R7 W3 ?1 D5 P9 }1 F
第5篇 系统篇
; x! [% A: W! v! J8 p6 o* p: T
第10章 PE文件格式
8 m0 g4 |& ^& \
3 j8 m( U9 z5 z  `& f10.1 PE的基本概念0 O5 x3 w  I& z, V
10.1.1 基地址- v2 h7 V  E+ w0 v) N$ m3 Z
10.1.2 相对虚拟地址
# X; Q0 u: c- R0 h10.1.3 文件偏移地址7 K9 T/ r, {1 x7 n, s% g; ?3 q- |% r
10.2 MS-DOS头部! Z! L" k; {* z- {& B* U

9 h. \# ?) W1 y9 V5 x" f10.3 PE文件头
5 g: o8 w" ?: g+ Z* v1 N10.3.1 Signature字段# |# I: k- Q  p/ y
10.3.2 IMAGE_FILE_HEADER 结构; u" H! h% Q2 Y4 ]
10.3.3 Optional Header( ]& x* h# C* L( T

8 D9 J8 R2 B% V& H10.4 区块1 y* \8 z' m# E) V0 `1 e
10.4.1 区块表6 D6 l6 ^- Y+ `4 F5 N- l& @3 S
10.4.2 各种区块的描述3 N' Z9 g) u  }6 [5 ?- M
10.4.3 区块的对齐值
3 p6 P* q( ?5 L6 m5 a2 {& @4 A10.4.4 文件偏移与虚拟地址转换; }4 m' E" N. X& E7 Y

& k2 U8 c+ \* x# }5 o( ]. t10.5 输入表9 R7 C; f0 m6 _1 z
10.5.1 输入函数的调用4 |; `  F' g1 a1 q
10.5.2 输入表结构
! `: p" y7 g" J1 I4 b9 b" D10.5.3 输入地址表
" b% l3 O* u7 y10.5.4 输入表实例分析
/ Q' D6 c% X! }: p) b* E10.6 绑定输入
" Y8 u7 ^# f/ C) |  K% ^" X( N7 v( `6 ?5 I* Z" f" \. z! n
10.7 输出表
! @5 A# M, z7 O3 u4 a9 r7 l5 {10.7.1 输出表结构& K# n& v& G  a
10.7.2 输出表结构实例分析- h9 b. n) D7 ^1 _6 C6 e  [  \
; P" w3 D, [- ]- |4 h+ y
10.8 基址重定位
; B3 q5 k1 U1 S- C& J. H9 \* p10.8.1 基址重定位概念
1 b: j1 u: l; M  c: l% M7 q) [10.8.2 基址重定位结构定义
2 ^9 G" B, x% O0 N10.8.3 基址重定位结构实例分析
9 z; W: V& Y2 Q+ p5 i
4 L" H) G2 z7 N, P10.9 资源
$ }6 U9 ^9 s1 Z0 E! p4 Z3 Q10.9.1 资源结构
6 \6 j/ v+ f" q5 @* n/ a: d10.9.2 资源结构实例分析
3 S! U# ^- a" j/ ^- v3 \$ n9 G3 @6 H10.9.3 资源编辑工具8 F) N6 l4 \" ^; \; J
10.10 TLS初始化
, ]& R$ o1 q- s& t10.11 调试目录2 ^" U/ G0 M+ }6 k1 R
10.12 延迟装入数据/ @* r0 y: F1 v9 O0 H5 I
10.13 程序异常数据# U; J1 S1 i# d
10.14 .NET头部3 T0 P% i5 G" r7 i; n
10.15 PE分析工具编写
# e& \5 W5 D) S+ j10.15.1 文件格式检查
5 ]) c2 q* u7 E  u. T10.15.2 FileHeader和OptionalHeader内容的读取! Z1 k, y! T, ?6 B, D0 o2 ?
10.15.3 得到数据目录表信息
1 m5 c/ b* o9 B& s! i% ?10.15.4 得到区块表信息6 k* Q0 ?3 ], V7 n$ X# W; n  O/ l% w
10.15.5 得到输出表信息3 g; S+ X1 C4 H- @
10.15.6 得到输入表信息/ Y3 _# Y) J4 K6 Q3 t5 s/ W% }) L$ ?! j
( j0 h8 `- J2 X  x
第11章 结构化异常处理
  @# n1 k# g1 N% C) c3 k& W2 W9 v+ e# f/ S7 }; V
11.1 基本概念$ M2 U! ~: m( @" ?, `6 `
11.1.1 异常列表7 A* Y' x1 Y3 ^+ i
11.1.2 异常处理的基本过程
2 g3 ^! U* t/ M- G; ~- A2 {11.1.3 SEH的分类/ x8 h7 z0 \* T4 R
" _( C6 [9 b2 ?/ [( ^0 ?# S# Z
11.2 SEH相关数据结构
5 }* u3 @& i3 i5 W4 c  {11.2.1 TEB结构
3 d& ]9 F9 v4 K/ l) b6 |0 Z' T1 ]11.2.2 EXCEPTION_REGISTRATION结构
3 ^8 V- I* i  p# z, A11.2.3 EXCEPTION_POINTERS、EXCEPTION_RECORD、CONTEXT
! g% Z. ~, l0 L" C  K9 i  h7 N11.3 异常处理回调函数0 G6 E2 m% ^4 d2 |! x; _
5 N) m9 y# ~; Q6 `" Q2 T* a
第6篇 脱壳篇5 b6 r- w: j$ K7 L' I: P3 W9 L

. o+ R' t5 z; D& V第12章 专用加密软件
& q2 q' r3 k1 j2 y0 T9 `% t0 y
12.1 认识壳
; O& t/ g8 M0 Y12.1.1 壳的概念3 c7 [) H/ r- [% T" V$ ?; Z
12.1.2 压缩引擎. }% F7 d8 V, q
12.2 压缩壳7 U1 p  o) g5 l# F& _
12.2.1 UPX
, i( v+ G) \% c& H3 U12.2.2 ASPacK& e: h2 e" S/ p6 h. p; Y8 ]

/ S& t5 I7 f0 q12.3 加密壳
( F4 i6 x/ u. ?+ x& b12.3.1 ASProtect
  @* \. }( u2 t5 G12.3.2 Armadillo
% U3 Q( G* i0 c+ x, E0 S, x( \6 w12.3.3 EXECryptor
7 S. [- T! A; K8 r/ z8 X( v) t! i12.3.4 Themida
( P$ ]4 J# P% {$ h( l' t
* \* C2 W9 o5 Q! p12.4 虚拟机保护软件
) b8 }! X; w0 k5 f12.4.1 虚拟机介绍& h9 h; ~/ A6 _6 K* n( j
12.4.2 VMProtect简介" S+ Y& ?0 }9 p; r* R# Y3 t4 I8 _
  \. D. u7 H) g  s" ~& y9 p
第13章 脱壳技术
7 Q* g3 [+ B4 b! f; S; k% s5 M8 t/ k- n! d8 J
13.1 基础知识
* D- f4 X( x0 z8 @% B13.1.1 壳的加载过程
% |# B; [6 C3 w/ W  b( z' E13.1.2 脱壳机* q! p0 ]) k1 U2 I  f
13.1.3 手动脱壳/ c4 L- V5 z; O

0 v( G& n, R( ?3 \' c' K. G' l13.2 寻找OEP
* Y2 c, w+ K$ b( }  M! s13.2.1 根据跨段指令寻找OEP* R2 a$ e5 [& X8 r
13.2.2 用内存访问断点找OEP
  @; k, \& p. P1 h9 @1 B13.2.3 根据堆栈平衡原理找OEP! g# ^  q% [# Z# n& ?# @9 h
13.2.4 根据编译语言特点找OEP
' C% P+ s* ~* [7 X# {% x' P. J* h, w' ^2 w( p# ?0 u
13.3 抓取内存映像' N! L* q9 e! X. O. U/ j3 `0 X
13.3.1 Dump原理9 I, c) c, ]! ]4 @8 {% I7 o% b3 |
13.3.2 反DUMP技术
$ g5 G5 \& J9 R4 g, h! g' o! E! O/ I
13.4 重建输入表# j$ `0 d) E1 O5 W# V2 H3 J
13.4.1 输入表重建的原理. X3 ^: ~6 A& c
13.4.2 确定IAT的地址和大小
2 H# {6 N9 d, u; r2 K9 g) H13.4.3 根据IAT重建输入表0 Z) n, a2 `/ c( H+ ^+ U
13.4.4 ImportREC重建输入表* m" n: e: L" H9 h+ Z+ m
13.4.5 输入表加密概括: X, `$ w+ N$ |( H9 _, t" M* L2 O
, O3 O* A. T. c' l# G2 j
13.5 DLL文件脱壳9 c1 E; y0 n( U& |
13.5.1 寻找OEP& M9 f. z- {% q& h( j# D2 _# O; L
13.5.2 Dump映像文件
% }  Z: W, ?9 R! U13.5.3 重建DLL的输入表. E  c2 [+ v9 ~3 E  p7 A" i1 Z, G& a
13.5.4 构造重定位表
9 O1 O4 h/ H* }: T. m13.6 附加数据
) F5 }4 m9 u' h$ q+ }. K4 X13.7 PE文件的优化9 S7 ^) R4 T, O: I: x9 s
13.8 压缩壳* A# z; m3 J- j$ z
13.8.1 UPX外壳" A# J+ O! t, y# ?
13.8.2 ASPack外壳
' `6 L8 U5 t7 J4 m13.9 静态脱壳
# I; \, r: ?$ f5 f( K. [13.9.1 外壳Loader的分析3 d3 M. y" ^9 e" f- x
13.9.2 编写静态脱壳器! B% |2 ?: v6 l; ]% K& i- X
13.10 加密壳
7 Q7 W1 r  t, p* O9 y/ N0 g13.10.1 ASProtect
- V+ O4 m6 G" i13.10.2 Thmedia的SDK分析
* ?% h/ `( h' l# A4 I" e' ], \3 p, W: {# M. a+ @
第7篇 保护篇
& i4 U  b* o+ O
9 T7 Y5 b9 A% w0 g8 q4 ~$ `第14章 软件保护技术- p7 o/ w0 I8 V% Y' _

# L: y: v. f$ \  k& r' W14.1 防范算法求逆* T* s; Y8 }9 u. w7 [+ r- o
14.1.1 基本概念4 f, E# k6 h% v5 D1 f# j+ b
14.1.2 堡垒战术/ ^) c! i0 ~2 J# G4 i. p5 G
14.1.3 游击战术9 u& N4 k% @& V3 I
; L1 `' R/ F  }! }% N" C9 r* l! r- o
14.2 抵御静态分析
6 E( g" u1 }" @8 N8 K6 s7 M; E. ?- B14.2.1 花指令
# d. i& Z! f- V) U14.2.2 SMC技术实现+ X* Y7 W4 i' V- Z% G5 j0 }& I
14.2.3 信息隐藏3 L. F" y- l" s# \9 j4 w- l
14.2.4 简单多态变形技术
. \) g+ S2 }' X' K7 ?  ~. A. C4 o! I0 q& `4 G2 h/ e
14.3 文件完整性检验
3 Z! N( Z" L  @" K( o9 Q5 `* F14.3.1 磁盘文件校验实现
1 M3 V0 Q4 }. W% D8 V7 }14.3.2 校验和(Checksum)
$ ^& D8 A* r9 b14.3.3 内存映像校验
! }! B# x) @# ^1 X
) ^% B* d. ~2 J4 G) L# n9 a14.4 代码与数据结合技术
2 B+ Y* _. M. M$ P14.4.1 准备工作1 R# C$ G6 b% Y7 C  R
14.4.2 加密算法选用8 m/ Y3 F5 O/ U' x2 _( e8 B
14.4.3 手动加密代码, b1 Z+ s% F% \1 h6 o
14.4.4 使.text区块可写
+ e# _- n( }( `" O3 j/ L( r( [7 c! l14.5 软件保护的若干忠告! Z3 x  l) {& f# e! a7 G5 N

! z1 F# m) H( _" o5 |2 a' h3 U第15章 反跟踪技术(forgot编写)( ?% J4 {' m  l' y
5 f, x3 B, F9 o. g  ?
15.1 由BEINGDEBUGGED引发的蝴蝶效应
8 E0 X5 M  m" G9 ~15.1.1 BeingDebugged
5 W, W: t- c; r, F. n) Z3 P. Q15.1.2 NtGlobalFlag
" l. J* O+ H* K% Z" e, e15.1.3 Heap Magic% F  `% a% Z# o7 j0 Y2 h* Z4 Z/ \
15.1.4 从源头消灭BeingDebugged; t# Z1 e, p# N! `3 l, q
$ S7 `4 ^1 {( Z1 G+ ?9 p
15.2 回归NATIVE:用户态的梦魇1 g1 |" z9 S, o0 W8 I9 c
15.2.1 CheckRemoteDebuggerPresent, ?3 q( |/ M, q' m, }2 c; }
15.2.2 ProcessDebugPort
' M, z/ F+ y( [15.2.3 ThreadHideFromDebugger6 c1 J0 E" j. v
15.2.4 Debug Object
5 A2 i. O& {4 r3 ^4 W15.2.5 SystemKernelDebuggerInformation6 h# z4 c3 a- [$ G' c3 C
15.2.6 Native API
5 T2 m0 I7 H9 L; u15.2.7 Hook和AntiHook
$ `. w; r. H; W+ E$ t: c" z2 Z' e* m+ B6 s
15.3 真正的奥秘:小技巧一览
1 w! M. S% a# u% Y/ U! ?( f; j15.3.1 SoftICE检测方法; o/ j* Q3 G3 K3 q* i+ Y
15.3.2 OllyDbg检测方法
. U" s, h# v5 A8 |: Y" N15.3.3 调试器漏洞- u7 @- |) i- X
15.3.4 防止调试器附加/ R) \7 a* B$ d/ y
15.3.5 父进程检测
! J& d$ E" y4 i% r9 q9 g, y! ~15.3.6 时间差
6 p& d7 f, }- V0 ?1 Q15.3.7 通过Trap Flag检测. G+ i. M  |" l5 ?: j, e7 r. l
15.3.8 双进程保护$ A: }% q& }$ }8 z, R

' R8 l" N4 B$ n% V; y& g第16章 外壳编写基础(Hying编写): H# G! s' S& N9 o3 n
/ P7 q  I$ D3 P# s( M
16.1 外壳的结构
  j+ ~! N& p, t  Q, S4 N& z16.2 加壳主程序# @& S4 f8 A- t8 y
16.2.1 判断文件是否为PE格式
! `& @% }; i( e. J1 y; t16.2.2 文件基本数据读入& b6 q6 d; Q! ?5 |1 w; A
16.2.3 附加数据读取
5 H6 d7 i8 |! O. n  o2 n16.2.4 输入表处理0 h0 p  p& C4 v8 A
16.2.5 重定位表处理
% k  A# U7 I  w4 N5 p16.2.6 文件的压缩/ X4 R) F" L. P3 W% j4 x5 E
16.2.7 资源数据处理
" o& h8 H# v" D16.2.8 区块的融合) ?: P1 u, S) ^/ k

, v' n1 v* l+ Y, D5 z' s16.3 外壳部分编写' }6 O# U" S6 b/ \9 m1 @- V
16.3.1 外壳的加载过程1 F/ H. G: m8 A7 N' \& t2 K
16.3.2 自建输入表
  x9 K, m8 j, Y3 {! S16.3.4 外壳引导段
6 @/ F0 T: {, R6 h/ F16.3.5 外壳第二段2 m! X, i  J1 z5 K
16.4 将外壳部分添加至原程序
4 T6 }2 g& K6 _* E. @1 R+ l8 R0 ?$ ]( J! H+ T2 S
第17章 虚拟机的设计9 N9 m$ Q3 k( u% F" {: l' V
. j% {, a6 s  |1 ^
17.1 原理
* s8 `- F$ Q2 K3 u( n0 u2 ^$ @17.1.1 反汇编引擎6 ^5 h& J* U# y) K4 I' Z
17.1.2 指令分类5 m7 Z8 U" N' I

5 e8 l! h0 F3 F% _/ g- B( M17.2 启动框架和调用约定
9 [, S( C8 ~$ ]7 h! K# n# m" W17.2.1 调度器VStartVM
" F/ e; B( P" H+ ?17.2.2 虚拟环境:VMContext8 S( N- \% l! x. H, L3 ?: f* h
17.2.3 平衡堆栈:VBegin和VCheckEsp) O) d; R/ s5 U
' N! D2 j8 E. l* L! [: _1 B
17.3 HANDLER的设计
( k/ W' L) W" G* [- o17.3.1 辅助Handler
. |- P& C8 }' o' d/ H17.3.2 普通Handler和指令拆解
$ L, Y5 j" m4 n% Z6 i. V# ?17.3.3 标志位问题6 M2 M  B; ^8 P' M8 c+ o+ C; `
17.3.4 相同作用的指令
# S) a$ t# X' f% a8 ^" T17.3.5 转移指令) u1 R. Y3 c2 J& y; g
17.3.6 转移跳转指令的另一种实现
+ {" {, V3 I0 I8 X17.3.7 CALL指令
' i+ e% Y+ W: y9 i" w9 B17.3.8 retn指令* ?8 O' D# y2 O4 p. v- T7 w
17.3.9 不可模拟指令
+ g  B) ]" w4 f$ A! y: x( u/ T' O
17.4 托管代码的异常处理
) `+ x4 J6 \% ?& {  d17.4.1 VC++的异常处理  O0 v$ W9 Y- X$ O7 I9 `2 o! p1 [
17.4.2 Delphi的异常处理
& C. [5 w+ n6 z/ \* L7 U17.5 小结1 V, y8 _7 N: ]

0 v$ T- A" H& h$ r第8篇 PEDIY篇, k; L1 U5 p; M$ z- [

- q/ Q5 n* [' Y3 I0 ^' m第18章 补丁技术
3 E+ c* {/ \7 i$ q) I
- H' l4 b+ H! ~! Z18.1 文件补丁
; m3 I0 i! r# l1 Y/ l18.2 内存补丁( t" ^& }! k  u' a% Y$ a1 \6 L/ h
18.2.1 跨进程内存存取机制
3 N: r! `0 a3 C- |18.2.2 Debug API机制8 @! M: @. U3 o* s9 R: p; ^, X' j3 ], {
18.2.3 利用调试寄存器机制3 x2 m3 T; I& i; Q/ ]
18.2.4 DLL劫持技术3 S# ^' {7 f. O' {6 y6 Z

( t/ Z6 x1 W' W8 [) ^% V. i18.3 SMC补丁技术9 W% i) y4 m9 k- p+ x; i) D+ B
18.3.1 单层SMC补丁技术/ H& r# x' t0 m; z* k0 y
18.3.2 多层SMC补丁技术
; s/ B5 G( Q' d2 T' _% [* l18.4 补丁工具+ Z& w6 K, A4 O" G3 f
# t4 e) ]* d; u
第19章 代码的二次开发
5 B5 b6 C! X; p3 k6 ~4 c
* E" z  H* J8 j* ~  ?19.1 数据对齐
, x4 O# O5 j4 O1 z# s; G19.2 增加空间
7 I" H  ]5 w7 M7 V% {* L1 }/ O$ d19.2.1 区块间隙7 i  T! q/ k' J9 [" d
19.2.2 手工构造区块5 E, I9 L# s* R1 `: \! {
19.2.3 工具辅助构造区块
' ^) {4 E; q) T
$ {4 d/ T. v9 ]0 |. Q* n& M5 h19.3 获得函数的调用" c% B8 i$ @! ?8 i
19.3.1 增加输入函数
4 h2 d& O1 \3 l& ?# C19.3.2 显式链接调用DLL; \" E' L  f2 r0 r) V1 g

. {. ?* C9 R8 u/ i: P3 `2 ^% R19.4 代码的重定位
, p# l/ [/ \( W3 N( I1 l19.4.1 修复重定位表& C5 n2 m# \& }6 F! M4 J) {7 z
19.4.2 代码的自定位技术
2 b; E  b7 z  n& T+ o19.5 增加输出函数
* y2 G1 J; K5 \( @) e- j& M! D3 D2 N0 P9 X3 `) p
19.6 消息循环
# D% w  t+ |& Q- F; v. z! _19.6.1 WndProc函数
& D5 t7 Y3 ]. A' m- F4 D' u19.6.2 寻找消息循环0 L5 \( K+ i- ~7 T. }' t& J
19.6.3 WndProc汇编形式- g* ?( S* G/ ]& P5 R( Q6 \& d% T
0 O/ l# x  L5 V9 P
19.7 修改WNDPROC扩充功能
- b2 w. l7 s. e3 s4 F! \19.7.1 扩充WndProc
. f7 I, Z* i. G/ H/ H19.7.2 扩充Exit菜单功能. A9 z% q- x$ `
19.7.3 扩充Open菜单功能) q1 z/ z( K7 t6 A$ S  c
5 O5 q; r; O, `
19.8 增加接口
/ `% c8 V7 x7 [% [4 i$ B' U19.8.1 用DLL增加功能1 ^2 q% o2 C2 S
19.8.2 扩展消息循环
! b" d# k+ m0 w( v3 `
! P# n, O/ t8 W9 O' c% k, N附录
1 Z9 m( t0 ^7 L4 [: [  m3 _6 ^0 K
; u" H: `( d! s* E! J附录A 浮点指令
4 W! b' i! ?, M. v* g3 O
$ v6 v6 T1 `# M$ B5 C( h& L附录B 在Visual C++中使用内联汇编
0 r) X- T/ k) z% w, l0 v) k2 e, ~  i
术语表5 K% T2 [1 O3 x2 f0 `. R
( `9 o* @+ e$ A3 o( ?! \- \
参考文献3 z/ [% x+ b# k* q2 y6 }
1 i" C- f9 B4 C# C8 a7 D7 a
楼层
跳转到指定楼层
最佳答案
1 
累计签到:690 天
连续签到:15 天
谦虚求学 发表于 2017-3-1 14:12:52 | 显示全部楼层
   脑子乱了

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /1 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2018-5-22 06:51

快速回复 返回顶部 返回列表