前言:
相信爱搞机的封釉都想过,看着别人的插件这么牛逼,如果自己会开发插件多爽!!!
但是,国内这些的相关资料少之又少,只有极少数的玩家会分享他们的技术!!!
今天,我来了!虽然我会的没什么卵用,但还是分享给有梦想的同学!!!
能力有限哈,把目前学到的,分享给你们!!!
今天我们就来讲讲如何开发入门级插件:
准备设备:
Mac系统下环境配置:
主要配置的是【Theos】开发环境,它可以在win,linux,mac,ios上工作,以下是Mac下的相关操作!
一:安装brew,主要用于安装或管理Mac上的软件
/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)
二:安装ldid,主要用于iOS文件签名
brew install ldid
三:安装xz、lzma,压缩模块,主要用于打包插件
brew install xz
2. 待上面完成之后在运行
sudo cpan IO::Compress::Lzma
ps:这步可能时间较长
四:添加$THEOS环境变量
cd ~
touch .bash_profile
open -e .bash_profile
将以下
export THEOS=/opt/theos
export PATH=$PATH:$THEOS/bin
复制粘贴到里面去,按command+s保存
五:安装Theos
sudo git clone --recursive https://github.com/theos/theos.git $THEOS
2. 最后设置权限生效
终端运行
sudo chown -R $(id -u):$(id -g) $THEOS
在运行
source ~/.bash_profile
到此!!!环境配属已经完成!!!我也写累了(小声bb)
以下是iOS手机端环境配置教程
准备事宜:
准备事宜:
现在找个App来开刀,腾训啥的就算了,毕竟初学者,给他留个面子
,主要是咱也不会!
去商店看看。。。
哟!天生对绿色敏感的我一眼就相中了【某声多多】
在苹果商店安装好某声多多之后
打开Flex 3,点击右上角+,找到我们的某声多多
点击它,在点Add Units...
在点击Executable下的可执行文件某声多多
在选择Process进行分析
骚等片刻后会出现>标志
看来是分析完成,我们点进去
里面都是一些类名
先不管,直接点击搜索框,输入isvip进行搜索,意思是「是会员」
接下来我们看到,有一个类名是User,意思是用户
函数有isVIP,我们将其选择勾选
然后返回至主界面,点击我们的【某声多多 Patch】
会出现一条Unit for -(bool) isVIP这条函数,然后点进去
在点击最下方的pass-through,进去后在点击pass-through
将其改成TRUE,意思是真
接下来我们打开某声多多,登录账号后,显示如下
OK,我们返回 Flex 3,回到主界面,将某声多多布丁后面的开关打开,在重新打开某声多多,在看我们的账户,哎哟!确实多了些东西,有没有用先不管,说明函数定位OK!
准备事宜:
打开我们的Mac终端或者iOS端的NewTerm
输入下面的命令来创建一个新工程
Mac端输入nic.pl
手机端输入NPTH
以下提示,说明环境配置OK,先恭喜你们!!!
我们找到iPhone/tweak的序号输入在回车,即为苹果插件的意思
Project Name (required): //项目名字必填,我填的是msdd
Package Name [com.yourcompany.msdd]: //插件包的标识符,可以将其改掉,规范的话com.打头
Author/Maintainer Name: //插件作者,默认是电脑登录名字
[iphone/tweak] MobileSubstrate Bundle filter [com.apple.springboard]: //选择要被注入的App应用ID
这个我就要bb几句了,获取这个应用ID的方式太多,这里我讲用Filza找ID,直接放图
直接长按复制粘贴进去,ps:劝不要手动去输去!!!
ps:手机端长按终端界面空白处出现复制粘贴
[iphone/tweak] List of applications to terminate upon installation (space-separated, '-' for none) [SpringBoard]: //安装成功后需要结束的进程,如果不需要输入“-”
提示
Instantiating iphone/tweak in msdd/...
Done.
说明项目创建完成,它会在电脑里面的家目录下创建一个以项目名字的文件夹
我们去找到它
ps:手机端在/var/mobile,确定打开终端后没cd过其他目录哈
家目录即Home目录,打开【访达】自己找吧,不想多说了,找不到就直接搜索你输入的项目名字
手机端一样,用Filza进/var/mobile目录
找到后进去,里面是4个文件,分别是control、Makefile、项目名字.plist、Tweak.x
control 插件的配置文件
Makefile 我不知道,但是开发者都知道,大概是编译配置文件,可以在里面编译规则
项目名字.plist 里面配置的是要被注入的应用ID
Tweak.x 用来写代码的
好了文件介绍完了,知道我们该干嘛了吧,没错,你肯定不知道!
打开我们的Tweak.x文件
将里面的所有代码都删掉
打开我们的 Flex 3,找到刚才我们分析出来的那条函数
编写语法如下
%hook User //类名-(bool) isVIP { //函数return TRUE; //返回值}%end //结束
OK,大概就是这样,错了请吊大的朋友纠正
我们打开终端,进入到我们的工程目录
msdd是我的工程名字cd ~/msdd
直接编译+打包make package
手机端MP
完成后会在工程目录下创建一个packages文件夹,里面就是已经编译打包好的deb文件,拿去安装吧!!!
今天的分享到此结束!!!
目前也只是会这么一点,有空在研究吧!!!
整理编辑耗时几个小时,哎不说了,泡面去了
最后推荐几本书吧
没事看一下OC对逆向很大帮助
Flex 3学习可以找封釉排骨的文章 @糖醋丶炒排骨
我记得还有某公众号也有2篇关于Flex 3的文章
本文由梁桂钊于2023-09-06发表在梁桂钊的博客,如有疑问,请联系我们。
本文链接:https://720ui.com/12124.html