《iOS黑客攻防秘籍2版ios系统的逆向分析与攻防对抗技术讲解汇编基础动态调用静态分析注入与ho》[42M]百度网盘|pdf下载|亲测有效
《iOS黑客攻防秘籍2版ios系统的逆向分析与攻防对抗技术讲解汇编基础动态调用静态分析注入与ho》[42M]百度网盘|pdf下载|亲测有效

iOS黑客攻防秘籍2版ios系统的逆向分析与攻防对抗技术讲解汇编基础动态调用静态分析注入与ho pdf下载

出版社 墨马图书旗舰店
出版年 2025
页数 390页
装帧 精装
评分 8.5(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供iOS黑客攻防秘籍2版ios系统的逆向分析与攻防对抗技术讲解汇编基础动态调用静态分析注入与ho电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com



商品参数

               

商品基本信息,请以下列介绍为准
图书名称:  iOS黑客攻防秘籍 第2版
作者:  陈德
定价:  129.80
ISBN号:  9787115568816
出版社:  人民邮电出版社


  内容简介

本书内容易于理解,可以让读者循序渐进、系统性地学习iOS安全技术。全书共16章,知识点覆盖iOS 8到iOS 14。书中首先细致地介绍了越狱环境的开发与逆向相关工具,然后依次讲解了汇编基础、动态调用、静态分析、注入与hook、文件格式,后为大家呈现了应用破解与应用保护、隐私获取与取证、刷量与作弊、设备ID、写壳内幕等多个主题。

编辑引荐

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



  作者简介

陈德 软件安全研究员,2007年开始自学安全技术,师出《黑客防线》,在安全领域精通多方面技术,个人作品有eXfaker、FileMonitorKit、SystemKit等



  目录

第1章iOS安全机制 1  

1.1iOS应用的安装源 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.1iFile:在手机上管理文件 11  

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

2.3命令行工具 12  

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

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

2.4代码注入测试工具 15  

2.5远程调试工具 16  

2.5.1debugserver的配置与启动 16  

2.5.2LLDB连接debugserver及其调试 17  

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

2.6反汇编工具 20  

2.6.1IDA 20  

2.6.2Hopper 23  

2.7其他工具 24  

2.7.1syslogd:记录日志 24  

2.7.2ViIMproved:编辑器 24  

2.7.3apt:下载命令 25  

2.7.4Networkcommands:网络命令 25  

2.7.5dumpdecrypted:脱壳 25  

2.7.6class-dump:导出头文件 27  

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

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

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

2.7.10Cydown:下载时提取deb包 31  

第3章ARM汇编基础 33  

3.1ARMv7 33  

3.1.1编写32位汇编代码 33  

3.1.2寄存器与栈 35  

3.1.3基础指令 35  

3.1.4条件跳转与循环 36  

3.1.5函数参数的调用过程 37  

3.1.6Thumb指令 38  

3.2ARM64 39  

3.2.1编写64位的汇编代码 39  

3.2.2寄存器与栈 39  

3.2.3函数参数的调用过程 40  

3.3在Xcode中使用内联汇编 41  

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

3.3.2直接编写内联汇编 42  

第4章应用逆向分析 44  

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

4.1.1编写一个测试程序 44  

4.1.2ARMv7的main函数 45  

4.1.3ARM64的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.10LLDB脚本 63  

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

4.2.12IDA动态调试 71  

4.3静态分析 75  

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

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

4.3.3重设基地址 81  

4.3.4修改代码并保存文件 81  

4.3.5使用IDAPython脚本 82  

4.4逆向分析实例 83  

4.5Frida 93  

4.5.1Frida的安装与相关工具 93  

4.5.2frida-trace实例 97  

4.5.3拦截器的使用 99  

4.5.4拦截sub_xxxx这种函数 103  

4.5.5API查找器和拦截器的组合使用 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.1Theos开发环境的使用 122  

5.1.1编写diyi个Tweak 122  

5.1.2Theos工程文件 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.2DynamicLibraries目录 145  

6.1.3DYLD_INSERT_LIBRARIES环境变量 145  

6.1.4不越狱注入动态库 146  

6.2Hook 147  

6.2.1CydiaSubstrate 147  

6.2.2SymbolTable 150  

6.2.3MethodSwizzing 152  

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

7.1Mach-O文件格式 154  

7.1.1Fat头部 156  

7.1.2Mach头部 158  

7.1.3Loadcommand 159  

7.1.4符号表与字符串表 172  

7.2CFString的运行过程 174  

7.2.1编写测试代码 174  

7.2.2CFString的数据结构 175  

7.2.3调试运行过程 176  

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

7.3.1编写测试代码 177  

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

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

7.3.4总结 190  

7.4静态库文件格式 192  

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

7.6关于Bitcode 198  

7.6.1Bitcode的作用 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.1UDID与设备ID 205  

8.1.1编写mobileconfig 205  

8.1.2编写receive.php 206  

8.1.3安装描述文件 206  

8.1.4mobileconfig签名 207  

8.2IDFA 208  

8.3IDFV 208  

8.4OpenUDID 209  

8.5SimulateIDFA 210  

8.6MAC地址 211  

8.7ID的持久化存储 214  

8.7.1Keychain的存储 214  

8.7.2剪贴板 216  

8.8DeviceToken 218  

第9章刷量与作弊 219  

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

9.1.1iOS8-iOS10获取root权限 220  

9.1.2iOS11-iOS14获取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  

第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.3DNS信息 274  

10.5.4IP地址 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.2Safari浏览器书签 297  

10.11.3Wi-Fi历史连接记录 297  

10.11.4应用快照 298  

10.11.5录音 298  

10.12libimobiledevice获取手机信息 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.1tcpdump抓包 318  

11.3.2Wireshark抓包 321  

11.3.3Charles抓取HTTPS数据包 323  

11.3.4Charles修改数据包与重发 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.1inline内联函数 338  

12.3.2obfuscator-llvm编译器 339  

12.3.3Xcode集成配置obfuscator-llvm 341  

12.3.4Theos集成配置obfuscator-llvm 343  

12.3.5HikariObfuscator 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检查Bundleidentifier 347  

12.5.2检查来源是否为AppStore 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  

第13章代码入口点劫持 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.2ARMv7入口点 375  

13.4.3ARM64入口点 375  

13.5重签名 376  

第14章写壳内幕 378  

14.1判断文件格式类型 378  

14.2代码的插入 379  

14.3修改程序入口点 381  

14.4Shellcode如何调用函数 382  

14.5编写和调试Shellcode 386  

14.5.1ARMv7Shellcode 387  

14.5.2ARM64Shellcode 394  

14.6总结 407  

第15章系统相关 409  

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

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

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

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

15.2降级传说 412  

15.2.1iPhone5降级到8.4.1 412  

15.2.2iPhone5s降级到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.5CVE-2018-4407远程溢出漏洞 425  

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

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

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

15.9iPhone安装Android系统 431  

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

16.1开发和调试Pass 434  

16.1.1编写diyi个LLVMPass 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.1flattening 449  

16.3.2boguscf 458  

16.3.3substitution 464  

16.3.4indirectbr 469  

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

附录B机型代号列表 479