19回答

0收藏

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

电子书 电子书 1636 人阅读 | 19 人回复 | 2023-09-01

Java电子书:有趣的二进制 软件安全与逆向分析 格式 pdf 电子书 PDF 电子书 Java吧 java8.com$ M3 w  @2 r$ r( o

* S8 T% {% [; m  p
3 |( w6 }; t! N0 q4 K  O, v/ B
编号:mudaima-P0360【Java吧 java8.com】. @! h" b8 A4 F5 s1 V* i7 S! Z- Y
1 g& {6 C3 y+ o3 `3 `* z1 p3 u: T
0 u3 M  g1 ]  h" _
5 b) f. j# D- g. t1 z& d* g
Java电子书目录:
第1章 通过逆向工程学习如何读懂二进制代码  8 ]. _" v4 w5 k
1.1 先来实际体验一下软件分析吧  6 u. f, A5 }# `6 g4 A
1.1.1 通过Process Monitor的日志来确认程序的行为  9 {- f& b) S8 v6 C( ~
1.1.2 从注册表访问中能发现些什么  
3 K, X4 ?  k7 t2 Q/ w# C1.1.3 什么是逆向工程  5 V2 p; ~! A6 m$ |( e0 W9 G
专栏:逆向工程技术大赛  
  _; @( p* b/ a1 y1.2 尝试静态分析  
4 G" y' f6 M5 }1 u: S1.2.1 静态分析与动态分析  
8 X/ |3 Z: \, y2 j. ?1 ]% J专栏:Stirling与BZ Editor的区别  ( z. @4 ?# I" T
1.2.2 用二进制编辑器查看文件内容  
3 E. S4 c$ c9 z5 Z7 E2 I1.2.3 看不懂汇编语言也可以进行分析  4 g& h$ j; N7 i5 ]! ^# i+ h
1.2.4 在没有源代码的情况下搞清楚程序的行为  
1 D  d7 _) \) I* x2 {* L1.2.5 确认程序的源代码  
' c+ G3 t# [8 a' y9 g0 ~1.3 尝试动态分析  6 T: l4 D. x) g" t6 R
1.3.1 设置Process Monitor的过滤规则  4 l5 `# K/ e5 X! X! P3 y
1.3.2 调试器是干什么用的  : q. s' I$ g8 J% m! h0 @% i
1.3.3 用OllyDbg洞察程序的详细逻辑  / {/ ]' |: c4 y9 [4 a; K) Q% M  A- q
1.3.4 对反汇编代码进行分析  9 |# ^, r/ p; g6 ~
专栏:什么是寄存器  
2 I+ X" O6 c  {! E. R  F' S1.3.5 将分析结果与源代码进行比较  7 `0 A% }! {3 m5 k& Z& A
专栏:选择自己喜欢的调试器  # E) g, c1 j, f: a( D7 |4 e
1.4 学习*基础的汇编指令  9 j* e- g  d% u, d/ ~2 }
1.4.1 没必要记住所有的汇编指令  8 P; \# U  b( u0 O6 U
1.4.2 汇编语言是如何实现条件分支的  
% k1 s( N: B6 A  f7 _: I# e8 ~1.4.3 参数存放在栈中  
. l$ x$ c# W0 i2 m/ I2 R1.4.4 从汇编代码联想到C语言源代码  ; f* g3 m% a5 B3 Q
1.5 通过汇编指令洞察程序行为  
1 B* C& ?0 |* v1.5.1 给函数设置断点  0 y; m2 G5 F5 l& ^1 X
1.5.2 反汇编并观察重要逻辑  
+ m. G( Z; x% G6 ^$ k8 m/ q+ T专栏:学习编写汇编代码  ! M: h) u* g# M! K/ l6 _
第2章 在射击游戏中防止玩家作弊  
( C  W. F/ K/ I. c$ a2.1 解读内存转储  4 M" O1 l4 D5 _% p+ z$ J" k5 z9 e
2.1.1 射击游戏的规则  & b5 C6 P: {3 b  `" q
2.1.2 修改4个字节就能得高分  
' y8 O  h  \6 F" }1 p: T, f+ n2.1.3 获取内存转储  
, u. n, ]  H" ~* A2.1.4 从进程异常终止瞬间的状态查找崩溃的原因  " d2 u) o" A" x9 c! R
2.1.5 有效运用实时调试  4 u2 f0 o" e& a. _. W7 D+ \8 C
2.1.6 通过转储文件寻找出错原因  
6 ^. c: G8 v: Q* V7 ?7 E专栏:除了个人电脑,在其他计算机设备上运行的程序也可以进行5 c3 c4 u/ ^* `4 r3 K& S, L0 ?
分析吗  
! z$ O1 o! q& Q$ ~2 D. Q专栏:分析Java编写的应用程序  : i7 _( p5 r. t. d/ @- O' @
2.2 如何防止软件被别人分析  & {5 v" z/ ~4 c1 q/ D7 u  W
2.2.1 反调试技术  + I9 [$ u* r5 V. m
专栏:检测调试器的各种方法  $ ^- @, w7 w4 o# j/ J9 G: X
2.2.2 通过代码混淆来防止分析  7 U8 n- C+ S; Q1 n2 X  Q
专栏:代码混淆的相关话题  
6 s3 {- S# s- n( a* t8 j( z2.2.3 将可执行文件进行压缩  
! d1 r  c$ ?5 I- O; H2.2.4 将压缩过的可执行文件解压缩:解包  
1 |5 v( q' q: B& x+ y/ ]2.2.5 通过手动解包UPX来理解其工作原理  / f  T; P6 r* v* ]# X2 V
2.2.6 用硬件断点对ASPack进行解包  
9 x3 C+ b7 R* j- K0 d- g5 |/ q专栏:如何分析.NET编写的应用程序  
$ M. T+ l/ m* u+ r第3章 利用软件的漏洞进行攻击  3 L# {4 g% }& [! ^
3.1 利用缓冲区溢出来执行任意代码  ; J+ L; m; N$ C9 h# r. b7 h  k
3.1.1 引发缓冲区溢出的示例程序  ) C6 R7 u. _6 {4 {; \+ z" f
3.1.2 让普通用户用管理员权限运行程序  3 l/ @; p5 o( \  u' J
3.1.3 权限是如何被夺取的  
: s( F; H7 A: n8 f: X, ^3.1.4 栈是如何使用内存空间的  8 h& l( ^# S3 x# M
3.1.5 攻击者如何执行任意代码  0 ]1 e3 N4 I/ o8 l6 ~
3.1.6 用gdb 查看程序运行时的情况  
% z% c& c' e1 q6 W0 H; V3.1.7 攻击代码示例  
, b$ g' J  m& p- |6 W) x3.1.8 生成可用作shellcode的机器语言代码  7 m  D! i3 p7 j( m2 X9 R( O
3.1.9 对0x00的改进  
" F( O$ D. B' Y' I! F7 x7 h专栏:printf类函数的字符串格式化bug  0 i) z( X1 {3 ?: j2 D
3.2 防御攻击的技术  
( w  _3 v  v; t  q( h- T. u3.2.1 地址随机化:ASLR  
& b/ u& f+ v) n3.2.2  除存放可执行代码的内存空间以外,对其余内存空间尽量3 x* `3 j7 V# |& ^2 F. ~! K7 o* V
    禁用执行权限:Exec-Shield  - G3 H& G5 q( r, S7 W
3.2.3  在编译时插入检测栈数据完整性的代码:StackGuard  
  F1 }9 {* e" Z0 K0 X7 h3.3 绕开安全机制的技术  & w! A1 f9 x+ ~3 e6 m* h3 H3 l% d
3.3.1 使用libc中的函数来进行攻击:Return-into-libc  , F( p# i. K, m: s. m9 S
3.3.2 利用未随机化的模块内部的汇编代码进行攻击:ROP  $ D3 a$ n" `; D7 h
专栏:计算机安全为什么会变成猫鼠游戏  , V4 b/ |# \: V0 c0 R6 x: s, U
第4章 自由控制程序运行方式的编程技巧    ~  [7 O; l; D3 s6 L0 k% `6 b
4.1 通过自制调试器来理解其原理  : `+ Y4 ~0 P! s* U$ A
4.1.1 亲手做一个简单的调试器,在实践中学习  4 m4 M) ^7 K6 r% G- G6 t- f
4.1.2 调试器到底是怎样工作的  + ?$ R  b- F# O8 H( o3 _! G4 Q
4.1.3 实现反汇编功能    K: P; P4 y  R
4.1.4 运行改良版调试器  - l0 {3 S$ G2 m5 T9 X* }
4.2  在其他进程中运行任意代码:代码注入  , J" V7 q  ]1 h2 N/ t/ D: l0 k
4.2.1 向其他进程注入代码  
0 Y7 F6 {, e$ u( w0 x/ t# T5 l8 M4.2.2 用SetWindowsHookEx劫持系统消息  9 Y1 O, I$ W& A
4.2.3 将DLL路径配置到注册表的AppInit_DLLs项  ) D/ @5 X6 A% z+ h1 j
4.2.4  通过CreateRemoteThread在其他进程中创建线程  
/ c) Z! ^% y. U$ R2 h3 U  }4.2.5 注入函数  % \; l! u+ F& q. b" Q
4.3 任意替换程序逻辑:API 钩子  
5 w! S  u& {' |( e' k& b4.3.1 API 钩子的两种类型  , @7 |, `2 w: I! i' {
4.3.2 用Detours实现一个简单的API 钩子  + Q$ m* e* S. j2 d: e+ b! J
4.3.3 修改消息框的标题栏  
/ p2 e! h7 z/ b! o- r' a) A专栏:DLL注入和API钩子是“黑客”技术的代表?  
3 k$ q" g+ D/ J& l1 p第5章 使用工具探索更广阔的世界  9 f) V5 s& [) E1 X, c
5.1  用Metasploit Framework验证和调查漏洞  : V. {+ C- l# h9 h+ `
5.1.1 什么是Metasploit Framework  , B- w& F# j  q' x- [
5.1.2 安全漏洞的信息从何而来  * h) F9 K' d7 S) B. c) g
5.1.3 搭建用于测试漏洞的环境  0 k) v- Z2 u2 c' }, d
5.1.4 利用漏洞进行攻击  ( \* R- [3 M& Y" _% C
专栏:深入探索shellcode  ; X- M5 w7 E: j1 m9 D, T( ^# F# i
5.1.5 一个ROP的实际例子  ; A  c$ u2 e" J5 R' }6 E' C3 l6 g; v# y
5.2 用EMET观察反ROP的机制  
. A8 G) {. A/ R4 R. K* D3 v2 a" T5.2.1 什么是EMET  
5 a9 L7 C2 e5 I3 q# q: P5.2.2 Anti-ROP的设计获得了蓝帽奖  / \7 H% [0 o" p- V3 E* i8 t7 e1 M  ~
5.2.3 如何防止攻击  
0 [3 T  i$ P" x! W( A/ q5.2.4 搞清楚加载器的逻辑  " o. v) `5 `$ m/ i4 p( l- ?
5.2.5 DLL的程序逻辑  7 A! }& Q# _1 y' Z4 Z0 l2 F
5.2.6 CALL-RETN检查  0 \3 u- E+ {1 |2 v8 P. z
5.2.7 如何防止误判  9 ~+ V- F0 z, Z6 V  ]  |0 e) V
5.2.8 检查栈的合法性  
' l7 H# A4 Y# N6 s4 ^' o/ l5.3 用REMnux 分析恶意软件  
7 k* h, T# K) l5.3.1 什么是REMnux  
: v' O( B* h) {8 l/ i1 Q& n, d5.3.2 更新特征数据库  & ~) J1 ~8 O) _- G$ f
5.3.3 扫描目录  
, z: \0 `& R" B5.4  用ClamAV检测恶意软件和漏洞攻击  
' G* a( y/ b+ Y7 k  q5.4.1 ClamAV的特征文件  ; l" d3 h( }4 m4 q- v
5.4.2 解压缩.cvd文件  & m- o( j+ k# [% G1 F0 A
5.4.3 被检测到的文件详细信息  # m7 v3 p$ o8 K3 H
5.4.4 检测所使用的打包器以及疑似恶意软件的文件  1 O( Y* D' m) D
5.5  用Zero Wine Tryouts分析恶意软件  
( [; u% v6 s6 j& X  c5.5.1 REMnux与Zero Wine Tryouts的区别  3 G# S) b  x+ ^* S3 G( l# S; o- @- ~
5.5.2 运行机制  
6 N0 ]) a' O+ w! ], r7 E$ i! u5.5.3 显示用户界面  
3 g/ u9 F3 ~1 m* ]) m4 s5.5.4 确认分析报告  , ^; r' V% C1 G9 m9 W8 F: D: s- }
专栏:尝试开发自己的工具  
( e. R9 C+ k6 |. g; o* v5.6 尽量减少人工分析:启发式技术  
% A( V3 p8 E" \  H1 I( \1 ^5.6.1 恶意软件应对极限的到来:平均每天60000个  
0 L* `2 y% ~; M6 i5.6.2 启发式技术革命  ( I# B" y# A" N7 M7 z7 g# a" R
5.6.3 用两个恶意软件进行测试  $ E8 d& w# z# y# l3 Y" z9 X3 v
附录  java8.com  P- w5 n. ~7 {8 {! o% B
A.1 安装IDA  ( |. a0 W3 O4 x2 d
A.2 安装OllyDbg   
) U# a& W6 g' W- u. E2 ]0 V" K: eA.3 安装WinDbg  9 j* n9 s' t- K: N( w# V2 M8 a& K
A.4 安装Visual Studio 2010  
* t) C! I. l( }. b2 ]A.5 安装Metasploit  
4 g5 w- Y" h6 w+ m5 ~- h' aA.6 分析工具  $ X5 V; @/ `3 L( V  s; u/ H; `7 I
Stirling / BZ Editor  
5 Q- D1 H( Y+ vProcess Monitor  
4 j4 M% Y/ v1 f* z* vProcess Explorer  + w  H6 g. L' u# H6 s3 [- \
Sysinternals工具  
5 G2 V3 s+ w; q2 L) D) p# d: {. X+ Y; k$ \兔耳旋风  ( `1 ?3 N$ I& ^) i+ t) y
参考文献  
' v# I% p9 {& s6 N% E8 |后记

( Z) d2 h* p' J. O( \5 G! W6 L. b+ V. m/ ?  C  S1 m! I
百度云盘下载地址(完全免费-绝无套路):
游客,如果您要查看本帖隐藏内容请回复

4 \0 h5 \, D8 C3 g

本帖子中包含更多资源

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

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

回答|共 19 个

马克思的故事书

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

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

本版积分规则