加载中...
扫一扫
下载苏宁易购APP
关注苏宁推客公众号
自购省钱·分享赚钱
下载苏宁金融APP
关注苏宁易购服务号
用户评价:----
物流时效:----
售后服务:----
实名认证领苏宁支付券立即领取 >
¥
提前抢
SUPER会员专享
由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
欢迎光临本店铺
点我可查看更多商品哦~
100%刮中券,最高50元无敌券,券有效期7天
亲,今日还有0次刮奖机会
我的云钻:0
您的云钻暂时不足,攒足云钻再来刮
恭喜获得1张券!
今天的机会已经全部用完了,请明天再来
恭喜刮出两张券,请选择一张领取
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
正版 iOS黑客攻防秘籍 陈德著 人民邮电出版社 9787115568816 书
¥ ×1
商品
服务
物流
目 录 第 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 越狱与 Cydia8 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 IDA20 2.6.2 Hopper23 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 ARMv733 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 ARM6439 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 Frida93 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 安装 MonkeyDev114 4.6.2 分析应用115 4.6.3 不越狱使用 Frida119 第5章 Tweak 编写技术122 5.1 Theos 开发环境的使用122 5.1.1 编写第 一个 Tweak122 5.1.2 Theos 工程文件126 5.2 逆向分析与编写 Tweak129 5.2.1 逆向分析129 5.2.2 编写 Tweak137 5.3 使用 MonkeyDev 开发 Tweak140 第6章 注入与 Hook144 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 Hook147 6.2.1 Cydia Substrate147 6.2.2 Symbol Table150 6.2.3 Method Swizzing152 第7章 Mach-O 文件格式解析154 7.1 Mach-O 文件格式154 7.1.1 Fat 头部156 7.1.2 Mach 头部158 7.1.3 Load command159 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 关于 Bitcode198 7.6.1 Bitcode 的作用198 7.6.2 在 Xcode 中如何生成 Bitcode198 7.6.3 通过命令行编译 Bitcode200 7.6.4 将 Bitcode 编译成可执行文件202 7.6.5 编译器相关参数203 第8章 唯一设备 ID205 8.1 UDID 与设备 ID205 8.1.1 编写 mobileconfig205 8.1.2 编写 receive.php206 8.1.3 安装描述文件206 8.1.4 mobileconfig 签名207 8.2 IDFA208 8.3 IDFV208 8.4 OpenUDID209 8.5 SimulateIDFA210 8.6 MAC 地址211 8.7 ID 的持久化存储214 8.7.1 Keychain 的存储214 8.7.2 剪贴板216 8.8 DeviceToken218 第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 修改 DeviceToken230 9.2.4 修改位置信息232 9.2.5 修改系统启动时间233 9.2.6 修改屏幕亮度、音量、电池电量234 9.2.7 修改磁盘空间与内存235 9.2.8 修改网络 IP 地址、MAC 地址、DNS236 9.2.9 修改上网类型238 9.2.10 修改系统版本与机型240 9.2.11 绕过 VPN 与 HTTP 代理检测246 9.3 清除数据247 9.3.1 清除沙盒目录247 9.3.2 清除 Keychain250 9.3.3 清除剪贴板251 9.3.4 清除 AppGroup252 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 第 10章 重要信息获取与取证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 第 11章 应用破解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 第 12章 应用保护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-llvm341 12.3.4 Theos 集成配置 obfuscator-llvm343 12.3.5 HikariObfuscator343 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 identifier347 12.5.2 检查来源是否为 App Store347 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 第 13章 代码入口点劫持365 13.1 实现原理365 13.2 编写 ShellCode365 13.2.1 编写 ARM 汇编366 13.2.2 计算 main 函数的跳转地址370 13.2.3 最终的 ShellCode372 13.3 插入代码373 13.4 修改入口点374 13.4.1 关于指令切换374 13.4.2 ARMv7 入口点375 13.4.3 ARM64 入口点375 13.5 重签名376 第 14章 写壳内幕378 14.1 判断文件格式类型378 14.2 代码的插入379 14.3 修改程序入口点381 14.4 Shellcode 如何调用函数382 14.5 编写和调试 Shellcode386 14.5.1 ARMv7 Shellcode387 14.5.2 ARM64 Shellcode394 14.6 总结407 第 15章 系统相关409 15.1 Cydia 的相关问题及修复方法409 15.1.1 使用 h3lix 越狱后,Cydia 不能上网409 15.1.2 越狱后抹掉所有内容修复 Cydia409 15.1.3 Cydia 不能上网的终极解决方法411 15.2 降级传说412 15.2.1 iPhone 5 降级到 8.4.1412 15.2.2 iPhone 5s 降级到 10.3.3413 15.3 访问限制密码的安全隐患416 15.3.1 访问限制密码416 15.3.2 备份密钥数据416 15.3.3 暴力破解密码417 15.4 扫码在线安装应用418 15.4.1 安装 Apache418 15.4.2 配置自签名证书支持 HTTPS419 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 第 16章 LLVM 编译器代码混淆的原理434 16.1 开发和调试 Pass434 16.1.1 编写第 一个 LLVM Pass434 16.1.2 编写 Pass 获取基本块和指令438 16.1.3 将 Pass 编译到 Clang442 16.2 移植代码混淆 Pass444 16.2.1 移植代码444 16.2.2 安装 graphivz445 16.2.3 设置 opt 的启动参数446 16.3 从源码角度解读代码混淆 Pass449 16.3.1 flattening449 16.3.2 boguscf458 16.3.3 substitution464 16.3.4 indirectbr469 附录A 书中用到的工具列表477 附录B 机型代号列表479
陈德,软件安全研究员,2007年开始自学安全技术,师出《黑客防线》,在安全领域精通多方面技术,个人作品有eXfaker、FileMonitorKit、SystemKit等。
1.本书的主要特点是能够让初学者快速入门并学习到iOS安全技术的精髓,易学易懂,带领读者直奔主题,内容覆盖iOS 8到iOS 14。 2.本书细致讲解了iOS系统的逆向分析与攻防对抗技术,从越狱环境的开发与逆向的相关工具,由浅入深的延伸到各个主题。 3.本书作者曾创建小型技术论坛供读者交流,并在看雪论坛发表过多篇热帖,该书也受到了看雪论坛iOS安全版主等多名业内人士力荐。 4.和上一版相比,本书的知识体系更加完整,新增了更多技术难题和解决方案。
本书论述与iOS安全相关的技术,内容易于理解,可以让读者循序渐进、系统性地学习。全书共16章,覆盖了从iOS8到iOS14的知识点,相比版,这版主要对第2章、第4章、第5章、第9章、2章和5章的内容做了调整,并新增了6章。书中首先详细地介绍了越狱环境的开发与逆向相关工具,然后依次讲解了ARM汇编基础、应用逆向分析、Tweak编写技术、注入与Hook、Mach-O文件格式解析,很后为大家呈现了专享设备ID、刷量与作弊、重要信息获取与取证、应用破解与应用保护、代码人口点劫持、写壳内幕、LLVM编译器代码混淆等多个主题。本书适合信息安全专业和软件开发专业的髙校学生、中不错iOS开发工程师、逆向工程师、软件安全研究员阅读。
抢购价:¥ 38.00
易购价:¥ 38.00
注:参加抢购将不再享受其他优惠活动
亲,很抱歉,您购买的宝贝销售异常火爆,让小苏措手不及,请稍后再试~
验证码错误
看不清楚?换一张
确定关闭
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
查看我的收藏夹
非常抱歉,您前期未参加预订活动,无法支付尾款哦!
关闭
抱歉,您暂无任性付资格
继续等待
0小时0分
立即开通
SUPER会员