美文网首页
使用Theos去除OPlayer Lite 的广告

使用Theos去除OPlayer Lite 的广告

作者: xhzth70911 | 来源:发表于2019-05-14 17:41 被阅读0次

    首先你要有一台越狱手机,手机上装了OPlayer Lite,这个APP

    1.dumpdecrypted砸壳

    2.class-dump生成头文件

    3.Hopper生成hop文件

    4.连上手机,运行去除广告的程序,在终端输入 ps -e

    5.cycript -p 6919

    6.[[UIApp keyWindow] recursiveDescription].toString()  ,展示当前页面的所有View

    7.[#0x167a0050 setHidden:YES], 去除掉广告,GADBannerView是UIWebView的父类

    8.[#0x167a0050 setHidden:NO] ,不隐藏广告

    9.退出Cydia

    10.debugserver *:1234 -a "OPlayer Lite” ,连接

    11.新开一个终端,先做端口转发:iproxy 1234 1234,这样能更快的连接,新开一个终端:lldb 回车,做了端口转发输入: process connectconnect://localhost:1234  ,没做端口转发输入

    process connectconnect://你手机的IP:1234

    12.im li -o -f 打印所有地址,获取UIKit的地址

    13.跳转到UIKit的路径,把UIKit放到Hopper里去,搜索addsub, 记录地址

    14.br s -a 0x20048928+0x01118000  ,打断点, addsub获取到的地址加上UIKit终端获取到的地址(必须是addsub的地址+UIKit终端获取到的地址,不能反过来加),然后在app里点击进入这个界面,$r2是addsubview 添加的view的类型

    15.然后找到相关控件,然后通过ni命令往回追溯目标模块调用时的起始地址,ni以后,全部点回车

    直到执行到OPlayer Lite,然后把获取到的地址0x3123f2   减去.im li -o -f获取到的第一个地址

    16.然后把获取到的地址,在Hopper用快捷键G进行查找

    17.然后搜索addAds_OnLocalAds这个方法,把地址拷贝下来

    18.然后删除断点, br del,然后把Hopper里拿到地址+偏移地址,在重新下一个断点,p (char *)$r1 打印方法名   ,pp $r0 打印类名

    19.p/x $lr  ,执行完整个方法以后,返回的地址  减去im li -o -f 获取的第一个地址,得到结果以后,用Hopper ,快捷键G,跳转到调用addAds_OnLocalAds整个方法的地址

    在上图中,找了方法addAds_OnLocalAds方法,说明位置正确,然后根据汇编指令     bne.w,可知这一处是一个判断语句。

    同时继续往上继续查找,我们还看到了在一个"PlayViewController"控制器中存在一个'localAdView'的成员变量。在网往上找可以找到该方法是在[PlayViewController viewWillAppear:]中调用的,如下图

    20.通过class-dump的方式获取头文件,然后头文件所在文件打开,搜索localAdView,可以看到localAdView是个UIView

    21.在终端输入[[NSBundle mainBundle] bundeleIdentifier],获取bundeleIdentifier。用Theos 创建一个项目

    22.修改NetEaseOPlayer.plist里的Bundles

    23.在Tweak.xm里,hook viewWillAppear的方法,修改localAdView的Frame

    24.终端输入make , 然后输入 make package, 然后make install,成功以后你在/Library/MobileSubstrate/DynamicLibraries里会有dylib和plist,两个文件,开启飞行模式,重新进入程序,本地广告已经被去掉了。

    相关文章

      网友评论

          本文标题:使用Theos去除OPlayer Lite 的广告

          本文链接:https://www.haomeiwen.com/subject/dfjeaqtx.html