18回答

0收藏

有趣的二进制 软件安全与逆向分析 PDF 电子书

电子书 电子书 386 人阅读 | 18 人回复 | 2023-09-01

Java电子书:有趣的二进制 软件安全与逆向分析 格式 pdf 电子书 PDF 电子书 Java吧 java8.com
! C5 C: C) Z- y2 D; `& ]3 T
! X- O. J8 f# s  G& Y% l! R  h
: L" a5 s* f) y3 B% R, v
编号:mudaima-P0360【Java吧 java8.com】
/ D( o" O$ t7 `
  ~) c& W& A; d) D2 @! |
* X- s, k; ?) u4 M6 G. E, B6 i
" ]) @/ H2 S6 @! ~3 _3 t
Java电子书目录:
第1章 通过逆向工程学习如何读懂二进制代码  
5 i1 C) D- s" q8 ]1.1 先来实际体验一下软件分析吧  + y* k$ u: j* a9 ~4 H
1.1.1 通过Process Monitor的日志来确认程序的行为  
- }; S* i0 G$ o1.1.2 从注册表访问中能发现些什么  
( T# Z9 ^  m5 j0 [: t1.1.3 什么是逆向工程  
  B8 o" k% Q3 D2 {专栏:逆向工程技术大赛  . n" J5 p) e: E6 A5 ~/ C+ M& n6 D
1.2 尝试静态分析  
) l8 t+ g; o7 k! Y" V1.2.1 静态分析与动态分析  / l7 `$ V3 i  ]" w6 k3 V
专栏:Stirling与BZ Editor的区别  
4 e. D8 a/ D$ V; i1.2.2 用二进制编辑器查看文件内容  5 S6 }- M( k7 ^4 l/ e. G
1.2.3 看不懂汇编语言也可以进行分析  
4 c) h0 U! A) H' R2 ^  @1.2.4 在没有源代码的情况下搞清楚程序的行为  2 |$ \" C( c& K8 J1 K( N9 V0 T
1.2.5 确认程序的源代码  6 G* ?& u4 E& U$ p- C( d
1.3 尝试动态分析  ( Z, [" u! @7 X6 G1 a" p* X
1.3.1 设置Process Monitor的过滤规则  
, j  ?( M! C; ?8 i4 J+ P3 A4 {1 d0 W1.3.2 调试器是干什么用的  " I4 Z4 r2 g$ G
1.3.3 用OllyDbg洞察程序的详细逻辑  & k8 U3 h" P6 [2 u" N9 X3 S4 J
1.3.4 对反汇编代码进行分析    a" ~% @6 m# @; G
专栏:什么是寄存器  
$ q5 H9 d; y  J. S" l. N( d1.3.5 将分析结果与源代码进行比较  - ?% g9 _2 W- @. a
专栏:选择自己喜欢的调试器  
2 l* _  i- R" a" f3 E1.4 学习*基础的汇编指令  & Z5 f- K$ G7 ]! G' [* u6 P
1.4.1 没必要记住所有的汇编指令  : M0 ?3 V! u6 j+ `" J
1.4.2 汇编语言是如何实现条件分支的  + K5 Z9 S" @" J3 k( Q. q- q( L8 p# K8 y
1.4.3 参数存放在栈中  0 G$ u, t, z8 ^, t: x* Y5 {$ |1 ~
1.4.4 从汇编代码联想到C语言源代码  ! Z, V  ]+ @8 D
1.5 通过汇编指令洞察程序行为  
+ q2 h" p; ?& m3 m0 {3 V2 d1.5.1 给函数设置断点  , ~6 u* T  S! w5 h3 c" O3 F/ ?
1.5.2 反汇编并观察重要逻辑  
: O- i& c2 |! d8 t专栏:学习编写汇编代码  1 X- e) P& G$ C, N8 p
第2章 在射击游戏中防止玩家作弊  
9 C5 e) ?6 ^8 b5 r2.1 解读内存转储  ) C" @5 r# }/ L% p* z- R+ p
2.1.1 射击游戏的规则  ( Q5 a; V; z; \, n  ~
2.1.2 修改4个字节就能得高分  
. I2 Q: @9 L+ K2.1.3 获取内存转储  
4 w' e; N% \7 F3 z* s9 `9 c2.1.4 从进程异常终止瞬间的状态查找崩溃的原因  
/ {$ j+ O4 i5 k( c2.1.5 有效运用实时调试  
6 }8 X3 L7 B* N2 A2 @4 M2.1.6 通过转储文件寻找出错原因  
( m+ h, a* A( z3 }. N  T专栏:除了个人电脑,在其他计算机设备上运行的程序也可以进行/ Q$ l) \5 W7 j
分析吗  & ]  a% p+ k% n. Y+ z9 F
专栏:分析Java编写的应用程序  ) s$ L2 x; O7 p4 ~  c
2.2 如何防止软件被别人分析  
$ K- D3 m1 Y3 v6 x1 F' Q1 O2.2.1 反调试技术    \# |) Y# r& k7 e1 D; i
专栏:检测调试器的各种方法  
/ ^' w# H- [% x: V3 y2.2.2 通过代码混淆来防止分析  ' U4 r& x! I3 U9 w
专栏:代码混淆的相关话题  . u' \/ ]" u6 g
2.2.3 将可执行文件进行压缩  
+ `5 j' U: n! R$ P" A9 ~1 k2.2.4 将压缩过的可执行文件解压缩:解包  ; L# D( v* d5 z1 J1 z
2.2.5 通过手动解包UPX来理解其工作原理  9 H5 @6 b, R, F) Z7 H" O
2.2.6 用硬件断点对ASPack进行解包  $ |+ `# k" ]& X/ c2 ~4 T
专栏:如何分析.NET编写的应用程序  
/ z" M# h' c9 @& B第3章 利用软件的漏洞进行攻击  . [; B% [( Q, p/ x  d3 ^
3.1 利用缓冲区溢出来执行任意代码  7 d" h( J" l, }3 s7 w
3.1.1 引发缓冲区溢出的示例程序  
0 y0 p) Z7 f& o# m3.1.2 让普通用户用管理员权限运行程序  # k9 A1 g- x, a! I* ?% w; l
3.1.3 权限是如何被夺取的    c( U4 }1 u: T6 Z  I2 J2 b
3.1.4 栈是如何使用内存空间的  9 @9 S# q1 @4 V, e
3.1.5 攻击者如何执行任意代码  , n" }1 N% l" [/ O" j
3.1.6 用gdb 查看程序运行时的情况  
2 L# ?* U& O; U; ?3.1.7 攻击代码示例  ' ~; I! h1 I# v0 \
3.1.8 生成可用作shellcode的机器语言代码  
& ?  ^5 e- D' G  q' G, y3.1.9 对0x00的改进  
) K7 I( Y$ X) p; {专栏:printf类函数的字符串格式化bug  
, H2 C0 k) x! ]3.2 防御攻击的技术  
* D  M* d* q, d" u+ T' x3.2.1 地址随机化:ASLR  1 T* ~# e4 X' L% V6 _
3.2.2  除存放可执行代码的内存空间以外,对其余内存空间尽量0 B" |9 o$ o1 j8 }! v' W3 n
    禁用执行权限:Exec-Shield  
* `4 d0 S6 M/ {- p3.2.3  在编译时插入检测栈数据完整性的代码:StackGuard  ; v/ U) N9 H( p3 H
3.3 绕开安全机制的技术  
2 Z3 D; C6 b0 r' l6 o) K3.3.1 使用libc中的函数来进行攻击:Return-into-libc  % c( ?8 w: ^8 I0 e! |% b5 B
3.3.2 利用未随机化的模块内部的汇编代码进行攻击:ROP  
) Q1 ]3 L& ~- l( l) ]专栏:计算机安全为什么会变成猫鼠游戏  
. _0 n1 D5 ^; s3 B' H第4章 自由控制程序运行方式的编程技巧  
0 o5 p" v6 |( u: t5 j4.1 通过自制调试器来理解其原理  
- l0 [7 m7 L7 s2 Y" O4.1.1 亲手做一个简单的调试器,在实践中学习  
9 ]6 y$ f3 n6 s( _  q5 \3 d4.1.2 调试器到底是怎样工作的  
9 j. v  J' l& c6 g8 W) c. H4.1.3 实现反汇编功能  
. Z# b, i6 V! w  I4.1.4 运行改良版调试器  7 N% ?! b) B* J/ G4 W
4.2  在其他进程中运行任意代码:代码注入  ) v% \2 Z5 `8 J. U6 U
4.2.1 向其他进程注入代码  % A$ M( d0 t6 h  h
4.2.2 用SetWindowsHookEx劫持系统消息  % {8 z6 H/ T; q/ H  t5 G8 d
4.2.3 将DLL路径配置到注册表的AppInit_DLLs项  
, }- Z( ]  z) [9 G1 |" N* a4.2.4  通过CreateRemoteThread在其他进程中创建线程  
6 a; [) h3 W4 b) B0 _4 _3 @' N4.2.5 注入函数  + g& B. n" K! [9 j' {) A9 i
4.3 任意替换程序逻辑:API 钩子  * W( R7 L6 S+ S' C3 `% ]
4.3.1 API 钩子的两种类型  ) E0 c7 U, x& K! n/ G) N
4.3.2 用Detours实现一个简单的API 钩子  ) h( o& I  r  I( p) @2 M6 v
4.3.3 修改消息框的标题栏  
% P9 g$ G+ ^7 w; ?- i- l专栏:DLL注入和API钩子是“黑客”技术的代表?  
% w4 [* E4 k( B1 ]3 ^- n0 F: C第5章 使用工具探索更广阔的世界  1 a# N, u$ Z% J+ A5 k3 l( y: I
5.1  用Metasploit Framework验证和调查漏洞  ' `7 O: J; y: K: W+ Z
5.1.1 什么是Metasploit Framework    V' m5 @; y- q* V0 \1 D: C# l
5.1.2 安全漏洞的信息从何而来  # K' n& ~5 _+ h% O. \
5.1.3 搭建用于测试漏洞的环境  8 h- a& H+ S3 F$ l. x, P7 q( [8 B
5.1.4 利用漏洞进行攻击  
' M! T" }8 w( w9 g6 K专栏:深入探索shellcode  ! g: l0 f; P* b  ]/ A8 s9 X' A- l; v( z
5.1.5 一个ROP的实际例子  
9 R4 Z* P5 B( D% t9 @5 r5.2 用EMET观察反ROP的机制  
+ b9 d2 S. y) O" m; S, \0 h2 S5.2.1 什么是EMET  
! f* w. E: Y8 E: s9 k+ V/ u5.2.2 Anti-ROP的设计获得了蓝帽奖  2 S& \, q* ^) N8 Z  ]" \
5.2.3 如何防止攻击  
9 H" K' q) M, n" e- l5 i) c8 E/ y) S5.2.4 搞清楚加载器的逻辑  5 {9 S1 k. K3 h" T5 m
5.2.5 DLL的程序逻辑  , A8 \8 U/ p* e2 W( c& Q* I& \
5.2.6 CALL-RETN检查  
& y3 s: B9 F1 Z( x* G8 a6 B7 x$ U5.2.7 如何防止误判  + q2 N% j' H# b! ]/ c7 L
5.2.8 检查栈的合法性  : z$ L, T' a+ k( h( M
5.3 用REMnux 分析恶意软件  " F4 K; F0 u" y5 J& C' x
5.3.1 什么是REMnux  
( K: _7 \" C" {" f$ D5.3.2 更新特征数据库  
4 O$ s# {7 m+ k& z6 J) k! {5.3.3 扫描目录  . s2 U0 \) r) h" K8 O
5.4  用ClamAV检测恶意软件和漏洞攻击  
  R/ Y+ V8 F( K5 I$ i5.4.1 ClamAV的特征文件  9 k1 S3 H8 t! b" v: l8 U- w
5.4.2 解压缩.cvd文件  
0 I0 G5 M  v6 N/ x5.4.3 被检测到的文件详细信息  
5 ~  m' s% k/ g5.4.4 检测所使用的打包器以及疑似恶意软件的文件  
& G6 l0 [9 Z" \9 X5.5  用Zero Wine Tryouts分析恶意软件  & e1 \( L0 p* |% Y# @  i  @
5.5.1 REMnux与Zero Wine Tryouts的区别  * z! @$ Z3 y8 t& c0 g7 w2 Y: p( W
5.5.2 运行机制  
$ v' R$ h4 J# ^9 @1 N5.5.3 显示用户界面  1 @. L& ~) q! k  h% c
5.5.4 确认分析报告  
! s" I9 G/ E/ u3 E6 N: p专栏:尝试开发自己的工具  
! N6 Q# b- p- W) Q+ V) D  H5.6 尽量减少人工分析:启发式技术  
  t$ T# o& v* P8 L7 j# I5.6.1 恶意软件应对极限的到来:平均每天60000个  
% D5 o! D; T, o4 a2 |# i, N7 `5.6.2 启发式技术革命  / i/ x. H% f. E3 z: A* d9 s' B2 k
5.6.3 用两个恶意软件进行测试  ' D4 m  c3 c' i0 P
附录  java8.com
) s* S. p! E9 n* b1 G) q5 m# `" j  lA.1 安装IDA  
' f, V& D' d8 e2 a: Z- J) j) jA.2 安装OllyDbg   
& ^$ N' n) U4 D$ m3 |- h4 hA.3 安装WinDbg  7 R8 L/ \1 s  _( w
A.4 安装Visual Studio 2010  5 @( G2 l$ v5 z! Q, `) g
A.5 安装Metasploit  & y2 y# P# w+ W
A.6 分析工具  
/ Q) `% V4 _+ yStirling / BZ Editor  
& m' r5 @" F" ]* M2 g$ aProcess Monitor  $ v& }; v9 `7 S/ p
Process Explorer  
- |) ~" ?" q( ~# ~  N$ wSysinternals工具  
) k& i* _; S  M4 o, ~6 K* X兔耳旋风  - [* {0 a0 i0 s" j" e8 }/ p7 r8 s
参考文献  2 f/ A. s3 O- B& P& Z
后记

  ^( i, l' F) K2 v% j
7 F  n5 k, ?. V0 ]
百度云盘下载地址(完全免费-绝无套路):
游客,如果您要查看本帖隐藏内容请回复

& j; n& p! B; l/ u

本帖子中包含更多资源

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

x
关注下面的标签,发现更多相似文章
分享到:

回答|共 18 个

马克思的故事书

发表于 2023-9-22 14:17:04 | 显示全部楼层

免费下载的网站 头一次遇到 不错

这是个有特点的名字

发表于 2023-9-23 20:58:13 | 显示全部楼层

免费资源 真的无套路

无畏不惧

发表于 2023-9-23 22:18:29 | 显示全部楼层

资料免费 给力

李新私号

发表于 2023-9-24 21:42:38 | 显示全部楼层

我来白漂了 多谢

梦里常有桂花香

发表于 2023-9-25 14:35:08 | 显示全部楼层

资料免费 给力

大官人肖恩

发表于 2023-9-29 09:17:26 | 显示全部楼层

免费资源 真的无套路

方方方方方方

发表于 2023-9-29 14:22:39 | 显示全部楼层

白漂来了

爱是个误会

发表于 2023-10-1 10:21:39 | 显示全部楼层

资源很新 好好好

得失心

发表于 2023-10-6 11:25:46 | 显示全部楼层

资料免费 给力
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则