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

 

posted @ 2020-11-13 17:31  sundaysandroid  阅读(243)  评论(0)    收藏  举报