登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入   新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書

『簡體書』C++反汇编与逆向分析技术揭秘(第2版)

書城自編碼: 3673243
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: 钱林松,张延清
國際書號(ISBN): 9787111689911
出版社: 机械工业出版社
出版日期: 2021-09-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 169.6

我要買

share:

** 我創建的書架 **
未登入.


新書推薦:
生成式人工智能:AIGC与多模态技术应用实践指南
《 生成式人工智能:AIGC与多模态技术应用实践指南 》

售價:HK$ 108.9
石油帝国的兴衰:英国的工业化与去工业化
《 石油帝国的兴衰:英国的工业化与去工业化 》

售價:HK$ 97.9
古典的回響:溪客舊廬藏明清文人繪畫
《 古典的回響:溪客舊廬藏明清文人繪畫 》

售價:HK$ 437.8
根源、制度和秩序:从老子到黄老学(王中江著作系列)
《 根源、制度和秩序:从老子到黄老学(王中江著作系列) 》

售價:HK$ 121.0
索恩丛书·北宋政治与保守主义:司马光的从政与思想(1019~1086)
《 索恩丛书·北宋政治与保守主义:司马光的从政与思想(1019~1086) 》

售價:HK$ 75.9
掌故家的心事
《 掌故家的心事 》

售價:HK$ 85.8
农为邦本——农业历史与传统中国
《 农为邦本——农业历史与传统中国 》

售價:HK$ 74.8
郊庙之外:隋唐国家祭祀与宗教 增订版 (三联·哈佛燕京学术丛书)
《 郊庙之外:隋唐国家祭祀与宗教 增订版 (三联·哈佛燕京学术丛书) 》

售價:HK$ 105.6

 

建議一齊購買:

+

HK$ 120.8
《安卓Frida逆向与抓包实战》
+

HK$ 148.8
《Windows内核编程》
+

HK$ 146.3
《现代C++语言核心特性解析》
+

HK$ 106.7
《用户体验要素:以用户为中心的产品设计(原书第2版)》
+

HK$ 160.0
《JavaScript从入门到实战开发最强教科书》
+

HK$ 133.7
《疯狂XML讲义(第3版)》
編輯推薦:
(1)第1版影响深远:第1版10年畅销不衰,成为逆向工程领域标志性著作,口碑爆棚,影响数十万安全工程师和C++工程师。(2)作者资历深厚:作者是IT技术领域自学成才典范,有近20年安全技术研发和教育经验,深耕逆向分析技术、C++和系统编程。(3)本书5大用途:逆向分析技术工具和原理、逆向分析技术流程和方法、逆向分析技术精髓和实用技巧、软件调试技术原理及代码运行时内存表现、C++语法的实现机制和反汇编表现形式。(4)全球专家力荐:武汉大学、华中科技大学、南京邮电大学的学术界专家力荐;腾讯、360、金山毒霸、桑坦德集团、中国电信、深信服的企业届专家力荐;台湾知名IT技术专家和教育家侯捷、看雪学院创始人段钢力荐。
內容簡介:
内容简介这是一部系统讲解反汇编与逆向分析技术原理、流程、方法和实用技巧的著作。本书第1版出版于2011年,10年来畅销不衰,成为反汇编与逆向工程领域的标志性著作,被数十万安全工程师和C++工程师奉为瑰宝。在全球学术界和企业界都享有盛誉,故第2版得到了全球15位安全技术专家的倾力推荐。第2版在技术、工具和案例等方面做了大量的更新和补充。通过本书,你将掌握以下知识或技能:?逆向分析技术的工具和原理;?逆向分析技术的流程和方法;?逆向分析技术的精髓和实用技巧;?软件调试的技术原理,以及代码运行时的内存表现;?C++语法的实现机制和反汇编表现形式;全书共18章,分为三个部分:第1部分 准备工作 (第1章)简单地介绍了编译器、调试器和反汇编静态分析工具的使用方法以及反汇编引擎的工作原理;第二部分C++反汇编揭秘(第2~13章)以多种编译器为例解析了每个C/C++知识点的汇编表现形式,通过整理反汇编代码梳理流程和脉络,讲解了调试和识别各种C/C++语句的方法,并且深入剖析各知识点的底层机制;第三部分 逆向分析技术应用(第14~18章)通过对PEiD、调试器 OllyDbg、木马、勒索病毒等实际应用的逆向分析,带领读者领路逆向分析技术的魔力,并加深对所学理论知识的理解。
關於作者:
作者简介钱林松资深安全技术专家、软件开发工程师和架构师。从事计算机安全和软件开发工作近20年,实践经验丰富,尤其精通软件逆向分析技术,对C/C++技术和Windows的底层机制也有非常深入的研究。武汉科锐软件技术有限公司(国内知名的安全教育机构)创始人,教学经验丰富,多年来,为国内计算机安全领域培养和输送了大量的人才。活跃于看雪论坛,有较高的知名度和影响力。张延清软件逆向教育专家,看雪论坛技术专家。2004年从事数控机床加工编程,2006年进入游戏编程及C/C++开发与逆向分析领域,2011年就职于武汉科锐软件技术有限公司,任技术总监兼授课老师。创立国内首家Android软件逆向分析教育课程体系,该课程体系被多家培训教育机构采用。科锐·安全实训领军者科锐(www.51asm.com)创办自2007年,一直专注于逆向分析人才培养,毕业学员逾千人,广泛就业于各安全企业,从事技术与技术管理工作。科锐通过一套严格的科学考核体系,确保学员对每一个知识点的掌握,从而保证教学质量,使每一个毕业学员都能符合企业的用人需求。真正实现以实践为主的实训理念,是我们终的实训目标。
目錄
赞誉序一序二序三前言部分 准备工作第1章 熟悉工作环境和相关工具21.1 安装Visual Studio 201921.2 安装GCC61.3 调试工具OllyDbg121.4 调试工具x64dbg141.5 调试工具WinDbg151.6 反汇编静态分析工具IDA171.7 反汇编引擎的工作原理221.8 本章小结27第二部分 C++反汇编揭秘第2章 基本数据类型的表现形式302.1 整数类型302.1.1 无符号整数302.1.2 有符号整数312.2 浮点数类型322.2.1 浮点数的编码方式332.2.2 基本的浮点数指令352.3 字符和字符串432.3.1 字符的编码432.3.2 字符串的存储方式442.4 布尔类型452.5 地址、指针和引用462.5.1 指针和地址的区别462.5.2 各类型指针的工作方式472.5.3 引用562.6 常量602.6.1 常量的定义602.6.2 #define和const的区别622.7 本章小结65第3章 认识启动函数,找到用户入口663.1 程序的真正入口663.2 了解VS2019的启动函数663.3 main函数的识别703.4 本章小结71第4章 观察各种表达式的求值过程724.1 算术运算和赋值724.1.1 各种算术运算的工作形式724.1.2 算术结果溢出1304.1.3 自增和自减1314.2 关系运算和逻辑运算1364.2.1 关系运算和条件跳转的对应1364.2.2 表达式短路1374.2.3 条件表达式1414.3 位运算1494.4 编译器使用的优化技巧1524.4.1 流水线优化规则1554.4.2 分支优化规则1584.4.3 高速缓存优化规则1594.5 一次算法逆向之旅1594.6 本章小结164第5章 流程控制语句的识别1655.1 if语句1655.2 if…else…语句1685.3 用if构成的多分支流程1745.4 switch的真相1805.5 难以构成跳转表的switch1965.6 降低判定树的高度2015.7 do、while、for的比较2065.8 编译器对循环结构的优化2145.9 本章小结220第6章 函数的工作原理2216.1 栈帧的形成和关闭2216.2 各种调用方式的考察2226.3 使用ebp或esp寻址2266.4 函数的参数2306.5 函数的返回值2326.6 x64调用约定2356.7 本章小结238第7章 变量在内存中的位置和访问方式2397.1 全局变量和局部变量的区别2397.2 局部静态变量的工作方式2477.3 堆变量2527.4 本章小结256第8章 数组和指针的寻址2578.1 数组在函数内2578.2 数组作为参数2668.3 数组作为返回值2708.4 下标寻址和指针寻址2768.5 多维数组2828.6 存放指针类型数据的数组2888.7 指向数组的指针变量2908.8 函数指针2968.9 本章小结299第9章 结构体和类3009.1 对象的内存布局3009.2 this指针3059.3 静态数据成员3119.4 对象作为函数参数3149.5 对象作为返回值3229.6 本章小结329第10章 构造函数和析构函数33110.1 构造函数的出现时机33110.2 每个对象是否都有默认的构造函数35310.3 析构函数的出现时机35510.4 本章小结375第11章 虚函数37711.1 虚函数的机制37711.2 虚函数的识别38311.3 本章小结389第12章 从内存角度看继承和多重继承39112.1 识别类和类之间的关系39212.2 多重继承41812.3 抽象类42612.4 虚继承42812.5 本章小结443第13章 异常处理44513.1 异常处理的相关知识44513.2 异常类型为基本数据类型的处理流程45113.3 异常类型为对象的处理流程45913.4 识别异常处理46413.5 x64异常处理47513.5.1 RUNTIME_FUNCTION结构47613.5.2 UNWIND_INFO结构47613.5.3 UNWIND_CODE结构47813.5.4 特定于语言的处理程序47813.5.5 x64 FuncInfo的变化47913.5.6 还原x64的try…catch48113.6 本章小结484第三部分 逆向分析技术应用第14章 PEiD的工作原理分析48614.1 开发环境的识别48614.2 开发环境的伪造49414.3 本章小结497第15章 调试器OllyDbg的工作原理分析49815.1 INT3断点49815.2 内存断点50315.3 硬件断点50715.4 异常处理机制51315.5 加载调试程序51915.6 本章小结522第16章 大灰狼远控木马逆向分析52316.1 调试环境配置52316.2 病毒程序初步分析52416.3 启动过程分析52516.4 通信协议分析53216.5 远控功能分析53616.6 本章小结551第17章 WannaCry勒索病毒逆向分析55217.1 tasksche.exe勒索程序逆向分析55217.1.1 病毒初始化55217.1.2 加载病毒核心代码55817.1.3 病毒核心代码56217.2 mssecsvc.exe蠕虫程序逆向分析56917.2.1 蠕虫病毒代码初始化56917.2.2 发送漏洞攻击代码57317.3 永恒之蓝MS17-010漏洞原理分析57717.3.1 漏洞1利用分析57717.3.2 漏洞2利用分析58317.3.3 漏洞3利用分析58417.4 本章小结586第18章 反汇编代码的重建与编译58718.1 重建反汇编代码58718.2 编译重建后的反汇编代码59018.3 本章小结591参考文献592
內容試閱
为什么要写这本书“时下的IDE很多都是极其优秀的,拜其所赐,职场上的程序员多出十几倍,但是又有多少人能理解程序内部的机制呢?”—侯捷随着软件技术的发展及其在各个领域的广泛应用,对软件进行逆向分析,通过阅读其反汇编代码推断数据结构、体系结构和程序设计思路的需求越来越多。逆向分析技术能帮助我们更好地研究和学习先进的软件技术,特别是当我们非常想知道某个软件的某些功能是如何实现的而手头又没有合适的资料时。如果能够利用逆向技术去研究一些一流软件的设计思想和实现方法,那么我们的软件技术水平将会得到极大的提升。目前,国内关于逆向分析技术的资料实在不多,大中专院校的计算机相关专业对此技术也没有足够的重视。有很多人认为研究程序的内部原理会破坏“黑盒子”的封装性,但是如果我们只是在别人搭建好的平台上做开发,那么始终只能使用别人提供的未开源的SDK,会一直受牵制。如果我们能够充分掌握逆向分析方法,就可以洞悉各种SDK的实现原理,学习各种一流软件采用的先进技术,取长补短,为我所用。若能如此,实为我国软件产业之幸。我当初学习逆向技术时完全靠自学,且不说这方面的书籍,就连相关的文档和资料也极度匮乏。在这种条件下,虽然很努力地钻研,但学习进度非常缓慢,花费几天几夜分析一个软件的关键算法是常有的事。如果当初能有一本全面讲解反汇编与逆向分析技术的书,我不仅能节省很多时间和精力,还能少走很多弯路。因为有了这段经历,我斗胆争先,决定将自己多年来在反汇编与逆向分析技术领域的经验和心得整理出来与大家分享,希望更多的开发人员在掌握这项技术后能更好地将其应用到软件开发实践中,从而提高我国软件行业的整体水平。读者对象无论大家从事哪个行业,在开始阅读本书之前,都需要具备以下几个方面的基础知识。数据结构的基础知识,如栈结构存取元素的特点等。汇编的基础知识,如寻址方式和指令的使用等。C/C++语言的基础知识,如指针、虚函数和继承的概念等。熟悉Visual Studio 2019的常用功能,如观察某变量的地址、单步跟踪等。具备了上面这些基础知识,就可以根据自己的实际需求学习本书的内容。如果你是一位软件研发人员,你将通过本书更深入地了解C++语法的实现机制,对产品知其然更知其所以然。在精读反汇编代码后,你的调试水平也会得到质的提升。如果你是一位反病毒分析人员或者电子证据司法取证分析人员,通过逆向分析恶意软件样本,你可以进行取证分析处理,例如,分析开发者的编写习惯、推断开发者的编程水平,甚至可以进一步判定某病毒样本是否与其他病毒出自同一人之手。如果你是一位高等院校计算机相关专业的学生(本科或本科以上),你可以通过学习书中的软件逆向分析技术来拓展思路,为未来进军软件研发行业打下基础。第2版的更新内容重新设计了所有的示例。所有的反汇编代码均使用的Visual Studio 2019编译器编译。增加的Clang编译器反汇编代码讲解。增加的GCC编译器反汇编代码讲解。增加所有主流编译器64位程序反汇编代码讲解。随书文件增加所有示例单独的源码和所有编译器编译后的可执行程序。根据编译器删除了一些过时的内容,增加了一些新的内容。增加和更新了病毒分析示例。本书特色我结合自己的学习经历和对C++反汇编与逆向分析技术的了解将全书划分为三个部分。部分 准备工作(第1章)在软件开发过程中,程序员会使用一些调试工具,以便高效地找出软件中存在的错误。在逆向分析领域,分析者也要利用相关工具分析软件行为,验证分析结果。本书部分简单介绍了几款常用的逆向分析辅助工具和软件。第二部分 C++反汇编揭秘(第2~13章)评估一位软件开发者的能力,一是看设计能力,二是看调试水平。一般来说,大师级的程序员对软件逆向分析技术都有深入的理解,他们在编写高级语言代码的同时,心里还会浮现对应的汇编代码,在写程序的时候就已经非常了解终产品的模样,达到了人机合一的境界,所以在调试Bug的时候游刃有余。逆向分析技术重在代码的调试和分析,如果你本来就是一位技术不错的程序员,学习这部分内容就是对你“内功”的锻炼,这部分内容可以帮助你彻底掌握C/C++各种特性的底层机制,不仅能做到知其然,还能知其所以然。这部分以C/C++语法为导向,以各编译器为例,解析每个C/C++知识点的汇编表现形式,通过整理其反汇编代码梳理流程和脉络。这部分内容重在讲方法,授人以渔,不重剑招,但重剑意。第三部分 逆向分析技术应用(第14~18章)这是本书的后一部分,以理论与实践相结合的方式,通过对具体程序的分析来加深大家对前面所学理论知识的理解,从而快速积累实战经验。第14章分析了PE文件分析工具PEiD的工作原理,第15章分析了调试器OllyDbg的工作原理,第16章对大灰狼远控木马进行了逆向分析,第17章对WannaCry勒索病毒进行了逆向分析,第18章讲解了反汇编代码的重建与编译。通过这部分内容

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.