All Projects → AloneMonkey → iOSREBook-issues

AloneMonkey / iOSREBook-issues

Licence: other
《iOS应用逆向与安全》 勘误

iOSREBook-issues

提交格式:

  • 印次: 第x次印刷
  • 位置: xxx页xxx行
  • 问题: 发现问题
  • 修改: 修改建议

范例:

  • 印次: 第1次印刷
  • 位置: 100页3行
  • 问题: macho文件
  • 修改: 建议统一写成Mach-O文件

勘误内容:

第一次印刷(2018年6月)

提交人 位置 内容 问题 修改 备注
Lucifer 10页 iproxy 22 2222 issue12 iproxy 2222 22 端口写反了,是映射本地端口2222到设备的22端口
piaoyunsoft 14页10行 开发者关心的只有沙盒里面的Document、Library、tmp等。 issue16 开发者关心的只有沙盒里面的Documents、Library、tmp等。 少了个s
pcccccc 41页 CocosPod issue8 CocoaPods 单词写错
AloneMonkey 目录和45页 3.4.2 使用Cycript越狱 issue7 3.4.2 越狱使用Cycript 语义有误,不是使用Cycript越狱,而是在越狱环境下使用Cycript
mail2chensh 60页 网卡会过滤目标地址而不是自己的数据包 issue10 网卡会过滤目标地址不是自己的数据包 多了个字
NSLogxiaoyu3 113页 (不知道这是不是Hopper解析64位__objc_ivar的bug,Hopper对32位和IDA的解析结果都是正常的。) issue9 (经验证,在用 Hopper 打开文件时取消勾选“Start automatic analysis after the file is loaded”复选框即可正常显示) 见issue。
guangxianduan 113页17行 它取的是 0x10000c648 处存储的字符串“登录中” issue22 它取的是 0x10003c3f0 处存储的字符串“登录中” 地址写错
ko1o 115页12行 经分析,0x10002bbcc处久是Block函数的实现。 issue5 经分析,0x10002bbcc处就是Block函数的实现。 错别字
piaoyunsoft 117页倒数第6行 在这里可以以选择直接地址或者文件偏移的方式进行跳转 issue17 在这里可以直接选择地址或者文件偏移进行跳转 语句不通
NinthKnight 168页 sudo clone --recursive https//github.com/theos/theos.git /opt/theos issue7 sudo git clone --recursive https//github.com/theos/theos.git /opt/theos 少个git
NSLogxiaoyu3 175页第8行 要将文件目录放到 /Library/Application\Support/TweakDemo/ 文件夹下面 issue14 要将文件目录放到 /Library/Application\ Support/TweakDemo/ 文件夹下面 目录路径中少个空格
NSLogxiaoyu3 179页 Logs.xm: 和Theos中的文件一样,直接写Logs语法即可,在编译时会通过logos.pl转换成Logs.mm。 issue13 Logos.xm: 和Theos中的文件一样,直接写Logos语法即可,在编译时会通过logos.pl转换成Logos.mm。 Logs改成成Logos
Adam大魔王 217页 当前模块基地址为0x00000000000d4000, 当前模块基地址为0x0000000000094000 基地址写错
ko1o 224页倒数第6行 如图6-13所示 issue4 如图6-14所示 图的编号写错了
piaoyunsoft 226页14行 也就是 0x54+0x34=0x88处 issue15 也就是 0x2D054+0x34=0x2D088处 地址写全
yh8577 235页表6-7 表里ADR和ADRP指令对应的例子 issue6 ADR指令的例子修改为ADR x1, #0x1234
ADRP指令的例子修改为ADRP x1, #0x1234
ADRP指令对应的含义修改为base=PC[];base<11:0> = Zeros(12);x1 = base + 0x1234;
指令的例子写错了,ADRP的含义优化一下。
rhythmkay 238页 ; 将 0 和 3 异或,将结果赋给w8,等同于mov w8,0x03 ; 将 0 和 3 或,将结果赋给w8,等同于mov w8,0x03 异或 改成 或
Sometimes Naive 288页,倒数3行 分析WahtsApp的消息收发函数 issue11 分析WhatsApp的消息收发函数 错别字
piaoyunsoft 309页,第8行 Windows、maxOS、Linux
需要在Mac OS和iOS上分别安装Frida。
在Mac OS中通过如下命令安装Frida。
issue18 Windows、macOS、Linux
需要在macOS和iOS上分别安装Frida。
在macOS中通过如下命令安装Frida。
统一使用macOS
piaoyunsoft 341页,第3行 加密后进行静态分析和的结果 issue19 加密后进行静态分析的结果 多了个 和
Naville 363页 可以选择不同的编译器作为LLVM的前端,例如gcc、Clang。 issue3 LLVM-GCC和Clang都可以作为LLVM的前端。 这里使用编译器不太恰当,gcc其实指的是LLVM-GCC,早期的LLVM没有一个完整的前端,社区使用GCC的前端去生成LLVM IR,这个修改后的GCC前端被称为"DragonEgg",但是在LLVM 3之后就不再维护开发了,使用LLVM自己的前端Clang
Naville 385-388页 关于BCF代码的分析 issue1 暂时不修改 1. 在最后直接遍历删除DebugIntrinsics也是一种方法。
2. EHPad过滤问题,其实解释都是说明同一个问题。
3. c++ 头文件没找到的问题,笔者暂时没有带libcxx试过,不过目前把头文件加上include search path就行。
4. 这里通过opt加载只是一个例子,后面的内容也说明可以直接加到PassManager编译成静态库。
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].