《天书夜读》

《天书夜读》 《天书夜读》

  • 书名:《天书夜读》:从汇编语言到Windows内核编程
  • 分类:编程
  • 作者:谭文,邵坚磊
  • 出版社:电子工业出版社
  • 出版年:2008-10
  • 售价:45.00元
  • 装订:平装
  • 页码:270

《天书夜读》 内容介绍:

从貌似天书的汇编代码中,一探Windows底层的核心实现。. 在开发中出现的问题,能从Windows自身找到答案!... 本书从基本的Windows程序与汇编指令出发,深入浅出地讲解了Windows内核的编程、调试、阅读,以及自行探索的方法。读者在使用C/C++ 开发Windows程序的基础上,将熟练掌握汇编和C语言的应用,深入了解Windows底层,并掌握阅读Windows内核的基本方法,以及 Windows内核的基本编程方法。 本书适合使用C/C++在Windows上编程的读者,尤其适合希望加深自己技术功底的Windows应用程序员、计算机专业的有志于软件开发的大中院校学生;专业的Windows内核程序员,亦可从本书得到超越一般内核程序开发的启发。

作者谭文,邵坚磊介绍:

谭文,从2002年到2008年,从事信息安全类软件的Windows内核驱动的开发工作。从2008年开始参与一个主要涉及不同架构之间二进制指令的实时翻译技术的项目的开发。业余时间在驱动开发音(www.driverdevelop.com)以楚狂人为笔名发表了许多技术文章。

《天书夜读》 目录大纲:

入手篇 熟悉汇编
第1章 汇编指令与C语言
1.1 上机建立第一个工程
1.1.1 用Visual Studio创建工程
1.1.2 用Visual Studio查看汇编代码
1.2 简要复习常用的汇编指令
1.2.1 堆栈相关指令
1.2.2 数据传送指令
1.2.3 跳转与比较指令
1.3 C函数的参数传递过程
第2章 C语言的流程和处理
2.1 C语言的循环反汇编
2.1.1 for循环
2.1.2 do循环
2.1.3 while循环
2.2 C语言判断与分支的反汇编
2.2.1 if-else判断分支
2.2.2 switch-case判断分支
2.3 C语言的数组与结构
2.4 C语言的共用体和枚举类型
第3章 练习反汇编C语言程序
3.1 算法的反汇编
3.1.1 算法反汇编代码分析
3.1.2 算法反汇编阅读技巧
3.2 发行版的反汇编
3.3 汇编反C语言练习
基础篇 内核编程
第4章 内核字符串与内存
4.1 字符串的处理
4.1.1 使用字符串结构
4.1.2 字符串的初始化
4.1.3 字符串的拷贝
4.1.4 字符串的连接
4.1.5 字符串的打印
4.2 内存与链表
4.2.1 内存的分配与释放
4.2.2 使用LIST_ENTRY
4.2.3 使用长长整型数据
4.2.4 使用自选锁
第5章 文件与注册表操作
5.1 文件操作
5.1.1 使用OBJECT_ATTRIBUTES
5.1.2 打开和关闭文件
5.1.3 文件读/写操作
5.2 注册表操作
5.2.1 注册表键的打开
5.2.2 注册表值的读
5.2.3 注册表值的写
第6章 时间与线程
6.1 时间与定时器
6.1.1 获得当前滴答数
6.1.2 获得当前系统时间
6.1.3 使用定时器
6.2 线程与事件
6.2.1 使用系统线程
6.2.2 在线程中睡眠
6.2.3 使用同步事件
第7章 驱动、设备与请求
7.1 驱动与设备
7.1.1 驱动入口与驱动对象
7.1.2 分发函数和卸载函数
7.1.3 设备与符号链接
7.1.4 设备的安全创建
7.1.5 设备与符号链接的用户相关性
7.2 请求处理
7.2.1 IRP与IO_STACK_LOCATION
7.2.2 打开与关闭请求的处理
7.2.3 应用层信息传入
7.2.4 驱动层信息传出
探索篇 研究内核
第8章 进入Windows内核
8.1 开始Windows内核编程
8.1.1 内核编程的环境准备
8.1.2 用C语言写一个内核程序
8.2 学习用WinDbg进行调试
8.2.1 软件的准备
8.2.2 设置Windows XP调试执行
8.2.3 设置VMWare虚拟机调试
8.2.4 设置被调试机为Vista的情况
8.2.5 设置Windows内核符号表
8.2.6 调试例子diskperf
8.3 认识内核代码函数调用方式
8.4 尝试反写C内核代码
8.5 如何在代码中寻找需要的信息
第9章 用C++编写的内核程序
9.1 用C++开发内核程序
9.1.1 建立一个C++的内核工程
9.1.2 使用C接口标准声明
9.1.3 使用类静态成员函数
9.1.4 实现new操作符
9.2 开始阅读一个反汇编的类
9.2.1 new操作符的实现
9.2.2 构造函数的实现
9.3 了解更多的C++特性
第10章 继续探索Windows内核
10.1 探索Windows已有内核调用
10.2 自己实现XP的新调用
10.2.1 对照调试结果和数据结构
10.2.2 写出C语言的对应代码
10.3 没有符号表的情况
10.4 64位操作系统下的情况
10.4.1 分析64位操作系统的调用
10.4.2 深入了解64位内核调用参数传递
深入篇 修改内核
第11章 机器码与反汇编引擎
11.1 了解Intel的机器码
11.1.1 可执行指令与数据
11.1.2 单条指令的组成
11.1.3 MOD-REG-R/M的组成
11.1.4 其他的组成部分
11.2 反汇编引擎XDE32基本数据结构
11.3 反汇编引擎XDE32具体实现
第12章 CPU权限级与分页机制
12.1 Ring0和Ring3权限级
12.2 保护模式下的分页内存保护
12.3 分页内存不可执行保护
12.3.1 不可执行保护原理
12.3.2 不可执行保护的漏洞
12.4 权限级别的切换
12.4.1 调用门及其漏洞
12.4.2 sysenter和sysexit指令
第13章 开发Windows内核Hook
13.1 XP下Hook系统调用IoCallDriver
13.2 Vista下IofCallDriver的跟踪
13.3 Vista下inline hook
13.3.1 写入跳转指令并拷贝代码
13.3.2 实现中继函数
实战篇 实际开发
第14章 反病毒、木马实例开发
14.1 反病毒、木马的设想
14.2 开发内核驱动
14.2.1 在内核中检查可执行文件
14.2.2 在内核中生成设备接口
14.2.3 在内核中等待监控进程的响应
14.3 开发监控进程
14.4 本软件进一步展望
第15章 Rootkit与HIPS
15.1 Rootkit为何很重要
15.2 Rootkit如何逃过检测
15.3 HIPS如何检测Rootkit
第16章 手写指令保护代码
16.1 混淆字符串
16.2 隐藏内核函数
16.3 混淆流程与数据操作
16.3.1 混淆函数出口
16.3.2 插入有意义的花指令
第17章 用VMProtect保护代码
17.1 安装VMProtect
17.2 使用VMProtect
17.3 查看VMProtect效果
参考文献


微信扫一扫关注公众号

0 个评论

要评论图书请先登录注册

你也许想看:

函数程序设计语言--计算机模型、编译技术、系统结构

《函数程序设计语言--计算机模型、编译技术、系统结构》

郑纬民,等.清华大学出版社.1997-11

“内容简介 本书详细论述了函数程序设计语言的计算模型、编译技术以及面向函数程序设计语言的系统结构。其 主要内容包括:函数程...”

Reactive Design Patterns

《Reactive Design Patterns》

Roland Kuhn,Jamie Allen.Manning Publications Co..2015

“Modern distributed applications must deliver near-realtime p...”

游戏编程精粹-7-附光盘

《游戏编程精粹-7-附光盘》

(美)Scott Jacobs.人民邮电出版社.2010 年7月

“本书是游戏编程精粹系列的最新一本,内容涉及通用编程、数学和物理、人工智能、音频、图形学、网络和多人游戏、脚本和数据驱动系...”

Swifter : 100 个 Swift 开发必备 Tip

《Swifter : 100 个 Swift 开发必备 Tip》

王巍 著.电子工业出版社.

“作者赴美参加了Apple 的WWDC 14,亲眼见证了Swift 的发布,并从这门语言正式诞生的第一分钟就开始学习和钻研...”

我的第一本编程书

《我的第一本编程书》

[日]平山尚.人民邮电出版社.2016-7

“写这本书之前,作者一直在摸索一种最有利于入门者学编程的方法,并应用到教学当中。经过两年的教学实践,他确信他的方法是有效的...”

Starting Out with Python

《Starting Out with Python》

Gaddis, Tony.Addison-Wesley.2011-3

“In Starting Out with Python ® , Second Edition Tony Gaddis’ ...”

面向对象葵花宝典:思想、技巧与实践

《面向对象葵花宝典:思想、技巧与实践》

.电子工业出版社.2015-12

“《面向对象葵花宝典:思想、技巧与实践》系统地讲述了面向对象技术的相关内容,包括面向对象的基本概念、面向对象开发的流程、面...”

深入理解LINUX网络内幕

《深入理解LINUX网络内幕》

Christian Benvenuti.东南大学出版社.2006-5

“本书系统地阐述了网络的基本概念,并指导你如何用C语言实现。同时描述了Linux网络的全貌,解释了Linux代码是如何工作...”

D程序设计语言

《D程序设计语言》

[美] Andrei Alexandrescu.人民邮电出版社.2013-6

“D语言是一种通用的系统和应用编程语言,它保持了生成高效代码以及直接访问操作系统API和硬件的能力。《D程序设计语言》是一...”

iOS Drawing

《iOS Drawing》

.Addison-Wesley Professional.2013-10

“Covers iOS 7 and Xcode 5 Apple lavished iOS with a rich and ...”

Android系统源代码情景分析(修订版)(含CD光盘1张)

《Android系统源代码情景分析(修订版)(含CD光盘1张)》

罗升阳 著.电子工业出版社.2016-1

“在内容上,《Android系统源代码情景分析(修订版)(含CD光盘1张)》结合使用情景,全面、深入、细致地分析了Andr...”

Unity 3 Game Development Hotshot

《Unity 3 Game Development Hotshot》

Jate Wittayabundit.Packt Publishing.2011-8-26

“”

精通脚本黑客

《精通脚本黑客》

曾云好.齐鲁电子.2009-6

“”

Pro Android C++ with the NDK

《Pro Android C++ with the NDK》

Onur Cinar.Apress.2012-12-5

“Android is one of the major players in the mobile phone mark...”

打造高质量Android应用

《打造高质量Android应用》

Carlos Sessa.机械工业出版社.2014-4

“《打造高质量Android应用:Android开发必知的50个诀窍》是目前唯一一本从开发技巧角度讲解 Android应用...”

Haskell Financial Data Modeling and Predictive Analytics

《Haskell Financial Data Modeling and Predictive Analytics》

Pavel Ryzhov.Packt Publishing.2013-10-25

“Get an in-depth analysis of financial time series from the p...”

C++设计新思维

《C++设计新思维》

(美)Andrei Alexandrescu.华中科技大学出版社.2003-03

“本书从根本上展示了generic patterns(泛型模式)或pattern templates(模式模板),并将它们...”

Django Design Patterns and Best Practices

《Django Design Patterns and Best Practices》

Arun Ravindran.Packt Publishing - ebooks Account.2015-3-26

“”

Programming Entity Framework

《Programming Entity Framework》

Julia Lerman.O'Reilly Media.2010-08-25

“Get a thorough introduction to ADO.NET Entity Framework 4 --...”

Beginning Game Development with Python and Pygame

《Beginning Game Development with Python and Pygame》

Will McGugan.Apress.August 20, 2007

“Like music and movies, video games are rapidly becoming an i...”