精华内容
下载资源
问答
  • IOS OPlayer Lite广告去除

    2019-09-18 14:57:10
    OPlayer Lite是一款视频播放软件,可以播放本地视频,也可以播放链接,但是播放视频时上方又出现广告框,飞行模式和联网模式还不一样,联网状态下广告会自动变换。确定以下去除思路: 1.确定广告位置 cycript 2.砸...

    一、去除思路

    OPlayer Lite是一款视频播放软件,可以播放本地视频,也可以播放链接,但是播放视频时上方又出现广告框,飞行模式和联网模式还不一样,联网状态下广告会自动变换。确定以下去除思路:

    1.确定广告位置 cycript

    2.砸壳 frida 、clutch等方法

    3.lldb调试定位广告位置 lldb+debugserver

    4.ida寻找代码逻辑 ida

    5.找到关键调用广告位置

    6.修改程序逻辑,hook关键函数 theos、monkeyDev

    分析:在断网的情况下会出现一个广告弹框提示”购买高版本“,在联网状态下除了前者,还会加载联网广告,覆盖原来的广告,所以分别为两部分,断网和联网状态去除广告。左边为联网,右边为断网。

    得到    

    二、本地广告去除

    首先按照上面理清的思路,先确定广告界面的位置定位广告位置,用到的工具就是cycript工具。安装请自行google

    1.确定广告位置 cycript

    先ssh连上手机(如何连请百度),然后将手机调到上图有广告的位置的界面,然后用cycript注入到目标进程

    执行

    ps -e | grep OPlayer.*   //显示进程号
    
    cycript -p 4324 //注入到进程
    
    [UIApp.keyWindow recursiveDescription].toString()//打印当前界面的控件

     看到了关键信息就是这个控件,测试一下

    输入命令 [#0x111904860 setHidden:YES] 看广告控件是否隐藏,输入[#0x111904860 setHidden:NO]看是否出现,经过验证就是这个控件,然后就分析这个UIView是如何来的,一般子视图都是通过addSubview方法在父级添加的,这里可以通过Dash这个软件查找apple API获得这个方法的来源,得到是通过UIKit->UIVIew->addSubview(_:)

    2.砸壳 frida 、clutch等方法

    砸壳就不说了就几条命令,详细的可以google,frida-ps -U  查看砸壳应用的id,dump.py <id> 即可。

    class-dump导出头文件:到砸壳完的Playload文件夹下的app,输入命令  class-dump -H "OPlayer Lite.app",生成的头文件会在同级目录。class-dump安装自行google。

    3.lldb调试定位广告位置 lldb+debugserver

    调试app,端口转发

    iproxy 2222 22  //ssh连接手机

    iproxy 1234 1234//调试接口

    lldb连接上之后,直接大法正则匹配addSubview下断点 rbreak .*addSubview.*

    除了第一个,将其他断点删去 ,然后调试找到刚才的frame,先将断点取消,返回到点击视频的界面,再开启断点,点击视频看是否断在断点处:

    然后c继续,查看x2内容

    直到出现frame = (60 0; 260 50); 

    找到这个frame之后,接着ni下一步,当模块转到了OPlayer时在ida里定位,到ida里面看逻辑。 

    4.ida寻找代码逻辑 ida

    首先在ida定位,

    0x1004B5070=0x100589070-0xd4000(image偏移),在ida定位:

    网上拉这个函数调用的

    现在的办法可以直接hook这个函数什么都不做,不过最好的是修改程序流程逻辑,看看是否能跳过这个广告,发现是有判断可以跳过的:

     汇编是当x8=0则不跳转就执行广告的逻辑,所以要让x8!=0,所以要看x22的值,x22是由localView赋予的,所以我们就hook localAdView,改变他的值不为零。

     调试验证:

    在PlayViewController viewWillAppear:下断点

     br s -a 0x1004B4F30+0xd4000

    改变x8寄存器的值为非0,看广告是否没有:

    广告已经没了,说明就是这个问题。

    5.修改程序逻辑

    创建tweak工程,hook PlayViewController viewWillAppear 下的localAdView的值。在头文件里找到localAdView的定义

    hook将它附一个初值就行,创建tweak工程,查看app Bundle Id

    MakeFile:

    export THEOS_DEVICES_IP = localhost
    export THEOS_DEVICES_PORT = 2222
    
    include $(THEOS)/makefiles/common.mk
    
    TWEAK_NAME = OPlayer
    
    OPlayer_FILES = Tweak.x
    OPlayer_CFLAGS = -fobjc-arc
    
    include $(THEOS_MAKE_PATH)/tweak.mk
    after-install::
          install.exec "killall -9 SpringBoard"
    

    Tweak.x:

    @interface PlayViewController : UIViewController
    @property(retain, nonatomic) UIView *localAdView;
    @end
    %hook PlayViewController
    
    - (void)viewWillAppear:(_Bool)arg1{
    
        self.localAdView = [[UIView alloc] initWithFrame:CGRectZero];
        %orig;
    }
    
    %end

    plist:

    {
    	Filter = {
    		Bundles = (
    			"com.olimsoft.oplayer.lite",
    		);
    	};
    }

    编译,打包,安装

    make 

    make package install

     重启SpringBoard后重新打开app,广告已经没有了:

    本地广告去除完毕。

    三、联网广告去除

    联网的广告和本地的不同就是隔一段时间会变,不管他变不变先定位控件的位置,跟本地的方法一样

    不同的是控件不一样了,也没有文字的提示快速找到控件位置,但根据经验可以定位,并进行验证:

     

    验证后确定就是这个位置,之后就按照本地视频的方法,调试找addSubview,找出相同的frame,然后在ida里找到调用的函数,分析逻辑。

    x30(lr) 64位 通常称X30为程序链接寄存器,保存子程序结束后需要执行的下一条指令,lr存该函数返回地址

    定位函数0x000000010028d440-0xfc000=0x100191440,ida找到:commoninit函数

     查看谁调用它:

    绕过commoninit就要改变v11的值也就是x20的值,x20和x0有关,x0和_objc_msgSendSuper2调用有关,所以要改变这个调用的返回值为0,就会跳转,不会生成广告。

    和上面本地一样,调试将x20的值改为0,看广告是否消除,经验证广告没有了 

    hook实现:

    经过尝试hook  initWithFrame没有作用,换一种思路,将commoninit hook掉,什么也不干,也就不会生成广告了。

    创建monkeyDev 工程:(头文件可以自己去dump出来的文件找)

    修改项目ip port 和bundle id

    运行项目:

    SpringBoard重启打开app看到已经没有广告了:

    四、总结

    这次的去广告,在联网的情况下分析出了在哪里调用的生成广告的函数,hook没有修改程序逻辑,直接把生成广告的函数给hook掉了,欠妥,后面应该还可以有其他的hook方法,比如hook修改广告返回的frame,将其值修改为0,是比较稳妥的办法.后续还需要掌握hook寄存器的值并修改的方法.

    附上常用的arm64汇编指令:

    MOV    X1,X0         ;将寄存器X0的值传送到寄存器X1
    ADD    X0,X1,X2     ;寄存器X1和X2的值相加后传送到X0
    SUB    X0,X1,X2     ;寄存器X1和X2的值相减后传送到X0
    AND    X0,X0,#0xF    ; X0的值与0xF相位与后的值传送到X0
    ORR    X0,X0,#9      ; X0的值与9相位或后的值传送到X0
    EOR    X0,X0,#0xF    ; X0的值与0xF相异或后的值传送到X0
    LDR    X5,[X6,#0x08]        ;X6寄存器加0x08的和的地址值内的数据传送到X5
    STR X0, [SP, #0x8]         ;X0寄存器的数据传送到SP+0x8地址值指向的存储空间
    STP  x29, x30, [sp, #0x10]    ;入栈指令
    LDP  x29, x30, [sp, #0x10]    ;出栈指令
    CBZ  ;比较(Compare),如果结果为零(Zero)就转移(只能跳到后面的指令)
    CBNZ ;比较,如果结果非零(Non Zero)就转移(只能跳到后面的指令)
    CMP  ;比较指令,相当于SUBS,影响程序状态寄存器CPSR 
    B/BL  ;绝对跳转#imm, 返回地址保存到LR(X30)
    RET   ;子程序返回指令,返回地址默认保存在LR(X30)
    
    展开全文
  • 不熟悉客户端软件开发的人都认为开发一款客户端app很轻松。所以我们面试的时候,经常会碰到如下问题:这个app开发要多久?说实话,对于这个问题,没有人能百分百保证准确时间。 今天我就来为我们苦逼的码农正正名...

    不熟悉客户端软件开发的人都认为开发一款客户端app很轻松。所以我们去面试的时候,经常会碰到如下问题:这个app开发要多久?说实话,对于这个问题,没有人能百分百保证准确时间。
    今天我就来为我们苦逼的码农正正名。就说一个广告怎么去实现,要考虑哪些问题。我就一一罗列一下:
    1、实现一个展示广告的Imageview;
    2、给广告添加点击事件;
    3、跳过广告的按钮;
    4、因为启动页展示的时间一般是相对较短的,而且后台返回的数据也都是只有一个图片url字段,我们拿到数据之后还需要用SDWebImage加载。所以一般我们不是每次进到app(除了第一次)都去后台拉取一条广告数据,而是第一次拉取到的广告数据就要包含多条不同有效期的广告,然后缓存到本地,每次加载广告的时候先从本地拉取数据,挑选出符合要求的图片url,然后用SDWebImage去加载。同时也向后台请求数据,将原来的缓存替换掉。
    5、app第一次安装,有引导页的时候不展示广告,第二次开始展示广告;
    6、广告如果加载太慢,展示的时候就会出现一片空白的情况,所以在启动页展示的时间里,应该去开始加载广告,在启动页加载完成之后应该去判断广告是否有加载出来。

    [_ImageView sd_setImageWithURL:[NSURL URLWithString:urlStr] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
        //图片加载完成处理
    }];

    所以在开始加载广告的时候,就应该开始监听广告是否加载出来。

    //对YSAdvertiseViewController的ImgLoadFinished进行监听
    [self.advertiseController addObserver:self forKeyPath:@"imgLoadFinished" options:NSKeyValueObservingOptionOld | NSKeyValueObservingOptionNew  context:nil];
    
    //限时2秒加载出图片
    _adTime = [NSTimer scheduledTimerWithTimeInterval:2.0f target:self selector:@selector(judegADImgWhetherLoad) userInfo:nil repeats:NO];
    //对YSAdvertiseViewController的ImgLoadFinished进行监听的函数
    - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context {
        _advertiseImgDidLoad = YES;//说明图片加载完成
    }
    
    //判断广告图片是否加载完成
    - (void)judegADImgWhetherLoad {
        [_adTime invalidate];
        _adTime = nil;
        if (!_advertiseImgDidLoad) {
            //加载未完成
            _isAdvertisedEnd = YES;
            [self doCheckComplete];
        }
    }
    //特别要注意移除监听,因为我就是这被坑了
    [self.advertiseController removeObserver:self forKeyPath:@"imgLoadFinished"];//将监听移除

    7、如果app在后台待机太久,再次进来前台的时候也应该展示广告,所以在applicationDidEnterBackground的时候应该把时间存起来:

     //程序切入后台,这里要注意GMT时间
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
        [formatter setTimeZone:sourceTimeZone];
        [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
        _lastTimeEnterBackGroundStr = [formatter stringFromDate:[NSDate date]];//当前时间

    在applicationWillEnterForeground的时候对比时间差,判断是否显示:

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
            NSTimeZone* sourceTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
            [formatter setTimeZone:sourceTimeZone];
            [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
            NSDate * lastDate = [formatter dateFromString:_lastTimeEnterBackGroundStr];
            NSDate * now = [formatter dateFromString:[formatter stringFromDate:[NSDate date]]];
            NSTimeInterval IntervalTime = [now timeIntervalSince1970]*1 - [lastDate timeIntervalSince1970]*1;
            if (IntervalTime>(2*60*60)) {
                [_mainController loadAdvertisedView];
            }

    8、那么到了这里其实大部分功能都已经实现了,但是我们有时候就会想知道我们的广告详情到底有木有看。所以点击广告图片的时候,我们应该加一个内部跳转,让它跳到广告的响应页面。
    9、另外需要的话,我们应该加一个统计,看广告详情有多少人观看,有多少人会跳过等。

    OK,这就是我们一个广告页应该考虑的基本问题。这个时候你会说一个app很简单吗??

    展开全文
  • 在pe系统中找到自己已经安装的软件Win$man,再然后再该软件中装机ios文件,类似有pe工具里面的一键装机吧。

    在pe系统中找到自己已经安装的软件Win$man,再然后在该软件中装机ios文件,类似有pe工具里面的一键装机吧。

    Win$Man工具使用教程

    备注:Win$Man是32/64位win2000/xp/2003/vista/2008/2008 R2/7的安装辅助工具

    教程 去除各种流氓pe软件的广告

     

    电脑店pe的取消办法

    1、启动电脑店PE工具后点击个性化设置。

    2、将电脑店赞助商栏目下的两个选项前面的勾去掉。

    3、弹出提示,点击取消赞助商主页。

    4、输入取消密码【2012dnd】



    5、先勾选上记住我的个性化设置再点击保存设置。

    然后就大功告成 very good

     

     

    老毛桃去除广告









    这里有亮点,将上面那个网址复制(点后面那个复制链接会多出很多文字,我们只需要网址,文字不需要),然后在好搜搜索这个网址~


    复制这个搜索结果页面的网址

    然后去贴在那个让你宣传的框框里~~



    同样的做法,点个叉叉,去两个勾勾保存下



    完美去广告。

     

     

    大白菜pe去除广告办法


    首先下载大白菜5.1装机版(取消赞助密码为:winbaicai.com)

    然后我们打开下载出来的大白菜点击”个性设置“


    点击右下角的两个广告


    把 ”勾“ 去掉


    关掉广告窗口


    取消赞助密码为“winbaicai.com"输入之后按确定。



    再点击去掉”绿色软件的勾“把两个勾都去掉。



    点击”保存设置“


    然后大功告成

    最后在告诉你一个小秘密使用微PE云爱PE安装也可以去广告

    http://www.wepe.com.cn/download.html
    https://www.msdnos.com/

     

     

    展开全文
  • IOS软件—友用评测:到底友没有用  友用,一款你听到名字就直觉很霸气的软件,话说它跟“友加”有什么关系?小编可以大声告诉你,它们之间最大的关系就是:没关系......笑了吗?不好笑?没事,小编相信下面的介绍...
  • iReader去广告精简版

    2014-08-19 22:21:24
    掌阅iReader是掌阅科技旗下的一款供智能移动设备使用的读书软件,支持Android,ios系统,支持TXT, UMD, HTML/HTM, PDB, EBK2, EPUB等多种手机阅读格式的电子书阅读软件。 发布伊始,就受到了无数用户的关注。现已经...
  • 7.5 调试去广告插件 177 7.6 代码结果整理 178 7.7 小结 179 第8 章 实战2:WhatsApp消息拦截 180 8.1 WhatsApp 简介 180 8.2 分析源代码结构,并定位监听点 180 8.2.1 class-dump 获取.h 文件 180 ...
  • 虽然有很多无声拍照软件但是基本都有广告或者是调用半像素预览拍照模式不能调用系统完整的像素 越狱 安装apple file conduit“2”插件,能访问越狱文件系统 PP助手s或者其他助手文件管理进入/System/...

    日版仅仅是比其他型号多一个强制最大声拍照声的文件
    虽然有很多无声拍照软件但是基本都有广告或者是调用半像素预览拍照模式不能调用系统完整的像素

    越狱

    安装apple file conduit“2”插件,能访问越狱文件系统

    PP助手s或者其他助手文件管理进入/System/Library/Frameworks/MediaToolbox.framework/
    删除或重命名文件RegionalSystemSoundsThatShareBehaviour.plist

    重启,手机的拍照音机制就和其他版本一样随意控制了
    展开全文
  • IOS游戏开发前言

    2016-01-05 17:06:09
    前言 如果您想从事苹果游戏个人开发。使用第三方工具是一个非常好的主意,因为使用xcode进行从头开始的游戏开发所需要的...这个软件的好处我不想赘述(避免广告嫌疑),但是在iPad上面的开发就注定了它的高速和低成
  • <div><p>iPhone使用联通4g没问题 iPad使用移动wifi开屏广告必定有 iPhone使用移动Wi-Fi必定有 配置一样 软件quantumult x</p><p>该提问来源于开源项目:blackmatrix7/ios_rule_script</p></div>
  • 使用去广告版,避免右下角弹窗 ★☆☆☆☆ 旺旺 不解释 ★☆☆☆☆ 飞鸽传书 支持Mac OS ★★★★★ MasterSeeker 相比everything更喜欢它,语法简洁,速度飞快 ★★★★★ Ditto 剪贴板工具 ★★★★★ Shadowsocks...
  • 今天给大家来一款手机端的PDF文件编辑神器,“PDF处理助手”,不过这款软件目前只有Android端的喔,ios的小伙伴有需要的话可以直接Appstore搜索【pdf】下载相关的软件! 下面就是软件的启动图,没有任何广告。...
  • 更改udid来重置软件到期

    千次阅读 2012-07-15 09:30:24
    过了时间就出广告,看着很烦,不去广告就占据了三分之一的位置!  首先在源里面搜索下载UDIDFaker这个。 2、等biteSMS授权时间到了。 打开刚才下载的UDID选择biteSMS换个ID。! 相信大家都有iFile这个文件管理...
  • 有米广告接口 抓包获取接口

    千次阅读 2018-04-25 14:47:14
    我们为什么不找接口呢,当然有人说很多第三方已经给了接口,可那些接口是我们需要的吗,要么限定调用次数,要么要付费。这时候我们就需要自己利用别人的软件抓包获取自己想要的接口。当然这样做仅限于学习。嘻嘻 ...
  • 广告关闭2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品。未来,我们一起乘风破浪,创造无限可能。ios开发如果之前没接触过除了c和c++(c++太难了,不花个十来年基本不可能精通)的语言,第二...
  • 不多介绍了,大家也可以QCon主页下载,但是一个一个点比较麻烦: https://ppt.geekbang.org/list/qconbj2018 这部分包括: QCon2018-《Lavas:PWA的探索与最佳实践》-彭星.pdf QCon2018-《QUIC在手机微博中的...
  • 怎么用开发技术赚外快?

    千次阅读 多人点赞 2020-04-28 09:31:33
    我听到过很多答案,懂iOS开发的小伙伴说,可以做个App放到App Store中卖;懂网站开发的小伙伴说,可以做个网站卖广告;懂Windows客户端开发的小伙伴说,可以做个工具软件卖License…… 这些答案中提到的做法,当你真...
  • 体验了一下云电脑

    2019-10-08 13:03:57
    注册账号可以免费体验2小时,至于是哪个网站,请自行...手机端还没体验过,但是我ios打开软件排队候,息屏后打开软件,又要重新加载,意味着又要重新排队。。。。 转载于:https://www.cnblogs.com/Sen...
  • MyTop网络电话是一款全国最清晰、最稳定的手机电话软件。   MyTop网络电话功能: 1.无广告无暗扣,注册即赠话费试用,资费...3.软件默认“免费开通电”显本机号,以及智能直拨,此功能可以软件设置里自定义修改。
  • 手机记账应用比拼

    2020-12-24 15:27:43
    于是只能自己重找记账软件 对于网络上搜索到的这些App进行了简单的安装试用, 做个功能记录 ====== PS ====== 所用的App均在iOS平台下试用 =============== 钱迹 TBD 缺点: 不支持多币种 不过这个是我装完...
  • App的开发完成过程中离不开推广,一般的渠道会应用商店,还有一部分投放媒介广告和地推。 那手机app软件怎样推广,手机app的推广方式又有哪些? 方法一:渠道投放 app推广最常用的就是渠道的投放,而相对来言,iOS...
  • 去广告版文ES文件浏览器,ES文件浏览器是一个能管理安卓设备本地、局域网共享、远程FTP、蓝牙设备和云存储的系统工具类移动软件。全球主动下载超过2亿次,安卓文件管理第一品牌。iOS [3] 也有对应的版本。 想更好地...
  • 其特还包括快速分割大文件,去除音频中比如广告等你不喜欢的段落,快速拖放合并和放大手机铃声的音量 NetWorker V5.4.0:可以让你在菜单栏上显示当前的网络上传下载速度,你可以在速度和流量两种模式之间切换,你也...
  • 说明:分享各类绿色软件、破解软件、PC软件工具、各类Android、IOS软件和工具、分享技术教程、手机电脑玩机小技巧、音乐资源、电影资源、学习教程资源、学习资料、服务器、虚拟主机、免费源码、域名分享、各类流量...
  • 3.72添加支持NPE-G2,添加支持PA-2FE-TX,PA-GE(部分模块需特殊IOS支持) 4.集成最新dynamips 0.2.7-RC1 2.4修正新增功能 1.增加输出连接信息,便于查看拓扑连接 2.增加支持生成linux脚本,做好了进一步集成PIXEMU的...
  • 3.72添加支持NPE-G2,添加支持PA-2FE-TX,PA-GE(部分模块需特殊IOS支持) 4.集成最新dynamips 0.2.7-RC1 2.4修正新增功能 1.增加输出连接信息,便于查看拓扑连接 2.增加支持生成linux脚本,做好了进一步集成PIXEMU的...
  • ✅ 足迹中国:用地图截图记录你过的中国的省市(上架不久,完善中) ✅ 假装来电:设置一定时间后,收到虚假的来电,用于逃离某些场合 ✅ iStat Widget:查看硬件信息 2019年11月6号添加 lemonTree - Github ...
  • 3.72添加支持NPE-G2,添加支持PA-2FE-TX,PA-GE(部分模块需特殊IOS支持) 4.集成最新dynamips 0.2.7-RC1 2.4修正新增功能 1.增加输出连接信息,便于查看拓扑连接 2.增加支持生成linux脚本,做好了进一步集成PIXEMU的...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

ios去广告软件