on OSX/Linux
export THEOS=/opt/theos
git clone git://github.com/DHowett/theos.git $THEOS
git clone git://git.saurik.com/ldid.git
cd ldid
git submodule update --init
./make.sh
cp -f ./ldid $THEOS/bin/ldid
~/.bash_profile
export THEOS=/opt/theos
export THEOS_DEVICE_IP=example.local THEOS_DEVICE_PORT=22
. ~/.bash_profile
copy /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate from the device to your local $THEOS/lib folder and rename it to libsubstrate.dylib.
on IOS
1. Create a file at /etc/apt/sources.list.d/coredev.nl.list containing the following line:
deb http://coredev.nl/cydia iphone main
2. Create a file at /etc/apt/sources.list.d/howett.net.list containing the following line:
deb http://nix.howett.net/theos ./
3. apt-get update
4. apt-get install perl net.howett.theos
===========================================
https://code.google.com/p/networkpx/wiki/class_dump_z
https://github.com/KJCracks/Clutch 解密ipa
https://github.com/ptoomey3/Keychain-Dumper
1)进入cydia添加源 http://appsec-labs.com/cydia/
2)搜索 iNalyzer 并安装
在Mac端:
brew install doxygen graphviz
https://github.com/iSECPartners/Introspy-iOS/releases
https://github.com/iSECPartners/Introspy-Analyzer
https://github.com/facebook/fishhook c hook
=======================================
ASLR (Address Space Layout Randomization),即地址空间随机布局
iOS从4.3开始支持ASLR,Android从4.0也支持了ASLR机制
https://github.com/peterfillmore/removePIE
==============
果函数属性为 static ,那么编译时该函数符号就会被解析为local符号。
在发布release程序时(用Xcode打包编译二进制)默认会strip裁掉这些函数符号
怎么让别的文件也能调到本文件的static方法呢?
在本文件建造一个结构体,结构体里包含函数指针。把static函数的函数指针都赋在这个结构体里,再把这个结构体抛出去。这样做的好处是,既隐藏了函数代码也丰富了调用方式