V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
krapnik
V2EX  ›  分享创造

分享个浏览器插件,网页上的八门神器/金山游侠~

  •  3
     
  •   krapnik ·
    krapnikkk · 2022-07-11 20:04:55 +08:00 · 2527 次点击
    这是一个创建于 626 天前的主题,其中的信息可能已经有所发展或是发生改变。

    写在前面

    这个插件很早的时候就新建文件夹了,由于各种原因一直搁置,在上家公司离职前处于交接时期,六月底抽空摸鱼又盘了起来,想着好好打磨一番,写篇文字记录实现过程之类的。接踵而来的 996 生活让人身心疲惫,终于花了两个周末的时间完善了一下,算是给自己一个交待。

    起源

    以前玩单机游戏的时候,因为数值因素导致的卡关,使用 [金山游侠 /八门神器] 魔改一波数值,就能轻松过关。现在网页 H5 游戏那么多,却没有这么一个好用的工具(虽然有更高级的方法),于是想着造个轮子,整个 toy project ,于是先新建个文件夹!

    这是什么

    在 chrome 扩展环境下,使用Babel基于 AST 将页面引用的 script 标签的内容进行篡改注入 hook 方法,通过 hook 方法对运行时中的数据进行查询或更改。

    起初技术调研想到用的是 esprima 重新造轮子,后面发现 Babel 更流行,分别对 esprima 和 Babel 进行了解析时长对比,发现差异不大,另外 Babel 的工具链比较完善;同时找到[ast-hook-for-js-RE]这个项目,于是拿来主义,虽然 Babel 基于 nodejs 环境,但是一波 StackOverflow 后,成功在 chrome 环境跑起来了~
    

    全局 API

    注入 hook 方法中,提供了一下全局 API 进行操作[纯控制台操作(写 UI 界面好麻烦呀)]

    方法 说明
    search(arg:string|number) 检索出现过某个值的所有堆栈信息
    view(execOrder:number) 通过堆栈调用序号查看查看该堆栈信息详情
    hijack(execOrder:number,newValue:string|number) 劫持堆栈调用中的值篡改为指定的值
    cancelHijack(execOrder:number) 取消劫持
    clearHijack() 清空所有劫持记录

    怎么使用

    扩展地址

    hijacker

    写在最后

    本扩展属于 toy project ,仅仅是为了验证个人的一个想法并为之实现它,该项目并不能适配所有 H5 游戏哦~

    感谢

    项目地址

    Hijacker jcetxg.png

    8 条回复    2022-07-14 12:27:38 +08:00
    dream7758522
        1
    dream7758522  
       2022-07-11 20:26:25 +08:00 via Android
    这个好啊。
    lzgshsj
        2
    lzgshsj  
       2022-07-11 20:36:21 +08:00
    挺有意思的,不过看了一下果然是 v2 的 manifest ,不长久了啊
    israinbow
        3
    israinbow  
       2022-07-11 21:45:00 +08:00
    笑死, 这个梦回 4399 7k7k 破解版.
    maggch97
        4
    maggch97  
       2022-07-12 12:36:40 +08:00
    好棒。search 能搜索一个数值范围吗。

    如果要搜索变量名好搜吗,最近和视频网站斗智斗勇,如果一个工具能自动搜索有 play 方法的对象就好了
    cardsix
        5
    cardsix  
       2022-07-13 17:01:10 +08:00
    似乎 io 类网页游戏搜索不了
    krapnik
        6
    krapnik  
    OP
       2022-07-13 19:15:48 +08:00
    @cardsix toy project ,很多情况都没有处理,而且 io 类都是长链接的,改本地也不能影响线上的呀
    krapnik
        7
    krapnik  
    OP
       2022-07-13 19:16:12 +08:00
    @maggch97 控制台 [ctrl+shift+F] 直接搜索 play 方法更快哦~
    Damn
        8
    Damn  
       2022-07-14 12:27:38 +08:00
    这两个词好有年代感,多少年没听到过了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3251 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 14:05 · PVG 22:05 · LAX 07:05 · JFK 10:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.