In book : Hacking iOS Applications
https://web.securityinnovation.com/hubfs/iOS%20Hacking%20Guide.pdf
补充:
既然lldb支持python script,那么可以通过脚本更加自动一些。
有了这个想法,但一直没投入时间去写。
后来,0xbbc实现了这个功能。 传送门
...
Devices
iPhone5S
iOS10.2
Jailbreak
Step 1. yalu
https://yalu.qwertyoruiop.com/
http://www.cydiaimpactor.com/
Step 2. Fix cydia error
http://www.iblogapple.com/2016/12/31/fix-cydia-error-could-not-open-file-varlibdpkgstatus-ios-10-jailbreak/
...
This article almost copy part of the official article, but fix many bugs that may impede newbees on the way to develop a clang plugin.
Environment : macOS
Step 0 : Obtain Clang
mkdir ~/clang-llvm && cd ~/clang-llvm
git clone <http://llvm.org/git/llvm.git>
cd llvm/tools
git clone <http://llvm.org/git/clang.git>
cd clang/tools
git clone <http://llvm.org/git/clang-tools-extra.git> extra
...
根据podspec生成framework的依赖关系graph
代码:
https://github.com/everettjf/Yolo/tree/master/PodspecDependencyGraph
...
背景
官网:http://spacemacs.org/
安装
第零步:
安装最新的emacs。
brew install emacs --with-cocoa
...
下面三种方法可以让代码在main函数之前执行:
All +load methods
All C++ static initializers
All C/C++ attribute(constructor) functions
main函数之前执行的问题
无法Patch
不能审计耗时
调用UIKit相关方法会导致部分类提早初始化
主线程执行,完全阻塞式执行
...
先补充:标题中 static initializers 其实应该叫做 C++ static initializers and C/C++ __attribute__(constructor) functions。
使用 MachOView 打开一个MachO文件,多数情况下会看到这个section __mod_init_func 。
...
iOS有以下四种方法可方便的在premain阶段执行代码:
1. Objective C类的+load方法
2. C++ static initializer
3. C/C++ __attribute__(constructor) functions
4. 动态库中的上面三种方法
...
每次换工作都是人生的一大改变
加入蚂蚁金服,实现了我曾经在二线城市时的“小梦想”。
...
项目越大,就越需要合理的组织文件目录层次。
逆向微信的过程中,经常看到一些“输出日志”的方法调用,而且带有完整的路径。例如:
...