有趣的二进制

有趣的二进制 pdf epub mobi txt 电子书 下载 2026

出版者:人民邮电出版社
作者:[ 日] 爱甲健二
出品人:图灵教育
页数:272
译者:周自恒
出版时间:2015-10
价格:39.00元
装帧:平装
isbn号码:9787115403995
丛书系列:图灵程序设计丛书·图解与入门系列
图书标签:
  • 逆向工程
  • 计算机
  • 安全
  • 计算机科学
  • 信息安全
  • 编程
  • 逆向
  • 計算機
  • 二进制
  • 编程
  • 科技
  • 数学
  • 趣味
  • 学习
  • 基础
  • 计算机
  • 逻辑
  • 启蒙
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《有趣的二进制:软件安全与逆向分析》通过逆向工程,揭开人们熟知的软件背后的机器语言的秘密,并教给读者读懂这些二进制代码的方法。理解了这些方法,技术人员就能有效地Debug,防止软件受到恶意攻击和反编译。本书涵盖的技术包括:汇编与反汇编、调试与反调试、缓冲区溢出攻击与底层安全、钩子与注入、Metasploit 等安全工具。

《有趣的二进制:软件安全与逆向分析》适合对计算机原理、底层或计算机安全感兴趣的读者阅读。

《星辰之轨:宇宙奥秘的宏大叙事》 在这本引人入胜的著作中,我们将踏上一场穿越时空的壮丽旅程,探索宇宙的起源、演化及其深邃的奥秘。从宇宙大爆炸的瞬间,到恒星的诞生与死亡,再到星系的形成与碰撞,本书将以清晰流畅的语言,配合精美的插图和震撼人心的宇宙影像,为读者呈现一幅波澜壮阔的宇宙画卷。 第一章:黎明前的黑暗——宇宙的诞生 本书将从宇宙最古老的谜团——大爆炸理论——开始。我们将深入探讨宇宙创生时期的极端条件,理解是什么驱动了宇宙的膨胀,以及最初的基本粒子是如何形成的。通过对宇宙微波背景辐射的解读,我们将揭示宇宙诞生后不久的“婴儿时期”留下的珍贵线索,理解宇宙的初始状态。我们会介绍宇宙学中的关键概念,例如宇宙膨胀、红移现象,以及早期宇宙的物质和能量分布,为后续章节奠定坚实的基础。 第二章:恒星的摇篮与坟墓——星辰的生命周期 恒星,作为宇宙中最普遍也最迷人的天体,将是本章的焦点。我们将详细阐述恒星是如何从星际尘埃和气体云中诞生的,理解引力在其中扮演的关键角色。从年轻而炽热的蓝巨星,到稳定燃烧的黄矮星(如我们的太阳),再到垂死挣扎的红巨星和超巨星,我们将逐一剖析不同类型恒星的生命阶段,以及它们各自独特的能量产生机制。特别地,本书将深入探讨恒星演化的终极命运:白矮星、中子星以及令人费解的黑洞。我们将借助于天文学家的观测数据和理论模型,生动地描绘出恒星从诞生到死亡的壮丽轮回,以及它们在宇宙中扮演的“元素工厂”的角色,解释我们身体中的原子是如何在遥远的恒星核心中锻造而成。 第三章:宇宙的建筑师——星系的形成与演化 浩瀚的宇宙并非只有孤立的星辰,而是由无数星系组成的宏伟结构。本章将带领读者进入星系的奇妙世界。我们将探讨早期宇宙中的微小扰动如何逐渐汇聚,最终形成我们今天所见的各种形态的星系,从旋涡状的银河系,到椭圆形的星系,以及形态怪异的不规则星系。我们将深入研究星系内部的物质分布,包括恒星、气体、尘埃以及神秘的暗物质,理解暗物质在星系形成和稳定中所起到的至关重要作用。本书还将聚焦于星系之间的相互作用,例如星系的碰撞与合并,以及星系团的形成,揭示宇宙演化过程中宏大的结构形成机制。 第四章:暗影的支配——暗物质与暗能量 宇宙中最令人着迷的两个谜团——暗物质和暗能量——将是本章的核心。尽管我们无法直接观测到它们,但它们的存在却通过对宇宙结构和膨胀的观测得到了强有力的证明。我们将详细介绍科学家们是如何推断出暗物质的存在,它为何如此重要,以及目前关于暗物质本质的各种理论猜想。紧接着,我们将探讨暗能量,这种神秘的力量正在驱动着宇宙加速膨胀。我们将回顾支持暗能量存在的观测证据,并讨论其可能带来的宇宙未来命运。理解暗物质和暗能量,是理解我们所处宇宙的真实构成和最终归宿的关键。 第五章:遥远的呼唤——系外行星与地外生命 探索宇宙的终极目标之一,便是寻找宇宙中是否存在其他生命。本章将聚焦于系外行星的研究。我们将回顾搜寻系外行星的历史,介绍各种探测技术,例如凌星法、视向速度法等,以及它们如何帮助我们发现数以千计的行星。我们将深入探讨这些系外行星的多样性,从炽热的“热木星”,到可能拥有液态水的“超级地球”,甚至围绕双星运行的行星。本书还将讨论搜寻地外生命的标准,例如“宜居带”的概念,以及科学家们是如何分析系外行星的大气成分,以寻找生命存在的化学信号。我们将展望未来,展望更先进的望远镜和探测任务,以及我们离回答“我们是否孤独”这一古老问题还有多远。 第六章:宇宙的未来——终极命运的猜想 宇宙的演化并非静止不变,它的未来充满了未知与可能。在本章的结尾,我们将一起探讨科学家们对于宇宙终极命运的各种推测。从“大撕裂”、“大挤压”到“大冻结”,不同的理论模型基于我们对宇宙膨胀速率、物质密度和暗能量性质的不同理解。我们将审视支持这些理论的观测证据,并理解这些宏大的宇宙终结场景对我们理解宇宙的意义。这本书不仅仅是对已知宇宙知识的梳理,更是一次对未知世界的探索,一次对人类好奇心和求知欲的礼赞。 《星辰之轨:宇宙奥秘的宏大叙事》以一种易于理解且引人入胜的方式,带领读者深入探索宇宙的广阔与深邃。无论您是天文爱好者,还是对宇宙充满好奇的普通读者,本书都将为您打开一扇通往星辰大海的窗户,激发您对宇宙更深层次的思考与探索。

作者简介

作者简介:

爱甲健二

曾就职于NetAgent株式会社,负责逆向工程、恶意软件分析、渗透测试等工作。2008年7月任董事。此后,在株式会社Fourteenforty技术研究所(现更名为株式会社FFRI)从事计算机安全技术研究和软件开发工作。

曾参加Black Hat Japan 2008(日本)、HITCON 2011(中国台湾)等会议,并发表重大研究成果。著有《汇编语言教程》(アセンブリ言語の教科書)、《TCP/IP教程》(TCP/IPの教科書)等。

译者简介:

周自恒

资深技术图书译者,IT、编程及自然科学爱好者,初中时曾获得信息学奥赛天津赛区一等奖,曾任某管理咨询公司战略技术总监。

译有《图解CIO工作指南(第4版)》《大数据的冲击》《代码的未来》《30天自制操作系统》《图解密码技术》《家用游戏机简史》等。

目录信息

第1章 通过逆向工程学习如何读懂二进制代码  1
1.1 先来实际体验一下软件分析吧  3
1.1.1 通过Process Monitor的日志来确认程序的行为  4
1.1.2 从注册表访问中能发现些什么  6
1.1.3 什么是逆向工程  9
专栏:逆向工程技术大赛  10
1.2 尝试静态分析  11
1.2.1 静态分析与动态分析  11
专栏:Stirling与BZ Editor的区别  12
1.2.2 用二进制编辑器查看文件内容  13
1.2.3 看不懂汇编语言也可以进行分析  14
1.2.4 在没有源代码的情况下搞清楚程序的行为  16
1.2.5 确认程序的源代码  18
1.3 尝试动态分析  20
1.3.1 设置Process Monitor的过滤规则  20
1.3.2 调试器是干什么用的  23
1.3.3 用OllyDbg洞察程序的详细逻辑  24
1.3.4 对反汇编代码进行分析  26
专栏:什么是寄存器  28
1.3.5 将分析结果与源代码进行比较  29
专栏:选择自己喜欢的调试器  30
1.4 学习最基础的汇编指令  32
1.4.1 没必要记住所有的汇编指令  32
1.4.2 汇编语言是如何实现条件分支的  33
1.4.3 参数存放在栈中  35
1.4.4 从汇编代码联想到C语言源代码  37
1.5 通过汇编指令洞察程序行为  40
1.5.1 给函数设置断点  40
1.5.2 反汇编并观察重要逻辑  42
专栏:学习编写汇编代码  47
第2章 在射击游戏中防止玩家作弊  51
2.1 解读内存转储  53
2.1.1 射击游戏的规则  53
2.1.2 修改4个字节就能得高分  54
2.1.3 获取内存转储  58
2.1.4 从进程异常终止瞬间的状态查找崩溃的原因  63
2.1.5 有效运用实时调试  66
2.1.6 通过转储文件寻找出错原因  68
专栏:除了个人电脑,在其他计算机设备上运行的程序也可以进行
分析吗  74
专栏:分析Java编写的应用程序  74
2.2 如何防止软件被别人分析  76
2.2.1 反调试技术  76
专栏:检测调试器的各种方法  77
2.2.2 通过代码混淆来防止分析  79
专栏:代码混淆的相关话题  80
2.2.3 将可执行文件进行压缩  81
2.2.4 将压缩过的可执行文件解压缩:解包  86
2.2.5 通过手动解包UPX来理解其工作原理  87
2.2.6 用硬件断点对ASPack进行解包  91
专栏:如何分析.NET编写的应用程序  95
第3章 利用软件的漏洞进行攻击  97
3.1 利用缓冲区溢出来执行任意代码  99
3.1.1 引发缓冲区溢出的示例程序  99
3.1.2 让普通用户用管理员权限运行程序  100
3.1.3 权限是如何被夺取的  102
3.1.4 栈是如何使用内存空间的  104
3.1.5 攻击者如何执行任意代码  107
3.1.6 用gdb 查看程序运行时的情况  110
3.1.7 攻击代码示例  113
3.1.8 生成可用作shellcode的机器语言代码  116
3.1.9 对0x00的改进  121
专栏:printf类函数的字符串格式化bug  125
3.2 防御攻击的技术  127
3.2.1 地址随机化:ASLR  127
3.2.2  除存放可执行代码的内存空间以外,对其余内存空间尽量
禁用执行权限:Exec-Shield  130
3.2.3  在编译时插入检测栈数据完整性的代码:StackGuard  131
3.3 绕开安全机制的技术  134
3.3.1 使用libc中的函数来进行攻击:Return-into-libc  134
3.3.2 利用未随机化的模块内部的汇编代码进行攻击:ROP  136
专栏:计算机安全为什么会变成猫鼠游戏  137
第4章 自由控制程序运行方式的编程技巧  139
4.1 通过自制调试器来理解其原理  141
4.1.1 亲手做一个简单的调试器,在实践中学习  141
4.1.2 调试器到底是怎样工作的  141
4.1.3 实现反汇编功能  147
4.1.4 运行改良版调试器  153
4.2  在其他进程中运行任意代码:代码注入  155
4.2.1 向其他进程注入代码  155
4.2.2 用SetWindowsHookEx劫持系统消息  155
4.2.3 将DLL路径配置到注册表的AppInit_DLLs项  162
4.2.4  通过CreateRemoteThread在其他进程中创建线程  165
4.2.5 注入函数  170
4.3 任意替换程序逻辑:API 钩子  174
4.3.1 API 钩子的两种类型  174
4.3.2 用Detours实现一个简单的API 钩子  174
4.3.3 修改消息框的标题栏  177
专栏:DLL注入和API钩子是“黑客”技术的代表?  178
第5章 使用工具探索更广阔的世界  179
5.1  用Metasploit Framework验证和调查漏洞  181
5.1.1 什么是Metasploit Framework  181
5.1.2 安全漏洞的信息从何而来  181
5.1.3 搭建用于测试漏洞的环境  182
5.1.4 利用漏洞进行攻击  183
专栏:深入探索shellcode  184
5.1.5 一个ROP的实际例子  188
5.2 用EMET观察反ROP的机制  192
5.2.1 什么是EMET  192
5.2.2 Anti-ROP的设计获得了蓝帽奖  192
5.2.3 如何防止攻击  193
5.2.4 搞清楚加载器的逻辑  194
5.2.5 DLL的程序逻辑  196
5.2.6 CALL-RETN检查  197
5.2.7 如何防止误判  200
5.2.8 检查栈的合法性  201
5.3 用REMnux 分析恶意软件  205
5.3.1 什么是REMnux  205
5.3.2 更新特征数据库  206
5.3.3 扫描目录  206
5.4  用ClamAV检测恶意软件和漏洞攻击  208
5.4.1 ClamAV的特征文件  208
5.4.2 解压缩.cvd文件  209
5.4.3 被检测到的文件详细信息  210
5.4.4 检测所使用的打包器以及疑似恶意软件的文件  211
5.5  用Zero Wine Tryouts分析恶意软件  212
5.5.1 REMnux与Zero Wine Tryouts的区别  212
5.5.2 运行机制  212
5.5.3 显示用户界面  213
5.5.4 确认分析报告  214
专栏:尝试开发自己的工具  217
5.6 尽量减少人工分析:启发式技术  218
5.6.1 恶意软件应对极限的到来:平均每天60000个  218
5.6.2 启发式技术革命  218
5.6.3 用两个恶意软件进行测试  220
附录  223
A.1 安装IDA  224
A.2 安装OllyDbg   229
A.3 安装WinDbg  230
A.4 安装Visual Studio 2010  235
A.5 安装Metasploit  240
A.6 分析工具  248
Stirling / BZ Editor  248
Process Monitor  249
Process Explorer  250
Sysinternals工具  250
兔耳旋风  251
参考文献  252
后记  254
· · · · · · (收起)

读后感

评分

作为CTF二进制玩家,看法是:入门级的二进制安全书籍,含括了逆向工程,漏洞利用的入门知识,尤其是对于pwn方向,门槛高,入门资料较少,这本书例子对缓冲区溢出攻击做了详细的介绍,跟着书上的实验做一做,对初学者十分有帮助,书上使用的汇编不是intel语法,建议读者先简单了...

评分

作为CTF二进制玩家,看法是:入门级的二进制安全书籍,含括了逆向工程,漏洞利用的入门知识,尤其是对于pwn方向,门槛高,入门资料较少,这本书例子对缓冲区溢出攻击做了详细的介绍,跟着书上的实验做一做,对初学者十分有帮助,书上使用的汇编不是intel语法,建议读者先简单了...

评分

作为CTF二进制玩家,看法是:入门级的二进制安全书籍,含括了逆向工程,漏洞利用的入门知识,尤其是对于pwn方向,门槛高,入门资料较少,这本书例子对缓冲区溢出攻击做了详细的介绍,跟着书上的实验做一做,对初学者十分有帮助,书上使用的汇编不是intel语法,建议读者先简单了...

评分

作为CTF二进制玩家,看法是:入门级的二进制安全书籍,含括了逆向工程,漏洞利用的入门知识,尤其是对于pwn方向,门槛高,入门资料较少,这本书例子对缓冲区溢出攻击做了详细的介绍,跟着书上的实验做一做,对初学者十分有帮助,书上使用的汇编不是intel语法,建议读者先简单了...

评分

作为CTF二进制玩家,看法是:入门级的二进制安全书籍,含括了逆向工程,漏洞利用的入门知识,尤其是对于pwn方向,门槛高,入门资料较少,这本书例子对缓冲区溢出攻击做了详细的介绍,跟着书上的实验做一做,对初学者十分有帮助,书上使用的汇编不是intel语法,建议读者先简单了...

用户评价

评分

这本书的出现,彻底颠覆了我对“二进制”这个词的刻板印象。我一直以为它只是电脑里的一堆0和1,枯燥乏味,只有程序员才需要关心。但《有趣的二进制》这本书,让我看到了二进制背后隐藏的无限可能和它作为信息基石的根本重要性。作者的写作风格非常独特,他用一种近乎诗意的语言,描绘了二进制世界的奥秘。他讲到“比特”的时候,不仅仅是把它看作一个0或1,而是赋予它一种“存在”的意义,它既可以是“开”,也可以是“关”,这种二元对立的本质,贯穿了整个信息世界。我最喜欢的一章是关于“信息压缩”的。我一直好奇为什么那么大的文件,有时候却能压缩成很小的体积。这本书用非常直观的方式解释了其中的原理,原来很多冗余的信息,都可以通过巧妙的编码方式来去除,而这些编码的基础,依然是我们熟悉的二进制。读到这里,我开始意识到,二进制不仅仅是数字的表示,更是信息压缩、传输、存储的核心。这本书的知识密度很高,但作者的处理方式却非常巧妙,让你在品味文字的同时,就能吸收知识,仿佛在品一杯陈年的佳酿,越品越有味道。

评分

这本书的书名就足够吸引人了——《有趣的二进制》。我一直觉得数字世界充满魔力,但又感觉它遥不可及,尤其是那些晦涩难懂的二进制代码。拿到这本书,我满心期待能揭开它神秘的面纱。初翻开,我便被作者生动有趣的笔触所吸引。他没有上来就扔出一堆枯燥的术语,而是从我们日常生活中随处可见的事物入手,比如灯泡的开关、硬币的正反面,巧妙地引出了“0”和“1”这两个最基本的概念。我仿佛看到那些微小的开关在脑海中闪烁,将原本抽象的二进制形象化了。作者的叙事方式非常接地气,就像在跟朋友聊天一样,一点点地引导我们理解二进制的逻辑。我特别喜欢他讲到的那个关于“数数”的小故事,用简单的“点”来表示数量,然后通过组合来表示更大的数字,这个过程简直像是在玩一个益智游戏,让人在不知不觉中就掌握了二进制计数的基本原理。我之前对计算机内部工作原理一直很模糊,总觉得它是一个黑箱,里面充斥着只有专业人士才能看懂的东西。但这本书让我感觉,原来一切都可以用最简单、最基础的逻辑来解释。这种“顿悟”的感觉真的非常棒!我迫不及待地想继续深入,看看作者还会带我们发现二进制怎样的“有趣”之处。

评分

我之前对编程和计算机科学一直怀有敬畏之心,总觉得那是一门高深的学问,离我普通人有点远。但《有趣的二进制》这本书,就像是为我这样的小白量身定制的入门指南。作者的讲解方式非常细腻,他没有跳跃式的思维,而是循序渐进,层层递进。我印象最深刻的是关于“编码”的部分。我们日常使用的文字、图片、声音,在计算机里究竟是怎么存储和传输的?这本书用非常形象的比喻,比如把字母想象成一个个独特的“信号”,然后用一串串0和1来代表这些信号。读到这里,我突然明白了为什么我们总说“数据”。原来,我们看到的各种信息,本质上都是经过编码的“数据流”。作者还花了很多篇幅讲解如何将十进制数转换为二进制数,以及二进制数之间的加减乘除。这些看似基础的操作,在作者的笔下却充满了趣味。他设计了一些小练习,让我动手去算,感觉就像在玩数学游戏一样,而不是枯燥的公式推导。最重要的是,通过这些练习,我真的体会到了二进制运算的简洁和高效。以前觉得二进制很“麻烦”,现在才发现它有着自己独特的魅力和逻辑。这本书让我看到了一个全新的视角,去理解我们身边无处不在的数字技术。

评分

《有趣的二进制》这本书,给我带来的惊喜远不止于对二进制知识的了解。它更像是一扇窗,让我看到了信息技术背后那股强大的逻辑驱动力。作者的叙述方式非常有感染力,他就像一个充满热情的研究者,把他在二进制世界里的奇遇娓娓道来。我尤其欣赏他对“编码”和“解码”过程的详细阐述。他把这个过程比作一种“秘密语言”,只有掌握了这套规则的人,才能互相理解。我以前总觉得“加密”和“解密”是很高深的技术,但通过这本书,我明白了其核心原理都是建立在二进制的运算之上。而且,作者在书中穿插了一些历史故事和技术发展的小典故,让我对二进制的演变和应用有了更深刻的认识。比如,他提到了早期计算机的发明,那些庞大的机器是如何通过无数个0和1来完成复杂运算的,这让我对前辈们的智慧充满了敬佩。读完这本书,我感觉自己对数字世界多了一份理解,也多了一份好奇。它让我明白,即使是最基础的“0”和“1”,也能组合出无穷的可能性,构建出我们今天所处的这个信息时代。

评分

说实话,我一开始拿到《有趣的二进制》这本书,纯粹是被书名吸引,想着“二进制”听起来就很有科技感,也许能让我显得“懂点什么”。但读进去之后,我发现这本书的“有趣”远超我的想象。作者不是那种把复杂概念堆砌起来的学者,他更像是一位经验丰富的向导,带着你在二进制的世界里进行一次轻松愉快的徒步旅行。他善于运用生活化的例子,比如在讲到“逻辑门”的时候,他竟然拿我们生活中常见的“电灯开关”来类比,一个开关控制一盏灯,两个开关的组合又有不同的效果,这下子我一下子就get到了“与门”、“或门”这些概念的精髓。那种豁然开朗的感觉,真的是难以言喻。而且,这本书的结构安排也很有匠心。它不是一股脑地灌输知识,而是通过一个个小故事、一个小插曲,让你在阅读中自然而然地学习。我甚至觉得,这本书不仅仅是关于二进制的科普,更是在培养一种逻辑思维能力。它教会我如何从最简单的元素出发,去构建更复杂的系统,去理解事物背后的逻辑关系。这本书让我觉得,原来所谓的“高科技”,也可以如此平易近人。

评分

一点趣都没有

评分

几乎不需要太多专业知识就能读懂,涉及很广,适合入门。这本书是我认真阅读的逆向工程的第一本书~

评分

软件安全入门挺好的,可惜当年都是从零摸索的。初学者可以看看。

评分

入门级的书,先有个大体的认识,不错

评分

关键地方讲的不清不楚,放了好多汇编代码上去,说是入门,实际上挺难的,不推荐π_π

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

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