上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

【嶺上開花】油猴实战过人脸之补APP环境

[复制链接]
  • TA的每日心情
    擦汗
    4 天前
  • 签到天数: 194 天

    [LV.7]常住居民III

    720

    主题

    6071

    回帖

    6850

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6850

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2022-12-14 23:06:34 | 显示全部楼层 | 阅读模式

    前文

    其实封包过明显更简单
    但是我就是要补出来环境,嘿,就是玩
    我要魔改出来一个自动答题过人脸的变态考试专版APP
    图片.png

    实战目标

    某起

    开始

    首先点击按钮提示
    图片.png
    直接源代码里搜索一下
    图片.png
    发现通过m.f判断
    因为是webpack打包,往上找m
    图片.png
    m来自ba39
    直接打断往里追或者搜索ba39都可以
    找到了函数,前方的n.d是webpack的环境定义头,直接忽略,发现m.f的f来自于i
    图片.png
    我们继续找i
    图片.png
    发现i来自763d
    继续找763d
    发现这个函数的f取决于变量d
    图片.png
    而d在下方,默认为假,下方有两个赋值d的,一个是函数,一个是直接调用,我们先忽略函数,直接看调用的s
    图片.png
    调用一下打个断点往里追
    找到了

            function s(e) {
                var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}
                  , n = arguments.length > 2 ? arguments[2] : void 0;
                o((function(i) {
                    i.callHandler(e, t, (function(e) {
                        var t = e;
                        if ("string" == typeof e)
                            try {
                                t = JSON.parse(e)
                            } catch (e) {}
                        n && n(t)
                    }
                    ))
                }
                ))
            }

    e是调用事件名,t是变量,n是回调函数
    我们调用了o来回调执行函数,那我们去看看o

            function o(e) {
                if (window.WebViewJavascriptBridge)
                    e(window.WebViewJavascriptBridge);
                else if (i()) {
                    if (window.WVJBCallbacks)
                        return window.WVJBCallbacks.push(e),
                        !1;
                    window.WVJBCallbacks = [e];
                    var t = document.createElement("iframe");
                    t.style.display = "none",
                    t.src = "wvjbscheme://__BRIDGE_LOADED__",
                    document.documentElement.appendChild(t),
                    setTimeout((function() {
                        document.documentElement.removeChild(t)
                    }
                    ), 0)
                } else
                    a() && document.addEventListener("WebViewJavascriptBridgeReady", (function() {
                        e(window.WebViewJavascriptBridge)
                    }
                    ), !1)
            }

    这里可以看到在检测各种桥,我们来搞个最基本的
    window.WebViewJavascriptBridge吧
    调用e(window.WebViewJavascriptBridge);会把我们的函数传进去
    去回调

                    i.callHandler(e, t, (function(e) {
                        var t = e;
                        if ("string" == typeof e)
                            try {
                                t = JSON.parse(e)
                            } catch (e) {}
                        n && n(t)
                    }

    那我们就需要实现callHandler函数,检测是否是getRuntimeEnvironment
    如果是的话就去回调第三个参数,第三个参数是个函数,接受一个e
    我们应该传入一个对象
    然后会对n传入这个对象
    n则是

    (function(e) {
                d = "app" === e.platform
            }
            )

    代表我们传入的对象必须包含platform,并且是app
    开始
    直接上油猴

    window.WebViewJavascriptBridge = {
        callHandler: (name, obj, callback) => {
           xxxxx
           防恶意利用删除代码
           balabala
    
        }
    }

    就会发现我们已经过了APP功能性检测
    图片.png

    结语

    撒花~

    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
  • TA的每日心情

    2024-8-14 16:46
  • 签到天数: 69 天

    [LV.6]常住居民II

    6

    主题

    127

    回帖

    222

    积分

    高级工程师

    积分
    222

    油中2周年生态建设者

    发表于 2022-12-16 11:49:51 | 显示全部楼层
    上网址实操才是王道……强烈要求道哥出视频
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    4 天前
  • 签到天数: 194 天

    [LV.7]常住居民III

    720

    主题

    6071

    回帖

    6850

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6850

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2022-12-16 14:50:40 | 显示全部楼层
    极品小猫 发表于 2022-12-16 11:49
    上网址实操才是王道……强烈要求道哥出视频

    主要我用的自己账号...借不到其他人号演示
    呜呜呜
    最近还在继续研究这个
    感觉快完成了
    这类APP式的可以直接down下来代码
    然后修改作弊部分挪进去之后手动打包出来一个apk
    或者直接基于原来的改
    搞出来的玩应几乎可以拿着线下作弊了
    -------------------------------------------------------
    做的时候不禁还在思考
    可能随着时代发展,逆向的成本也会逐渐降低
    过去如果想搞exe需要学汇编,apk要搞il
    现在大家都喜欢玩这种网页包裹的
    严重降低了门槛
    以后感觉很可能会在这方面为了安全性重新卷一遍轮子啥的...
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    2

    回帖

    2

    积分

    助理工程师

    积分
    2
    发表于 2023-2-26 23:42:02 | 显示全部楼层

    正好有这个需求。道哥v我,有偿:ybg6420

    回复

    使用道具 举报

    该用户从未签到

    2

    主题

    1

    回帖

    7

    积分

    助理工程师

    积分
    7
    发表于 2023-12-16 04:23:03 | 显示全部楼层

    有偿hpg0612 能过人脸的加我

    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表