19回答

0收藏

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

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

Java电子书:有趣的二进制 软件安全与逆向分析 格式 pdf 电子书 PDF 电子书 Java吧 java8.com
5 h5 o: ?9 t1 [
) j- p5 Y7 v( K, h
& U! ?) Z; Y$ b7 t! p
编号:mudaima-P0360【Java吧 java8.com】
# h' z! |; G' M9 m$ D9 \
$ M' w2 V" M! ^  s

* y( Z- S( d  X
( r8 `) E- A/ b) ZJava电子书目录:
第1章 通过逆向工程学习如何读懂二进制代码  $ ~- A# u: f% a% F! ^- S
1.1 先来实际体验一下软件分析吧  
3 {: {- N5 T/ \" j1.1.1 通过Process Monitor的日志来确认程序的行为  
5 \, v% @! H/ t0 g1.1.2 从注册表访问中能发现些什么  7 N; C6 m( M* B& z2 @
1.1.3 什么是逆向工程  
3 h. B5 [1 v% l! P  O8 M" S) y8 N专栏:逆向工程技术大赛  
( l7 j3 `+ r. l9 w1 k* t1.2 尝试静态分析  " P1 X. D- K4 j/ U$ T% `# i
1.2.1 静态分析与动态分析  
: o% a; p5 C- X) [- Y专栏:Stirling与BZ Editor的区别  
# u, g$ l1 E: \; U% L3 }1.2.2 用二进制编辑器查看文件内容  7 G2 V  g8 _6 M& a
1.2.3 看不懂汇编语言也可以进行分析  ; z5 p& w" _3 G) v+ Z$ r# n7 e4 V  E
1.2.4 在没有源代码的情况下搞清楚程序的行为  . G! }4 |: z1 b/ p4 \+ e$ m
1.2.5 确认程序的源代码  $ n$ J: c& C+ G! }- V" k$ m: z
1.3 尝试动态分析  4 @4 ~+ e' a( }! Q
1.3.1 设置Process Monitor的过滤规则  
8 V# a; C$ f( s" a. _1.3.2 调试器是干什么用的  + _1 L8 n( V4 V
1.3.3 用OllyDbg洞察程序的详细逻辑  
- x  j5 F: G8 R- r, X7 w" ~/ d1.3.4 对反汇编代码进行分析  ' R5 X( ^. d+ r% L
专栏:什么是寄存器  * T4 X, r# i1 j! w; l0 o7 ~" m
1.3.5 将分析结果与源代码进行比较  
/ z6 Y% r9 v: D( w* l专栏:选择自己喜欢的调试器  : n: U* z0 O( ~: Q
1.4 学习*基础的汇编指令  % e# _% i' \* a: |
1.4.1 没必要记住所有的汇编指令  2 r8 N; q. I: q( n! r
1.4.2 汇编语言是如何实现条件分支的  * P# D  O1 ^1 @1 R3 s
1.4.3 参数存放在栈中  : c! E4 P3 q4 _$ @' Z
1.4.4 从汇编代码联想到C语言源代码  
9 f6 c+ y- A  i" B7 a" D$ }1.5 通过汇编指令洞察程序行为  7 I- y5 Q8 q; X4 d5 s% v
1.5.1 给函数设置断点  & s& Q' n# x1 a
1.5.2 反汇编并观察重要逻辑  * ~* A6 Q, G0 c! c( a
专栏:学习编写汇编代码  
8 J! S; T- H  G6 \3 g3 ^7 v第2章 在射击游戏中防止玩家作弊  8 K- i' ?" |& _4 V
2.1 解读内存转储  4 H+ |# i; Z& d% t" l9 N+ o
2.1.1 射击游戏的规则  6 T1 k- g% w8 h' @2 C
2.1.2 修改4个字节就能得高分  
: r4 B9 X8 }9 R. f4 f; L& ?9 P$ r2.1.3 获取内存转储  - ~/ c) H0 ]/ E7 N
2.1.4 从进程异常终止瞬间的状态查找崩溃的原因  4 \" Y2 N( B0 K4 Y6 G, g
2.1.5 有效运用实时调试  1 F( U! h) h5 l4 A1 T* R
2.1.6 通过转储文件寻找出错原因  
$ U. N0 g* j* d; l* N  n+ i专栏:除了个人电脑,在其他计算机设备上运行的程序也可以进行5 a: A, Q' B- `! V, y: V" l% j, {' I
分析吗  
5 I! m# `7 j& J) m: x7 [专栏:分析Java编写的应用程序  ' L! w7 V) X/ E
2.2 如何防止软件被别人分析  , v0 b8 g4 Z, g8 i$ r1 Z# K
2.2.1 反调试技术  ) _% |! k" h- P7 ^; z4 a& M' F! q* _
专栏:检测调试器的各种方法  
" @! J+ c! Q  `: g2.2.2 通过代码混淆来防止分析  ! x" S; l! J9 Y3 i1 o- _
专栏:代码混淆的相关话题  
0 A& X/ m/ l- y. a  O6 W2.2.3 将可执行文件进行压缩  
4 Z2 R) R3 b! d; N: G% k  m2.2.4 将压缩过的可执行文件解压缩:解包  7 ?  x* M% M& V* c5 t7 N
2.2.5 通过手动解包UPX来理解其工作原理  / E0 l' z- Q- B; g# Z; }! \& J0 ]0 c
2.2.6 用硬件断点对ASPack进行解包  6 t1 M# o! H' U% I# }( \
专栏:如何分析.NET编写的应用程序  - s  p3 ~7 r$ J. c% |9 k6 q
第3章 利用软件的漏洞进行攻击  * T, W! E. _! x: f/ H. ?7 I' O
3.1 利用缓冲区溢出来执行任意代码  / b* {9 f+ |/ ]9 P% `1 {
3.1.1 引发缓冲区溢出的示例程序  
- ?& a7 O/ @' n! a3.1.2 让普通用户用管理员权限运行程序    c2 u7 i, D; @! U, ]
3.1.3 权限是如何被夺取的  . w2 l2 r# W* ]: q7 ]
3.1.4 栈是如何使用内存空间的  
: h  c4 h* X" p1 X5 o- |4 C8 A3.1.5 攻击者如何执行任意代码  
2 L" O! l/ y" V, ^1 `) J3.1.6 用gdb 查看程序运行时的情况  . {/ v, L, g9 T' i$ I% |
3.1.7 攻击代码示例  4 x- |) i4 q3 R
3.1.8 生成可用作shellcode的机器语言代码  
, f) |( ^" {  j/ D% f2 S& c3.1.9 对0x00的改进  
% w* d! s/ w4 G6 v4 z" ?专栏:printf类函数的字符串格式化bug  1 `  C# {8 A5 Y2 ?
3.2 防御攻击的技术  : v& |1 U2 J- M" w4 a2 }/ _: F" p
3.2.1 地址随机化:ASLR  + E) K7 W3 T) Q) U6 G
3.2.2  除存放可执行代码的内存空间以外,对其余内存空间尽量
" H) W& D6 b& i, E  [    禁用执行权限:Exec-Shield  & C  F! a4 h" F. i
3.2.3  在编译时插入检测栈数据完整性的代码:StackGuard  / X! N9 ], c/ U' p0 ^6 c7 {8 w6 s
3.3 绕开安全机制的技术  
- s" _& E( p9 p; Y- x3.3.1 使用libc中的函数来进行攻击:Return-into-libc  2 ]1 ~  d" u! v- p7 K, L( s8 ]
3.3.2 利用未随机化的模块内部的汇编代码进行攻击:ROP  
8 z" z6 J+ z+ {, D4 ]6 ~专栏:计算机安全为什么会变成猫鼠游戏  
% U0 J( n. O& F9 r' R- p1 T第4章 自由控制程序运行方式的编程技巧  
4 I4 f9 N# ^4 k2 K$ S4.1 通过自制调试器来理解其原理  1 I+ O' }7 v7 n9 U# [: E! V7 Y
4.1.1 亲手做一个简单的调试器,在实践中学习  
! B7 r1 s, @; u6 Y. N4.1.2 调试器到底是怎样工作的  - c6 ^0 c+ A3 E# {+ a* W
4.1.3 实现反汇编功能  
% Y2 P- @( |# O, s; D  n+ g4.1.4 运行改良版调试器  
) E/ c4 O9 Y2 \4.2  在其他进程中运行任意代码:代码注入  9 f: i+ k2 t, W( s2 q" X$ \! f9 r
4.2.1 向其他进程注入代码  
. i& j# x/ ~8 x( I( O* G4.2.2 用SetWindowsHookEx劫持系统消息  / [) c0 G& w6 |
4.2.3 将DLL路径配置到注册表的AppInit_DLLs项  
. Z8 x7 m/ O. u. R4.2.4  通过CreateRemoteThread在其他进程中创建线程  
' ?# K7 f$ _) c2 L9 Q2 T3 d- D4.2.5 注入函数  
5 @0 F/ V* j2 }- `3 l4.3 任意替换程序逻辑:API 钩子  " ~1 l; N' c1 r- x  n4 Q0 s
4.3.1 API 钩子的两种类型  
- |/ `6 L6 i5 [) X0 w2 u! Q4.3.2 用Detours实现一个简单的API 钩子  - ~; Y! ]" \; p; t
4.3.3 修改消息框的标题栏    y* R9 Y$ Y- A5 s
专栏:DLL注入和API钩子是“黑客”技术的代表?  
7 W' ?( E: o4 @3 Z- J. A, g第5章 使用工具探索更广阔的世界  3 |/ W. ]: q& I. n; P+ s0 f1 W
5.1  用Metasploit Framework验证和调查漏洞  
9 v4 ]5 u& ?6 o0 `6 {# _: D5.1.1 什么是Metasploit Framework  
/ \4 `4 y) i9 T: h0 M* s! M5.1.2 安全漏洞的信息从何而来  
# v1 |% H# b# {  J5.1.3 搭建用于测试漏洞的环境  
5 G7 {& ?- e( ^9 k4 Q" D5.1.4 利用漏洞进行攻击  ( e8 s+ H( |3 J; Y: a0 A
专栏:深入探索shellcode  
( T/ s2 @. E# k1 ?; b$ N4 ^8 u5.1.5 一个ROP的实际例子  
. y. p* m  i6 \# M& `/ R5.2 用EMET观察反ROP的机制  8 u# i$ f, A: H2 K: [! A
5.2.1 什么是EMET  
5 V  b: `% R5 \; [2 ?5.2.2 Anti-ROP的设计获得了蓝帽奖  
- G7 G( l$ F/ E4 r* o  @5.2.3 如何防止攻击    A$ q9 j% R6 z3 T) @
5.2.4 搞清楚加载器的逻辑  
) T2 i) I+ }7 y5.2.5 DLL的程序逻辑  3 `( t  k# _& z5 E) G
5.2.6 CALL-RETN检查  
. m* h1 n( y1 g# G5.2.7 如何防止误判  
' [+ u; |% c5 Y6 G$ U, e0 C5.2.8 检查栈的合法性  
2 l/ X* k5 k) d" B3 \% A( g5.3 用REMnux 分析恶意软件  8 h. P* t% d; \* m! [* {: [- I
5.3.1 什么是REMnux  
& y' D/ Q6 v9 t2 {/ i5.3.2 更新特征数据库  
' t  W* q7 i0 s# C6 C, {5.3.3 扫描目录  
5 A% O; m. {2 b% N5.4  用ClamAV检测恶意软件和漏洞攻击  + P7 ^2 ]; Y+ S& J5 ^4 Z2 e; F* h
5.4.1 ClamAV的特征文件  
" [9 k" d' S0 M. T6 c5.4.2 解压缩.cvd文件  : D7 \( E4 P5 l- e2 c4 c( c
5.4.3 被检测到的文件详细信息  
$ {+ b- O$ X& h5.4.4 检测所使用的打包器以及疑似恶意软件的文件  * }( `! ]1 D' C( Y7 H# h& y
5.5  用Zero Wine Tryouts分析恶意软件  - j% `: N+ j7 A! I0 a
5.5.1 REMnux与Zero Wine Tryouts的区别  8 {- N. i! D5 o+ z) u- W" v: }
5.5.2 运行机制  
. L; X  ^$ E& S+ w  Z5.5.3 显示用户界面  
( d! |5 S2 Y# I' q8 j5.5.4 确认分析报告  ' m0 y# m( P& E
专栏:尝试开发自己的工具  
4 c1 |& L! n  Z, K5.6 尽量减少人工分析:启发式技术  
# F3 u! y, h. Q9 o; n6 _8 ?5.6.1 恶意软件应对极限的到来:平均每天60000个  
0 b6 N9 c" {' b" _/ m/ z" g  O5.6.2 启发式技术革命  
- ?' h  ^* y& V# X2 a5.6.3 用两个恶意软件进行测试  + b" @! V6 {4 H6 u6 o& z% @0 p
附录  java8.com5 m7 J3 R, A4 O; Z$ c* i# m
A.1 安装IDA  
1 O5 I( a& p3 u" k% [A.2 安装OllyDbg   
6 }) b) G, o) \! V6 vA.3 安装WinDbg  
" v  Z) o8 @. AA.4 安装Visual Studio 2010  
0 O. r2 X7 u7 n  Q  n9 i# fA.5 安装Metasploit  
- {* O. u* v8 V# @  Z% \A.6 分析工具  ( ~7 y' b- v8 [% U
Stirling / BZ Editor  ; y5 U$ K5 r/ x; {* g) \
Process Monitor  ( J. E0 g8 }3 }) r% z! F( b
Process Explorer  ) Z- X0 l# J+ j2 c8 i! Y
Sysinternals工具  ( Y) N( M; E* D' I& n: n
兔耳旋风  
! A7 v: q8 z2 A4 k1 j* I参考文献  
: w; K) D& ]1 p# }" R后记
% K8 r' u; M+ X+ U: x8 N

2 p0 f0 W5 {6 Z. ~4 u
百度云盘下载地址(完全免费-绝无套路):
游客,如果您要查看本帖隐藏内容请回复
: Z/ _5 R! u+ V/ H' y

本帖子中包含更多资源

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

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

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

本版积分规则