恶意代码分析实战

恶意代码分析实战 pdf epub mobi txt 电子书 下载 2026

出版者:电子工业出版社
作者:Michael Sikorski
出品人:
页数:732
译者:诸葛建伟
出版时间:2014-4
价格:128
装帧:平装
isbn号码:9787121224683
丛书系列:
图书标签:
  • 安全
  • 计算机安全
  • 逆向
  • 黑客
  • 计算机
  • 信息安全
  • 逆向工程
  • 编程
  • 恶意代码
  • 分析
  • 实战
  • 网络安全
  • 逆向工程
  • 漏洞挖掘
  • 代码检测
  • 威胁防护
  • 安全攻防
  • 渗透测试
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

本书是一本内容全面的恶意代码分析技术指南,其内容兼顾理论,重在实践,从不同方面为读者讲解恶意代码分析的实用技术方法。

本书分为21章,覆盖恶意代码行为、恶意代码静态分析方法、恶意代码动态分析方法、恶意代码对抗与反对抗方法等,并包含了shellcode 分析,C++恶意代码分析,以及64 位恶意代码分析方法的介绍。本书多个章节后面都配有实验并配有实验的详细讲解与分析。通过每章的介绍及章后的实验,本书一步一个台阶地帮助初学者从零开始建立起恶意代码分析的基本技能。

本书获得业界的一致好评,IDA Pro 的作者Ilfak Guilfanov 这样评价本书:“一本恶意代码分析的实践入门指南,我把这本书推荐给所有希望解剖Windows 恶意代码的读者”。

《网络攻防:隐匿与反制》 在瞬息万变的数字战场上,网络安全如同捍卫国家疆土一般,攻防双方的较量从未停歇。本书《网络攻防:隐匿与反制》并非聚焦于单纯的恶意软件检测与分析,而是将视角投向更为宏观的攻防博弈,深入剖析攻击者如何进行隐匿渗透,以及防御者如何构建有效的反制体系,以期实现网络的安宁与数据的安全。 本书的写作初衷,源于当下网络安全领域日益复杂的挑战。攻击者们不再依赖粗糙的暴力破解,而是巧妙地运用各种技术手段,试图在庞大的网络环境中“隐身”,伺机而动。从初步的信息侦察到深度持久化,每一个环节都充满了隐匿的艺术。而与之相对的,防御者们也必须不断提升自己的洞察力与反应速度,构建起多层次、智能化的防御屏障,甚至在攻击发生后,能够迅速定位、追踪并有效反制攻击者。 第一部分:攻击者的隐匿之道 在这一部分,我们将剥开攻击者一层层的伪装,深入理解他们是如何在不被察觉的情况下悄然潜入。 信息搜集与目标画像: 攻击的第一步往往是对目标进行详尽的信息搜集。本书将详细介绍多种隐匿的信息搜集技术,包括但不限于: 被动侦察: 利用公开可用的信息源,如Whois查询、DNS记录、搜索引擎的高级指令(Google Hacking)以及社交媒体分析,构建目标的企业架构、技术栈、人员构成等信息画像。我们将探讨如何从看似零散的信息中挖掘出有价值的突破口,同时最大限度地避免留下攻击痕迹。 主动侦察的隐匿化: 传统的主动扫描(如端口扫描、漏洞扫描)容易被IDS/IPS发现。本书将介绍如何利用代理、Tor网络、VPN等手段,对扫描流量进行混淆与匿名化处理,降低被检测的概率。同时,我们将探讨一些更为隐蔽的侦察方式,例如利用公开的API接口、服务器响应头信息、甚至网站的JavaScript文件来推断技术细节。 初始立足点的隐匿与持久化: 一旦找到潜在的入口,攻击者会想方设法进行隐匿并建立持久化的访问通道。 利用零日与未知漏洞: 除了已公开的漏洞,零日漏洞(Zero-day Vulnerability)是攻击者最宝贵的武器。本书将探讨零日漏洞的发现与利用原理(但不深入到具体的漏洞利用代码编写),以及攻击者如何通过模糊测试、fuzzing等方式寻找潜在的软件缺陷。 社会工程学的隐匿应用: 巧妙的社会工程学攻击,如鱼叉式网络钓鱼(Spear Phishing)和职位诱饵(Whaling),往往能绕过技术防御。我们将分析这些攻击的心理学原理,以及攻击者如何设计诱饵,让目标在不经意间交出凭证或执行恶意操作。 规避杀毒软件与EDR: 传统杀毒软件基于已知病毒签名,而更高级的EDR(Endpoint Detection and Response)则通过行为分析来检测威胁。本书将讨论攻击者如何通过代码混淆、加壳、反调试、内存注入等技术,使得恶意代码不落盘运行,或者改变其执行行为,从而规避这些安全检测机制。 横向移动与权限提升的隐匿: 获得初始立足点后,攻击者需要进一步在网络中移动,提升权限以达到其最终目的。 利用内部服务与协议: SMB、RDP、SSH等内部通信协议常常成为横向移动的跳板。本书将分析攻击者如何利用这些协议的配置弱点、弱密码策略,以及服务本身的漏洞进行权限提升和账号窃取。 内存攻击与凭证窃取: 直接从内存中窃取明文密码或哈希值,是一种更为隐蔽的攻击方式。我们将介绍Mimikatz等工具的工作原理,以及如何在不触发过多告警的情况下完成凭证收集。 第二部分:防御者的反制之道 面对层出不穷的攻击手段,防御者需要构建起一套主动、智能、多层次的反制体系。 威胁情报的构建与应用: 了解敌人才能更好地防御。本书将强调威胁情报在网络攻防中的关键作用。 情报来源与分析: 我们将介绍各种合法、高效的威胁情报来源,包括开源情报(OSINT)、商业情报服务、行业协作平台等。并探讨如何对收集到的情报进行分析、关联,形成可执行的洞察,为防御决策提供依据。 情报驱动的防御: 如何将威胁情报转化为具体的防御策略,例如更新防火墙规则、配置入侵检测系统、调整安全策略,以及主动狩猎(Threat Hunting)等,都将是本书探讨的重点。 主动狩猎与态势感知: 被动等待告警是远远不够的。主动狩猎是发现潜伏在网络中未知威胁的关键。 狩猎模型与方法: 本书将介绍多种主动狩猎模型,例如基于假设的狩猎(Hypothesis-Driven Hunting)、基于TTPs(Tactics, Techniques, and Procedures)的狩猎等。我们将深入解析如何通过分析日志、网络流量、进程行为等数据,寻找异常模式,从而发现攻击者留下的蛛丝马迹。 态势感知的构建: 强大的态势感知能力是高效反制的基础。本书将探讨如何整合来自不同安全设备、系统日志、以及威胁情报的数据,构建一个统一的、实时的网络安全态势感知平台,帮助安全团队快速了解网络的安全状况,识别潜在威胁。 蜜罐与诱饵技术: 蜜罐(Honeypots)和诱饵(Deception)技术是主动反制的重要手段,它们能够吸引攻击者暴露其意图和技术。 蜜罐的种类与部署: 本书将介绍不同类型的蜜罐,包括低交互式蜜罐(Low-Interaction Honeypots)和高交互式蜜罐(High-Interaction Honeypots),并探讨它们在吸引、诱捕和研究攻击者方面的作用。 诱饵技术的应用: 如何在网络中部署虚拟的敏感资产、虚假的登录凭证,吸引攻击者去尝试,并在攻击发生时及时告警并记录攻击者的行为,是我们探讨的另一重要方向。 事件响应与溯源反制: 当攻击不可避免地发生时,如何高效地进行事件响应,并将攻击者绳之以法,是反制体系的最后一道也是至关重要的一环。 事件响应流程: 本书将详细阐述完整的事件响应流程,包括准备、识别、遏制、根除、恢复和事后总结等关键阶段。 数字取证与溯源: 如何在不破坏证据的前提下,从攻击者留下的痕迹中提取关键证据,进行数字取证,并最终实现对攻击者的溯源,追究其法律责任,本书将提供实用的指导。 第三部分:高级攻防对抗策略 在这一部分,我们将进一步探讨更深层次的攻防对抗技术和理念。 红蓝对抗的模拟与演练: 真实的攻防对抗是提升团队实战能力的最有效方式。 红队演练的设计与执行: 本书将介绍红队演练的常见目标、场景设计、工具选择以及如何模拟真实攻击者的TTPs。 蓝队防御的优化与反击: 蓝队如何在红队演练中提升检测、响应和防御能力,并对红队的攻击进行有效的反击,本书将提供相应的策略和方法。 云原生环境下的攻防: 随着云计算的普及,云环境下的攻防也呈现出新的特点。 云环境的攻击面与防御挑战: 分析云基础设施(IaaS、PaaS、SaaS)的特有攻击向量,如容器逃逸、API密钥泄露、IAM权限滥用等。 云原生安全解决方案: 探讨适用于云环境的安全工具和策略,如云安全态势管理(CSPM)、云工作负载保护平台(CWPP)以及Kubernetes安全等。 DevSecOps与安全左移: 将安全理念与实践融入软件开发生命周期(SDLC)的早期阶段,能够有效降低后期的安全风险。 安全编码实践: 强调开发人员应具备的安全意识和安全编码能力。 自动化安全测试: 在 CI/CD 流程中集成静态应用安全测试(SAST)、动态应用安全测试(DAST)等工具,实现安全问题的早发现、早修复。 《网络攻防:隐匿与反制》旨在为网络安全从业人员、技术爱好者提供一个全面而深入的视角,帮助他们理解攻击者是如何进行隐匿渗透的,以及防御者如何构建一套主动、智能、有效的反制体系。本书将理论与实践相结合,通过大量的案例分析和技术讲解,赋能读者在日益严峻的网络安全形势下,成为一名更具洞察力、更善于反制的网络安全卫士。

作者简介

本书作者Michael Sikorski, Andrew Honig虽不是安全领域中名声很大的人物,但从背景来看都是工作在一线的安全工程师与培训讲师,相信本书应是一本从事计算机病毒、恶意代码分析的专业人士,以及计算机病毒领域爱好者案头必备的一本实践指南参考书。

目录信息

第0章 恶意代码分析技术入门1
0.1 恶意代码分析目标1
0.2 恶意代码分析技术2
0.2.1 静态分析基础技术2
0.2.2 动态分析基础技术2
0.2.3 静态分析高级技术2
0.2.4 动态分析高级技术2
0.3 恶意代码类型3
0.4 恶意代码分析通用规则4
第 1 篇 静态分析
第1章 静态分析基础技术 6
1.1 反病毒引擎扫描:实用的第一步6
1.2 哈希值:恶意代码的指纹7
1.3 查找字符串7
1.4 加壳与混淆恶意代码9
1.4.1 文件加壳10
1.4.2 使用PEiD 检测加壳10
1.5 PE 文件格式11
1.6 链接库与函数12
1.6.1 静态链接、运行时链接与动态链接12
1.6.2 使用Dependency Walker 工具探索动态链接函数13
1.6.3 导入函数14
1.6.4 导出函数15
1.7 静态分析技术实践15
1.7.1 PotentialKeylogger.exe:一个未加壳的可执行文件15
1.7.2 PackedProgram.exe:穷途末路18
1.8 PE 文件头与分节18
1.8.1 使用PEview 来分析PE 文件19
1.8.2 使用Resource Hacker 工具来查看资源节22
1.8.3 使用其他的PE 文件工具23
1.8.4 PE 文件头概述23
1.9 小结24
1.10 实验24
第2章 在虚拟机中分析恶意代码 27
2.1 虚拟机的结构27
2.2 创建恶意代码分析机28
2.2.1 配置VMware29
2.2.2 断开网络30
2.2.3 创建主机模式网络30
2.2.4 使用多个虚拟机30
2.3 使用恶意代码分析机31
2.3.1 让恶意代码连接互联网31
2.3.2 连接和断开外围设备32
2.3.3 拍摄快照32
2.3.4 从虚拟机传输文件33
2.4 使用VMware 进行恶意代码分析的风险34
2.5 记录/重放:重复计算机运行轨迹34
2.6 小结35
第3章 动态分析基础技术 36
3.1 沙箱:简便但粗糙的方法36
3.1.1 使用恶意代码沙箱36
3.1.2 沙箱的缺点37
3.2 运行恶意代码38
3.3 进程监视器39
3.3.1 进程监视器的显示40
3.3.2 进程监视器中的过滤41
3.4 使用进程浏览器(Process Explorer)来查看进程43
3.4.1 进程浏览器的显示43
3.4.2 使用验证选项44
3.4.3 比较字符串45
3.4.4 使用依赖遍历器(Dependency Walker)45
3.4.5 分析恶意文档46
3.5 使用Regshot 来比较注册表快照46
3.6 模拟网络47
3.6.1 使用ApateDNS47
3.6.2 使用Netcat 进行监视48
3.7 使用Wireshark 进行数据包监听49
3.8 使用INetSim51
3.9 基础动态分析工具实践52
3.10 小结55
3.11 实验56
第 2 篇 静态分析高级技术篇
第4章 x86 反汇编速成班 60
4.1 抽象层次60
4.2 逆向工程62
4.3 x86 体系结构62
4.3.1 内存63
4.3.2 指令64
4.3.3 操作码和字节序64
4.3.4 操作数65
4.3.5 寄存器65
4.3.6 简单指令67
4.3.7 栈70
4.3.8 条件指令73
4.3.9 分支指令73
4.3.10 重复指令74
4.3.11 C 语言主函数和偏移76
4.3.12 更多信息:Intel x86 Architecture Manual77
4.4 小结78
第5章 IDA Pro 79
5.1 加载一个可执行文件79
5.2 IDA Pro 接口81
5.2.1 反汇编窗口模式81
5.2.2 对分析有用的窗口83
5.2.3 返回到默认视图83
5.2.4 导航IDA Pro 83
5.2.5 搜索85
5.3 使用交叉引用86
5.3.1 代码交叉引用87
5.3.2 数据交叉引用88
5.4 分析函数88
5.5 使用图形选项89
5.6 增强反汇编91
5.6.1 重命名位置91
5.6.2 注释92
5.6.3 格式化操作数92
5.6.4 使用命名的常量93
5.6.5 重新定义代码和数据94
5.7 用插件扩展IDA95
5.7.1 使用IDC 脚本96
5.7.2 使用IDAPython97
5.7.3 使用商业插件97
5.8 小结98
5.9 实验98
第6章 识别汇编中的C代码结构 100
6.1 全局与局部变量101
6.2 反汇编算术操作102
6.3 识别if 语句104
6.3.1 用IDA Pro 图形化分析函数105
6.3.2 识别嵌套的if 语句106
6.4 识别循环107
6.4.1 找到for 循环107
6.4.2 找到while 循环109
6.5 理解函数调用约定110
6.5.1 cdecl110
6.5.2 stdcall 111
6.5.3 fastcall 111
6.5.4 压栈与移动 111
6.6 分析switch 语句112
6.6.1 If 样式112
6.6.2 跳转表114
6.7 反汇编数组118
6.8 识别结构体119
6.9 分析链表遍历121
6.10 小结123
6.11 实验123
第7章 分析恶意Windows程序 126
7.1 Windows API126
7.1.1 类型和匈牙利表达法126
7.1.2 句柄127
7.1.3 文件系统函数127
7.1.4 特殊文件128
7.2 Windows 注册表129
7.2.1 注册表根键130
7.2.2 Regedit131
7.2.3 自启动程序131
7.2.4 常用注册表函数131
7.2.5 练习分析注册表操作代码132
7.2.6 使用.reg 文件的注册表脚本133
7.3 网络API133
7.3.1 伯克利兼容套接字134
7.3.2 网络的服务器和客户端134
7.3.3 WinINet API 135
7.4 跟踪恶意代码的运行136
7.4.1 DLL136
7.4.2 进程137
7.4.3 线程139
7.4.4 使用互斥量的进程间协作142
7.4.5 服务143
7.4.6 组件对象模型145
7.4.7 异常:当事情出错时147
7.5 内核与用户模式148
7.6 原生API149
7.7 小结151
7.8 实验151
第 3 篇 动态分析高级技术篇
第8章 动态调试 154
8.1 源代码级与汇编级的调试器154
8.2 内核模式与用户模式调试155
8.3 使用调试器155
8.3.1 单步调试155
8.3.2 单步跳过(Stepping-Over)和单步跳入(Stepping-Into)156
8.3.3 用断点暂停执行157
8.4 异常161
8.4.1 首次和二次异常处理162
8.4.2 常见异常162
8.5 使用调试器修改可执行文件163
8.6 修改可执行程序的实践163
8.7 小结164
第9 章 OllyDbg 165
9.1 加载恶意代码165
9.1.1 打开一个可执行文件165
9.1.2 附加调试器到一个运行程序166
9.2 OllyDbg 的接口167
9.3 内存映射168
9.3.1 基地址重定位169
9.4 查看线程和堆栈170
9.5 执行代码171
9.6 断点172
9.6.1 软件断点173
9.6.2 条件断点174
9.6.3 硬件断点175
9.6.4 内存断点175
9.7 加载DLL176
9.8 跟踪177
9.8.1 标准回溯跟踪177
9.8.2 堆栈调用跟踪178
9.8.3 运行跟踪178
9.8.4 跟踪Poison Ivy178
9.9 异常处理179
9.10 修补180
9.11 分析shellcode181
9.12 协助功能182
9.13 插件182
9.13.1 OllyDump183
9.13.2 调试器隐藏插件183
9.13.3 命令行184
9.13.4 书签185
9.14 脚本调试185
9.15 小结186
9.16 实验187
第10章 使用WinDbg 调试内核 189
10.1 驱动与内核代码189
10.2 安装内核调试191
10.3 使用WinDbg193
10.3.1 从内存中读取194
10.3.2 使用算术操作符194
10.3.3 设置断点194
10.3.4 列举模块195
10.4 微软符号表195
10.4.1 搜索符号195
10.4.2 查看结构信息196
10.4.3 配置Windows 符号表198
10.5 内核调试实践198
10.5.1 用户空间的代码198
10.5.2 内核模式的代码200
10.5.3 查找驱动对象203
10.6 Rootkit204
10.6.1 Rootkit 分析实践205
10.6.2 中断208
10.7 加载驱动209
10.8 Windows Vista、Windows 7 和x64 版本的内核问题209
10.9 小结210
10.10 实验210
第 4 篇 恶意代码功能篇
第11章 恶意代码行为 214
11.1 下载器和启动器214
11.2 后门(backdoor)214
11.2.1 反向shell215
11.2.2 远程控制工具216
11.2.3 僵尸网络216
11.2.4 远程控制工具与僵尸网络的比较217
11.3 登录凭证窃密器217
11.3.1 GINA 拦截217
11.3.2 口令哈希转储218
11.3.3 击键记录221
11.4 存活机制223
11.4.1 Windows 注册表223
11.4.2 特洛伊木马化(Trojanized)系统二进制文件225
11.4.3 DLL 加载顺序劫持227
11.5 提权228
11.5.1 使用SeDebugPrivilege228
11.6 隐藏它的踪迹——用户态的Rootkit229
11.6.1 IAT Hook 230
11.6.2 Inline Hook 231
11.7 小结232
11.8 实验232
第12章 隐蔽的恶意代码启动 234
12.1 启动器(Launcher)234
12.2 进程注入234
12.2.1 DLL 注入235
12.2.2 直接注入237
12.3 进程替换238
12.4 钩子(Hook)注入240
12.4.1 本地和远程钩子(Hook)240
12.4.2 使用钩子的击键记录器241
12.4.3 使用SetWindowsHookEx 241
12.4.4 目标线程241
12.5 Detours 242
12.6 APC 注入243
12.6.1 用户模式下APC 注入244
12.6.2 内核模式的APC 注入245
12.7 小结246
12.8 实验246
第13章 数据加密 248
13.1 分析加密算法的目的248
13.2 简单的加密算法248
13.2.1 凯撒密码249
13.2.2 XOR249
13.2.3 其他一些简单的加密策略254
13.2.4 Base64255
13.3 常见的加密算法258
13.3.1 识别字符串和导入259
13.3.2 查找加密常量259
13.3.3 查找高熵值内容261
13.4 自定义加密262
13.4.1 识别自定义加密263
13.4.2 攻击者使用自定义加密的优势265
13.5 解密265
13.5.1 自解密265
13.5.2 手动执行解密函数266
13.5.3 使用通用的解密规范267
13.6 小结270
13.7 实验271
第14章 恶意代码的网络特征273
14.1 网络应对措施273
14.1.1 在原始环境中观察恶意代码273
14.1.2 恶意行为的痕迹274
14.1.3 OPSEC=操作安全性275
14.2 安全地调查在线攻击者275
14.2.1 间接性策略275
14.2.2 获取IP 地址和域名信息276
14.3 基于内容的网络应对措施278
14.3.1 使用Snort 进行入侵检测278
14.3.2 深入观察279
14.4 结合动态和静态分析技术282
14.4.1 过度分析的危险283
14.4.2 在众目睽睽下隐藏283
14.4.3 理解周边代码286
14.4.4 寻找网络操作代码287
14.4.5 了解网络内容的来源288
14.4.6 硬编码数据 vs. 临时数据289
14.4.7 确定和利用编码步骤289
14.4.8 创建特征291
14.4.9 分析解析例程292
14.4.10 针对多个元素294
14.5 了解攻击者的意图295
14.6 小结296
14.7 实验296
第 5 篇 逆向工程
第15章 对抗反汇编 300
15.1 何谓对抗反汇编技术300
15.2 挫败反汇编算法301
15.2.1 线性反汇编302
15.2.2 面向代码流的反汇编303
15.3 对抗反汇编技术306
15.3.1 相同目标的跳转指令306
15.3.2 固定条件的跳转指令307
15.3.3 无效的反汇编指令308
15.3.4 用IDA Pro 对指令进行NOP替换311
15.4 混淆控制流图312
15.4.1 函数指针问题312
15.4.2 在IDA Pro 中添加代码的交叉引用313
15.4.3 滥用返回指针313
15.4.4 滥用结构化异常处理315
15.5 挫败栈帧分析317
15.6 小结320
15.7 实验320
第16章 反调试技术322
16.1 探测Windows 调试器322
16.1.1 使用Windows API322
16.1.2 手动检测数据结构324
16.1.3 系统痕迹检测326
16.2 识别调试器的行为327
16.2.1 INT 扫描327
16.2.2 执行代码校验和检查328
16.2.3 时钟检测328
16.3 干扰调试器的功能330
16.3.1 使用TLS回调330
16.3.2 使用异常332
16.3.3 插入中断333
16.4 调试器漏洞334
16.4.1 PE 头漏洞334
16.4.2 OutputDebugString漏洞336
16.5 小结336
16.6 实验336
第17章 反虚拟机技术 338
17.1 VMware 痕迹338
17.1.1 绕过VMware 痕迹的探测340
17.1.2 探测内存痕迹342
17.2 查找漏洞指令342
17.2.1 使用Red Pill 反虚拟机技术343
17.2.2 使用No Pill 技术344
17.2.3 查询I/O 通信端口344
17.2.4 使用str 指令345
17.2.5 反虚拟机的x86 指令346
17.2.6 在IDA Pro 中高亮显示反虚拟机代码347
17.2.7 使用ScoopyNG347
17.3 调整设置348
17.4 虚拟机逃逸349
17.5 小结349
17.6 实验349
第18章 加壳与脱壳 352
18.1 剖析加壳352
18.1.1 脱壳存根353
18.1.2 加载可执行文件353
18.1.3 解析导入函数表353
18.1.4 尾部跳转354
18.1.5 图示脱壳过程354
18.2 识别加壳程序355
18.2.1 加壳程序的标识355
18.2.2 熵计算356
18.3 脱壳选项356
18.4 自动脱壳356
18.5 手动脱壳357
18.5.1 使用导入重构器重构导入表358
18.5.2 查找OEP359
18.5.3 手动修复导入表363
18.6 常见壳的技巧与窍门364
18.6.1 UPX 364
18.6.2 PECompact 365
18.6.3 ASPack365
18.6.4 Petite 365
18.6.5 WinUpack 366
18.6.6 Themida367
18.7 不完全脱壳情况下的分析368
18.8 加壳DLL 368
18.9 小结369
18.10 实验369
第 6 篇 高级专题
第19章 shellcode 分析 372
19.1 加载shellcode 进行分析372
19.2 位置无关代码373
19.3 识别执行位置373
19.3.1 使用call/pop 指令374
19.3.2 使用fnstenv 指令376
19.4 手动符号解析377
19.4.1 在内存中找到kernel32.dll378
19.4.2 解析PE 文件导出数据380
19.4.3 使用散列过的导出符号名382
19.5 一个完整的Hello World 例子383
19.6 shellcode 编码385
19.7 空指令雪橇387
19.8 找到shellcode387
19.9 小结388
19.10 实验389
第20章 C++代码分析 391
20.1 面向对象的编程语言391
20.1.1 this 指针392
20.1.2 重载与修饰394
20.1.3 继承(Inheritance)和函数重写(Overriding)395
20.2 虚函数和非虚函数396
20.2.1 虚函数表的使用398
20.2.2 识别虚函数表399
20.3 创建和销毁对象400
20.4 小结401
20.5 实验401
第21章 64 位恶意代码 403
21.1 为什么需要64 位恶意代码403
21.2 x64 架构上的差别404
21.2.1 x64 调用约定和栈使用上的差别406
21.2.2 64 位异常处理408
21.3 在Windows 64 位上的Windows 32 位408
21.4 恶意代码功能上的64位提示409
21.5 小结410
21.6 实验410
附录A 常见Windows 函数列表 412
附录B 流行的恶意代码分析工具列表424
附录C 实验作业参考解答435
附录D 致青春,基础软件开发的中国故事 691
附录E Syser 操作入门 695
· · · · · · (收起)

读后感

评分

随便在哪家网上书城进行搜索可以知道,在计算机安全类,特别是恶意代码分析领域的书籍可谓是凤毛麟角。如果哪位读者对于恶意代码分析有浓厚的兴趣,要么是去一些大型的安全类论坛看他人的分析报告,要么是在众多的安全类书籍中,东找一点西凑一点地进行学习。这也就说明了市面...  

评分

评分

第15章习题 Lab15.3中通过SEH来执行恶意代码,其还原存在一个问题 mov eax,large fs:0 // 获取Esp mov eax,[eax] // 获取ExceptionList mov eax,[eax] // 获取Next mov large fs:0 eax; // 还原fs:0 如下代码,其不仅将恶意代码从链表中摘除,也会摘除正常的第一个_EXCEPTION_R...

评分

第15章习题 Lab15.3中通过SEH来执行恶意代码,其还原存在一个问题 mov eax,large fs:0 // 获取Esp mov eax,[eax] // 获取ExceptionList mov eax,[eax] // 获取Next mov large fs:0 eax; // 还原fs:0 如下代码,其不仅将恶意代码从链表中摘除,也会摘除正常的第一个_EXCEPTION_R...

评分

第15章习题 Lab15.3中通过SEH来执行恶意代码,其还原存在一个问题 mov eax,large fs:0 // 获取Esp mov eax,[eax] // 获取ExceptionList mov eax,[eax] // 获取Next mov large fs:0 eax; // 还原fs:0 如下代码,其不仅将恶意代码从链表中摘除,也会摘除正常的第一个_EXCEPTION_R...

用户评价

评分

我一直认为,网络安全领域的学习,最忌讳的就是“纸上谈兵”。而《恶意代码分析实战》这本书,恰恰做到了这一点。它不仅仅是一本讲解理论的书,更是一本指导你如何“动手”的书。 当我翻开这本书的时候,最先吸引我的是其结构安排。它不是按照某种工具的分类来组织内容,而是围绕着“分析过程”展开。从初识恶意代码,到进行初步的扫描和分类,再到深入的静态和动态分析,最后到样本的溯源和报告撰写,整个流程被梳理得井井有条。这让我能够很清晰地知道,在进行一次恶意代码分析时,我应该从哪里开始,以及每一步的目的和方法。 书中对于各种分析工具的使用,并没有止步于介绍按钮和菜单,而是深入到每一个参数的含义、每一种选项的适用场景。例如,在讲解PE文件结构时,作者就详细介绍了文件头、节表、导入导出表等各个部分的意义,以及它们在分析过程中可能提供的线索。而在动态分析的部分,作者更是花了大量的篇幅来讲解如何设置和优化监控环境,如何从大量的日志信息中筛选出有用的数据。 我印象最深刻的是,作者在讲解过程中,会时不时地抛出一些“陷阱”和“误导”。他会提醒读者,很多时候恶意代码都会尝试隐藏自己的真实意图,所以分析师必须保持警惕,不能轻易相信表面现象。这种“反套路”的教学方式,让我受益匪浅。它教会我不仅仅是学习如何使用工具,更是如何“思考”如何“质疑”。 书中还包含了一些关于恶意代码传播途径和防护策略的章节。这让我意识到,恶意代码分析不仅仅是为了理解“它是什么”,更是为了更好地“阻止它”。从这个角度来说,这本书的实用价值得到了极大的提升。它让我明白了,作为一名安全从业者,我们不仅需要懂技术,还需要有大局观。 总而言之,《恶意代码分析实战》是一本非常具有指导意义的书籍,它能够帮助读者建立起一套科学、系统的恶意代码分析体系,并培养出敏锐的分析思维。

评分

在我看来,《恶意代码分析实战》这本书的价值,在于它提供了一个近乎“沉浸式”的学习体验。作者似乎已经将自己多年积累的实战经验,毫无保留地倾注在了这本书中。 书中的内容,始终围绕着“实战”二字展开。从样本的获取,到分析环境的搭建,再到对各种恶意代码家族的深入剖析,每一个环节都充满了实践指导的意义。作者在讲解静态分析时,并没有局限于理论知识,而是详细介绍了如何使用HxD、Detect It Easy等工具来查看文件属性和识别加壳方式。更进一步,他还演示了如何结合OllyDbg和IDA Pro等工具,进行深入的代码逻辑分析。 让我感到惊艳的是,书中对内存分析的讲解。在很多同类书籍中,这部分内容往往只是浅尝辄止,而《恶意代码分析实战》则深入到了内存镜像的提取、进程内存的Dump以及内存中隐藏数据的恢复等细节。作者通过大量的图示和命令示例,清晰地展示了如何利用WinDbg等工具来挖掘隐藏在内存中的恶意Payload。这对于我这个对内存取证和分析一直感到好奇但又无从下手的人来说,简直是雪中送炭。 在动态分析方面,本书同样做到了细致入微。作者不仅讲解了如何使用Procmon、Regshot等工具来捕获进程和注册表的行为,还重点阐述了如何分析这些日志信息,从中提炼出关键的恶意行为。例如,他会指导读者如何追踪文件创建、删除、修改的痕迹,如何识别恶意进程的启动和销毁,以及如何解析网络通信中的可疑数据。 值得一提的是,书中还穿插了一些关于逆向工程中常用算法和数据结构的介绍。这对于理解复杂的恶意代码逻辑,尤其是那些利用了某些加密或压缩算法的代码,提供了非常有力的支撑。 总而言之,《恶意代码分析实战》是一本非常扎实的实战指南,它能够帮助读者快速上手恶意代码分析,并逐步深入到更复杂的领域。

评分

作为一名长期在安全领域摸爬滚打的工程师,我拿到《恶意代码分析实战》这本书的时候,本以为不过是市面上众多同类书籍的翻版,无非是重复一些基础的概念和工具的使用。然而,这本书的深度和广度,却远远超出了我的预期。 书的前半部分,作者并没有停留在浅尝辄止的工具介绍上,而是深入剖析了各种恶意代码类型(如木马、蠕虫、病毒、勒索软件)的典型行为模式和攻击向量。通过对大量真实样本的抽丝剥茧,作者揭示了攻击者如何利用系统漏洞、社会工程学等手段进行传播和控制。我特别欣赏的是,书中在讲解某个攻击技术时,会追溯其历史演变,并分析其在不同操作系统和架构下的实现细节。这种宏观与微观相结合的视角,让我对恶意代码的整体生态有了更深刻的认识。 在技术层面,《恶意代码分析实战》在静态分析部分,着重于对反汇编代码的理解和解读。作者详细讲解了如何识别和绕过常见的代码混淆和加壳技术,以及如何通过特征码匹配、API调用分析等方法来定位恶意功能。在动态分析方面,书中则着重于对运行时行为的细致观察和记录。作者通过对内存快照、注册表变化、网络流量等信息的综合分析,构建了完整的恶意代码执行链。尤其让我印象深刻的是,书中对一些高级的反分析技术进行了深入的探讨,比如如何对抗调试器的检测,如何识别虚拟机环境,以及如何应对沙箱的限制。 更重要的是,作者在书中强调了分析思维的培养。他反复强调,恶意代码分析并非简单的工具堆砌,而是一个需要逻辑推理、经验积累和不断试错的过程。书中通过大量的案例研究,展示了分析师是如何从杂乱无章的信息中提取关键线索,最终还原恶意代码的真实面貌。这种注重方法论的讲解,对于提升分析人员的实战能力有着极大的帮助。 总而言之,《恶意代码分析实战》是一本集深度、广度和实践性于一体的优秀作品,它不仅适合初学者入门,更能够为经验丰富的安全专家提供新的视角和思路。

评分

作为一名拥有多年安全攻防经验的从业者,我通常对这类“实战”系列的图书持保留态度,因为很多时候它们只是将现有的工具和公开的资料进行整合,缺乏独到的见解和深度。然而,《恶意代码分析实战》这本书,却以其独特的视角和详实的案例,打破了我的固有认知。 这本书最让我印象深刻的,是其对“思维导图式”分析方法的强调。作者并非直接给出分析的步骤,而是引导读者去构建一个分析的框架,然后在这个框架下,根据不同的情况去填充具体的工具和技术。例如,在分析一个未知样本时,作者会建议读者首先从“宏观”层面入手,去了解样本的基本信息,如文件类型、大小、来源等,然后再逐步深入到“微观”层面,进行详细的代码分析。 书中对“反分析”技术的讲解,也是可圈可点。作者并没有仅仅停留在列举各种反分析技术,而是深入分析了这些技术是如何被实现的,以及分析师应该如何去规避和绕过它们。这对于我这种经常需要面对高度混淆和反分析的恶意代码的人来说,提供了宝贵的思路。例如,他详细讲解了如何检测和对抗调试器钩子,如何识别和应对代码虚拟化技术,以及如何通过修改分析环境来迷惑恶意代码。 此外,《恶意代码分析实战》在讲解过程中,大量的引用了最新的恶意代码样本进行分析。作者并没有选择那些已经过时的、被大家熟知的样本,而是选取了具有代表性的、在近期活动中频繁出现的样本。这使得书中的内容具有很强的时效性和前沿性。我从中不仅学习到了分析技术,更了解了当前恶意代码的发展趋势和攻击者的最新玩法。 书中还包含了一些关于脚本引擎分析、 Exploit Kit 的组成和工作原理等内容。这些内容虽然不是传统的恶意代码分析的范畴,但却与实际的攻防对抗息息相关。它让我意识到,恶意代码分析不仅仅是静态和动态的二进制分析,更需要将其置于整个攻击链中去理解。 总而言之,《恶意代码分析实战》是一本超越了工具指南的书籍,它更像是一位经验丰富的导师,在手把手地教你如何成为一名出色的恶意代码分析师。

评分

这本书的封面设计非常吸引眼球,深邃的蓝色背景配上闪烁的红色代码片段,瞬间就点燃了我对网络安全领域的好奇心。作为一名刚入行的网络安全爱好者,我一直在寻找一本能够系统性地介绍恶意代码分析的入门书籍,而《恶意代码分析实战》似乎就是我期盼已久的答案。 首先,这本书的作者在序言中提到,本书的目标是带领读者从零开始,逐步掌握恶意代码分析的核心技术和实践方法。这让我感到非常安心,因为我担心那些过于专业化的书籍会让初学者望而却步。书本的语言风格非常亲切,没有过多的术语堆砌,而是用通俗易懂的方式讲解复杂的概念。例如,在介绍静态分析的章节,作者通过大量的图示和代码示例,清晰地展示了如何使用IDA Pro等工具来解析可执行文件,寻找可疑的代码段。我尤其喜欢的是作者在讲解过程中,会穿插一些实际案例,比如对某个知名病毒的分析过程,这让学习过程充满了趣味性,也让我能够更直观地理解理论知识的应用。 此外,书中还详细阐述了动态分析的原理和方法。作者建议读者在虚拟机环境中进行分析,并详细介绍了如何设置和配置分析环境,以确保实验的安全性。我尝试跟着书中的步骤,使用Wireshark和Process Monitor等工具来监控恶意代码的行为,例如网络通信、文件读写以及进程创建等。每一次成功的分析都给我带来了巨大的成就感。我发现,这本书不仅仅是理论的讲解,更强调动手实践,这对于我这种希望将知识转化为技能的人来说,是至关重要的。 更令我惊喜的是,书中还涉及了一些更高级的话题,比如内存分析、反调试技术以及沙箱逃逸等。虽然这些内容对我来说还有些挑战,但作者的讲解方式依然清晰明了,循序渐进。我能够理解这些技术在实际攻防对抗中的重要性,也为我未来的深入学习指明了方向。总的来说,《恶意代码分析实战》是一本内容详实、讲解生动、实践性强的图书,非常适合所有对恶意代码分析感兴趣的读者。

评分

值得拥有。放在床头没事了翻翻挺不错,深度和广度都不错

评分

逆向领域为数不多的好书,要先粗读,再精读,入门必备

评分

逆向领域为数不多的好书,要先粗读,再精读,入门必备

评分

这本书最大的亮点在于实战,每一章都有难度相当的上机实战问题,并指导你如何解决这些问题。

评分

极其实用,一本从入门到精通不为过

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.quotespace.org All Rights Reserved. 小美书屋 版权所有