月度归档: 2020 年 3 月

8 篇文章

hook
无限debugger var _constructor = constructor; Function.prototype.constructor = function(s) { if (s == "debugger") { console.log(s); return null; } return _constructor(s); } //去除无…
TLS检测
浏览器指纹检测 测试tsl指纹网址:https://tls.browserleaks.com/json 可以使用python的curl_cffi库绕过 也可以使用tls_client包绕过
补环境
在扣完js代码后经常会遇到一些变量,如window,document等参数缺少,这些参数是浏览器的环境参数,在node环境中是没有的,因此我们需要到浏览器中获取对应变量的值并手动添加到js代码中,这个就叫补环境。 同时js代码中往往会存在对这些参数的判断,只有参数都存在且正确时才能执行成功js代码。 1. 自动吐环境脚本 就是自动将缺少的环境一一显…
RPC无需破解加密代码进行数据爬取
此文章只进行技术分享,不会对任何网站进行实际上的爬取 此技术是通过WebSocket实现的,因此可以参考下面的文档对WebSocket进行学习。参考:https://www.cnblogs.com/chyingp/p/websocket-deep-in.html 1. JSPRC简介 RPC 技术是非常复杂的,对于我们搞爬虫、逆向的来说,不需要完全…
AST反混淆
AST简介:原理解析:JS 代码是如何被浏览器引擎编译、执行的?_js 编译解析?.-CSDN博客 AST在线解析:AST explorer 左边是代码右边是树状结构,上方选择js和@bable/parser JS实现:安装包npm install @babel/core --save Babel官网:Babel 是什么? · Babel 中文文档…
JavaScript 混淆技术
1. 简介 压缩、混淆、加密技术简述如下 代码压缩:即去除JavaScript 代码中的不必要的空格、换行等内容,使源码都压缩为几行内容,降低代码可读性,当然同时也能提高网站的加载速度。代码混淆:使用变量替换、字符串阵列化、控制流平坦化、多态变异、僵尸函数、调试保护等手段,使代码变得难以阅读和分析,达到最终保护的目的。但这不影响代码原有功能。是理想…
Webpack
1. 概念 webpack 是JavaScript 应用程序的模块打包器,可以把开发中的所有资源(图片、js文件、css文件等)都看成模块,通过loader(加载器)和plugins (插件)对资源进行处理,打包成符合生产环境部署的前端资源。所有的资源都是通过JavaScript 渲染出来的。 如果一个页面大部分是script标签构成,80%以上是…
基础算法
模块安装 JS:npm install crypto-js --save 1. MD5 MD5哈希视为字符串,而是将其视为十六进制数, MD5哈希长度为128位,通常由32个十六进制数字表示。因此在看见加密字段长度为32位时可以先试试看是不是MD5加密。 [collapse title=JS实现] // 引用 crypto-js 加密模块 var …