插件开发初级篇之-如何将Flex 3找到的函数编译成deb插件

前言:

相信爱搞机的封釉都想过,看着别人的插件这么牛逼,如果自己会开发插件多爽!!!

但是,国内这些的相关资料少之又少,只有极少数的玩家会分享他们的技术!!!

今天,我来了!虽然我会的没什么卵用,但还是分享给有梦想的同学!!!

能力有限哈,把目前学到的,分享给你们!!!

今天我们就来讲讲如何开发入门级插件:




【Mac系统之Theos开发环境配置】

准备设备:

  • Mac系统
  • 一台越狱手机

Mac系统下环境配置:

主要配置的是【Theos】开发环境,它可以在win,linux,mac,ios上工作,以下是Mac下的相关操作!

一:安装brew,主要用于安装或管理Mac上的软件

  1. 终端运行
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"


二:安装ldid,主要用于iOS文件签名

  1. 终端运行
brew install ldid


三:安装xz、lzma,压缩模块,主要用于打包插件

  1. 终端运行
brew install xz

2. 待上面完成之后在运行

sudo cpan IO::Compress::Lzma

ps:这步可能时间较长


四:添加$THEOS环境变量

  1. 终端运行
cd ~
touch .bash_profile
open -e .bash_profile

将以下

export THEOS=/opt/theos

export PATH=$PATH:$THEOS/bin

复制粘贴到里面去,按command+s保存


五:安装Theos

  1. 终端运行
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系统之Theos开发环境配置】

以下是iOS手机端环境配置教程

准备事宜:

  • 越狱手机一台
  • 安装终端NewTerm,地址https://repo.chariz.com/
  • 安装插件Theosinstaller App,地址https://repo.packix.com/
  • 这个会附带10多个依赖插件,必须开启NNN在安装
  • 安装之后桌面打开它,点击Start,他会自己配置,切记不要锁屏,NNN不能关!
  • 以下2个命令是:
  • MP //编译打包
  • NPTH //创建新工程
  • ps:如果觉得不好记,可以去/usr/bin目录下把上面两个快捷方式的文件名改成好记的,我改成了mp和np




【Flex 3使用方式】

准备事宜:

  • Flex 3
  • Filza
  • 需要逆向的对象


现在找个App来开刀,腾训啥的就算了,毕竟初学者,给他留个面子

,主要是咱也不会!


去商店看看。。。


哟!天生对绿色敏感的我一眼就相中了【某声多多】


在苹果商店安装好某声多多之后


打开Flex 3,点击右上角+,找到我们的某声多多


点击它,在点Add Units...


在点击Executable下的可执行文件某声多多


在选择Process进行分析


骚等片刻后会出现>标志


看来是分析完成,我们点进去


里面都是一些类名


先不管,直接点击搜索框,输入isvip进行搜索,意思是「是会员」


接下来我们看到,有一个类名是User,意思是用户


函数有isVIP,我们将其选择勾选

然后返回至主界面,点击我们的【某声多多 Patch】


会出现一条Unit for -(bool) isVIP这条函数,然后点进去


在点击最下方的pass-through,进去后在点击pass-through

将其改成TRUE,意思是真


接下来我们打开某声多多,登录账号后,显示如下

OK,我们返回 Flex 3,回到主界面,将某声多多布丁后面的开关打开,在重新打开某声多多,在看我们的账户,哎哟!确实多了些东西,有没有用先不管,说明函数定位OK!




【将找到的函数编译打包成deb】

准备事宜:

  • 好像没啥要准备了。。。开搞!!!


打开我们的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的文章

举报
评论 0