Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alonemonkey/iosrebook-issues

《iOS应用逆向与安全》 勘误
https://github.com/alonemonkey/iosrebook-issues

Last synced: 13 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# iOSREBook-issues

提交格式:

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

范例:

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

### 勘误内容:

#### 第一次印刷(2018年6月)

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