18回答

0收藏

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

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

Java电子书:有趣的二进制 软件安全与逆向分析 格式 pdf 电子书 PDF 电子书 Java吧 java8.com0 }# f; j- N) M, _' S. z# u
5 K/ E/ \: \# z/ s
+ f, j! q; A+ X* O( A  M' D
编号:mudaima-P0360【Java吧 java8.com】
7 e4 I- Z2 K/ o; f6 l; a6 X$ Q% s
" a8 c3 X) ~* I6 {2 H& ?
! F1 O  d0 L% Y2 J

5 q) v7 V; D) c' U: UJava电子书目录:
第1章 通过逆向工程学习如何读懂二进制代码  & Y) v: P# v3 y! @
1.1 先来实际体验一下软件分析吧  
. ^( T5 C9 F3 l# K/ O1.1.1 通过Process Monitor的日志来确认程序的行为  
6 b& r. E2 S+ ]1 Q) q% f3 _6 f1.1.2 从注册表访问中能发现些什么  
- N2 K) \6 E, `9 h0 ]3 P7 {( U9 @1.1.3 什么是逆向工程  ; C* s9 R" ]/ k& ?; @1 _8 V
专栏:逆向工程技术大赛  
9 g2 D! E2 O% M4 `1 p9 T1.2 尝试静态分析  
7 W" `  @* T8 U* x0 r' O  k' t% B1.2.1 静态分析与动态分析  % {, M# {' j# I/ s: \
专栏:Stirling与BZ Editor的区别  1 _# v% r2 X# J0 D! G1 t0 N
1.2.2 用二进制编辑器查看文件内容  0 F5 S- C# a- ]# Y& D/ G/ H# @
1.2.3 看不懂汇编语言也可以进行分析  5 ?9 p9 a" |8 q  R4 T+ D, g( y
1.2.4 在没有源代码的情况下搞清楚程序的行为  
1 _/ L  i3 U( a( I1.2.5 确认程序的源代码  
" k3 A. z2 f( N* Y/ n8 g1.3 尝试动态分析  
+ F' R: T" P, y1.3.1 设置Process Monitor的过滤规则  
, F; p' @  p6 s# x* O1.3.2 调试器是干什么用的  , N6 K3 b2 j; F: f
1.3.3 用OllyDbg洞察程序的详细逻辑  7 O7 K7 {/ H3 ^7 z  ]6 U$ e+ Z
1.3.4 对反汇编代码进行分析  8 ]% O3 d) D. }5 k- v' q5 y
专栏:什么是寄存器  ) F' _4 Z/ n# ?6 q' j) p0 q" S
1.3.5 将分析结果与源代码进行比较  
6 B6 V+ S1 {: ~7 Z5 d. m专栏:选择自己喜欢的调试器  . U( m* z& ~. c' }
1.4 学习*基础的汇编指令  ! B; n. D4 K, b3 K9 C
1.4.1 没必要记住所有的汇编指令  * b5 h% l. b; \. Q8 E, r9 e
1.4.2 汇编语言是如何实现条件分支的  
& P" U: \7 |* D' ~. c1.4.3 参数存放在栈中  $ x- J5 @2 \* b6 G" I& l+ r3 B1 N9 g
1.4.4 从汇编代码联想到C语言源代码  
: \- t5 f$ B% f: [8 K7 q1.5 通过汇编指令洞察程序行为  
% I! r5 t$ R3 g0 C3 k1.5.1 给函数设置断点  ! j4 _6 H4 q) m  Z' s' V; h0 ]
1.5.2 反汇编并观察重要逻辑  
9 C5 E* p( I& K& P& q  Z专栏:学习编写汇编代码  . O' M) b3 \/ a
第2章 在射击游戏中防止玩家作弊  6 c4 N6 a* W1 P5 e
2.1 解读内存转储  , B: d3 N. N6 Z1 e, y6 ~! N% f
2.1.1 射击游戏的规则  . A; U4 ^/ O' m4 H8 I( H4 `0 K
2.1.2 修改4个字节就能得高分  
% U9 z; N2 S+ r/ l3 ^8 R2.1.3 获取内存转储  ' |' T6 x1 U( K1 M# u! m
2.1.4 从进程异常终止瞬间的状态查找崩溃的原因  9 g+ e- A( V, n' d" D
2.1.5 有效运用实时调试  
$ L2 A8 X+ P' l( I' z2.1.6 通过转储文件寻找出错原因  ) ~1 r2 p' D) N0 F; D5 ~3 P7 t
专栏:除了个人电脑,在其他计算机设备上运行的程序也可以进行
, S8 z; N- F* v2 R分析吗  - O" [  g! x" k4 x
专栏:分析Java编写的应用程序  
9 d$ K  t7 E% |/ z0 w2.2 如何防止软件被别人分析    n+ k% n1 \* d- {
2.2.1 反调试技术  # Q9 R7 [# p: p) Z
专栏:检测调试器的各种方法  ' J+ L: }+ e; V0 I0 s; u' R
2.2.2 通过代码混淆来防止分析  
, R, Q. ?& S8 `$ Q/ Q8 u# G专栏:代码混淆的相关话题  
8 C1 ~" {9 O4 i& \! m2.2.3 将可执行文件进行压缩  
$ U+ }/ H1 l6 N0 N/ V; @; a, I- v$ b2.2.4 将压缩过的可执行文件解压缩:解包  
, g, K" m+ ]# U2.2.5 通过手动解包UPX来理解其工作原理  
5 @1 X. u% f  K" ^- Y* B+ M2.2.6 用硬件断点对ASPack进行解包  
+ N4 v7 d4 X3 V专栏:如何分析.NET编写的应用程序  
5 M2 j: o9 @- b5 }2 S1 m. L. _2 K3 T第3章 利用软件的漏洞进行攻击  
# {% o, G, {: X  q+ ]3.1 利用缓冲区溢出来执行任意代码  
+ a+ N4 T2 Z) Q2 _3.1.1 引发缓冲区溢出的示例程序  
( g' E1 p* q* o* Z3.1.2 让普通用户用管理员权限运行程序  2 B* w. y3 |8 w8 x+ _
3.1.3 权限是如何被夺取的  
3 e2 w3 ?7 o4 Z3 z8 y1 d. c3.1.4 栈是如何使用内存空间的  
  M) e2 H! l/ n! J; K$ N3.1.5 攻击者如何执行任意代码  
" U  F- Q" `2 G/ I8 S' w) l3.1.6 用gdb 查看程序运行时的情况  
1 T7 N: f( T3 q1 [' A# Q6 s3.1.7 攻击代码示例  8 _4 a4 a" d' w9 ~
3.1.8 生成可用作shellcode的机器语言代码  
+ L: I. Q0 a8 n( G2 v# ~3.1.9 对0x00的改进  ) u0 v* o8 B0 L# b1 O- M
专栏:printf类函数的字符串格式化bug  / x+ t  c5 [" D+ a* |% V
3.2 防御攻击的技术  , H. d" H, z% `
3.2.1 地址随机化:ASLR  
0 D$ j+ e/ G- i/ ~$ p7 _3.2.2  除存放可执行代码的内存空间以外,对其余内存空间尽量
  v( @- F0 H4 b( w    禁用执行权限:Exec-Shield  
! G7 d4 K4 D: H- e5 J) P% e$ F3.2.3  在编译时插入检测栈数据完整性的代码:StackGuard  
9 \& i: L% O) j- [) \# K3.3 绕开安全机制的技术  
$ O9 C" D- J% D3.3.1 使用libc中的函数来进行攻击:Return-into-libc  8 X- P" q9 c$ R; T1 }0 i/ m
3.3.2 利用未随机化的模块内部的汇编代码进行攻击:ROP  . ^) V1 L! o1 q
专栏:计算机安全为什么会变成猫鼠游戏  % P" c/ E* p1 |0 r* i2 x1 M, f8 F
第4章 自由控制程序运行方式的编程技巧  
  `; a4 _1 c, u( s) v8 n4.1 通过自制调试器来理解其原理  / J  x* U- a. }
4.1.1 亲手做一个简单的调试器,在实践中学习  ( H- Y+ C) @) i( a+ [
4.1.2 调试器到底是怎样工作的  * `3 z/ G3 W# X7 f. h
4.1.3 实现反汇编功能  : T* u  e* {- G8 I) ]
4.1.4 运行改良版调试器  
6 }# L! Z  B! j4.2  在其他进程中运行任意代码:代码注入  
0 a! w% A- X9 X% `( k8 c4.2.1 向其他进程注入代码  0 h) c/ X6 x) B7 V: T/ b8 J2 u
4.2.2 用SetWindowsHookEx劫持系统消息  . ^1 k% r2 H% R) P
4.2.3 将DLL路径配置到注册表的AppInit_DLLs项  - s6 }! X% ?3 y
4.2.4  通过CreateRemoteThread在其他进程中创建线程  0 z) E3 X2 z- B
4.2.5 注入函数    W. b) x) t) B' V" Z7 v
4.3 任意替换程序逻辑:API 钩子  ( f$ J9 n' q0 f7 W3 [
4.3.1 API 钩子的两种类型  ! a/ i7 n( Z9 g0 a, A8 Y, q' O
4.3.2 用Detours实现一个简单的API 钩子  ) H: b4 i* G8 V$ b  ^
4.3.3 修改消息框的标题栏  ; s* t7 Q" A3 s: r* |$ h2 u* Q
专栏:DLL注入和API钩子是“黑客”技术的代表?  
2 A  w( I1 V) M1 W' X3 w! d9 A第5章 使用工具探索更广阔的世界  
9 O2 g3 G# D1 R1 ]0 G- l0 E: ^5 L5.1  用Metasploit Framework验证和调查漏洞  
3 L6 N3 h: W( a' Q* i5.1.1 什么是Metasploit Framework  0 `8 t0 k/ w) ], H# F
5.1.2 安全漏洞的信息从何而来  
' \7 Q/ I$ j3 R, Y* r' c5.1.3 搭建用于测试漏洞的环境  
5 L  k' r, U/ E- R; ~5.1.4 利用漏洞进行攻击  
9 p) R" s8 }/ j7 _专栏:深入探索shellcode  
  x5 i: j4 w$ A# R4 D2 d: l, |) M5.1.5 一个ROP的实际例子  
4 P% V8 o& p$ }+ Q8 T8 d5.2 用EMET观察反ROP的机制  
- R: s9 Y$ o. B) ~5.2.1 什么是EMET  / p6 N  }* \3 e0 D( j- f9 N
5.2.2 Anti-ROP的设计获得了蓝帽奖  ' F, @4 |# ?' f
5.2.3 如何防止攻击  
) x9 D; L. Z5 U9 M3 X, m. O7 }5.2.4 搞清楚加载器的逻辑  
8 n& e  n$ i! H& f/ v! S# b5.2.5 DLL的程序逻辑  
& x# N4 j" i* X2 T9 I5.2.6 CALL-RETN检查  
9 g. R+ n/ `' Z  j5.2.7 如何防止误判  7 x5 x/ m! Z5 B
5.2.8 检查栈的合法性  4 G7 @/ ~' r3 _( ]
5.3 用REMnux 分析恶意软件  2 W" G- G' q+ ]& a
5.3.1 什么是REMnux  
  j7 N: S" Y0 x) E: o5.3.2 更新特征数据库  
6 f8 {$ ]6 x% I  e* _5.3.3 扫描目录    W% c# ?  j8 l4 W/ N7 t
5.4  用ClamAV检测恶意软件和漏洞攻击  
+ v; s. e9 n# x  ]+ Y6 z5.4.1 ClamAV的特征文件  6 r$ \* N3 {% D8 N
5.4.2 解压缩.cvd文件  ) ]# A3 R; S% B% w7 s1 X# l6 n
5.4.3 被检测到的文件详细信息  $ I- h  y! l7 |$ ?, Z
5.4.4 检测所使用的打包器以及疑似恶意软件的文件  
- X+ b$ o' Z; g$ m6 D, g& ^5.5  用Zero Wine Tryouts分析恶意软件  3 O/ R% G1 O) D9 x2 y9 Y1 O: z
5.5.1 REMnux与Zero Wine Tryouts的区别  1 P5 x$ m9 ?. a3 e! f0 Q! _0 e
5.5.2 运行机制  % B3 R( W/ D5 H4 {8 u2 u
5.5.3 显示用户界面  ; |- f5 a0 t  ?. w( I1 c4 {$ y1 N
5.5.4 确认分析报告  
1 m& d' m" e0 a5 L! L" F7 t( C专栏:尝试开发自己的工具  
# @+ y! v  l" q1 [5.6 尽量减少人工分析:启发式技术  
1 H3 L- Y% T- q* D/ X9 ]/ t5.6.1 恶意软件应对极限的到来:平均每天60000个  6 }0 f. z1 G! ?$ F8 d6 p, @1 F
5.6.2 启发式技术革命  
9 M! k& u/ v0 R& G5.6.3 用两个恶意软件进行测试  ! k  D( |4 Y+ ?
附录  java8.com
* D! @: f! N6 P7 }3 ~A.1 安装IDA  2 q/ ~3 b8 A1 j7 \
A.2 安装OllyDbg   
8 B1 d; [; V* Q' `A.3 安装WinDbg  . f3 t$ J& l4 t, ?
A.4 安装Visual Studio 2010  - E2 m6 d7 i, H
A.5 安装Metasploit  # k: q- j$ f8 g8 ]8 T, w- R/ M  S+ }
A.6 分析工具  : E8 b) k% L+ |% h1 y; b$ `+ v3 J
Stirling / BZ Editor  
9 \' @* Y( v( _& tProcess Monitor  
+ J/ O5 W$ t) `1 f9 x. [' s, FProcess Explorer  
+ K- ]. |9 X! ^$ {! K" @Sysinternals工具  
- v6 e) x( U7 H( ?8 V: _, M& s兔耳旋风  . z/ w5 T1 |1 @& m2 ^
参考文献  
7 ]! [* r6 c9 x+ I# @3 K' {& k8 `后记
& Z# ?; |& G6 C4 e4 u

: N5 {% `3 V! R6 x$ P
百度云盘下载地址(完全免费-绝无套路):
游客,如果您要查看本帖隐藏内容请回复
/ B; C4 }4 F% y

本帖子中包含更多资源

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

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 | 显示全部楼层

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

本版积分规则