注重体验与质量的电子书资源下载网站
分类于: 计算机基础 云计算&大数据
简介
逆向工程权威指南 豆 8.2分
资源最后更新于 2020-08-19 15:59:36
作者:Dennis Yurichev(丹尼斯)
译者:安天安全研究与应急处理中心
出版社:人民邮电出版社
出版日期:2017-01
ISBN:9787115434456
文件格式: pdf
标签: 逆向 逆向工程 安全 计算机 计算机系统 编程 akb 2018-C
简介· · · · · ·
逆向工程是一种分析目标系统的过程,旨在于识别系统的各组件以及组件间关系,以便于通过其它形式、或在较高的抽象层次上,重建系统的表征。
本书专注于软件的逆向工程,是写给初学者的一本经典指南。全书共分为12个部分,共102章,涉及X86/X64、ARM/ARM-64、MIPS、Java/JVM等重要话题,详细解析了Oracle RDBMS、Itanium、软件狗、LD_PRELOAD、栈溢出、ELF、Win32 PE文件格式、x86-64(第、critical sections、syscalls、线程本地存储TLS、地址无关代码(PIC)、以配置文件为导向的优化、C++ STL、OpenMP、SHE等众多技术话题,堪称是逆向工程技术百科全书。除了详细讲解,本书来给出了很多习题来帮助读者巩固所学的知识,附录部分给出了习题的解答。
本书适合对逆向工程技术、操作...
目录
版权
版权声明
内容提要
序 从逆向视角透视代码大厦的那些砖石
前言
第一部分 指令讲解
第1章 CPU简介
第2章 最简函数
第3章 Hello,world!
第4章 函数序言和函数尾声
第5章 栈
第6章 printf()函数与参数调用
第7章 scanf()
第8章 参数获取
第9章 返回值
第10章 指针
第11章 GOTO语句
第12章 条件转移指令
第13章 switch()/case/default
第14章 循环
第15章 C语言字符串的函数
第16章 数学计算指令的替换
第17章 FPU
第18章 数组
第19章 位操作
第20章 线性同余法与伪随机函数
第21章 结构体
第22章 共用体(union)类型
第23章 函数指针
第24章 32位系统处理64位数据
第25章 SIMD
第26章 64位平台
第27章 SIMD与浮点数的并行运算
第28章 ARM指令详解
第29章 MIPS的特点
第二部分 硬件基础
第30章 有符号数的表示方法
第31章 字节序
第32章 内存布局
第33章 CPU
第34章 哈希函数
第三部分 一些高级的例子
第35章 温度转换
第36章 斐波拉契数列
第37章 CRC32计算的例子
第38章 网络地址计算实例
第39章 循环:几个迭代
第40章 达夫装置
第41章 除以9
第42章 字符串转换成数字,函数atoi()
第43章 内联函数
第44章 C99标准的受限指针
第45章 打造无分支的abs()函数
第46章 变长参数函数
第47章 字符串剪切
第48章 toupper()函数
第49章 不正确的反汇编代码
第50章 混淆技术
第51章 C++
第52章 数组与负数索引
第53章 16位的Windows程序
第四部分 Java
第54章 Java
第五部分 在代码中发现重要而有趣的内容
第55章 编译器产生的文件特征
第56章 Win32环境下与外部通信
第57章 字符串
第58章 调用宏assert()(中文称为断言)
第59章 常数
第60章 检索关键指令
第61章 可疑的代码模型
第62章 魔数与程序调试
第63章 其他的事情
第六部分 操作系统相关
第64章 参数的传递方法(调用规范)
第65章 线程本地存储TLS
第66章 系统调用(syscall-s)
第67章 Linux
第68章 Windows NT
第七部分 常用工具
第69章 反汇编工具
第70章 调试工具
第71章 系统调用的跟踪工具
第72章 反编译工具
第73章 其他工具
第八部分 更多范例
第74章 修改任务管理器(Vista)
第75章 修改彩球游戏
第76章 扫雷(Windows XP)
第77章 人工反编译与Z3 SMT求解法
第78章 加密狗
第79章 “QR9”:魔方态加密模型
第80章 SAP
第81章 Oracle RDBMS
第82章 汇编指令与屏显字符
第83章 实例演示
第九部分 文件分析
第84章 基于XOR的文件加密
第85章 Millenium游戏的存档文件
第86章 Oracle的.SYM文件
第87章 Oracle的.MSDB文件
第十部分 其他
第88章 npad
第89章 修改可执行文件
第90章 编译器内部函数
第91章 编译器的智能短板
第92章 OpenMP
第93章 安腾指令
第94章 8086的寻址方式
第95章 基本块重排
第十一部分 推荐阅读
第96章 参考书籍
第97章 博客
第98章 其他内容
第十二部分 练习题
第99章 初等难度练习题
第100章 中等难度练习题
第101章 高难度练习题
第102章 Crackme/Keygenme
附录A x86
附录B ARM
附录C MIPS
附录D 部分GCC库函数
附录E 部分MSVC库函数
附录F 速查表
附录G 练习题答案
参考文献
版权声明
内容提要
序 从逆向视角透视代码大厦的那些砖石
前言
第一部分 指令讲解
第1章 CPU简介
第2章 最简函数
第3章 Hello,world!
第4章 函数序言和函数尾声
第5章 栈
第6章 printf()函数与参数调用
第7章 scanf()
第8章 参数获取
第9章 返回值
第10章 指针
第11章 GOTO语句
第12章 条件转移指令
第13章 switch()/case/default
第14章 循环
第15章 C语言字符串的函数
第16章 数学计算指令的替换
第17章 FPU
第18章 数组
第19章 位操作
第20章 线性同余法与伪随机函数
第21章 结构体
第22章 共用体(union)类型
第23章 函数指针
第24章 32位系统处理64位数据
第25章 SIMD
第26章 64位平台
第27章 SIMD与浮点数的并行运算
第28章 ARM指令详解
第29章 MIPS的特点
第二部分 硬件基础
第30章 有符号数的表示方法
第31章 字节序
第32章 内存布局
第33章 CPU
第34章 哈希函数
第三部分 一些高级的例子
第35章 温度转换
第36章 斐波拉契数列
第37章 CRC32计算的例子
第38章 网络地址计算实例
第39章 循环:几个迭代
第40章 达夫装置
第41章 除以9
第42章 字符串转换成数字,函数atoi()
第43章 内联函数
第44章 C99标准的受限指针
第45章 打造无分支的abs()函数
第46章 变长参数函数
第47章 字符串剪切
第48章 toupper()函数
第49章 不正确的反汇编代码
第50章 混淆技术
第51章 C++
第52章 数组与负数索引
第53章 16位的Windows程序
第四部分 Java
第54章 Java
第五部分 在代码中发现重要而有趣的内容
第55章 编译器产生的文件特征
第56章 Win32环境下与外部通信
第57章 字符串
第58章 调用宏assert()(中文称为断言)
第59章 常数
第60章 检索关键指令
第61章 可疑的代码模型
第62章 魔数与程序调试
第63章 其他的事情
第六部分 操作系统相关
第64章 参数的传递方法(调用规范)
第65章 线程本地存储TLS
第66章 系统调用(syscall-s)
第67章 Linux
第68章 Windows NT
第七部分 常用工具
第69章 反汇编工具
第70章 调试工具
第71章 系统调用的跟踪工具
第72章 反编译工具
第73章 其他工具
第八部分 更多范例
第74章 修改任务管理器(Vista)
第75章 修改彩球游戏
第76章 扫雷(Windows XP)
第77章 人工反编译与Z3 SMT求解法
第78章 加密狗
第79章 “QR9”:魔方态加密模型
第80章 SAP
第81章 Oracle RDBMS
第82章 汇编指令与屏显字符
第83章 实例演示
第九部分 文件分析
第84章 基于XOR的文件加密
第85章 Millenium游戏的存档文件
第86章 Oracle的.SYM文件
第87章 Oracle的.MSDB文件
第十部分 其他
第88章 npad
第89章 修改可执行文件
第90章 编译器内部函数
第91章 编译器的智能短板
第92章 OpenMP
第93章 安腾指令
第94章 8086的寻址方式
第95章 基本块重排
第十一部分 推荐阅读
第96章 参考书籍
第97章 博客
第98章 其他内容
第十二部分 练习题
第99章 初等难度练习题
第100章 中等难度练习题
第101章 高难度练习题
第102章 Crackme/Keygenme
附录A x86
附录B ARM
附录C MIPS
附录D 部分GCC库函数
附录E 部分MSVC库函数
附录F 速查表
附录G 练习题答案
参考文献