• Android软件安全权威指南
21年品牌 40万+商家 超1.5亿件商品

Android软件安全权威指南

18 1.9折 95 九五品

仅1件

北京通州
认证卖家担保交易快速发货售后保障

作者丰生强

出版社电子工业出版社

ISBN9787121355202

出版时间2019-03

版次1

装帧平装

开本16开

纸张胶版纸

页数451页

定价95元

上书时间2024-04-13

灵感飞驰

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九五品
商品描述
基本信息
书名:Android软件安全权威指南
定价:95.00元
作者:丰生强
出版社:电子工业出版社
出版日期:2019-03-01
ISBN:9787121355202
字数:
页码:451
版次:1
装帧:平装
开本:16开
商品重量:
编辑推荐
覆盖Windows、Linux、macOS上的Android软件开发、逆向分析及动态调试关注ARM汇编、Hook、软件保护、软件壳及Java层与Native层的逆向分析系统化的命令和工具介绍、循序渐进的学习路线及生动的应用场景指引动手实践
内容提要
本书主要介绍Android平台上的软件安全技术。从平台搭建和语言基础开始,循序渐进地讲解了Android平台上的软件攻防技术。本书共12章,系统地讲解了与Android软件安全相关的环境搭建、文件格式、静态分析、动态调试、Hook与注入、软件保护技术、软件壳等多个主题。本书较版更新幅度较大,加入了Windows、Linux、macOS 3个平台上的软件平台支持,在文件格式上加入了OAT、ELF等新的文件格式。另外,本书更新调整了目录结构,将Java与Native层的软件安全技术分开讲解,在内容安排上更加细致、合理。同时,加入了时下流行的软件壳章节,内容大多是目前尚未公开的技术。另外,书中的每一章中都以实例讲解的方式来展开内容,实践性较强。
目录
章 搭建Android程序分析环境1.1 搭建Windows分析环境 11.1.1 安装K 11.1.2 安装Android SDK 21.1.3 安装Android NDK 51.1.4 Android Studio集成开发环境 61.1.5 创建Android模拟器 71.1.6 Cygwi91.1.7 Bash oUbuntu oWindows 111.2 搭建macOS分析环境 121.2.1 安装K 121.2.2 安装Android SDK 141.2.3 安装Android NDK 141.2.4 Android Studio集成开发环境 151.3 搭建Ubuntu分析环境 151.3.1 安装K 161.3.2 安装Android SDK 171.3.3 安装Android NDK 171.3.4 Android Studio集成开发环境 181.4 常用逆向分析工具 191.5 常用Linux Shell命令 191.6 搭建源码分析环境 201.6.1 在macOS中编译Android源码 201.6.2 在Ubuntu中编译Android源码 261.6.3 在Windows中编译Android源码 261.7 本章小结 27第2章 如何分析Android程序2.1 编写个Android程序 282.1.1 创建Android工程 282.1.2 编译生成APK文件 302.2 破解个Android程序 352.2.1 破解入手 352.2.2 反编译APK文件 352.2.3 分析APK文件 362.2.4 修改smali文件的代码 442.2.5 重新编译APK文件并签名 452.2.6 安装和测试 472.2.7 小结 482.3 本章小结 48第3章 Dalvik可执行格式与字节码规范3.1 Dalvik虚拟机 493.1.1 Dalvik虚拟机的特点 493.1.2 Dalvik虚拟机与Java虚拟机的区别 493.1.3 虚拟机的执行流程 543.1.4 虚拟机的执行方式 563.2 Dalvik语言基础 563.2.1 Dalvik指令格式 573.2.2 DEX反汇编工具 583.2.3 Dalvik寄存器 593.2.4 寄存器命名法 613.2.5 Dalvik字节码 623.3 Dalvik指令集 633.3.1 指令类型 643.3.2 空操作指令 643.3.3 数据操作指令 643.3.4 返回指令 653.3.5 数据定义指令 653.3.6 锁指令 663.3.7 实例操作指令 663.3.8 数组操作指令 663.3.9 异常指令 673.3.10 跳转指令 673.3.11 比较指令 683.3.12 字段操作指令 693.3.13 方法调用指令 693.3.14 数据转换指令 703.3.15 数据运算指令 703.4 Dalvik指令练习 713.4.1 编写smali文件 713.4.2 编译smali文件 733.4.3 测试运行 733.5 本章小结 73第4章 常见Android文件格式4.1 库文件 744.1.1 jar包 744.1.2 aar包 754.2 APK 784.2.1 APK文件结构 784.2.2 APK文件的生成流程 794.2.3 APK的安装流程 844.3 classes.dex 904.3.1 DEX文件结构 904.3.2 DEX文件的验证与优化过程 1044.3.3 DEX文件的修改 1084.3.4 MultiDex 1114.4 AndroidManifest.xml 1134.4.1 AndroidManifest.xml文件的格式 1134.4.2 AXML文件格式 1144.4.3 AXML文件的修改 1214.5 resources.arsc 1214.5.1 ARSC文件格式 1224.5.2 ARSC文件的修改 1284.6 META-INF目录 1284.6.1 CERT.RSA 1284.6.2 MANIFEST.MF 1294.6.3 CERT.SF 1304.7 ODEX 1324.7.1 生成ODEX文件 1324.7.2 ODEX文件格式 1324.7.3 将ODEX文件转换成DEX文件 1364.8 OAT 1374.8.1 ART虚拟机 1374.8.2 生成OAT文件 1374.8.3 OAT文件格式 1384.8.4 将OAT文件转换成DEX文件 1414.9 本章小结 143第5章 静态分析Android程序5.1 静态分析简介 1455.2 阅读smali代码 1455.2.1 smali文件结构 1455.2.2 循环语句 1485.2.3 switch分支语句 1535.2.4 try/catch语句 1585.3 阅读Java代码 1635.3.1 将DEX文件转换成jar包 1635.3.2 jar分析工具 1635.4 代码定位技巧 1645.4.1 入口分析法 1645.4.2 信息反馈法 1655.4.3 特征函数法 1655.5 使用JEB进行静态分析 1655.5.1 安装JEB 1655.5.2 JEB的静态分析功能 1665.5.3 JEB的脚本化与插件 1695.6 使用IDA Pro进行静态分析 1705.6.1 IDA Pro对Android的支持 1705.6.2 分析DEX文件 1705.6.3 定位关键代码 1725.7 使用Androguard进行静态分析 1745.7.1 安装Androguard 1755.7.2 Androguard的使用方法 1755.7.3 使用androlyze.py进行分析 1795.8 本章小结 182第6章 动态分析Android程序6.1 动态分析框架 1836.2 动态分析技巧 1896.2.1 代码注入法 1896.2.2 栈跟踪法 1926.2.3 Method Profiling 1936.2.4 UI检查 1966.3 使用B动态调试APK 1986.4 使用JEB动态调试APK 2006.5 使用IDA Pro动态调试APK 2016.6 本章小结 203第7章 ARM反汇编基础7.1 Android与ARM处理器 2047.1.1 ARM处理器架构概述 2047.1.2 Android支持的处理器架构 2057.2 Android ARM EABI 2067.2.1 armeabi 2067.2.2 armeabi-v7a 2077.2.3 arm64-v8a 2087.3 ARM原生程序的生成过程 2087.3.1 预处理 2107.3.2 编译 2117.3.3 汇编 2157.3.4 链接 2157.4 ARM汇编语言 2167.4.1 ARM汇编程序结构 2167.4.2 汇编指令 2217.4.3 寄存器 2237.4.4 处理器寻址方式 2247.4.5 子程序参数传递 2277.5 ARM汇编指令集 2307.5.1 ARM指令集分类 2307.5.2 ARM指令编码 2317.5.3 ARM指令格式解析 2337.5.4 常见ARM指令 2347.6 Thumb汇编指令集 2407.6.1 16位Thumb指令编码 2407.6.2 16位Thumb指令格式解析 2417.6.3 32位Thumb指令编码 2427.6.4 32位Thumb指令格式解析 2447.7 AArch64汇编指令集 2467.7.1 AArch64指令编码 2467.7.2 AArch64指令格式解析 2477.8 本章小结 250第8章 Android原生程序开发与逆向分析8.1 原生程序开发 2518.1.1 原生程序工程 2528.1.2 STL的选择 2538.1.3 JNI 2548.1.4 编译选项与配置项 2568.2 原生程序移植 2568.2.1 ADT项目的移植 2578.2.2 UNIX开源项目的移植 2588.2.3 CMake项目的移植 2628.2.4 其他类型项目的移植 2648.3 原生程序入口函数 2648.3.1 原生程序入口函数分析 2648.3.2 so入口函数分析 2698.4 原生程序文件格式 2718.4.1 原生程序的文件类型 2718.4.2 AArch64 ELF文件格式 2748.4.3 Program Header Table 2788.4.4 SectioHeader Table 2818.4.5 .dynamic节区 2838.4.6 字符串表 2858.4.7 符号表 2868.4.8 got表与plt表 2878.4.9 地址重定位表 2918.5 原生程序逆向分析工具 2958.5.1 NDK Toolchai2958.5.2 IDA Pro 2978.5.3 Hopper 3018.6 原生C程序逆向分析 3028.6.1 编译原生C程序 3038.6.2 for循环分支结构 3058.6.3 while循环分支结构 3098.6.4 if……else分支结构 3128.6.5 switch循环分支结构 3168.6.6 优化后的C程序 3198.7 原生C++ 程序逆向分析 3218.7.1 C++ STL的逆向分析 3228.7.2 C++ 类的逆向分析 3268.7.3 C++ 程序的RTTI 3328.8 原生so动态库逆向分析 3368.9 本章小结 337第9章 Android原生程序动态调试9.1 gdb调试器 3389.1.1 ndk-gdb脚本 3389.1.2 配置gdb调试器 3399.1.3 gdb调试器的常用命令 3409.1.4 使用gdb调试Android原生程序 3429.1.5 gdb调试器的GUI前端 3449.2 lldb调试器 3469.2.1 配置lldb调试器 3469.2.2 lldb调试器的常用命令 3489.2.3 使用lldb调试Android原生程序 3509.2.4 lldb调试器的GUI前端 3539.3 使用IDA Pro调试Android原生程序 3539.4 本章小结 3580章 Hook与注入10.1 Hook的类型 35910.1.1 Dalvik Hook 35910.1.2 ART Hook 36210.1.3 LD_PRELOAD Hook 36410.1.4 GOT Hook 36610.1.5 Inline Hook 36710.2 Hook框架Xposed 36810.3 Hook场景与应用 37210.3.1 开启日志调试输出 37210.3.2 APK插件 37310.3.3 绕过SSL Pinning 37310.4 动态注入 37410.4.1 so动态库注入 37410.4.2 DEX注入 37610.5 注入框架Frida 37710.5.1 Frida的安装与配置 37710.5.2 执行注入与Hook 37810.5.3 跟踪Native方法 38410.6 本章小结 3861章 软件保护技术11.1 软件保护技术简介 38711.2 软件混淆技术 38811.2.1 源码混淆 38911.2.2 模板混淆 38911.2.3 AST混淆 39111.2.4 IR混淆 39711.2.5 DEX混淆 39711.2.6 DEX二次混淆 39911.3 资源保护 40111.4 完整性校验 40311.5 反调试技术 40411.5.1 调试器状态检测 40411.5.2 调试器端口检测 40411.5.3 进程状态检测 40611.6 运行环境检测 40711.6.1 模拟器检测 40711.6.2 Root检测 40911.6.3 Hook检测 40911.7 本章小结 4112章 软件壳12.1 Android软件壳 41212.2 软件壳的特征与侦察 41312.2.1 编译器指纹 41312.2.2 软件壳的特征 41612.2.3 查壳工具 41812.3 动态加载型壳 41812.3.1 缓存脱壳法 41812.3.2 内存Dump脱壳法 41912.3.3 动态调试脱壳法 42012.3.4 Hook脱壳法 42312.3.5 系统定制脱壳法 42412.4 代码抽取型壳 42512.4.1 内存重组脱壳法 42512.4.2 Hook脱壳法 42712.4.3 系统定制脱壳法 42712.5 代码混淆壳 42912.5.1 LLVM基础 43012.5.2 编写Pass 43412.5.3 Obfuscator-LLVM 44012.5.4 代码混淆壳的脱壳 44312.6 本章小结 451
作者介绍
网名"非虫”,独立软件安全研究员,资深安全专家,ISC2016安全训练营独立讲师,有丰富的软件安全实战经验。自2008年起,在知名安全杂志《黑客防线》上发表多篇技术文章,从此踏上软件安全研究道路,常年混迹于国内各大软件安全论坛,著有安全图书《Android软件安全与逆向分析》与《macOS软件安全与逆向分析》。
序言

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP