逆向了一个聚合直播,菜鸟简单操作一波,免费观看!

我真的只是为了练习技术而■■,而不是为了内容.随意上2张图大家感受下就好啦


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

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

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

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

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


上面都是走的弯路.正文开始
1、首先把ipa搞下来,通过抓包获取分发平台的ipa下载路径,这个没难度,不细说

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

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

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

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

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

一看,这不是七牛的播放SDK么,如果七牛知道拿来放这些内容,会不会律师函警告
既然知道了是七牛的SDK,那简单pod走起,然后就成功编译了

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

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

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

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

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

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

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

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

修改tweak如下


biubiubiu

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

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

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

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

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

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

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

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

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

然后打包ipa,重签名,安装,完美!
教程到此结束,以下为瞎折腾


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

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

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

效果完美,无广告!

3 个赞

太不厚道了,下载连接呢?

不厚道啊,没有下载链接!

兄弟,给个原始的ipa 安装地址啊。不然我们怎么实践。怎么观看

这是1024上的那个APP吧?

求原始ipa地址啊 想学习一下怎么玩

只是盲区 啊 22 是干什么的 888 为什么是宝塔

菜鸟请教下楼主用什么工具得到的伪代码,求教

Hopper可以得到oc伪码

1 个赞

IDA hopper之类都可以

求一波下载地址:smiling_face_with_three_hearts:

逆之后的包,求一下,哈哈。我们也学习一下

大佬的专研精神值得我辈学习

是应该给一个app名字,这样我们也练练手

前面在尝试攻击服务器后台, 888 是一个名叫宝塔的后台管理系统的开放端口号。如果暴露了就可以通过该管理平台获取后台权限