ios逆向简要
ios逆向
MonkeyDev
idapro
ios-app-signer-master
MachOView.app
ios中Hook技术的几种房;是
1.Method Swizzle 2.fishhook|Hopper Disassembler 3.Cydia Substruct 4.FLEX
5.Logos 6.thoes 7 Vi IMproved(编辑)8.adv-cmds(命令行软件包)
9 Cycript 10 bfInject(github)
.inputrc
抽取文件加中的中.m中代码到.xm,并把原来的方法,生成调用%log,%orig
logify.pl /mulu/Headers/controller.h > ./hookHeader.xm
回复符号表
1,进到 restore-symbo文件
2,./restore-symbol WedChat_arm64(相对架构下的mac-o) -o WeiChat(文件名)
make restore-symbol
3.打开脚本生成block的json文件
4.用block.json文件恢复mac-o
./restore-symbol WeiChat -o Wechatt_block -j block_symbol.json
越狱
手机端cydia(手机输入源的地址,下载对应的插件)
apt.25pp.com pp助手
atp.so.com 威锋源(登陆账号)
手机安装Apple Fie Conduit “” AppSync Unified Cycript readline
openssl
ssh root@手机ip
pp助手
爱思助手(windows版) Electra(手机信任描述文件)
iFunBox(mac)
ps -A 打印手机进程
ps -A | WeChat
链接app
ps -A 打印手机进程
ps -A | WeChat
链接app
cycript -p WeChat
cycript -p 进程号
clearerr
ObjectiveC.classes (打印所有的类)
UIApp.keyWindow.recursiveDescription().toString() 打印的类层级显示
test.cy文件内容
rootvc = function(){
return UIApp.keyWindow.rootViewController;
}
rootvc = UIApp.keyWindow.rootViewController;
拷贝test.cy到手机
cycript目录 /usr/lib/cycript0.9
scp -P 12345(port) text.cy root@localhost:/usr/lib/cycript0.9
执行
cycript -p WeChat
@import test
rootvc() /rootvc
直接付加 ,不用重新付加进程
cycript -p WeChat /usr/lib/cycript0.9/test.cy;cycript -p WeChat
usr/lib/cycript0.9/com.gongsi.test
@import com.gongsi.test rootvc
砸壳
在Load Commands文件夹中有LC_ENCRYPTION_INFO字段Crypt ID非零的需要砸壳
otool -l app | grep crypt (第二种方式查看是否加密crpytid=0:砸壳,可以逆向)
工具
Clutch 静态砸壳
dumpdecrypted 动态砸壳
bfinject-master
Clutch
Clutch -i(查看信息)
Clutch -d 序列标示(砸壳)
1.github下载Clutch(是一个命令行工具)
2.scp -P 12345 Clutch-2.0.4 root@localhost:/usr/bin (拷贝到此目录下)
2.1 cd /usr/bin/
3.mv Clutch-2.0.4 Clutch (重命名)
4.chmod +x Clutch (可执行权限)
查看是否加壳
otool -l mac-o(要查看的app的mac-o) | grep crypt(筛选crypt字段)
app在真机下的路径
mobile/Documents/Dumped/
cycript
1.下载dumpdecrypted-master
2.编译 cd 到目录 cmd执行make
3.生成dumpdecrypted.dylib,拷贝到手机根目录
scp -P 12345 dumpdecrypted.dylib root@localhost:~/
cd ~ (进入到根目录)
ps -A (查看进程路径)
依附framework到微信
DYLD_INSERT_LIBRARIES=mm.framewrok/mm(自己到库) /var///WeChart(进程路径)
砸壳
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var////WeChart.app/WeChat
拷贝手机生成的文件到电脑桌面
cd ~/Desktop
scp -p 12345 root@localhost:~/WeChat.decrypted ~/Desktop
查看是否加壳字段cryptid
otool -l WeChat.decrypted | grep crypt
抽取头文件
class-dump -H WeChat.decrypted -o ./WeChatHeadeers/
Homebrew https://brew.sh
Theos配置 github网站查看安装方法
ce (ps -A进程路径)///WeChat.app
cd Frameworks
Homebrew
安装:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
常用的方式
brew install ldid 安装
brew uninstall ldid 卸载
brew search ldid 搜索
brew upgrade ldid 更新
brew list 查看列表
brew update 更新Homebrew
export THEOS =~/theos
git clone - -recursive https://github.com/theos/theos.git $THEOS
尽量吧theos配置到/opt/theos
vim ~/.bash_profile
export THEOS_DEVICE_IP=127.0.0.1
export THEOS_DEVICE_PORT=12345
export ANDROID_HOME=~/Library/Android/sdk
export THEOS=/opt/theos
export CY=/opt/cycript_0.9.594/
export HKSEHLL=~/HKshell
export PATH=$ANDROID_HOEM/tools:$ANDROID_HOEM/platform-tools:$THEOS/bin/:$HKSHELL:$CY:$PATH
@import text
HKCurrentVC()
UIApp.keyWindow.recursiveDescription().toString()
$THEOS/bin/nic.pl
nic.pl(创建项目,配置过环境变量)
DYLD_INSERT_LIBRARIES(防护)
添加Other Linker Flags
-Wl,-sectcreate,__RESTRICT,__restrict,/dev/null
破解DYLD防护
工具Synalyze+it

浙公网安备 33010602011771号