去掉手机桌面SpringBoard的红色提醒babge
1. 下载theos
依赖库比较多,加上recursive自动装
git clone --recursive https://github.com/theos/theos.git
2. 编辑环境变量
vim ~/.bash_profile
THEOS的配置
export THEOS=~/theos
export PATH=$THEOS/bin:$PATH

Monkey的环境配置
vim ~/.zshrc
export MonkeyDevDeviceIP=localhost
MonkeyDevDevicePort=10010

让bash_profile配置的环境变量立即生效
source ~/.bash_profile
如果用的zsh
vim ~/.zshrc
加上这个
source ~/.bash_profile
3. 从手机中拷贝出SpringBoard
通过usb拷贝,开启 端口映射
python ~/GGShell/usbmuxd-1.0.8/tcprelay.py -t 22:10010

拷贝到文件夹内
scp -r -P 10010 root@localhost:/System/Library/CoreServices/SpringBoard.app ~/Desktop/Springboard/

查看一下是否加密,没有输出表示没加密
otool -l ~/Desktop/Springboard/SpringBoard.app/SpringBoard | grep crypt

4. cycript看层次结构
登录到手机
ssh -p 10010 root@localhost
查看一下SpringBoard进程
ps -A | grep SpringBoard
附加SpringBoard进程
cycript -p SpringBoard

递归打印rootVc的view层次
UIApp.keyWindow.rootViewController.view.recursiveDescription().toString()
直接搜角标badge

#0x12de82030.hidden = 1
发现角标没了
4. class_dump导出头文件
class-dump -H ~/Desktop/Springboard/SpringBoard.app/SpringBoard -o SpHeaders

5. 新建loges项目
nic.pl
,选13

选项自己填就行

把项目拖subline text里面,Tweak重写init

Makefile 里面添加这2句,xcode10移除了GCC的问题
SpringBoardHook_CFLAGS = -std=c++11 -stdlib=libc++
SpringBoardHook_LDFLAGS = -stdlib=libc++

编译打包make
,重新编译最好make clean
一下

make package
打包,提醒package名字建议小写
make install
打包,SpringBoard会重启
6. 利用MonkeyDev新建Logos Tweak项目
上面安装的可以直接去Cydia插件里面卸载,也可以去手机/Library/MobileSubstrate/DynamicLibraries/
删除SpringBoardHook.dylib和SpringBoardHook.plist


目录中没有Makefile这个文件,MonkeyDev已经为我们配置好了,上面配置过全局的环境变量,下面的值就不需要设置了



直接编译就ok了
网友评论