Reversing

Reversing pdf epub mobi txt 电子书 下载 2026

出版者:电子工业出版社
作者:艾拉姆(Eilam,E.)
出品人:
页数:598
译者:韩琪
出版时间:2007-9
价格:79.00元
装帧:
isbn号码:9787121049958
丛书系列:安全技术大系
图书标签:
  • 逆向工程
  • 反汇编
  • 计算机
  • 黑客
  • 逆向
  • 编程
  • 计算机技术
  • 安全
  • 逆向工程
  • 编程
  • 安全
  • 漏洞分析
  • 二进制
  • 汇编
  • 恶意软件
  • 系统调试
  • 软件逆向
  • 反编译
想要找书就要到 图书目录大全
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

本书描述的是在逆向与反逆向之间展开的一场旷日持久的拉锯战。作者Eldad Eilam以一个解说人的身份为我们详尽地评述了双方使用的每一招每一式的优点与不足。

书中包含的主要内容有:操作系统的逆向工程;.NET平台上的逆向工程;逆向未公开的文件格式和网络协议;逆向工程的合法性问题;拷贝保护和数字版权管理技术的逆向工程;防止别人对你的代码实施逆向工程的各种技术;恶意程序的逆向工程;反编译器的基本原理以及它对逆向过程的影响。

本书适合软件逆向工程的从业人员...

《迷途之声》 在现代都市的钢筋丛林深处,隐藏着一个不为人知的秘密角落。主人公艾伦,一个才华横溢却饱受内心挣扎的年轻音乐家,总觉得生命中缺少了某种重要的东西。他沉迷于创作,试图在音符的海洋中找寻慰藉,却屡屡陷入创作的瓶颈和对过往的深深懊悔。一次偶然的机会,他收到了一份来自素未谋面的远房亲戚的遗产——一栋坐落在偏远海滨小镇的老宅。 怀揣着对未知的好奇和对逃离现实的渴望,艾伦踏上了这趟旅程。小镇宁静得仿佛时间静止,与他熟悉的喧嚣都市截然不同。老宅弥漫着一股古老的气息,木质地板吱呀作响,墙壁上挂着泛黄的老照片。在整理遗物时,艾伦发现了一个尘封的音乐盒,以及一本布满笔记的日记。日记的主人是他的祖母,一位他几乎没有印象的女性。 随着他对日记的深入阅读,一个尘封的故事逐渐在他眼前展开。祖母曾经也是一位充满激情的音乐人,她记录了年轻时的梦想、爱情,以及一段刻骨铭心的经历。日记中充满了对音乐的热爱,对生活的思考,以及对一段无法忘怀的情感的追溯。然而,日记的字里行间也透露出一种深深的遗憾和未竟的遗憾,似乎有什么重要的东西被遗失,或被选择遗忘。 艾伦被日记中的故事深深吸引,祖母的经历与他自身的迷茫和挣扎产生了奇妙的共鸣。他开始在老宅中探索,试图找到日记中提及的那些可能隐藏着线索的物品。他在阁楼里发现了一架老旧的钢琴,当他弹奏起那些熟悉的旋律时,仿佛能听到祖母的心声在房间里回荡。他逐渐发现,祖母的日记不仅仅是记录,更像是一份未完成的乐章,一份需要被重新解读和演奏的乐谱。 与此同时,小镇上的一些老人也开始注意到这个陌生的年轻人。他们或多或少地认识艾伦的祖母,并对他的到来感到意外。在与他们的交流中,艾伦零星地了解到一些关于祖母过去的故事,这些故事拼凑起来,勾勒出一个更加立体的祖母形象,一个充满智慧、坚韧,也曾经历过痛苦抉择的女性。 艾伦开始尝试根据日记中的线索,重拾祖母未完成的音乐。他发现,祖母的音乐中蕴含着一种独特的旋律和情感,触及了他内心最柔软的部分。他越是沉浸其中,越是感受到一种前所未有的创作灵感。他开始在自己的音乐中融入祖母的风格,并从中汲取力量。 然而,随着故事的深入,艾伦也发现,祖母的日记中隐藏着一段关于她年轻时一次重要抉择的秘密。这个抉择,似乎是她一生中最大的遗憾,也是她音乐中挥之不去的忧伤根源。这个秘密,也牵扯到她与一位神秘人物的复杂关系。 艾伦在追寻真相的过程中,不仅要面对祖母过去的谜团,更要审视自己内心的困惑和对现实的态度。他意识到,他来到这里的目的,不仅仅是为了继承遗产,更是为了通过理解祖母的经历,找到属于自己的答案,疗愈内心的创伤,并重新找回对生活的热情和对音乐的初心。 《迷途之声》是一部关于记忆、情感、音乐和自我救赎的动人故事。它将带领读者穿越时空的界限,在静谧的海滨小镇,聆听一个被时光掩埋的秘密,感受一段关于爱与遗憾的深刻旋律,并跟随主人公一同踏上寻找内心回响的旅程。故事的结局,将是关于放下过去、拥抱现在,以及如何让迷失的声音重新找回方向的温暖启示。

作者简介

Eldad Eilam逆向工程领域顾问。他帮助客户解决处理操作系统和深入的软件逆向工程问题,并数年致力于开发高级逆向工程技术。

目录信息

第1部分 逆向101
第1章 基础 3
1.1 什么是逆向工程 3
1.2 软件逆向工程:逆向 4
1.3 逆向应用 4
1.3.1 与安全相关的逆向 5
1.3.2 软件开发中的逆向 8
1.4 底层软件 9
1.4.1 汇编语言 10
1.4.2 编译器 11
1.4.3 虚拟机和字节码 12
1.4.4 操作系统 13
1.5 逆向过程 13
1.5.1 系统级逆向 14
1.5.2 代码级逆向 14
1.6 工具 14
1.6.1 系统监控工具 15
1.6.2 反汇编器 15
1.6.3 调试器 15
1.6.4 反编译器 16
1.7 逆向合法吗? 17
1.7.1 互操作性 17
1.7.2 竞争 18
1.7.3 版权法 19
1.7.4 商业机密和专利权 20
1.7.5 美国数字千禧版权法 20
1.7.6 DMCA案例 22
1.7.7 许可证协议 23
1.8 代码范例与工具 23
1.9 结论 23
第2章 底层软件 25
2.1 高阶视角 26
2.1.1 程序结构 26
2.1.2 数据管理 29
2.1.3 控制流 32
2.1.4 高级语言 33
2.2 低阶视角 37
2.2.1 底层数据管理 37
2.2.2 控制流 43
2.3 汇编语言101 44
2.3.1 寄存器 44
2.3.2 标志位 46
2.3.3 指令格式 47
2.3.4 基本指令 48
2.3.5 范例 52
2.4 编译器和编译入门 53
2.4.1 定义编译器 54
2.4.2 编译器架构 55
2.4.3 列表文件 58
2.4.4 专用编译器 59
2.5 执行环境 60
2.5.1 软件执行环境(虚拟机) 60
2.5.2 现代处理器的硬件执行环境 63
2.6 结论 68
第3章 Windows基础知识 69
3.1 组件及基本架构 70
3.1.1 简要回顾 70
3.1.2 特征 70
3.1.3 支持的硬件 71
3.2 内存管理 71
3.2.1 虚拟内存和分页 72
3.2.2 工作集 74
3.2.3 内核内存和用户内存 74
3.2.4 内核内存空间 75
3.2.5 区段对象 77
3.2.6 VAD树 78
3.2.7 用户模式的内存分配 78
3.2.8 内存管理API 79
3.3 对象与句柄 80
命名对象 81
3.4 进程与线程 83
3.4.1 进程 84
3.4.2 线程 84
3.4.3 运行状态切换 85
3.4.4 同步对象 86
3.4.5 进程初始化顺序 87
3.5 应用程序编程接口 88
3.5.1 Win32 API 88
3.5.2 本地API 90
3.5.3 系统调用机制 91
3.6 可执行文件格式 93
3.6.1 基本概念 93
3.6.2 映像区段(Image Sections) 95
3.6.3 区段对齐(Section Alignment) 95
3.6.4 动态链接库 96
3.6.5 头部 97
3.6.6 导入与导出 99
3.6.7 目录 99
3.7 输入与输出 103
3.7.1 I/O系统 103
3.7.2 Win32子系统 104
3.8 结构化异常处理 105
3.9 结论 107
第4章 逆向工具 109
4.1 不同的逆向方法 110
4.1.1 离线代码分析 110
4.1.2 现场代码分析 110
4.2 反汇编器——ILDasm 110
4.3 调试器 116
4.3.1 用户模式调试器 118
4.3.2 内核模式调试器 122
4.4 反编译器 129
4.5 系统监控工具 129
4.6 修补工具 131
Hex Workshop 131
4.7 其他类型的逆向工具 133
可执行程序转储工具 133
4.8 结论 138
第2部分 应用逆向
第5章 未公开的技术 141
5.1 逆向和互操作性 142
5.2 基本原则 142
5.3 定位未公开的API函数 143
我们要找什么? 144
5.4 案例研究:NTDLL.DLL中的
5.4 Generic Table API 145
5.4.1 RtlInitializeGenericTable 146
5.4.2 RtlNumberGenericTableElements 151
5.4.3 RtlIsGenericTableEmpty 152
5.4.4 RtlGetElementGenericTable 153
5.4.5 RtlInsertElementGenericTable 168
5.4.6 RtlLookupElementGenericTable 188
5.4.7 RtlDeleteElementGenericTable 193
5.4.8 思路整理 194
5.5 结论 196
第6章 破译文件格式 199
6.1 Cryptex 200
6.2 使用Cryptex 201
6.3 逆向Cryptex 202
6.4 口令校验过程 207
6.4.1 捕获“Bad Password”消息 207
6.4.2 口令变换算法 210
6.4.3 对口令作hash处理 213
6.5 目录结构 218
6.5.1 分析目录处理代码 218
6.5.2 分析文件项 223
6.6 转储目录结构 227
6.7 文件提取过程 228
6.7.1 扫描文件列表 234
6.7.2 解密文件 235
6.7.3 浮点运算代码 236
6.7.4 解密循环 238
6.7.5 验证Hash值 239
6.8 要点总结 239
6.9 进一步讨论 241
6.10 结论 242
第7章 审查程序的二进制码 243
7.1 定义问题 243
7.2 漏洞 245
7.2.1 堆栈溢出 245
7.2.2 堆溢出 255
7.2.3 字符串过滤程序 256
7.2.4 整数溢出 256
7.2.5 类型转换错误 260
7.3 案例研究:IIS索引服务漏洞 262
7.3.1 CVariableSet::
7.3.1 AddExtensionControlBlock 263
7.3.2 DecodeURLEscapes 267
7.4 结论 271
第8章 逆向恶意软件 273
8.1 恶意软件的分类 274
8.1.1 病毒 274
8.1.2 蠕虫 274
8.1.3 特洛伊木马 275
8.1.4 后门 276
8.1.5 移动代码 276
8.1.6 广告软件和间谍软件 276
8.2 粘人的软件(Sticky
8.2 Software) 277
8.3 未来的恶意软件 278
8.3.1 盗取信息的蠕虫 278
8.3.2 BIOS/固件恶意软件 279
8.4 恶意软件的使用 280
8.5 恶意软件的弱点 281
8.6 多态 282
8.7 变形 283
8.8 建立安全的环境 285
8.9 Backdoor.Hacarmy.D 285
8.9.1 脱壳可执行文件 286
8.9.2 初次印象 290
8.9.3 初次安装 291
8.9.4 初始化通信设置 294
8.9.5 连接到服务器 296
8.9.6 连接信道 298
8.9.7 与后门进行通信 299
8.9.8 运行SOCK4服务器 303
8.9.9 清理犯罪现场 303
8.10 The Backdoor.Hacarmy.D:
8.10 命令参考 304
8.11 结论 306
第3部分 破解
第9章 盗版与拷贝保护 309
9.1 世界中的版权 309
9.2 社会方面 310
9.3 软件盗版 310
9.3.1 明确问题 311
9.3.2 群破解 312
9.3.3 需求 313
9.3.4 理论上不可破解的模型 314
9.4 各种类型的保护 314
9.4.1 基于介质的保护 314
9.4.2 序列号 315
9.4.3 质询响应和在线激活 315
9.4.4 基于硬件的保护 316
9.4.5 软件即服务 317
9.5 高级保护的概念 318
加密处理器 318
9.6 数字版权管理 319
数字版权管理模型 320
9.7 加水印 321
9.8 可信计算 322
9.9 破解拷贝保护技术 324
9.10 结论 324
第10章 反逆向技术 327
10.1 为什么要反逆向? 327
10.2 反逆向的基本方法 328
10.3 消除符号信息 329
10.4 代码加密 330
10.5 活跃的反调试器技术 331
10.5.1 调试器基础 331
10.5.2 API函数IsDebuggerPresent 332
10.5.3 SystemKernelDebugger
10.5.3 Information 333
10.5.4 用单步中断检测SoftICE 334
10.5.5 陷阱标志 335
10.5.6 代码校验和 335
10.6 迷惑反汇编器 336
10.6.1 线性扫描反汇编器 337
10.6.2 递归遍历反汇编器 338
10.6.3 应用 343
10.7 代码混淆 344
10.8 控制流变换 346
10.8.1 暗晦谓词 346
10.8.2 迷惑反编译器 348
10.8.3 表译码 348
10.8.4 内联和外联 353
10.8.5 交叉代码 354
10.8.6 次序变换 355
10.9 数据变换 355
10.9.1 修改变量编码 355
10.9.2 重构数组 356
10.10 结论 356
第11章 突破保护 357
11.1 修补程序(Patching) 358
11.2 生成密钥 364
11.3 取密钥生成算法 365
11.4 高级破解:Defender 370
11.4.1 逆向Defender的初始化程序 377
11.4.2 分析解密后的代码 387
11.4.3 SoftICE的消失 396
11.4.4 逆向分析第二个线程 396
11.4.5 击败“杀手(Killer)”线程 399
11.4.6 加载KERNEL32.DLL 400
11.4.7 再加密函数 401
11.4.8 回到入口点 402
11.4.9 解析程序的参数 404
11.4.10 处理用户名 406
11.4.11 验证用户信息 407
11.4.12 解密代码 409
11.4.13 暴力破解Defender 409
11.5 Defender中的保护技术 415
11.5.1 局部化的函数级加密 415
11.5.2 混淆应用程序与操作系统
11.5.2 之间的接口 416
11.5.3 处理器时间戳验证线程 417
11.5.4 在运行时生成解密密钥 418
11.5.5 重度内联 419
11.6 结论 419
第4部分 反汇编之外
第12章 逆向.NET 423
12.1 基本原则 424
12.2 .NET基础 426
12.2.1 托管代码 426
12.2.2 .NET程序设计语言 428
12.2.3 通用类型系统 428
12.3 中间语言 429
12.3.1 求值堆栈 430
12.3.2 活动记录 430
12.3.3 IL指令 430
12.3.4 代码实例 433
12.4 反编译器 443
12.5 混淆器 444
12.5.1 重命名符号 444
12.5.2 控制流混淆 444
12.5.3 中断反编译与中断反汇编 444
12.6 逆向混淆代码 445
12.6.1 XenoCode混淆器 446
12.6.2 DotFuscator by Preemptive
12.6.2 Solutions 448
12.6.3 Remotesoft 混淆器与连接器 451
12.6.4 Remotesoft Protector 452
12.6.5 预编译的汇编程序 453
12.6.6 加密的汇编程序 453
12.7 结论 455
第13章 反编译 457
13.1 本地代码的反编译:是一个
13.1 解决不了的问题吗? 457
13.2 典型的反编译器架构 459
13.3 中间表示 459
13.3.1 表达式和表达式树 461
13.3.2 控制流图 462
13.4 前端 463
13.4.1 语义分析 463
13.4.2 生成控制流图 464
13.5 代码分析 466
13.5.1 数据流分析 466
13.5.2 类型分析 472
13.5.3 控制流分析 475
13.5.4 查找库函数 475
13.6 反编译器后端 476
13.7 Real-World IA-32反编译 477
13.8 结论 477
附录A 揭密代码结构 479
附录B 理解编译后的算术运算 519
附录C 破译程序数据 537
索引 561
· · · · · · (收起)

读后感

评分

书很好,但是amazon不厚道,居然在add this item to basket 下面加了一个buy this item with one click,手一抖就把它直接给买了。

评分

在好几年以前就看过这本书。普通书籍对于逆向工程,要么闭口不言,要么一瞥而过,从来没有这本书讲得这么详细。 从工具的使用到分析的技巧,从标准的x86 assemble到.NET的CIL,再从reversing到anti-reversing,如此深入浅出的描述,都让我对作者的功力佩服得五体投地。 记得...  

评分

在好几年以前就看过这本书。普通书籍对于逆向工程,要么闭口不言,要么一瞥而过,从来没有这本书讲得这么详细。 从工具的使用到分析的技巧,从标准的x86 assemble到.NET的CIL,再从reversing到anti-reversing,如此深入浅出的描述,都让我对作者的功力佩服得五体投地。 记得...  

评分

在好几年以前就看过这本书。普通书籍对于逆向工程,要么闭口不言,要么一瞥而过,从来没有这本书讲得这么详细。 从工具的使用到分析的技巧,从标准的x86 assemble到.NET的CIL,再从reversing到anti-reversing,如此深入浅出的描述,都让我对作者的功力佩服得五体投地。 记得...  

评分

书很好,但是amazon不厚道,居然在add this item to basket 下面加了一个buy this item with one click,手一抖就把它直接给买了。

用户评价

评分

这是一本真正需要“用心”去读的书,而不是走马观花地翻阅。它的内容密度非常高,但请不要因此感到畏惧,因为作者在组织这些复杂信息时所展现出的智慧,才是这本书最核心的价值所在。它不是那种一蹴而就的速成指南,而更像是一份需要投入时间和精力的“武功秘籍”。我个人推荐搭配一台虚拟机和一些基础的反汇编工具一起阅读,你会发现,每当你动手实践书中的一个小例子,那种醍醐灌顶的感觉是无以伦比的。更重要的是,这本书培养了一种批判性的分析思维——它鼓励你质疑现有的实现,去探究“为什么是这样设计”,而不是仅仅接受表面的功能。这种思维的训练,对于任何希望在技术领域走得更远的人来说,都是至关重要的。这本书的价值,在于它不仅教会你“破解”代码,更教会你“重构”自己的技术认知体系。

评分

这本《Reversing》简直是本让人耳目一新的技术宝典!我原本以为这种类型的书会充斥着晦涩难懂的术语和枯燥的理论,读起来会像啃石头一样费劲,没想到作者的叙述方式竟然如此引人入胜。它没有上来就抛出复杂的代码片段或者深奥的汇编指令,而是像一位经验丰富的老前辈,带着你一步步揭开软件世界的“神秘面纱”。书中对底层逻辑的剖析,那种抽丝剥茧般的细致,让我这个一直停留在应用层面的开发者大有茅塞顿开之感。特别是关于程序结构和数据流向的描述,简直是艺术品级别的讲解。我尤其欣赏作者在阐述每一个概念时,总能找到一个极富画面感的比喻,让那些原本抽象的概念瞬间变得鲜活起来。读这本书的过程,与其说是学习技术,不如说是一次智力上的探险,我感觉自己的思维模式都在潜移默化地发生着积极的改变,对于未来处理更复杂问题时,那种信心是这本书带来的最宝贵的财富。我已经迫不及待想找个周末,泡一杯咖啡,沉浸在这本书构建的世界里,去深挖那些平时我们习以为常却从未真正理解的软件内部机制。

评分

我必须得承认,这本书的价值远远超出了我对一本技术书籍的期望。它在行文风格上展现出一种罕见的平衡感——既有学术研究的深度和严谨,又不失工程师对实践的敏锐直觉。很多技术书籍要么过于理论化,让人抓不住重点,要么过于偏重工具操作,缺乏底层理论支撑,而《Reversing》完美地找到了那个黄金分割点。书中穿插的一些历史轶事和早年技术先驱的思考方式,更是为冰冷的技术增添了一抹人文色彩,让人在学习技术的同时,也能感受到这个领域的发展脉络和前辈们的智慧。我特别喜欢作者在介绍复杂算法时,会先用一个非常直观的、非技术性的模型来类比,这极大地降低了理解门槛。这本书不仅仅是让你的技术栈增加了一个新技能,它更像是一把钥匙,打开了你通往更深层次计算理论理解的大门,是那种可以放在床头,时不时翻阅温习的“经典”之作。

评分

说实话,我一开始拿到这本书时,心里是有点忐忑的。毕竟“逆向工程”这个领域听起来就带着一股子高冷和精英主义的味道,我担心自己基础不够扎实,会被书里的内容直接“劝退”。但是,这本书的编排结构简直是教科书级的示范——它极其平滑地引导了读者的学习曲线。它从最基础的内存管理概念讲起,用一种近乎“讲故事”的方式,将复杂的系统调用过程娓娓道来,既保证了严谨性,又完全照顾到了初学者的接受度。我印象最深的是其中一个章节,专门讲解了不同编译器优化策略对最终生成代码的影响,作者没有直接给出结论,而是设计了一系列小实验,让我们亲手观察变化,这种“做中学”的体验,比死记硬背公式有效一万倍。这本书的厉害之处在于,它不仅教你“怎么做”,更重要的是教会你“为什么会是这样”,它构建的是一种完整的、全局的理解框架,这对于任何想要精进自己技术深度的工程师来说,都是无可替代的资源。

评分

这本书的阅读体验,用一个词来形容就是“酣畅淋漓”。它没有那种故作高深的故弄玄虚,每一个知识点的讲解都直击要害,仿佛作者已经预设了读者会产生的每一个疑问,并提前准备了最清晰的解答。我发现,很多我过去在调试中遇到的疑难杂症,那些困扰我很久的“黑盒子”问题,在这本书里找到了逻辑清晰的解释。它不仅仅是一本关于特定工具或技术的指南,更像是一部关于计算机科学核心原理的深度剖析录。作者对细节的痴迷程度令人敬佩,比如对不同操作系统内核版本之间微小差异的考证,那种追求极致准确性的态度,让这本书的权威性大大增强。读完之后,我感觉自己看待软件的视角都变了,以前看到一个程序运行,我只看到它的输入和输出,现在我能隐约“看到”它在幕后如何调动资源、如何进行决策,这种掌控感,是任何高级框架都无法给予的。

评分

内容老

评分

感谢大家对博文视点图书的关注

评分

内容老

评分

感谢大家对博文视点图书的关注

评分

这本书中文翻译的不错 感觉作者是真正懂这一块东西的

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

© 2026 book.wenda123.org All Rights Reserved. 图书目录大全 版权所有