返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:

  • 正版新书]ios黑客攻防秘籍 第2版 操作系统 陈德陈德97871155688
  • 全店均为全新正版书籍,欢迎选购!新疆西藏青海(可包挂刷).港澳台及海外地区bu bao快递
    • 作者: 陈德著 | 陈德编 | 陈德译 | 陈德绘
    • 出版社: 人民邮电出版社
    • 出版时间:2021-10-01
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    君凤文轩图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: 陈德著| 陈德编| 陈德译| 陈德绘
    • 出版社:人民邮电出版社
    • 出版时间:2021-10-01
    • 版次:1
    • 印次:1
    • 字数:100千字
    • 页数:483
    • 开本:16开
    • ISBN:9787115568816
    • 版权提供:人民邮电出版社
  • 作者: 陈德
  • 著: 陈德 译
  • 装帧: 平装
  • 印次: 1
  • 定价: 129.8
  • ISBN: 9787115568816
  • 出版社: 人民邮电出版社
  • 开本: 16开
  • 印刷时间: 暂无
  • 语种: 暂无
  • 出版时间: 2021-10-01
  • 页数: 483
  • 外部编号: 五三B116472
  • 版次: 1
  • 成品尺寸: 暂无
  • 章 iOS安全机制 1

    1.1 iOS 应用的安装源 1

    1.2 沙盒 2

    1.3 代码签名 3

    1.4 用户权限隔离 4

    1.5 数据执行保护 4

    1.6 地址空间布局随机化 5

    1.7 后台程序 6

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

    2.1 越狱与 Cydia 8

    2.2 文件管理工具 11

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

    2.2.2 AFC2:通过 USB 管理手机文件 12

    2.3 命令行工具 12

    2.3.1 MTerminal:在手机上执行命令行 12

    2.3.2 OpenSSH:在计算机上执行命令行 13

    2.4 代码注入测试工具 15

    2.5 远程调试工具 16

    2.5.1 debugserver 的配置与启动 16

    2.5.2 LLDB 连接 debugserver 及其调试 17

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

    2.6 反汇编工具 20

    2.6.1 IDA 20

    2.6.2 Hopper 23

    2.7 其他工具 24

    2.7.1 syslogd:记录日志 24

    2.7.2 Vi IMproved:编辑器 24

    2.7.3 apt:下载命令 25

    2.7.4 Network commands:网络命令 25

    2.7.5 dumpdecrypted:脱壳 25

    2.7.6 class-dump:导出头文件 27

    2.7.7 lsof:查看进程所占用的文件 29

    2.7.8 AppSync:安装未签名的应用 31

    2.7.9 App Admin:下载指定版本的应用 31

    2.7.10 Cydown:下载时提取 deb 包 31

    第3章 ARM 汇编基础 33

    3.1 ARMv7 33

    3.1.1 编写 32 位汇编代码 33

    3.1.2 寄存器与栈 35

    3.1.3 基础指令 35

    3.1.4 条件跳转与循环 36

    3.1.5 函数参数的调用过程 37

    3.1.6 Thumb 指令 38

    3.2 ARM64 39

    3.2.1 编写 64 位的汇编代码 39

    3.2.2 寄存器与栈 39

    3.2.3 函数参数的调用过程 40

    3.3 在 Xcode 中使用内联汇编 41

    3.3.1 C、C++、Objective-C 调用汇编函数 42

    3.3.2 直接编写内联汇编 42

    第4章 应用逆向分析 44

    4.1 寻找程序入口——main 函数 44

    4.1.1 编写一个测试程序 44

    4.1.2 ARMv7 的 main 函数 45

    4.1.3 ARM64 的 main 函数 46

    4.2 动态调试 47

    4.2.1 反汇编 47

    4.2.2 添加断点 48

    4.2.3 打印数据 53

    4.2.4 读写数据 54

    4.2.5 修改程序的执行流程 56

    4.2.6 查看信息 58

    4.2.7 执行到上层调用栈 61

    4.2.8 临时修改变量的值 62

    4.2.9 使用帮助与搜索 63

    4.2.10 LLDB 脚本 63

    4.2.11 不越狱使用 Xcode 调试第三方应用 68

    4.2.12 IDA 动态调试 71

    4.3 静态分析 75

    4.3.1 通过字符串定位代码的引用位置 75

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

    4.3.3 重设基地址 81

    4.3.4 修改代码并保存文件 81

    4.3.5 使用 IDA Python 脚本 82

    4.4 逆向分析实例 83

    4.5 Frida 93

    4.5.1 Frida 的安装与相关工具 93

    4.5.2 frida-trace 实例 97

    4.5.3 拦截器的使用 99

    4.5.4 拦截 sub_xxxx 这种函数 103

    4.5.5 API 查找器和拦截器的组合使用 106

    4.5.6 远程过程调用 110

    4.6 使用 MonkeyDev 逆向应用 114

    4.6.1 安装 MonkeyDev 114

    4.6.2 分析应用 115

    4.6.3 不越狱使用 Frida 119

    第5章 Tweak 编写技术 122

    5.1 Theos 开发环境的使用 122

    5.1.1 编写个 Tweak 122

    5.1.2 Theos 工程文件 126

    5.2 逆向分析与编写 Tweak 129

    5.2.1 逆向分析 129

    5.2.2 编写 Tweak 137

    5.3 使用 MonkeyDev 开发 Tweak 140

    第6章 注入与 Hook 144

    6.1 注入动态库 144

    6.1.1 编写动态库 144

    6.1.2 DynamicLibraries 目录 145

    6.1.3 DYLD_INSERT_LIBRARIES 环境变量 145

    6.1.4 不越狱注入动态库 146

    6.2 Hook 147

    6.2.1 Cydia Substrate 147

    6.2.2 Symbol Table 150

    6.2.3 Method Swizzing 152

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

    7.1 Mach-O 文件格式 154

    7.1.1 Fat 头部 156

    7.1.2 Mach 头部 158

    7.1.3 Load command 159

    7.1.4 符号表与字符串表 172

    7.2 CFString 的运行过程 174

    7.2.1 编写测试代码 174

    7.2.2 CFString 的数据结构 175

    7.2.3 调试运行过程 176

    7.3 Mach-O ARM 函数绑定的调用过程分析 177

    7.3.1 编写测试代码 177

    7.3.2 分析 ARMv7 函数绑定的调用过程 178

    7.3.3 分析 ARM64 函数绑定的调用过程 186

    7.3.4 总结 190

    7.4 静态库文件格式 192

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

    7.6 关于 Bitcode 198

    7.6.1 Bitcode 的作用 198

    7.6.2 在 Xcode 中如何生成 Bitcode 198

    7.6.3 通过命令行编译 Bitcode 200

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

    7.6.5 编译器相关参数 203

    第8章 唯一设备 ID 205

    8.1 UDID 与设备 ID 205

    8.1.1 编写 mobileconfig 205

    8.1.2 编写 receive.php 206

    8.1.3 安装描述文件 206

    8.1.4 mobileconfig 签名 207

    8.2 IDFA 208

    8.3 IDFV 208

    8.4 OpenUDID 209

    8.5 SimulateIDFA 210

    8.6 MAC 地址 211

    8.7 ID 的持久化存储 214

    8.7.1 Keychain 的存储 214

    8.7.2 剪贴板 216

    8.8 DeviceToken 218

    第9章 刷量与作弊 219

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

    9.1.1 iOS 8 - iOS 10 获取 root 权限 220

    9.1.2 iOS 11- iOS 14 获取 root 权限 220

    9.2 修改手机信息 221

    9.2.1 修改基本信息 221

    9.2.2 修改 Wi-Fi 信息与运营商 228

    9.2.3 修改 DeviceToken 230

    9.2.4 修改位置信息 232

    9.2.5 修改系统启动时间 233

    9.2.6 修改屏幕亮度、音量、电池电量 234

    9.2.7 修改磁盘空间与内存 235

    9.2.8 修改网络 IP 地址、MAC 地址、DNS 236

    9.2.9 修改上网类型 238

    9.2.10 修改系统版本与机型 240

    9.2.11 绕过 VPN 与 HTTP 代理检测 246

    9.3 清除数据 247

    9.3.1 清除沙盒目录 247

    9.3.2 清除 Keychain 250

    9.3.3 清除剪贴板 251

    9.3.4 清除 AppGroup 252

    9.3.5 清除 iTunes 信息 255

    9.4 发布应用 256

    9.4.1 将 App 打包成 deb 格式 256

    9.4.2 制作 Cydia 源发布应用 257

    9.5 权限的切换 258

    9.6 变化 IP 地址 259

    9.7 反越狱检测 261

    9.8 不用越狱修改任意位置信息 263

    9.9 在两台手机上同时登录同一微信 264

    9.10 微信的 62 数据 265

    0章 重要信息获取与取证 267

    10.1 通讯录 267

    10.2 短信 268

    10.3 通话记录 269

    10.4 位置信息 269

    10.5 网络信息 271

    10.5.1 上网类型 272

    10.5.2 热点信息 273

    10.5.3 DNS 信息 274

    10.5.4 IP 地址 275

    10.5.5 代理信息 277

    10.6 传感器信息 278

    10.6.1 加速计 279

    10.6.2 陀螺仪 280

    10.6.3 磁力计 281

    10.6.4 气压计 282

    10.7 系统信息 283

    10.8 硬件 ID 信息 286

    10.9 已安装的应用列表 289

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

    10.10.1 安装和运行 291

    10.10.2 使用方法 293

    10.11 重要的文件与目录 296

    10.11.1 照片 297

    10.11.2 Safari 浏览器书签 297

    10.11.3 Wi-Fi 历史连接记录 297

    10.11.4 应用快照 298

    10.11.5 录音 298

    10.12 libimobiledevice 获取手机信息 299

    1章 应用破解 301

    11.1 重打包应用与多开 301

    11.1.1 重打包应用 301

    11.1.2 多开 308

    11.2 应用重签名 310

    11.2.1 代码签名 311

    11.2.2 授权机制 314

    11.2.3 配置文件 315

    11.2.4 重签名 317

    11.3 抓包和改包 318

    11.3.1 tcpdump 抓包 318

    11.3.2 Wireshark 抓包 321

    11.3.3 Charles 抓取 HTTPS 数据包 323

    11.3.4 Charles 修改数据包与重发 327

    11.3.5 突破 SSL 双向认证 330

    11.4 文件监控 331

    11.5 破解登录验证 332

    11.5.1 得到 HTTP 传输的数据 332

    11.5.2 得到解密的数据 333

    11.5.3 破解方法 334

    2章 应用保护 335

    12.1 函数名混淆 335

    12.2 字符串加密 335

    12.3 代码混淆 338

    12.3.1 inline 内联函数 338

    12.3.2 obfuscator-llvm 编译器 339

    12.3.3 Xcode 集成配置 obfuscator-llvm 341

    12.3.4 Theos 集成配置 obfuscator-llvm 343

    12.3.5 HikariObfuscator 343

    12.4 越狱检测 344

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

    12.4.2 直接读取相关文件 345

    12.4.3 使用 stat 函数判断文件 345

    12.4.4 检查动态库列表 346

    12.4.5 检查环境变量 346

    12.4.6 检查函数是否被劫持 346

    12.5 反盗版 347

    12.5.1 检查 Bundle identifier 347

    12.5.2 检查来源是否为 App Store 347

    12.5.3 检查重签名 350

    12.5.4 代码校验 351

    12.6 反调试与反反调试 353

    12.6.1 反调试方法 353

    12.6.2 反反调试 355

    12.7 反注入与反反注入 359

    12.8 防止被抓包 361

    3章 代码入口点劫持 365

    13.1 实现原理 365

    13.2 编写 ShellCode 365

    13.2.1 编写 ARM 汇编 366

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

    13.2.3 最终的 ShellCode 372

    13.3 插入代码 373

    13.4 修改入口点 374

    13.4.1 关于指令切换 374

    13.4.2 ARMv7 入口点 375

    13.4.3 ARM64 入口点 375

    13.5 重签名 376

    4章 写壳内幕 378

    14.1 判断文件格式类型 378

    14.2 代码的插入 379

    14.3 修改程序入口点 381

    14.4 Shellcode 如何调用函数 382

    14.5 编写和调试 Shellcode 386

    14.5.1 ARMv7 Shellcode 387

    14.5.2 ARM64 Shellcode 394

    14.6 总结 407

    5章 系统相关 409

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

    15.1.1 使用 h3lix 越狱后,Cydia 不能上网 409

    15.1.2 越狱后抹掉所有内容修复 Cydia 409

    15.1.3 Cydia 不能上网的终极解决方法 411

    15.2 降级传说 412

    15.2.1 iPhone 5 降级到 8.4.1 412

    15.2.2 iPhone 5s 降级到 10.3.3 413

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

    15.3.1 访问限制密码 416

    15.3.2 备份密钥数据 416

    15.3.3 暴力破解密码 417

    15.4 扫码在线安装应用 418

    15.4.1 安装 Apache 418

    15.4.2 配置自签名证书支持 HTTPS 419

    15.4.3 下载安装应用 422

    15.4.4 购买认证的 SSL 证书 424

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

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

    15.7 解决 h3lix 重签名后越狱失败 427

    15.8 解决 iOS 12 启动进程提示 Killed:9 的问题 429

    15.9 iPhone 安装 Android 系统 431

    6章 LLVM 编译器代码混淆的原理 434

    16.1 开发和调试 Pass 434

    16.1.1 编写个 LLVM Pass 434

    16.1.2 编写 Pass 获取基本块和指令 438

    16.1.3 将 Pass 编译到 Clang 442

    16.2 移植代码混淆 Pass 444

    16.2.1 移植代码 444

    16.2.2 安装 graphivz 445

    16.2.3 设置 opt 的启动参数 446

    16.3 从源码角度解读代码混淆 Pass 449

    16.3.1 flattening 449

    16.3.2 boguscf 458

    16.3.3 substitution 464

    16.3.4 indirectbr 469

    附录A 书中用到的工具列表 477

    附录B 机型代号列表 479

    1.本书的主要特点是能够让初学者快速入门并学习到iOS安全技术的精髓,易学易懂,带领读者直奔主题,内容覆盖iOS 8到iOS 14。
    2.本书细致讲解了iOS系统的逆向分析与攻防对抗技术,从越狱环境的开发与逆向的相关工具,由浅入深的延伸到各个主题。
    3.本书作者曾创建小型技术论坛供读者交流,并在看雪论坛发表过多篇热帖,该书也受到了看雪论坛iOS安全版主等多名业内人士力荐。
    4.和上一版相比,本书的知识体系更加完整,新增了更多技术难题和解决方案。

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购