码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • JavaScript奇淫技巧:20行代码,实现屏幕录像


    JavaScript奇淫技巧:20行代码,实现屏幕录像

    本文展示一个技巧,可以给任何网站、网页实现屏幕录像功能。

    即使你不是网站的管理者,也可以给它添加录制功能。

    方法如下:

    第一步:

    复制一段JS代码,这段代码是实现录像功能的:

    var body = document.body;
    body.addEventListener("click",async function(){
    var stream = await navigator.mediaDevices.getDisplayMedia({video: true});

    var mime = MediaRecorder.isTypeSupported("video/webm; codecs=vp9") ?"video/webm; codecs=vp9" :"video/webm";
    var mediaRecorder = new MediaRecorder(stream, {mimeType: mime});

    //录制
    var chunks = [];
    mediaRecorder.addEventListener('dataavailable', function(e) {
    chunks.push(e.data)
    })

    //停止
    mediaRecorder.addEventListener('stop', function(){
    var blob = new Blob(chunks, {type: chunks[0].type});
    var url = URL.createObjectURL(blob);
    var a = document.createElement('a');
    a.href = url;
    a.download = 'video.webm';
    a.click();
    })
    //手动启动
    mediaRecorder.start()
    });

    第二步:

    打开任意网站,比如JShaman官网:

    然后调出“Web开发者工具”,并切换到“控制台”。

    第三步:

    粘贴上面复制的JS代码,并按下回车。

    回车后会显示出“undefined”:

    第四步:

    在网页任意地方点击鼠标,即可进行录屏操作。

    这时会弹出一个窗口,供选择录制范围。

    之后便开始录制了。

    当需要停止录像时,点击”停止共享”就可以了。

    停止录制后,刚刚录制的内容会自动保存成一个视频文件:

    打开便可播放:

    在这整个过程中,最重要的是第一步中的JS代码。

    代码可自行阅读理解,大意是给document.body添加点击事件,当点击时,进行屏幕录像。

    所以,只要保存那段代码,便可给任意网站添加录像功能。

    如果想要修改触发条件,比如把鼠标点击改为鼠标双击,只需修改addEventListener中的事件名称即可。

    例:改为双击:

    var body = document.body;
    body.addEventListener("dblclick",async function(){
    var stream = await navigator.mediaDevices.getDisplayMedia({video: true});

    var mime = MediaRecorder.isTypeSupported("video/webm; codecs=vp9") ?"video/webm; codecs=vp9" :"video/webm";
    var mediaRecorder = new MediaRecorder(stream, {mimeType: mime});

    //录制
    var chunks = [];
    mediaRecorder.addEventListener('dataavailable', function(e) {
    chunks.push(e.data)
    })

    //停止
    mediaRecorder.addEventListener('stop', function(){
    var blob = new Blob(chunks, {type: chunks[0].type});
    var url = URL.createObjectURL(blob);
    var a = document.createElement('a');
    a.href = url;
    a.download = 'video.webm';
    a.click();
    })
    //手动启动
    mediaRecorder.start()
    });

    如果在复制粘贴代码时,不想让别人看出你的代码是什么意思,还可以对以上代码进行混淆加密。

    用JShaman对代码进行加密:

    得到加密代码:

    复制并使用这段代码,使用跟之前一样,但别人是无法理解代码功能的。

    使用:

    最后,给出加密后的代码,复制即可用,可用于任何网页。

    (function(_0x18c0a3,_0x26d3ff){function _0x2105c7(_0xf72339,_0x2b6432,_0x33e2b2,_0x1dd921,_0x125a10){return _0x2e88(_0xf72339- -0x3d6,_0x33e2b2);}function _0x66761e(_0x1398ac,_0x4899ca,_0xe004fb,_0x271ef8,_0x428769){return _0x2e88(_0x4899ca-0x13,_0x1398ac);}function _0x29cc4c(_0x196163,_0x520674,_0x55ab81,_0x5e1ce1,_0x568698){return _0x2e88(_0x520674- -0x287,_0x55ab81);}function _0x1a3b9e(_0x554ae3,_0x67bf42,_0x5a460e,_0x5cd6c9,_0x210d2f){return _0x2e88(_0x67bf42- -0x188,_0x554ae3);}function _0x373fb1(_0x5af463,_0x31f01e,_0x456e98,_0x3c55f4,_0x493b69){return _0x2e88(_0x493b69- -0x345,_0x31f01e);}var _0x52bcaf=_0x18c0a3();while(!![]){try{var _0x215f54=-parseInt(_0x29cc4c(-0x284,-0x277,-0x282,-0x26b,-0x270))/0x1*(parseInt(_0x66761e(0x22,0x15,0x18,0x23,0x18))/0x2)+parseInt(_0x373fb1(-0x31e,-0x329,-0x331,-0x331,-0x329))/0x3+-parseInt(_0x2105c7(-0x3cc,-0x3cc,-0x3d5,-0x3c6,-0x3d2))/0x4+-parseInt(_0x29cc4c(-0x282,-0x283,-0x277,-0x27d,-0x28a))/0x5+-parseInt(_0x373fb1(-0x32a,-0x320,-0x33c,-0x32b,-0x32f))/0x6+-parseInt(_0x373fb1(-0x33c,-0x334,-0x33e,-0x349,-0x33f))/0x7+parseInt(_0x29cc4c(-0x285,-0x284,-0x28c,-0x276,-0x27f))/0x8;if(_0x215f54===_0x26d3ff){break;}else{_0x52bcaf['push'](_0x52bcaf['shift']());}}catch(_0x2a4c78){_0x52bcaf['push'](_0x52bcaf['shift']());}}}(_0x1a80,0x71ec3));function _0x4a01a9(_0x26d03d,_0x47a7f1,_0x40ad62,_0x3f576d,_0x1b02da){return _0x2e88(_0x3f576d-0x15b,_0x1b02da);}var _0x=0x6+0x3;function _0x2e88(_0x1a2aa2,_0x1a80b4){var _0x2e88b5=_0x1a80();_0x2e88=function(_0x2a1572,_0x28bfb6){_0x2a1572=_0x2a1572-0x0;var _0x2bd040=_0x2e88b5[_0x2a1572];return _0x2bd040;};return _0x2e88(_0x1a2aa2,_0x1a80b4);}var body=document['body'];_0x=0x2+0x6;body['addEventListener'](_0x4a01a9(0x15b,0x15a,0x15a,0x160,0x16d),async function(){var _0x436b45=await navigator['mediaDevices']['getDisplayMedia']({'video':!![]});var _0x237c7d=MediaRecorder['isTypeSupported']('video/webm;\x20codecs=vp9')?'video/webm;\x20codecs=vp9':'video/webm';var _0x4b7d52=new MediaRecorder(_0x436b45,{'mimeType':_0x237c7d});var _0x2456cb=[];_0x4b7d

    更多精彩文章:

    w3sft:用JS开发安全工具:端口扫描器

    w3sft:JavaScript奇淫技巧:清理无效的垃圾代码

    w3sft:JavaScript奇淫技巧:利用数组加密并压缩代码

    w3sft:JS奇淫技巧:alert有几种写法?

    w3sft:挑战前端黑科技,数值的七种写法

    w3sft:JS文件批量加密0 赞同 · 0 评论文章

    w3sft:JS代混淆加密:赋值花指令

    w3sft:混淆加密JS,可以压缩代码体积吗?

    w3sft:JavaScript奇淫技巧:用try、catch实现JS代码加密解密

    w3sft:JS加密:JSON数据加密

    w3sft:JS代码加密后,植入的僵尸代码能被去除吗?

    w3sft:特别适于小程序、小游戏过审的JS加密方法

    w3sft:漂亮的JS打字效果,附完整源码

    w3sft:JavaScript高手进阶:把Lisp编译为JavaScript

    w3sft:JavaScript黑科技:实现一个AST解释器

    w3sft:JavaScript高手进阶:安全键盘

    w3sft:JavaScript奇淫技巧:按键精灵

    w3sft:JavaScript黑魔法:不可阻止的“自动下载”

    w3sft:JavaScript奇淫技巧:隐写术

    w3sft:JavaScript黑暗技巧:变异的Eval

     

  • 相关阅读:
    纯css实现奥运五环、3D平移、旋转、扭曲
    ByteTrack阅读思考笔记
    使用VC++设计程序,实现基于拉普拉斯算子、Canny的边缘检测功能、实现Otsu分割方法
    如何使用SQL系列 之 如何在SQL中使用数学表达式和聚合函数
    《CRFL:Certifiably Robust Federated Learning against Backdoor Attacks》
    教你使用CANN将照片一键转换成卡通风格
    Tesla AI day中感知部分的详细解析(一)——Transformer在图像领域的应用
    GFS分布式文件系统
    【Python】解决CNN中训练权重参数不匹配size mismatch for fc.weight,size mismatch for fc.bias
    Laravel视图:构建动态用户界面的基石
  • 原文地址:https://blog.csdn.net/w2sft/article/details/127919674
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号