JS逆向|我写了个简单的浏览器环境复制脚本

关注它,不迷路。

  • 本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!

浏览器的一些常用全局对象,我们是无法使用copy命令将其copy的,甚至就算用 JSON.stringify 也无法字符串化,因此我想了个办法,可以复制部分环境,仅供大家学习参考。

一.脚本代码

直接上代码:

let getObjectValue = function (obj) {
    let newObj = new Object();
    for (let key in obj) {
        if (obj[key] == null) {
            newObj[key] = null;
            continue;
        }
        if (typeof obj[key] == "string" || typeof obj[key] == "number" || typeof obj[key] == "boolean") {
            newObj[key] = obj[key];
        } else if (typeof obj[key] == "function") {
            newObj[key] = "function";
        } else if (Array.isArray(obj[key])) {
            newObj[key] = obj[key];
        }


    }
    return newObj;
}


let newObj = getObjectValue(window);
copy(newObj)

二.食用指南

打开一个新的标签页,然后在控制台输入上面的代码回车即可,部分环境就copy到剪切板了。然后在文本编辑器里面粘贴:

4abec386340ec16a8f9444f1a08f7372.png

这个时候,你只需要将 window 定义放在前面即可。

80e6851e2bc48bf08741879e670db585.png

因为function无法定义,因此我统一改写成了"function",所以你只需要写个置空函数再替换即可:

c6e8b244a91b0e2dc4c838af86585d73.png

替换前的效果:

a8e655c83947b5a76d7cdfa339de1b1a.png

替换后的效果:

b626f043c52b7c480dd8d424f5e59dc9.png

这些置空的函数,如果网站检测了具体的函数定义及原型链,需要自己去改写,本文只做抛砖引玉的作用。具体的环境代码可以参考MDN上的功能再写,这需要看自己对js这门语言的理解程度。

三.其他对象的复制

如果你还想复制其他对象的环境,可以将这段代码里的window进行替换。

let newObj = getObjectValue(window);

 常见的对象有 document,navigator,location,history,screen等。

这个简单的代码感觉没什么卵用,大佬们请勿喷。后续如果优化了,我会放在星球里。

第二步的操作可以在某个断点处进行copy,大家自己随意。

如果你有更好的办法copy当前的环境,可以加我微信私聊,在此感谢。

79f0ae43978d9d4bff28fc7e883fa4c0.png

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值