wstclzy2010 发表于 2019-5-30 00:34

iOS逆向-某视频应用去广告、开启会员功能

本帖最后由 wstclzy2010 于 2019-6-14 16:19 编辑

叫什么无所谓,关键是过程

[*]免越狱ipa安装 链接密码:gpr2(我在iOS12.3,只能免越狱了)
[*]未越狱用cydia impactor安装,应该是常识。(免费账号签名有效期为7天,开发者账号是一年)

所用工具和设备:

[*]Xcode
[*]MonkeyDev
[*]iOS12.3的6s
[*]Thor
[*]搜索引擎(因为没有学过OC甚至是C,所以一切现学现用)



[*]用thor抓下载地址,因为是网页上的,所以不需要砸壳
[*]
[*]惯例class-dump
[*]用xcode看布局,这里对应的类是UIWindow,肯定不行,看到下面显示root controller显示AdviewController,显然要在这个类里找
[*]
[*]如图为AdViewController头文件的内容
[*]
[*]因为水平很次,并不知道UIImageView应该怎么hook,所以干脆用id代替,所以hook它的setter方法,即%hook AdViewController
- (void)setAdImageView:(id *)adImageView{};
%end
[*]继续,这里的类是ActivityAlertView,去看头文件,和上面类似,hook它的字典,让它取不到值
[*]
[*]即%hook ActivityAlertView
- (void)setDataDic:(NSDictionary *)dataDic{};
%end

[*]然后是关键的会员功能,也是user里面(user万能啊)
[*]布尔让他返回true,viptype我先试了1,提示非会员,不用想了,肯定是2
[*]
[*]然后是有个提示会员特权剩余时间,看到这个非常不舒服,但是当时不知道vipinfo里面是什么,所以我打印它的内容
[*]
[*]那就简单了直接重新赋值,再给它换个昵称,即%hook UserModel
- (_Bool)isVip{
   return true;
}
- (long long)vipType{
return 2;
}
- (void)setUserName:(NSString *)userName{
   userName = @"吾爱破解52POJIE";
%orig;//orig很重要,不然该方法不运行
}
- (void)setVipInfo:(NSString *)vipInfo{
   vipInfo = @"无限期会员";
%orig;
}
%end
[*]于是整个人都神清气爽了
[*]
[*]接下来还是一些广告方法,和前面一致,hook它的setter方法
[*]


最后全部源码为:%hook UserModel
- (_Bool)isVip{
    return true;
}
- (long long)vipType{
    return 2;
}
- (void)setUserName:(NSString *)userName{
    userName = @"吾爱破解52POJIE";    //我不知道这种写法符不符合规范,但是它管用
    %orig;       //orig的顺序也很重要,我一开始放前面,然后昵称一栏直接没了
}
- (void)setVipInfo:(NSString *)vipInfo{
    vipInfo = @"无限期会员";
    %orig;
}
%end

%hook ActivityAlertView
- (void)setDataDic:(NSDictionary *)dataDic{};
%end

%hook MOBFAdViewController
- (id)initWithAdInfo:(id)arg1{
    return nil;
}
%end

%hook AdViewController
- (void)setAdImageView:(id *)adImageView{};
%end

%hook HomeChildHeaderView
- (void)setAdDataDic:(NSDictionary *)adDataDic{};
%end

%hook HomeChildTableViewCell
- (void)setAdView:(id *)adView{};
%end

%hook MediaPlayHeaderView
- (void)setAdDic:(NSDictionary *)adDic{};
%end

%hook ChildHorTableViewCell
- (void)setAdSubView:(id *)adSubView{};
- (void)setAdImageView:(id *)adImageView{};
%end
[*]搞定收工。有几个缺陷:启动广告我只去掉它的图片显示,要等四秒才会自动消失;然后还有个弹窗广告也只去掉了它的广告显示,需要手动点X


感谢:

[*]iOS 逆向 今日头条-去除置顶、广告,还你一个清爽的头条
[*]刘培庆/著——《iOS应用逆向与安全》

wstclzy2010 发表于 2019-7-10 18:51

nbwzlyd 发表于 2019-7-10 14:18
可能ios的防御机制不怎么完善,毕竟现在越狱的ios太少了

是的,玩越狱的估计就几千个,更不用说搞越狱开发的。我看你帖子从弹窗提示入手一步步调试才找出关键方法,还有混淆和签名校验,iOS这边本质上就一个布尔变量改成真就完事了,其他一点防护措施都没有

笛伴夜漫 发表于 2019-5-30 13:06

wstclzy2010 发表于 2019-5-30 10:39
黑苹果一定要驱动显卡。软件很简单,就是xcode和monkeydev

好的老哥 我去试试我有共享证书 你需要吗 可以直接给软件签名

笛伴夜漫 发表于 2019-5-30 01:20

老哥 你用的是什么软件 在哪下载的 刚装了个黑苹果想学习下苹果的逆向

ee963852 发表于 2019-5-30 01:54

哈哈。其实我就想知道叫什么。谢谢分享

yu13740000 发表于 2019-5-30 07:10

这样是不是只能越狱才能用?

kimit 发表于 2019-5-30 08:32

谢谢楼主的支持下,分享下

小兔一样的小白 发表于 2019-5-30 08:33

学习破解苹果的软件{:17_1073:}

Kanye 发表于 2019-5-30 08:38

yu13740000 发表于 2019-5-30 07:10
这样是不是只能越狱才能用?

开头不是说了免越狱ipa吗

yuzhiboprogram 发表于 2019-5-30 08:41

学习了,最近刚好在开发加解密的工具

mendax92 发表于 2019-5-30 09:01

https://i.loli.net/2019/05/30/5cef2b58e36a361533.png

IOS版本 : 11.4.1   没越狱安装失败

susi248 发表于 2019-5-30 09:19

终于有个IOS系统的
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: iOS逆向-某视频应用去广告、开启会员功能