V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
FaiChou
V2EX  ?  程序员

开发手机辅助, 如何检测区域内容变化?

  •  
  •   FaiChou ·
    FaiChou · 2021-12-07 13:45:58 +08:00 · 1560 次点击
    这是一个创建于 885 天前的主题,其中的信息可能已经有所发展或是发生改变。

    腾讯云最新优惠活动来了:云产品限时1折,云服务器低至88元/年 ,点击这里立即抢购:9i0i.cn/qcloud,更有2860元代金券免费领取,付款直接抵现金用,点击这里立即领取:9i0i.cn/qcloudquan

    (福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

    使用 auto.js 来开发一个 APP 辅助.

    APP 左侧区域是聊天区, 右侧是活动区, 活动区会有轮播图滚动.

    目的是识别左侧聊天区的内容, 聊天区能发送一些相关的悬赏任务或者纯聊天, 需要识别相应的悬赏, 而且用户多, 高级悬赏很快会被抢空. 所以需要快速识别.

    目前想到的方法是截图, 然后根据相应高级悬赏图片匹配对应的位置. 但这样需要每秒钟截图一次, 然后匹配对比. 这样延迟大, 而且如果聊天区域长时间没有动静, 这样会做很多无用功.

    所以有什么方法可以动态判断左侧区域有变化? 变化后再识别对比.

    11 条回复  ?  2021-12-08 10:35:43 +08:00
    liuxu
        1
    liuxu  
       2021-12-07 13:50:20 +08:00 via Android
    没什么无用功,就是定时获取色块对比
    FaiChou
        2
    FaiChou  
    OP
       2021-12-07 13:54:58 +08:00
    @liuxu 哦这样啊, 是这个逻辑不:

    function 对比色块() {
    // blabla
    if (match) {
    截图对比();
    }
    }

    setInterval(对比色块, 100);
    lisongeee
        3
    lisongeee  
       2021-12-07 14:02:14 +08:00
    不能检测 view tree 的变化吗?
    ukyoo
        4
    ukyoo  
       2021-12-07 14:06:45 +08:00
    APP 聊天区是原生的不, 安卓的可以用 AccessibilityService 做, 监听 AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED, 类似微信抢红包
    FaiChou
        5
    FaiChou  
    OP
       2021-12-07 14:08:36 +08:00
    @ukyoo 哦哦 我去看看, 是个游戏. 不知道是不是原生的.
    ohwind
        6
    ohwind  
       2021-12-07 14:19:44 +08:00
    @FaiChou 游戏一般是引擎绘图的,靠安卓原生提供的辅助功能是做不了的。只能读内存或者靠抓包,当然你非要截图做图像分析也不是不可以
    FaiChou
        7
    FaiChou  
    OP
       2021-12-07 14:24:02 +08:00
    @ohwind 是不是截图做图像分析会很慢.. 读内存或者利用比如 4L 说的 Accessibility 功能来实现的话(假如能够使用) 会不会侵入了游戏里面, 被游戏检测到有封号的风险?
    huruwo
        8
    huruwo  
       2021-12-07 15:35:42 +08:00
    游戏可以嵌入 SDK 做 view 层的节点获取
    lakehylia
        9
    lakehylia  
       2021-12-07 15:40:42 +08:00
    直接过滤聊天的内容 api 不就行了
    loveminds
        10
    loveminds  
       2021-12-07 16:24:05 +08:00
    @FaiChou Accessibility 是正当的接口,不过具体也得看游戏公司
    SmiteChow
        11
    SmiteChow  
       2021-12-08 10:35:43 +08:00
    只读操作请使用中间人攻击,需要写操作才上 auto.js
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3294 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:35 · PVG 19:35 · LAX 04:35 · JFK 07:35
    Developed with CodeLauncher
    ? Do have faith in what you're doing.


    http://www.vxiaotou.com