iOS逆向之破解直播盒子

今年直播盒子特别火,朋友发了一个给我,让我给破解一波,随意上2张图大家感受下就好啦

image
image

毕竟本着技术人员的精神,我真的只是为了练习技术而破解,而不是为了内容.


image

首先安装到手机上,赶紧抓包一波,看是否有Api直接可以使用,就懒得上逆向了,抓包用Charles或者Thor都行,大佬请直接上wireshark


image

通过抓包得知,除了注册登录接口,其他有内容的接口都需要带Token请求,且随意扫了一下,没有什么特别的接口可以利用


image

然后上了nmap试试看有无可利用端口
image

看了下这些端口,果然22关掉,ssh无望,888和8888一看就是宝塔


image

知道是宝塔我连3306都懒得去测试了
通过对路径扫描,发现了对方的后台管理系统
弱口令和sql注入随手试了下,也没有明显漏洞,遂放弃,还是老老实实回去逆向App吧
image

上面都是走的弯路,还是干自己的本行来的顺手.正文开始

3、2、1

image

1、首先把ipa搞下来,通过抓包获取分发平台的ipa下载路径,这个没难度,不细说

image

因为这些企业签名的App没有上架到商店,也就没有砸壳这一说法,直接zip解压缩找到可执行文件
image

2、上class-dump,因为无壳,所以直接导出即可
命令class-dump -H XXX -o OUTPUT_PATH
image

整整齐齐,315个头文件全部出来

3、上大杀器MonkeyDev,怎么安装啥的请直接看官方Wiki
直接把ipa扔到TargetApp目录开始build装手机上,然后打开另外个杀器Reveal,直接查找到首页控制器名称XXXLiveController

image

注意:这里build的时候遇到了个错误崩溃
image

一看,这不是七牛的播放SDK么,如果七牛知道拿来放这些内容,会不会律师函警告
image

既然知道了是七牛的SDK,那简单pod走起,然后就成功编译了
image

4、祭出神器Hopper,如果是用IDA的大佬请喝茶

image

因为通过Reveal看出了首页布局使用的是CollectionView,所以直接定位到collectionView:didSelectItemAtIndexPath:方法即可
image

通过上面的伪代码可以看出,当我们点击了item的时候,会先判断你的UserDefaults中是否有token,没有就直接跳登录控制器了,得到这个逻辑就简单了,要么我们给他个token,要么我直接调用pushToVc到下个页面就行了.

通过查看pushToVc的伪代码可以看出,其实就是传了个索引进来,然后找在listArray找到到对应Model,然后赋值push

image

既然这样的话,那就简单了,直接写tweak,由于我对CaptainHook语法不熟,所以还是用Logos写吧,省事
首先@interface构造出我们要Hook的控制器,并写上要Hook的方法,方法名字这些都在对应的头文件里有,直接复制过来即可
image

然后重新build装手机上测试,预料之中,不需要登录就push成功,但是不对呀,为啥没数据呢?
image

我还以为是手机卡了,下拉刷新好几次,明显感觉到了网络请求,但是没数据回来,然后抓包一看,尼玛请登录,好吧,懂了,肯定是网络请求里封装的时候加了验证是否有token的选项,没有token直接就挂掉,为了验证猜想,找到他的网络请求库,打开看了下伪代码,红框中验证了我的想法.
image

既然你要验证,那我就给你个token验证就行了呗
image

修改tweak如下
image

image

biubiubiu

image.png

第一步搞定,成功的获取到了数据,然后我们随便点一个看看

image
image

继续上面的步骤Reveal找到控制器,继续看方法

image

通过伪代码得知,点击cell的时候去服务器验证了下我们会员是否过期
image

通过查看对应的汇编代码,得知如果成功会去调用pushToVc:and:这个方法,那破解思路我就直接调用这个方法就好了
image

通过看其伪代码得知,第一个参数是索引,第二个参数是个字符串.通过对页面的查看也能得知我的猜想.

开始写Tweak,本来很简单的2句话,但是由于and成了关键字,不能作为参数名,会引起无法编译,我想用objc_msgsend来自己调用方法,也发现and这个关键字无法编译,那看来只能自己写push的逻辑了

image

逻辑由上面的伪代码翻译成如下,这样就跳过了这个and的坑
image

这里有个坑,暂时未知,就是用%c出来的是类对象,不是实例对象,用类对象去掉方法肯定就报错了,然后我就还是用了runtimegetClass来初始化实例对象了.

build后成功的进入了直播页面.由于内容有些太那啥,我就不截图了


image

然后打包ipa,重签名,安装,完美!一个iOS破解版直播盒子诞生.
教程到此结束,以下为瞎折腾


本着生命不息折腾不止的原则,首页的轮播图我也看不顺眼,我得给它干掉

老套路找到轮播图所在的Cell


image

写tweak


image.png

直接把高宽设置为0.01,看不到就好了


image

效果完美,无广告!

欢迎大家来私聊讨论技术问题!(你懂的(手动狗头))

image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351