• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ethusdt
0.01D
V2EX  ›  程序员

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

  •  
  •   ethusdt · Dec 7, 2021 · 2615 views
    This topic created in 1800 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    11 replies  •  2021-12-08 10:35:43 +08:00
    liuxu
    liuxu
    Dec 7, 2021 via Android
    1
    没什么无用功,就是定时获取色块对比
    ethusdt
    ethusdt
    OP
    Dec 7, 2021
    2
    @liuxu 哦这样啊, 是这个逻辑不:

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

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