当前位置: 首页 > news >正文

松江佘山网站建设做自媒体小视频哪个网站比较赚钱

松江佘山网站建设,做自媒体小视频哪个网站比较赚钱,贵阳网站seo外包,老版建设银行网站1.目标 由于看直播的时候主播叫我发 666#xff0c;支持他#xff0c;我肯定支持他呀#xff0c;就一直发#xff0c;可是后来发现太浪费时间了#xff0c;能不能做一个直播间自动发 666 呢#xff1f;于是就花了几分钟做了一个。 2.操作环境 越狱iPhone一台 frida ma…1.目标 由于看直播的时候主播叫我发 666支持他我肯定支持他呀就一直发可是后来发现太浪费时间了能不能做一个直播间自动发 666 呢于是就花了几分钟做了一个。 2.操作环境 越狱iPhone一台 frida mac 3.流程 下载最新某音App 既然是发送消息那关键词 sendmessage 则是我们的切入点 在终端执行 //模糊匹配sendmessage frida-trace -U -m *[* *messag*] xxxxx音 执行命令后获取到信息列表 经过一筛查打印以上方法的入参和返回值输出的日志参数引起了我们的注意 关键信息sendComment -[HTSLiveCommentFragment sendComment:0x9e4d4021463d8688 source:0x0 messageSource:0x0 completion:0x0] 验证我们的猜想 在终端执行继续 hook frida-trace -UF -m -[HTSLiveCommentFragment sendComment:source:messageSource:completion:] 获取到信息列表 -[HTSLiveCommentFragment sendComment:666666666 source:0x0 messageSource:0x0 completion:0x0] 其中“6666666” 就我在直播间发送的内容 那么问题来了发现这个发送方法是 减号 -[xxxx xxxxxx] 这样就没法直接调用 HTSLiveCommentFragment 那就继续 hook  HTSLiveCommentFragment看看她是在哪里创建的 在终端执行继续 hook frida-trace -UF -m -[HTSLiveCommentFragment *] 获取到信息列表  3964 ms -[HTSLiveCommentFragment initWithStore:0x2836ef200]3964 ms -[HTSLiveCommentFragment initWithStore:HTSLiveCommentStore: 0x2836ef200] 发现 HTSLiveCommentFragment 是由 initWithStore 创建而来。 那就直接 hook 创建在调用sendComment  来实现发送消息。 3、编写deb插件 logs NSString *nickname未获取昵称;HTSLiveCommentFragment *liveComm;//全局 储存创建好的对象 类%hook HTSLiveCommentFragment //HTSLiveCommentStore - (HTSLiveCommentFragment *)initWithStore:(id)arg1{// id mHTSLiveUser MSHookIvarid(arg1,_currentUse);//HTSLiveUser // NSString *name MSHookIvarNSString *(mHTSLiveUser,nickname); // nickname name;liveComm %orig;//获取到创建好的对象 类每切换一次自动覆盖return liveComm; }%end 获取直播页面 HTSLiveAudienceViewController给他添加一个按钮 页面添加小圆圆 按钮 BallUIView *upASUserInfo;//移动圆圆//直播页面 Controller %hook HTSLiveAudienceViewController- (void)viewDidLoad{%orig;// 页面加载完毕__weak typeof(self) weakSelf self;if(upASUserInfo nil){//配置CGRect rect_screen [[UIScreen mainScreen]bounds];CGSize size_screen rect_screen.size;int height size_screen.height;int width size_screen.width;// 移动圆圆upASUserInfo [[BallUIView alloc] initWithFrame:CGRectMake(width-80, height/2-200, 50, 50)];upASUserInfo.backgroundColor [UIColor whiteColor];upASUserInfo.layer.cornerRadius 25;upASUserInfo.layer.masksToBounds YES;//小圆球 图标UIImageView *imgViewM [[UIImageView alloc] initWithImage:[UIImage imageNamed:AppIcon60x602x.png]];imgViewM.autoresizingMask UIViewAutoresizingFlexibleWidth;imgViewM.frame CGRectMake(0, 0, 50, 50);[upASUserInfo insertSubview:imgViewM atIndex:0];}[weakSelf.view addSubview:upASUserInfo];upASUserInfo.btnClick ^(UIButton *sender) {UIAlertController *ac [UIAlertController alertControllerWithTitle:当前标识message:nicknamepreferredStyle:UIAlertControllerStyleAlert];UIAlertAction *ala1 [UIAlertAction actionWithTitle:666666 style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action){}];UIAlertAction *ala2 [UIAlertAction actionWithTitle:发送消息 style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action){[xddCode userInfoModel:liveComm];//传入获取到的 对象发送消息}];UIAlertAction *ala3 [UIAlertAction actionWithTitle:退出应用 style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action){exit(0);}];UIAlertAction *Cancel [UIAlertAction actionWithTitle:取消 style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {}];[ac addAction:ala1];[ac addAction:ala2];[ac addAction:ala3];[ac addAction:Cancel];[weakSelf presentViewController:ac animated:YES completion:nil];};} %end xddCode.m #import xddCode.himplementation xddCode(NSString *) userInfoModel:(HTSLiveCommentFragment*)info {[info sendComment:666666666 source:0x0 messageSource:0x0 completion:0x0]; }end 小园球源码 BallUIView.h #import UIKit/UIKit.htypedef void (^floatBtnClick)(UIButton *sender);NS_ASSUME_NONNULL_BEGINinterface BallUIView : UIView // 属性 机记录起点property(nonatomic,assign)CGPoint startPoint;//按钮点击事件 property (nonatomic, copy)floatBtnClick btnClick;endNS_ASSUME_NONNULL_ENDBallUIView.m #import BallUIView.h#define screenW [UIScreen mainScreen].bounds.size.width #define screenH [UIScreen mainScreen].bounds.size.heightinterface BallUIView() //悬浮的按钮 //property (nonatomic, strong) MNFloatContentBtn *floatBtn; endimplementation BallUIView{//拖动按钮的起始坐标点CGPoint _touchPoint;//起始按钮的x,y值CGFloat _touchBtnX;CGFloat _touchBtnY; }-(void)touchesBegan:(NSSetUITouch * *)touches withEvent:(UIEvent *)event { // NSLog(按下 获取起点1);//获取 触摸 对象UITouch *touch [touches anyObject];_touchBtnX self.frame.origin.x;_touchBtnY self.frame.origin.y;//找到点击的起点self.startPoint [touch locationInView:self];}-(void)touchesMoved:(NSSetUITouch * *)touches withEvent:(UIEvent *)event { // NSLog(移动 让小球的运动起来2);//先回去 触摸对象UITouch * touch [touches anyObject];//获取移动中的点CGPoint newPoint [touch locationInView:self];//计算x y 坐标分别移动了多少CGFloat dx newPoint.x - self.startPoint.x;CGFloat dy newPoint.y - self.startPoint.y;//改变小球的位置self.center CGPointMake(self.center.x dx,self.center.y dy);}- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ // NSLog(按下 结束3);CGFloat btnY self.frame.origin.y;CGFloat btnX self.frame.origin.x;CGFloat minDistance 3;//结束move的时候计算移动的距离是最低要求如果没有就调用按钮点击事件BOOL isOverX fabs(btnX - _touchBtnX) minDistance;BOOL isOverY fabs(btnY - _touchBtnY) minDistance;if (isOverX || isOverY) {//超过移动范围就不响应点击 - 只做移动操作//NSLog(move - btn);//设置移动方法[self setMovingDirectionWithBtnX:btnX btnY:btnY];}else{//NSLog(call - btn);if (self.btnClick) {self.btnClick(nil);}else{//[self changeEnv];}}}static CGFloat floatBtnW 50; static CGFloat floatBtnH 50; - (void)setMovingDirectionWithBtnX:(CGFloat)btnX btnY:(CGFloat)btnY{ // switch (_type) { // case MNAssistiveTypeNone:{//自动识别贴边if (self.center.x screenW/2) {[UIView animateWithDuration:0.5 animations:^{//按钮靠右自动吸边CGFloat btnX screenW - floatBtnW;self.frame CGRectMake(btnX, btnY, floatBtnW, floatBtnH);}];}else{[UIView animateWithDuration:0.5 animations:^{//按钮靠左吸边CGFloat btnX 0;self.frame CGRectMake(btnX, btnY, floatBtnW, floatBtnH);}];} // break; // } // case MNAssistiveTypeNearLeft:{ // [UIView animateWithDuration:0.5 animations:^{ // //按钮靠左吸边 // CGFloat btnX 0; // self.frame CGRectMake(btnX, btnY, floatBtnW, floatBtnH); // }]; // break; // } // case MNAssistiveTypeNearRight:{ // [UIView animateWithDuration:0.5 animations:^{ // //按钮靠右自动吸边 // CGFloat btnX screenW - floatBtnW; // self.frame CGRectMake(btnX, btnY, floatBtnW, floatBtnH); // }]; // } // } } /* // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affects performance during animation. - (void)drawRect:(CGRect)rect {// Drawing code } */end最后 就可以愉快的玩耍了主播以后再也不会说我不支持他了。
http://www.zqtcl.cn/news/854471/

相关文章:

  • 福田网站制作哪家好昆山企业网站建设公司
  • wordpress快六安网站自然排名优化价格
  • 网站的线下推广怎么做的系统官网网站模板下载安装
  • 北京网站优化推广公司企业网站建设费怎么核算
  • 网站建设vps个人如何做网站推广
  • 小语种网站怎么设计网页制作公司 大连
  • 贵港市城乡住房建设厅网站菜鸟教程网站
  • 广州网站建设找哪家免费搭建网站的软件
  • 培训班管理系统 免费太原优化网站排名
  • 上海怎么做网站网站让图片充满屏幕怎么做
  • 哈尔滨营销网站建设wordpress 加载图片不显示
  • 电商网站功能结构图网站做中秋专题怎么弄
  • 深圳专业建站平台陕西省建设工程质量安全监督总站网站
  • 制作网页的网站的软件是用户反馈数据分析软件园
  • 南京 做网站seo查询网站
  • 卖高仿名牌手表网站共享wifi小程序搭建
  • c#网站开发模板想在意大利做购物网站
  • 2015做那些网站能致富60天做网站
  • 沈阳个人建站模板网站图片计时器怎么做
  • 福州定制网站开发北京排名seo
  • 地方门户网站开发方案长沙有哪个学校可以学网站建设
  • 建个购物网站水果建设网站前的市场分析
  • 建网站的目的小程序登录代码
  • 南京有名的网站建设公司自学室内装修设计教程
  • 新乡市做网站的公司开发公司简介企业介绍
  • 礼品网站模板淘宝店铺购买交易平台
  • 属于公司的网站怎么做外贸服装网站开发
  • 做暧网站泸州公司做网站
  • 做文库类网站网站所有权 备案
  • 网站开发主要内容站长之家网站查询