• 九阴真经iOS黑客攻防秘籍
  • 九阴真经iOS黑客攻防秘籍
  • 九阴真经iOS黑客攻防秘籍
  • 九阴真经iOS黑客攻防秘籍
  • 九阴真经iOS黑客攻防秘籍
21年品牌 40万+商家 超1.5亿件商品

九阴真经iOS黑客攻防秘籍

48 5.4折 89 八五品

仅1件

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

作者陈德 著

出版社人民邮电出版社

出版时间2019-08

版次1

装帧平装

货号30

上书时间2024-11-30

   商品详情   

品相描述:八五品
图书标准信息
  • 作者 陈德 著
  • 出版社 人民邮电出版社
  • 出版时间 2019-08
  • 版次 1
  • ISBN 9787115516107
  • 定价 89.00元
  • 装帧 平装
  • 开本 16开
  • 纸张 胶版纸
  • 页数 348页
【内容简介】
本书内容易于理解,可以让读者循序渐进、系统性地学习iOS 安全技术。书中首先细致地介绍了越狱环境的开发与逆向相关工具,然后依次讲解了汇编基础、动态调试、静态分析、注入与hook、文件格式,最后为大家呈现了应用破解与应用保护、隐私获取与取证、刷量与作弊、**设备ID、写壳内幕等多个主题。
【作者简介】
陈德,安全专家,软件安全研究员。2007年开始自学安全技术,在安全领域精通多方面技术,个人作品有eXfaker、FileMonitorKit和SystemKit等,其博客地址为http: www.exchen.net。
【目录】
第 1章 iOS安全机制1 

1.1 应用的安装源 1 

1.2 沙盒 2 

1.3 代码签名 3 

1.4 用户权限隔离 4 

1.5 数据执行保护 4 

1.6 地址随机化 5 

1.7 后台程序 5 

第 2章 越狱环境开发工具的准备 8 

2.1 越狱与Cydia 8 

2.2 文件管理工具 10 

2.2.1 iFile:在手机上管理文件 10 

2.2.2 AFC2:通过USB管理手机 

文件 10 

2.3 命令行工具 11 

2.3.1 MTerminal:手机中执行 

命令行 11 

2.3.2 OpenSSH:在电脑上执行 

命令行 12 

2.4 代码注入测试工具 13 

2.5 远程调试工具 14 

2.5.1 debugserver的配置与启动 14 

2.5.2 LLDB连接debugserver及其 

调试 15 

2.5.3 通过USB连接SSH进行调试 17 

2.6 反汇编工具 18 

2.6.1 IDA 18 

2.6.2 Hopper 21 

2.7 其他工具 22 

第3章 ARM汇编基础 30 

3.1 ARMv7 30 

3.1.1 编写32位汇编代码 30 

3.1.2 寄存器与栈 32 

3.1.3 基础指令 32 

3.1.4 条件跳转与循环 33 

3.1.5 函数参数的调用过程 34 

3.1.6 Thumb指令 35 

3.2 ARM64 36 

3.2.1 编写64位的汇编代码 36 

3.2.2 寄存器与栈 36 

3.2.3 函数参数的调用过程 37 

3.3 在Xcode中使用内联汇编 38 

3.3.1 C C++ Objective-C调用汇编 

函数 39 

3.3.2 直接编写内联汇编 39 

第4章 应用逆向分析 41 

4.1 寻找main函数的入口 41 

4.1.1 编写一个测试程序 41 

4.1.2 ARMv7的main函数入口 42 

4.1.3 ARM64的main函数入口 43 

4.2 动态调试 44 

4.2.1 反汇编 44 

4.2.2 添加断点 45 

4.2.3 打印数据 50 

4.2.4 读写数据 51 

4.2.5 修改程序的执行流程 52 

4.2.6 查看信息 54 

4.2.7 执行到上层调用栈 56 

4.2.8 临时修改变量的值 57 

4.2.9 使用帮助与搜索 57 

4.3 静态分析 58 

4.3.1 通过字符串定位到代码的 

引用位置 58 

4.3.2 查看函数被调用的位置 62 

4.3.3 重设基地址 63 

4.3.4 修改代码并保存文件 64 

4.3.5 使用IDA Python脚本 65 

4.4 逆向分析实例 65 

第5章 Tweak编写技术 76 

5.1 Theos开发环境的使用 76 

5.1.1 编写第 一个Tweak 76 

5.1.2 Theos工程文件 80 

5.2 逆向分析与编写Tweak 83 

5.2.1 逆向分析 83 

5.2.2 编写Tweak 91 

第6章 注入与hook 94 

6.1 注入动态库 94 

6.1.1 编写动态库 94 

6.1.2 DynamicLibraries目录 95 

6.1.3 DYLD_INSERT_LIBRARIES环境 

变量 95 

6.1.4 不越狱注入动态库 96 

6.2 hook 97 

6.2.1 Cydia Substrate 97 

6.2.2 Symbol Table 100 

6.2.3 Method Swizzing 102 

第7章 Mach-O文件格式解析 104 

7.1 Mach-O文件格式 104 

7.1.1 Fat头部 106 

7.1.2 Mach头部 108 

7.1.3 Load command 109 

7.1.4 符号表与字符串表 122 

7.2 CFString的运行过程 124 

7.2.1 编写测试代码 124 

7.2.2 CFString的数据结构 125 

7.2.3 调试运行过程 126 

7.3 Mach-O ARM函数绑定的调用 

过程分析 127 

7.3.1 编写测试代码 127 

7.3.2 分析ARMv7函数绑定的 

调用过程 128 

7.3.3 分析ARM64函数绑定的 

调用过程 136 

7.3.4 总结 140 

7.4 静态库文件格式 142 

7.5 class-dump导出头文件的原理 143 

7.6 关于Bitcode 147 

7.6.1 Bitcode的作用 148 

7.6.2 在Xcode中如何生成Bitcode 148 

7.6.3 通过命令行编译Bitcode 150 

7.6.4 将Bitcode编译成可执行文件 152 

7.6.5 编译器相关参数 153 

第8章 唯一设备ID 154 

8.1 UDID与设备ID 154 

8.2 IDFA 157 

8.3 IDFV 157 

8.4 OpenUDID 158 

8.5 SimulateIDFA 159 

8.6 MAC地址 160 

8.7 ID的持久化存储 163 

8.8 DeviceToken 167 

第9章 刷量与作弊 168 

9.1 越狱环境下获取root权限 168 

9.2 修改手机信息 169 

9.2.1 修改基本信息 169 

9.2.2 修改Wi-Fi信息 176 

9.2.3 修改DeviceToken 177 

9.2.4 修改位置信息 178 

9.3 清除应用数据 179 

9.4 清除Keychain 181 

9.5 清除剪贴板 183 

9.6 发布应用 183 

9.6.1 将App打包成deb 183 

9.6.2 制作Cydia源发布应用 184 

9.7 权限的切换 185 

9.8 变化IP地址 186 

9.9 反越狱检测 188 

9.10 不用越狱修改任意位置信息 190 

9.11 在两个手机上同时登录同一微信 192 

9.12 微信的62数据 193 

第 10章 重要信息获取与取证 195 

10.1 通讯录 195 

10.2 短信 196 

10.3 通话记录 197 

10.4 位置信息 197 

10.5 网络信息 199 

10.6 传感器信息 206 

10.7 系统信息 210 

10.8 硬件ID信息 214 

10.9 已安装的应用列表 216 

10.10 使用idb分析泄露的数据 218 

10.11 重要的文件与目录 223 

10.12 libimobiledevice获取手机信息 226 

第 11章 应用破解 228 

11.1 重打包应用与多开 228 

11.1.1 重打包应用 228 

11.1.2 多开 235 

11.2 应用重签名 238 

11.2.1 代码签名 238 

11.2.2 授权机制 241 

11.2.3 配置文件 243 

11.2.4 重签名 244 

11.3 抓包和改包 245 

11.3.1 tcpdump抓包 245 

11.3.2 Wireshark抓包 248 

11.3.3 Charles抓取HTTPS数据包 250 

11.3.4 Charles修改数据包与重发 254 

11.3.5 突破SSL双向认证 257 

11.4 文件监控 258 

11.5 破解登录验证 259 

11.5.1 得到HTTP传输的数据 259 

11.5.2 得到解密的数据 260 

11.5.3 破解方法 261 

第 12章 应用保护 262 

12.1 函数名混淆 262 

12.2 字符串加密 262 

12.3 代码混淆 265 

12.3.1 inline内联函数 265 

12.3.2 obfuscator-llvm编译器 266 

12.3.3 Xcode集成配置obfuscator- 

llvm 268 

12.3.4 Theos集成配置obfuscator- 

llvm 270 

12.4 越狱检测 270 

12.4.1 判断相关文件是否存在 270 

12.4.2 直接读取相关文件 271 

12.4.3 使用stat函数判断文件 271 

12.4.4 检查动态库列表 272 

12.4.5 检查环境变量 272 

12.4.6 检查函数是否被劫持 272 

12.5 反盗版 273 

12.5.1 检查Bundle identifier 273 

12.5.2 检查来源是否为App Store 273 

12.5.3 检查重签名 276 

12.5.4 代码校验 277 

12.6 反调试与反反调试 278 

12.6.1 反调试方法 279 

12.6.2 反反调试 281 

12.7 反注入与反反注入 285 

第 13章 代码入口点劫持 287 

13.1 实现原理 287 

13.2 编写ShellCode 287 

13.2.1 编写ARM汇编 288 

13.2.2 计算main函数的跳转地址 292 

13.2.3 最终的ShellCode 294 

13.3 插入代码 295 

13.4 修改入口点 296 

13.4.1 关于指令切换 296 

13.4.2 ARMv7入口点 297 

13.4.3 ARM64入口点 297 

13.5 重签名 298 

第 14章 写壳内幕 300 

14.1 判断文件格式类型 300 

14.2 代码的插入 301 

14.3 修改程序入口点 303 

14.4 Shellcode如何调用函数 304 

14.5 编写和调试Shellcode 308 

14.5.1 ARMv7 Shellcode 309 

14.5.2 ARM64 Shellcode 316 

14.6 总结 329 

第 15章 系统相关 331 

15.1 Cydia的相关问题及修复方法 331 

15.2 降级传说 334 

15.3 访问限制密码的安全隐患 335 

15.4 扫码在线安装应用 338 

15.5 CVE-2018-4407远程溢出漏洞 344 

15.6 解决磁盘空间不足的问题 345 

附录A 书中用到的工具列表 347
点击展开 点击收起

   相关推荐   

—  没有更多了  —

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

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