QQ登录

只需一步,快速开始

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

主题

帖子

荣誉

管理员

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

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

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

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

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

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

x
TB1ivqzKpXXXXcjXXXXXXXXXXXX_!!0-item_pic.jpg_430x430q90.jpg
5 x7 {$ k1 p  k) I- _. n) O
+ |- y! d% Y2 P2 i- T& d
书名:《加密与解密》(第3版)- K& m8 W4 T- m( @7 q" ~
作者:段钢5 u+ G- d$ f& z5 n5 d; y% _
出版社:电子工业出版社( S4 F, M* g- \( p
出版年:2008年7月1日(第1版)9 A% Y/ x3 D  p
定价:59.00元2 a( R( }+ P" |4 |
装帧:平装
( |' n1 |! p& n( ]3 m- pISBN:9787121066443
4 ], v- L0 |0 G
& R# T0 l( m! b2 _购买链接:
/ w5 k/ S; x! m  c3 D- t) m3 V- v6 t5 T9 v! t

& _$ {* ~2 S( G9 b4 T! b" p
亚马逊(Kindle)-> 传送门0 [0 n/ J5 A- K0 k3 I

; y( Y' E- H. \0 L; `亚马逊 -> 传送门
4 R: I/ `  }* h$ Z
, [3 ^( J6 c# `  W: N当当网 -> 传送门8 I0 K. Z- s! @, a/ \
) R/ n6 m. H2 m" }& K+ o  _4 \
京东 -> 传送门
  `! y* y6 A0 }. v* |& x( E$ |. |& f9 k
天猫 -> 传送门, o  q9 @( j' L; ~- q) ?7 Q% {) |

* T! X+ g) }4 o  j1 P- _3 F& h  o$ }
内容简介:- _. w( `5 K9 q6 E% v' V" a

" s  ^1 v6 H9 Y6 [
( w5 d4 K: n0 T, W
《加密与解密》(第3版)以加密与解密为切入点,讲述了软件安全领域许多基础知识和技能,如调试技能、逆向分析、加密保护、外壳开发、虚拟机设计等。读者在掌握《加密与解密》(第3版)的内容,很容易在漏洞分析、安全编程、病毒分析、软件保护等领域扩展,这些知识点都是相互的,彼此联系。国内高校对软件安全这块教育重视程度还不够,许多方面还是空白,而近年来许多企业对软件安全技术人才需求量越来越大。从就业角度来说,掌握这方面技术,可以提高自身的竞争能力。从个人成长角度来说,研究软件安全技术有助于掌握一些系统底层知识。  n  j' |/ N' W) u' f, D

: y1 h$ l6 G9 Y( h+ X$ E' ~《加密与解密》由看雪软件安全论众多高手共同打造而成,读者将从《加密与解密》(第3版)中获得许多极具价值的技术,是专业开发人员不可多得的一本好书。
! u7 Z2 ~/ r0 ]5 F& r/ t; M, E7 J+ D0 \" u9 y/ B/ [
& z  I% ~) O3 U
目录:" M: g' U4 T, h) D6 K5 L9 p* t

( e$ Z/ `* I/ f7 u. S  K0 F8 I

8 I2 }3 g. w+ W/ P0 u第1篇 基础篇
, |4 t! G+ o% c6 i5 E' u6 C
' O& j) `% V$ c第1章 基础知识+ l9 a; x) F% a5 C6 E' f+ `
; t: w1 ]5 i1 B! c
1.1 文本字符) [- ?/ Y& c" H
1.1.1 字节存储顺序1 {& L" r" Q# }7 V
1.1.2 ASCII与Unicode字符集& g- C; f, M6 G4 g% T- z/ l
4 w! w: ]5 b+ Y6 E6 e# g  E6 p* q
1.2 WINDOWS 操作系统" A2 ^) Y+ L# n' T1 X7 z( t
1.2.1 Win API简介6 j7 t8 C7 s5 r
1.2.2 常用Win32 API函数
9 B: t* [* m' Z1 J$ l6 Q  l* d1.2.3 什么是句柄) H, t! P4 Z$ H% a# J
1.2.4 Windows 9x与Unicode) v( s& a+ M- k4 \! ~; E( U% F2 ~
1.2.5 Windows NT/2000/XP与Unicode
) O) B5 z3 }1 n9 F; h6 ]9 K1.2.6 Windows 消息机制' D5 Z, |, C0 l6 P: C4 H& n
9 \' n) q/ f8 l# X
1.3 保护模式简介
1 O% s  Y7 S' \9 r, i9 z, H4 \1.3.1 虚拟内存0 W: }( h- s) c% J6 Z
1.3.2 保护模式的权限级别3 u9 u) L% S; S' @- Z
1.4 认识PE格式5 S% p3 R! M- K1 J  f0 D

: i  i# ~! G" U+ o( n: X& W第2篇 调试篇
( x6 |& g, A0 ]: m0 q! Y, f7 v) O1 n% c9 h, E! X; U
第2章 动态分析技术" `+ n  z2 v3 r. p. a% t9 \4 K

' g, q- M1 q: P2.1 OLLYDBG调试器
4 ~0 W9 U4 S/ E+ s! |2.1.1 OllyDbg界面+ Q# G- _$ C0 i7 L
2.1.2 OllyDbg的配置! q9 f4 Z' O8 y1 O5 J& K: b
2.1.3 加载程序. e  C( n1 s; m+ r; m: ]# U
2.1.4 基本操作
- u' K* [7 f3 \. X8 y# ?' V2.1.5 断点
# d$ N. V6 D4 u. E8 g; L' t1 h2.1.6 插件2 T& H9 H& `- \; p0 O' z) f0 a
2.1.7 Run trace
- B/ F- \  g6 R( l2.1.8 Hit trace
; Q% k3 w' B+ |0 `4 @: q' K' ^( _2.1.9 符号调试技术
4 w/ Z$ e0 U4 H2.1.10 OllyDbg常见问题
" L$ |, y6 M8 P1 L7 \4 e, J2.2 SOFTICE调试器8 e# \5 Q) p* p) g- f

. H6 X4 r; c6 ?/ p' X) A第3章 静态分析技术0 @* U2 R, j* T" ]' O

5 h- i+ R# ^* I# L4 D5 C3 {4 s3.1 文件类型分析
* r& v( X) Q4 L- m( I3 {* a. Z3.1.1 PEiD工具8 I+ E" X7 h9 ]8 H+ S& g
3.1.2 FileInfo工具4 B" j& G* V5 D% G4 h
% o8 B: F3 U  X/ v
3.2 静态反汇编
. C# d1 b+ k; }! j6 j* P3.2.1 打开文件
* o# r; c- R: h8 i3.2.2 IDA的配置1 J* u- E* E) ?1 y
3.2.3 IDA主窗口界面
( C! p- t) L; y3 @0 x3.2.6 交叉参考
5 ~" ^. K# K$ e( X6 S9 i3.2.7 参考重命名& O* |+ l( }4 t. V
3.2.8 标签的用法
7 p6 y* t1 {- s1 [2 [" V3.2.9 进制的转换0 T$ ?0 r$ H9 u$ |- f7 ~* a' p# `/ c
3.2.10 代码和数据转换( A4 C3 z: Q$ g" O* Z& ~* ?
3.2.11 字符串
+ \; z2 P. O; f1 |/ y9 ?6 @# m  d3.2.12 数组
! D0 s+ U8 G, U. ~1 c3.2.13 结构体: Z7 ]( B! U$ ]8 E/ S) L) M+ n2 X
3.2.14 枚举类型$ I5 e3 A7 N( o, o- m( a
3.2.15 堆栈变量
9 }& ~9 e/ \( `- o! c! X0 x  c3.2.16 IDC脚本9 a% ^7 f% O6 c& M8 P) a. H  `8 g
3.2.17 FLIRT4 N6 G9 t% X" h$ q+ M: h7 O! `' ?5 L
3.2.18 插件
3 d2 O0 H7 \# c: y) C3 O3.2.19 其他功能
6 X6 a1 S7 [' L' E  h# u) c3.2.20 小结+ q) ^9 F: x8 d; b8 w$ W3 Y
3.3 可执行文件的修改
& O! a9 p/ ?7 U7 A3.4 静态分析技术应用实例# m; h4 G3 m. ~) x( @5 O; l
3.4.1 解密初步
4 M6 C- C7 p3 h& j- x3.4.2 逆向工程初步2 Y. [6 S; @7 o/ _9 C

2 t( |, Q% V# W' }7 [% B第4章 逆向分析技术
7 @/ y4 m# _, M% U2 S2 p- T
* I1 D' [3 t1 o- v5 R+ q, J4.1 启动函数2 b* E7 e9 E- i' T' v
4.2 函数7 b, m, _& |" J! p  J# u# Z/ c* n  p
4.2.1 函数的识别( v! h+ j% o  l" A% _
4.2.2 函数的参数
% `  h+ p5 @1 J9 f4.2.3 函数的返回值
0 Z# R9 W' H5 E; k  K
; \2 ?4 Z- k1 t' f  E/ R! O9 h4.3 数据结构4 s2 \2 p- k+ d# G
4.3.1 局部变量6 |5 h% ^& Q9 w6 S2 u
4.3.2 全局变量6 g- N! l8 i+ I
4.3.3 数组3 J- R9 U* T" n# Z
4.4 虚函数
  D. \$ \. M  }. e( w4.5 控制语句/ }4 m4 d& e. I+ {) w9 R
4.5.1 IF-THEN-ELSE语句
; s! j7 x4 X; o, B5 J4.5.2 SWITCH-CASE语句
8 @1 D0 ]% ]* K1 x4 Z9 G4.5.3 转移指令机器码的计算
: w" K' J3 p. g' D0 P( t0 d4.5.4 条件设置指令' Z0 r: |' E: f
4.5.5 纯算法实现逻辑判断
, ^; ~3 ?7 N- M) Q% l, H4.6 循环语句
4 ?7 ~7 `2 \; y3 d  U  l3 \( p9 |/ D
+ q, ^2 s3 \5 p4.7 数学运算符
; z, Y" F- @- v  v" X9 E0 B* N4.7.1 整数的加法和减法' Y! K1 E7 U4 e
4.7.2 整数的乘法
1 K- R; U: W+ G$ i9 _  z7 U4.7.3 整数的除法$ U+ ]- V5 l5 \) A3 p; O7 c
6 Q" M7 v: b* e
4.8 文本字符串+ h4 l* {5 z2 p. ]$ A+ Z: k* X
4.8.1 字符串存储格式
/ i' R" l4 y+ s; K+ e4.8.2 字符寻址指令
1 ]1 ?1 }5 k1 Z1 v* ^4.8.3 字母大小写转换
- N, [7 K5 e' @( ~4 `& B: e4.8.4 计算字符串的长度7 j) s# U7 ?+ i2 t8 T4 [
4.9 指令修改技巧
' M/ l* T1 T! `' U
$ U" B/ Z; {3 P$ a8 c/ G  t' }+ W# q/ V第3篇 解密篇
2 v- J' S% k' j. g/ ~  }2 _) E* h* P" u1 c5 I
第5章 常见的演示版保护技术
2 |- [: x$ a$ O% Z: Q( q- T' c3 ~( g" L
5.1 序列号保护方式
3 f/ X9 J( A5 L4 y5.1.1 序列号保护机制( F% j# o3 I3 r% d) p5 D' F) _
5.1.2 如何攻击序列号保护  m, F6 `' `; M3 e
5.1.3 字符串比较形式
% f1 V* P! H% j3 l5.1.4 注册机制作' G' M9 N& ~: h8 _) L. K
5.2 警告(NAG)窗口
& J; t2 j. w' ]5 ~  k% b3 x7 r/ _/ g+ ~) y, ^3 A
5.3 时间限制
7 |: b, @( R( W% B: y! g5.3.1 计时器' p' E5 ~; Z. R1 D7 l
5.3.2 时间限制5 v, \, ~5 c6 q! R. j
5.3.3 拆解时间限制保护; m* U3 ^# O  ?0 Z/ \
3 w. f9 j5 V5 J3 \9 W
5.4 菜单功能限制
  M" |3 z; t) R) h4 Q5.4.1 相关函数
' r* \; D! t/ ^8 R5.4.2 拆解菜单限制保护
  D3 Z; A. i8 u& t
# E6 Z5 w0 j/ \$ g, p* Z/ j/ C5.5 KEYFILE保护, m5 ^% W5 H* f* f6 y
5.5.1 相关API函数% O% D9 P% {' [( o4 P$ i
5.5.2 拆解KeyFile保护
7 [. h7 R( P* v5 c9 c# |$ {& y: U7 f  t7 S- o2 F" y3 Q
5.6 网络验证
* I/ r; {1 H' n! E  S- x( B- s5.6.1 相关函数' g0 q  m& X( L  v4 j. K
5.6.2 网络验证破解一般思路+ r  [3 c2 s4 p0 Z( J- x
& Y1 @* a. c' ]: A* K
5.7 CD-CHECK- d+ D9 ?2 [! u% a( \7 @1 {
5.7.1 相关函数  ]7 f% u/ N8 }& J
5.7.2 拆解光盘保护! _9 \2 L* Q, o& j7 C

6 w: P& K) `! O& {7 s* k8 R* c5.8 只运行一个实例
8 s7 N5 F$ n3 ~/ z7 _8 o5.8.1 实现方案4 t7 k$ D" u" x1 m! T) ]) ]6 s
5.8.2 实例# W0 {' \4 C% |( l1 D7 o
5.9 常用断点设置技巧
% {* g2 g+ P2 E7 ^2 {
, j+ r& p9 |& J2 x) J, I第6章 加密算法
6 G: M1 b  _2 |- ^  r# _; X. f; Q
4 d3 V- ?$ R+ p! Z2 J6.1 单向散列算法
; W/ z& ^: O+ {) a; @1 |3 a6.1.1 MD5算法7 Y* H) y9 V5 Q. e( B. N
6.1.2 SHA算法
- Q; Y3 M: ?/ I8 ~6.1.3 小结
9 G2 @- h; G" ?
: A2 v3 V& u' S6.2 对称加密算法
/ h* }3 [7 D( ~; N6.2.1 RC4流密码
  `; y% x# L$ s5 q* o* e( U6.2.2 TEA算法6 b) Q! x7 t- b
6.2.3 IDEA算法: x3 J$ A& X8 G$ ]" f
6.2.4 BlowFish算法
  c& l) A7 v+ [* v6.2.5 AES算法. N0 X! Y8 Y" Y" _! t2 Z% _, S
6.2.6 对称加密算法小结* ?# R: U6 C0 n2 |1 P
; ~/ d+ a$ x# o& R
6.3 公开密钥加密算法
+ m7 p9 \/ }- N, _8 \% F3 W% W- F6.3.1 RSA算法, e# ?( \0 m( \6 f) {
6.3.2 ElGamal公钥算法
9 |6 t% Z" z" S6.3.3 DSA数字签名算法
, G6 i) X  V% O0 l( h4 X4 G6.3.4 椭圆曲线密码编码学# v  z3 \- ?% G# T$ `( ]3 R+ R

* d6 u' T0 D- m, c" s5 `& r6.4.1 CRC32算法( ^8 T6 d4 N* U& X8 \' e
6.4.2 Base64) @' F2 r, X/ \$ T% I* d
6.5 常见加密库接口及其识别
$ s$ D( b0 p+ x- S6.5.1 Miracl大数运算库
$ j4 A: P& C' i$ u8 E3 ^6.5.2 FGInt
! O! b; b% a+ T% G2 c  c6.5.4 其它加密算法库介绍4 W. |, `3 B  H$ b
, X% O! l& L; U$ d# \+ J# t. L8 x
第4篇 语言和平台篇
) {7 x$ z$ S9 A" b# d/ t# c, g/ @$ g9 ?7 \7 |$ x* R7 w
第7章 DELPHI程序
" K9 o2 V" C; p. P6 X  k$ d, s
5 p, ?1 _# _8 i, G! {9 b7.1 认识DELPHI
, C) S! L$ d5 W: B; N- A1 K9 U7.2 DEDE反编译器5 k) Y7 _% V- R$ t
7.3 按钮事件代码
8 ~+ E% ]7 k) o7 w) `# O6 ~6 m5 r7.4 模块初始化与结束化3 S' c3 C5 e; t7 W. l

" A% i' \+ O& Q/ w, l第8章 VISUAL BASIC程序
% l+ E- W* I0 E$ Q. h: |- u# g; s) P/ g4 O: f$ I
8.1 基础知识! h- j6 d$ b! N
8.1.1 字符编码方式
* o; `! y" H0 k( k" ?2 t5 h3 d. z* F+ v  K8.1.2 编译模式
* N+ X4 k. u% K, ?$ f8 Z0 B
/ _. o9 {: S# F; E0 k) a) G8.2 自然编译(NATIVE)
6 d7 q9 o0 j* D) Q% t8.2.1 相关VB函数
* X% K' h) ?5 J5 A( H5 o3 z& O/ H/ Y8.2.2 VB程序比较方式
7 z- J2 n( G$ U+ f
  _, X; r1 c! d8.3 伪编译(PCODE)(cyclotron编写)( S/ l! f/ y. S$ ]% `8 g
8.3.1 虚拟机与伪代码
7 e  W: Q2 R* J8 D5 G' P8.3.2 动态分析VB P-code程序5 E* F$ l2 p9 u0 ]6 M; ~
8.3.3 伪代码的综合分析
$ B' Y/ L" \, f! I# S* J+ @8.3.4 VB P-code攻击实战6 v( _+ l0 u; X: s3 }9 ]& l3 l3 M

! j4 |6 g4 F9 R' @$ r8 p( h% L第9章 .NET平台加解密(tankaiha 编写)* Y1 M/ P8 H9 t* N6 A- q
& j( u, X3 \! y8 ?* L) b5 h
9.1 .NET概述
: \* j1 I9 w2 e0 D9.1.1 什么是.Net
; ~- o8 M6 J: q7 l3 M. w9.1.2 几个基本概念/ s. {( N( ~* Z9 e3 L, u
9.1.3 第一个.Net程序2 [4 x" p* X6 M
4 @4 E& h9 U1 r( _# z
9.2 MSIL与元数据1 O1 `( V) C3 x) a+ W8 E
9.2.1 PE结构的扩展; y6 i* |, W$ E/ X. P6 }- @. i
9.2.2 .Net下的汇编MSIL  }  {3 s; o7 T8 D9 X8 o
9.2.3 MSIL与元数据的结合
) S( c: k0 C3 z$ ^( c0 r8 P
! Z$ K4 [! ]' {& t0 t( ]9.3 代码分析技术
( f* u# m7 F/ o  X+ A9.3.1 静态分析. ?5 O8 `# l$ s' y2 @6 s) g
9.3.2 动态调试
5 D" ~9 u/ C: c* E9.3.3 代码修改
0 B( r- M/ b, l7 h
4 P9 P* p: m( j, W2 Q# h7 |' }9.4 代码保护技术及其逆向
" r; S( J; s/ |' ~7 i7 \7 j9.4.1 强名称8 V* U2 d$ D5 K) v
9.4.2 名称混淆- g8 V2 P1 c. E; S( D
9.4.3 流程混淆2 W! a9 N0 v0 s
9.4.4 压缩
- o. {8 ]7 v" Y1 \1 n1 q8 b! f9.4.5 加密# b2 G; N* L5 N. {. q! Y" x5 g; y
9.4.6 其它保护手段
# K& D0 j0 u) Q: K% ^- Z) [' ?( @) ]6 L& K% p) E- x
9.5 深入.NET
0 M! D- R3 y8 i4 w7 a% W# ^0 v9.5.1 反射与CodeDOM8 Y# A) @! ]4 D' G
9.5.2 Unmaganed API
+ }" {; D+ V' J9.5.3 Rotor、MONO与.Net内核3 i, w5 I9 m* H- _$ e4 x. c
5 x  _9 W) }% U7 `- V& v
第5篇 系统篇# m7 C1 T- ^2 f$ |& P4 h9 S! R

! z0 U5 \0 A% M2 i: _& N: K. E. E第10章 PE文件格式
' {) S' }1 s! U/ e/ ]
  m: r" n$ C  e10.1 PE的基本概念
( C* W. y( T1 j; l10.1.1 基地址
$ l- C' w* W; t0 _10.1.2 相对虚拟地址- z  ?/ N, L2 T4 E) ?3 H3 Z& I
10.1.3 文件偏移地址0 ?1 m6 i2 q$ }. o4 m
10.2 MS-DOS头部2 S7 J0 s- n3 d- @9 h1 s2 ~

# i+ F: }: ?9 D" W10.3 PE文件头7 q2 y' n- ?; ^8 q# {% ~* X
10.3.1 Signature字段
5 P/ o& [- K& ^- n  k2 `10.3.2 IMAGE_FILE_HEADER 结构7 K' m. c# i2 T# D5 R3 J* U
10.3.3 Optional Header
( [2 O% ^; ~0 t( \; p1 `; M1 E
7 e" _% H: E/ r2 r3 U7 s# J, W6 v0 H10.4 区块, f) ]1 W1 p  j8 V
10.4.1 区块表: m/ }- O6 `# ?( O  |& h
10.4.2 各种区块的描述
+ E$ |3 @$ g4 r. Y10.4.3 区块的对齐值
4 G' m! T( y$ A1 U1 E$ v8 z10.4.4 文件偏移与虚拟地址转换# M0 o6 R) n; o3 x3 Z0 N6 j

! q! h" X9 Z' l10.5 输入表9 i1 n+ k# I& S8 g) j
10.5.1 输入函数的调用
9 y9 Z3 y3 t6 ?& T. m10.5.2 输入表结构8 d5 |# _( L& X4 g- @
10.5.3 输入地址表
& |7 L. z1 Z7 S* s% T- M10.5.4 输入表实例分析
% I2 {' a: N; y/ l- a9 I10.6 绑定输入/ I8 v5 [( S% t1 p

  u0 d. p" G) u- r" L" |+ r10.7 输出表
6 T% o. K$ E7 z10.7.1 输出表结构3 K! v; W5 [' f9 F; N5 Y
10.7.2 输出表结构实例分析9 w9 D: ?$ M/ \

+ g5 w5 E1 c" ~* w+ S- S/ @10.8 基址重定位
  I3 g3 g9 H, R+ N8 ~10.8.1 基址重定位概念
; O2 }# I/ [9 x# W5 g4 {5 T10.8.2 基址重定位结构定义
! }0 v. ?2 u! {- k8 i10.8.3 基址重定位结构实例分析
$ Q: \/ i6 e% N" I. c! N4 q$ `1 _. w" l5 r( t, W
10.9 资源5 d+ D/ [; [  |& w- g* |/ D
10.9.1 资源结构
7 q+ Z4 J9 S2 \7 i10.9.2 资源结构实例分析
. k' X8 |5 `" j8 n6 L, o: G/ B10.9.3 资源编辑工具7 j) n7 V/ B0 p: M  R& T
10.10 TLS初始化4 f# I. C, w9 V1 Q  ?- y; C  m
10.11 调试目录. x" r" z5 F/ p2 I3 ^1 J  ?
10.12 延迟装入数据: N# F; r& x1 K
10.13 程序异常数据- Y0 ]! z* H; ^( [* l0 E- ^6 U
10.14 .NET头部
0 j: m( l- d! ^* z( b10.15 PE分析工具编写
0 T2 [/ F2 Q1 `$ ^7 A1 i( p10.15.1 文件格式检查
$ J* X8 D" O9 v9 N10.15.2 FileHeader和OptionalHeader内容的读取7 `2 V1 f& o' L/ w
10.15.3 得到数据目录表信息
9 B' k1 B8 M' w9 W& z' l' i10.15.4 得到区块表信息
* q' A* E# Q. \3 R7 B0 L& c# s10.15.5 得到输出表信息* ]* g4 \1 Q3 J' V9 o
10.15.6 得到输入表信息
) J4 D5 z, S9 |; b1 F4 j
/ t/ L0 D! ~" R4 {第11章 结构化异常处理# q$ S# y% J" \. f5 s
6 N5 J, y0 [7 n" Q
11.1 基本概念" I# H8 t/ m% o6 z- y# V, `! \
11.1.1 异常列表
( ]& v  z1 J& C7 O. O  @11.1.2 异常处理的基本过程, q/ o$ }9 F$ u8 ?
11.1.3 SEH的分类
! k) t, f8 m- R) H/ P( ~! u, t- d2 N/ m( H3 S2 N+ [
11.2 SEH相关数据结构
% o( @  V; T8 V11.2.1 TEB结构1 x/ k+ a! j  t0 Z4 d. s+ Q
11.2.2 EXCEPTION_REGISTRATION结构) h0 N  T! c+ F) |  n
11.2.3 EXCEPTION_POINTERS、EXCEPTION_RECORD、CONTEXT" S8 w, |" @; e1 l" c( q
11.3 异常处理回调函数
% \6 l4 a# @1 ^' \4 [7 H& l2 F% @; |6 n/ C2 p8 h
第6篇 脱壳篇
( _: n( z7 c3 v6 a* h$ C# ]- H
2 J- F, }: ]- Z2 y! V/ E第12章 专用加密软件
$ C9 e, _0 n9 ~8 n3 z2 A6 y3 L2 n! g& s
12.1 认识壳
( I4 A" x4 L* `& ~$ A12.1.1 壳的概念9 y5 o2 A. k- D  h. d
12.1.2 压缩引擎
; s9 O( ^) s/ V! a- Z- Y12.2 压缩壳
, h5 g  q1 o5 k$ {12.2.1 UPX
4 H# d0 E; L) u9 }, X12.2.2 ASPacK* q) ?$ w; z; e; j! C- d: s/ h

. P- X/ B' B) }: c+ R3 Y% s# j' ?12.3 加密壳
' F. ]' `7 m, }3 ~5 |12.3.1 ASProtect& y2 r  k0 \" ?1 @5 r/ z& w0 K
12.3.2 Armadillo
* m  f! e2 v2 Y12.3.3 EXECryptor
0 [/ q* k4 [( m+ j+ j3 H12.3.4 Themida
! f8 R2 a9 c' f+ d# w9 E4 b4 {2 m* M3 U9 b
12.4 虚拟机保护软件
% ]' A; K5 T( r! v% a; U/ G' h3 n12.4.1 虚拟机介绍
7 F) \/ q% y* k1 A0 `% I; \12.4.2 VMProtect简介
, [# l$ Q8 k$ l8 [
- Y; E: ^: t: k& C第13章 脱壳技术; Q6 c, ~0 P% v2 w, H4 q9 J; `
) b/ m* h4 J1 B- O8 n: d: m
13.1 基础知识
: R% W5 |5 E& ~13.1.1 壳的加载过程
# }) V/ l6 [( A! _& H2 J4 x' i13.1.2 脱壳机. E3 \  s; e; n0 k, F( m# V
13.1.3 手动脱壳
# j- f1 M+ O" G' p4 K0 q/ t5 O6 [4 ^
13.2 寻找OEP! H/ S0 ~' Q, z( G$ a) g* M1 L
13.2.1 根据跨段指令寻找OEP
5 u- L9 ]" Z" q9 k( j& }13.2.2 用内存访问断点找OEP) Q1 |/ r# O( u5 d
13.2.3 根据堆栈平衡原理找OEP
) r8 J% e; [1 u; v  R+ t7 D6 x4 H7 p13.2.4 根据编译语言特点找OEP
% {1 s+ s) f  v  ]
- a' s" t) z. l) @, U7 K13.3 抓取内存映像! s& q) Z) m( m: I8 E! v4 J% l3 z! x# Q# z
13.3.1 Dump原理) \* M' T. o$ P9 p! [
13.3.2 反DUMP技术0 C1 |" T) ^% ?" C2 |+ l, i8 u

, t8 R$ k- M* m5 F# u. f! q13.4 重建输入表
$ o: a! N' A2 l4 O' R2 n) `1 T13.4.1 输入表重建的原理. ^' u7 L; \+ ~1 ~
13.4.2 确定IAT的地址和大小0 |2 W$ W5 }: @; Q2 x
13.4.3 根据IAT重建输入表# C) t& K" g! z2 U* g
13.4.4 ImportREC重建输入表' o- C* S( [: e2 u2 K
13.4.5 输入表加密概括
, d6 T1 o4 P' q, Y/ n  |5 r
& q) ?4 L5 B- `" v13.5 DLL文件脱壳
8 P, w3 b3 f- ]% U' X13.5.1 寻找OEP
1 R2 R5 O8 t, y" h" D3 ^/ }9 r13.5.2 Dump映像文件: A7 |0 |# R$ M7 O/ M" l8 E; {, _
13.5.3 重建DLL的输入表
2 b! l1 O+ f) a+ u7 L0 s8 r* D13.5.4 构造重定位表4 U& o7 N: A" k- }4 H# q2 \4 {
13.6 附加数据
/ v# `' \! ~5 e5 J13.7 PE文件的优化( V, R" u) b. K2 f
13.8 压缩壳$ W- `, A) p/ e& `; c
13.8.1 UPX外壳
0 X: a7 N! Y% C13.8.2 ASPack外壳
) m5 b& E* E7 _0 P5 W8 l5 I2 l13.9 静态脱壳; x; f: ?% M0 L
13.9.1 外壳Loader的分析
% m. r6 r- c( Z  w5 A13.9.2 编写静态脱壳器  i" B& U+ L3 u$ N
13.10 加密壳
& @9 t' C; l% o* x/ H9 y% \13.10.1 ASProtect
* h3 R4 ~" a8 j# e5 V13.10.2 Thmedia的SDK分析
& h' }8 v  c$ o' x% n7 \5 b+ |/ X
# Y/ Y. D1 q) ]0 W0 m2 `9 ~0 g第7篇 保护篇
! C3 b9 |& Z- Q2 Q4 S4 ]
, f  R. Y1 |$ A- {  L. r$ c第14章 软件保护技术3 R9 }3 K/ L* o4 C* e5 {
" \4 c% ^% z! v! E
14.1 防范算法求逆
/ c) }) E7 Q$ i/ P14.1.1 基本概念) a( p+ q# P0 o; _/ V
14.1.2 堡垒战术- |5 S* ^8 x' o0 N; |
14.1.3 游击战术
, }5 V' O! @+ f! {. e# H4 W; r% [0 A: N& Z+ ?+ a
14.2 抵御静态分析" E, v/ w; n& c  a& ~& ^1 ^
14.2.1 花指令9 D* R4 k! k% y. Q
14.2.2 SMC技术实现- n& u5 s' a' h5 N! V
14.2.3 信息隐藏
! ]  ^1 x9 ?+ E+ w8 V14.2.4 简单多态变形技术
' f9 p$ ~, R9 D; Y! j# `' O4 A5 g  _5 q
14.3 文件完整性检验9 R0 m+ j2 u% h
14.3.1 磁盘文件校验实现
9 z1 c/ h0 Z- p6 H, c, @14.3.2 校验和(Checksum)9 y# N# B: G" D0 i: l. f, D
14.3.3 内存映像校验
5 K4 r! X+ s5 D" x0 K
' r0 Y, D2 s' S3 S" x9 N, L14.4 代码与数据结合技术
+ N. _7 L6 M. I; A  ]# O14.4.1 准备工作
5 F2 R! J' |/ i* f14.4.2 加密算法选用7 a1 b, x/ p; E8 y1 A% _
14.4.3 手动加密代码
5 w, R0 o2 S0 B% \14.4.4 使.text区块可写
& w3 ~6 j8 q* G3 B7 r" d0 ^14.5 软件保护的若干忠告0 ^, h. W6 G$ \. m2 y
" n' f* s" ]& W, [$ J) j4 ?
第15章 反跟踪技术(forgot编写)& n. c$ N: g6 h$ `  a

/ z% V+ ~+ \: {$ c; ^15.1 由BEINGDEBUGGED引发的蝴蝶效应# P/ q3 ^; c6 q- a
15.1.1 BeingDebugged
5 `! p8 t. w+ T8 `# [* `& U4 m15.1.2 NtGlobalFlag1 i' u0 l4 g0 L
15.1.3 Heap Magic
# c- v7 U( P" [8 n, e' a  m15.1.4 从源头消灭BeingDebugged
2 n& I+ {5 x4 h2 a, e: O* l: `$ j6 \  C. G7 K
15.2 回归NATIVE:用户态的梦魇+ K4 I# |3 q7 l% T- K( _/ ~( J  R
15.2.1 CheckRemoteDebuggerPresent) L) o1 r, y  i' C+ Z
15.2.2 ProcessDebugPort8 R) ~3 b# I: O" U! K% F5 j) t
15.2.3 ThreadHideFromDebugger3 G9 B; Y8 |' I, j& C+ s
15.2.4 Debug Object" f9 A4 I, g$ I0 o! r
15.2.5 SystemKernelDebuggerInformation
% D# Y1 A! i+ w) q7 A6 B9 ~15.2.6 Native API3 _4 h  ]7 R  t5 O; {" u0 N
15.2.7 Hook和AntiHook
  @/ v7 x' |3 s) F8 G6 B- n! x* n. |
15.3 真正的奥秘:小技巧一览* s4 q9 p! l+ G1 R
15.3.1 SoftICE检测方法
' J# ^' ^4 m1 A- l0 V% g15.3.2 OllyDbg检测方法* P& F0 {7 e; u. H! v
15.3.3 调试器漏洞
. l. E0 ^, {  T+ x/ L1 A8 C( d15.3.4 防止调试器附加
) q; ^& S( t6 @+ T( I15.3.5 父进程检测
" z* D6 _& h. y15.3.6 时间差- {: g# A9 \, z0 C
15.3.7 通过Trap Flag检测
$ l) z# [' g+ ~+ B4 K0 i8 c15.3.8 双进程保护
& }' l+ _7 e9 d1 i( |# q9 T' {$ r/ F, Z) j0 ~
第16章 外壳编写基础(Hying编写)
0 f. x3 h7 p" d' Z3 Y! G9 \0 c0 ]
! P* o2 a6 W% u' Z8 D" X4 M16.1 外壳的结构
3 `! F* x3 _5 {16.2 加壳主程序" |8 m) n4 M* x* k) c0 _+ i  j2 ?
16.2.1 判断文件是否为PE格式; X& j3 ?' }, w* o; W# O1 y
16.2.2 文件基本数据读入
! I" `, n, ?5 W) u; t2 I! ~) l16.2.3 附加数据读取
; y  L7 P( A: E0 ]9 @16.2.4 输入表处理( Z) Y4 U& k: j% S
16.2.5 重定位表处理6 R  v! ]' L+ j; h
16.2.6 文件的压缩$ v3 e7 ^' L& T2 H) P
16.2.7 资源数据处理' c7 X1 w2 B$ K3 \
16.2.8 区块的融合
- y+ s& S7 c3 T% M- b5 u5 ^0 U/ U) @; \
16.3 外壳部分编写
3 ?1 R$ ~9 F) A* k! f16.3.1 外壳的加载过程
2 s$ I% [6 M: A4 q1 b16.3.2 自建输入表
  c# E$ x9 j, _% V0 g% t+ y16.3.4 外壳引导段
3 ^& }  k* o* i' e: g' H8 `# w( h16.3.5 外壳第二段
8 S$ v  P7 a; o  x) {16.4 将外壳部分添加至原程序+ |' A3 m% E+ [# i; {, V0 _1 ]' Z

- t1 }/ Q$ e! S% l# V第17章 虚拟机的设计
& j- g  h2 H6 |, o* @" U( K4 k- `# I  _# ]
17.1 原理
8 G3 s. P$ K# `! [4 u  Y9 p2 q# R17.1.1 反汇编引擎, a% y4 S9 e6 O2 c" z5 U6 l
17.1.2 指令分类
: A+ V8 M5 W, m& d
" n. D1 c+ j& g8 Z# x( o$ k17.2 启动框架和调用约定  l8 _" F2 L; Q1 ^+ T+ J
17.2.1 调度器VStartVM
# j; b8 w, }! A2 N) M, T) r/ Z17.2.2 虚拟环境:VMContext% b: Y; |- q. G6 O
17.2.3 平衡堆栈:VBegin和VCheckEsp
+ M9 J+ I/ [" D8 x
/ ^4 j* q5 p. M6 x3 o8 m17.3 HANDLER的设计
% W! o; q2 g: L3 M# G& K) n+ ^) w5 A17.3.1 辅助Handler
1 `1 r( @' X8 q# @) x% j17.3.2 普通Handler和指令拆解+ W: q  O7 s$ ?4 U
17.3.3 标志位问题
5 s1 J- @; o6 b+ T17.3.4 相同作用的指令
% o+ q$ s+ z& s+ h5 y17.3.5 转移指令
6 w. V( P5 n- L8 h0 l17.3.6 转移跳转指令的另一种实现
1 m$ K" ?/ Q/ @& E17.3.7 CALL指令$ q) i  p& h7 m1 E" E
17.3.8 retn指令
; K- R+ ]6 @2 w/ t17.3.9 不可模拟指令5 u9 Z6 t9 r" M6 [

+ E- u; F8 U& X; p17.4 托管代码的异常处理5 {4 \( Y" r0 w
17.4.1 VC++的异常处理$ T1 V! u& `3 R4 G) l' H
17.4.2 Delphi的异常处理
* r4 H; \  q7 {# m+ w& L! m) G; p  q17.5 小结. g: Y! k- M; |

- r! ~( l, h/ T0 U9 n  v  Y$ n第8篇 PEDIY篇
, }# g9 h* k( Y( m
1 F+ M0 ]6 |; a" q第18章 补丁技术& z2 S- h# p* T$ P0 e% `& W! o2 ]

/ M5 S4 }3 u8 ?$ S0 E18.1 文件补丁
! }: T6 {- @# Q18.2 内存补丁5 U3 }$ l/ ]0 _4 }1 g  x- e
18.2.1 跨进程内存存取机制! u  f6 j5 S4 V7 J3 \" l
18.2.2 Debug API机制
4 e$ a% \5 q: C/ k8 F+ s18.2.3 利用调试寄存器机制
! y$ R: i9 [6 y# d18.2.4 DLL劫持技术
( W. H: d1 ^) U& }2 l) Z6 v' J6 E3 t. B$ z
18.3 SMC补丁技术
: R  Q# @& J4 \! }18.3.1 单层SMC补丁技术* l* i% t/ P: h4 b! O. z6 Q
18.3.2 多层SMC补丁技术
- M' x/ u7 G+ K18.4 补丁工具
% ?- |3 w7 _2 @
. k- c1 I& n+ _& n0 u第19章 代码的二次开发+ t3 X- L* a; i. G. r8 T( M# z
  ]& @: A- L+ j% C0 s: a
19.1 数据对齐
. j' R3 U! e4 T- J# @, q19.2 增加空间
/ E$ S& {6 A" Z19.2.1 区块间隙1 x3 g9 m* m+ D$ B1 {& A8 J
19.2.2 手工构造区块
! E9 I) n' V' y5 D% h8 f& r19.2.3 工具辅助构造区块
0 t& k/ r0 X1 l0 U9 l0 [
. d! c  G0 Z6 U1 J% d3 O2 D19.3 获得函数的调用
; L- S, h- i/ t. ?19.3.1 增加输入函数
% K6 k5 ?& u1 x( a# B0 q19.3.2 显式链接调用DLL
9 U) {) Y* Z( u0 z' O7 q( C& O2 s. b) p( [
19.4 代码的重定位
4 n+ {6 }; W3 D! Y1 c19.4.1 修复重定位表
  w" a- A9 ~) g3 U. o19.4.2 代码的自定位技术; e& |" ^$ ^  S7 i, p; Q. r
19.5 增加输出函数
" Q2 \# m" o! ?1 G) C& ^+ J+ \1 _; v+ X
19.6 消息循环: i4 R' [* o4 g; p( F
19.6.1 WndProc函数( f1 e2 a; O/ ~1 A. ^- [- A( `* e( u% i
19.6.2 寻找消息循环
! V% b; w6 a# q; x/ \19.6.3 WndProc汇编形式
3 F; i' m- [% W" |/ _' f5 H7 N1 O$ m% {  K+ F6 j
19.7 修改WNDPROC扩充功能
  Y' }5 @, K( n$ s19.7.1 扩充WndProc) N( T% c8 B5 n( U) S8 T' a$ k5 C
19.7.2 扩充Exit菜单功能4 g! v' ~5 U# O
19.7.3 扩充Open菜单功能. x7 ]. M) L  l' `5 x/ t
6 c$ H. L) z, i, H- z0 r( C3 u* F
19.8 增加接口2 u4 ^: a5 I. P+ X7 A; U" z6 M, T
19.8.1 用DLL增加功能
6 s1 O4 t) b+ q# Z19.8.2 扩展消息循环
0 {) x: O" Z+ n1 f% r2 T3 L& _" Z2 D& n& M
附录  m3 }+ E5 G6 D7 d/ C8 I

4 s6 }- R; l# \附录A 浮点指令
3 Y. M* H" Y2 U' X1 f& ~7 Y% @+ a! b' f( f
附录B 在Visual C++中使用内联汇编
) W  f5 p0 }9 n8 I, J+ ?% V0 X( V
术语表8 ~  m! `1 Q+ Y
" W) g1 k, A. H8 i2 ?/ e
参考文献
" E0 g6 Y2 K: D+ n, y) v* `
1 r) c( Z" h  U
楼层
跳转到指定楼层
最佳答案
1 
累计签到:605 天
连续签到:16 天
谦虚求学 发表于 2017-3-1 14:12:52 | 显示全部楼层
   脑子乱了

发表回复

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

本版积分规则

关闭

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

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

小黑屋|手机版|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-2-23 08:37

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