//第一种 补环境的方法

let test1 = {
name:"小红"
}; test = new Proxy(test1,{
get(target,key){
console.log("获取了",key + "属性");
return target[key];
}
})
test.name //实战应用(注释部分的内容倒着看) //然后继续代理,按照这种的思路。继续的寻找,不但代理对象,获取里面的属性或者方法。然后检测其返回值。
//特点是每次只能检测一个,所以,补完每一个级别的对象之后,都需要重新的进行检测
canvas = {} let document = {
createElement:function (val) {
if (val = "canvas"){
return canvas
//到浏览器中看一看需要输入哪些内容
} }
};
//返回的是一个document对象,那么就设置一个空对象,看一看从这个空对象里面取了哪些值 //找到确是环境中缺失的属性之后,然后再函数中不传参数,但是打印参数。通过这样的方式来获取环境中使用的参数
// let document = {
// createElement:function () {
// console.log(arguments)
// }
// }; document = new Proxy(document,{
get(target,key){
console.log("获取了",key + "属性");
return target[key];
}
})
document.createElement()
//就可以检测这里面调用了document中的哪些属性 //进阶的使用
//吐环境
function proxy(proxy_array){
for(let i = 0;i<proxy_array;i++){
eval(proxy_array[i] + ' = new Proxy(' + proxy_array[i] + ',{ ' +
'get(target,key){ ' +
'debugger;' +
'console.log("====================")'+
'console.log("获取了",'+ proxy_array[i] + ' 的key属性"); ' +
'console.log("====================")'+
'return target[key]; }')
}
}
//常用的proxy_array
var proxy_array = ["window","document","location","navigator"]
proxy(proxy_array) //如果需要补XMLHttpRequest、ActiveXObject,直接给空对象不用管
//可以用typeof 判断数据类型 //第二种补环境的方法
//代码可以混淆的部分 形参、实参、变量名等可以变的东西
//最终的结果不会混淆
//所以,规避代码中的变量名和方法。需要补的内容是浏览器中有的东西,而不是代码中有的东西
//所以动态的代码,通过补环境是一个很好的方法
//检测音频指纹的代码
//等待页面加载后的调用
//this 改写成that 然后写一个定时器。然后就可以实现自动的执行

js逆向之补环境常用代码的更多相关文章

  1. js 操作select和option常用代码整理

    1.获取选中select的value和text,html代码如下: <select id="mySelect"> <option value="1&qu ...

  2. 爬虫05 /js加密/js逆向、常用抓包工具、移动端数据爬取

    爬虫05 /js加密/js逆向.常用抓包工具.移动端数据爬取 目录 爬虫05 /js加密/js逆向.常用抓包工具.移动端数据爬取 1. js加密.js逆向:案例1 2. js加密.js逆向:案例2 3 ...

  3. JS逆向-抠代码的第二天【手把手学会抠代码】

    今天的学习项目:沃支付:https://epay.10010.com/auth/login 清空浏览器缓存后,打开网页,输入手机号,密码222222,按照网站要求填入验证码(sorry,我没有账号密码 ...

  4. JS逆向-抠代码的第一天【手把手学会抠代码】

    首先声明,本人经过无数次摸爬滚打及翻阅各类资料,理论知识极其丰富,但是抠代码怎么都抠不会. 无奈之下,只能承认:这个活,需要熟练度. 本文仅对部分参数进行解析,有需要调用,请自行根据现实情况调整. 第 ...

  5. 兄弟,你爬虫基础这么好,需要研究js逆向了,一起吧(有完整JS代码)

    这几天的确有空了,看更新多快,专门研究了一下几个网站登录中密码加密方法,比起滑块验证码来说都相对简单,适合新手js逆向入门,大家可以自己试一下,试不出来了再参考我的js代码.篇幅有限,完整的js代码在 ...

  6. 这个爬虫JS逆向加密任务,你还不来试试?逆向入门级,适合一定爬虫基础的人

    友情提示:在博客园更新比较慢,有兴趣的关注知识图谱与大数据公众号吧.这次选择苏宁易购登录密码加密,如能调试出来代表你具备了一定的JS逆向能力,初学者建议跟着内容调试一波,尽量独自将JS代码抠出来,实在 ...

  7. 爬虫必看,每日JS逆向之爱奇艺密码加密,今天你练了吗?

    友情提示:优先在公众号更新,在博客园更新较慢,有兴趣的关注一下知识图谱与大数据公众号,本次目标是抠出爱奇艺passwd加密JS代码,如果你看到了这一篇,说明你对JS逆向感兴趣,如果是初学者,那不妨再看 ...

  8. 通过JS逆向ProtoBuf 反反爬思路分享

    前言 本文意在记录,在爬虫过程中,我首次遇到Protobuf时的一系列问题和解决问题的思路. 文章编写遵循当时工作的思路,优点:非常详细,缺点:文字冗长,描述不准确 protobuf用在前后端传输,在 ...

  9. H5常用代码:适配方案2

    前面的通过视口做适配的方案由于安卓低版本原生浏览器的存在,在许多场合不尽如人意,会在低版本安卓上出现,不缩放,手动缩放未禁止的问题. 于是出现了第二种适配方案,既然通过视口缩放可以兼容,那为什么不直接 ...

  10. jquery常用代码集锦

    1. 如何修改jquery默认编码(例如默认GB2312改成 UTF-8 ) 1 2 3 4 5 $.ajaxSetup({     ajaxSettings : {         contentT ...

随机推荐

  1. 阿里云SLB的http强制转https

    公司的要求:要求强制http转https 我的环境是: 域名<--->slb的ip<-->源服务器nginx 具体做法是: 第一步:证书放到slb的https上,通过443端口 ...

  2. vue 自定义千位符过滤器

    在main.js页面全局引入 Vue.filter('formatNum', function(value) { if(!value) return '' let num = value.toStri ...

  3. Makfile总结

    Makfile总结 在前面的三篇文章彻底掌握Makefile(一).彻底掌握Makefile(二)和彻底掌握Makeifle(三)当中我们仔细介绍了Makefile各种使用方法,在本篇文章当中主要是对 ...

  4. 我公司是属于生产制造业,最近考虑实施ERP,生产制造业的ERP那家比较好?

    直接告诉你用哪家ERP,那我就太不负责任了,不同企业的规模选用不同的系统,匹配很重要!比如你大型企业,业务管理都比较标准规范,变化性也不大,不差钱预算没问题(千万元起步),你可以考虑下头部厂商.但如果 ...

  5. P7962 [NOIP2021] 方差 (DP)

    题目的意思就是可以交换差分数组,对答案进行化简:n∑ai2​−(∑ai​)2 ,再通过手玩分析可得最优解的差分数组一定是单谷(可以感性理解一下),因此我们将差分数组排序,依次加入,每次可以选择加在左边 ...

  6. 如何在服务器上部署WebDeploy

    之前项目中网站发布都是手工拷贝文件,特别麻烦,看到好多用webdeploy一键部署网站到IIS服务器,我也学习了一下. 第一步,打开服务器管理器 打开方式是开始菜单=>管理工具=>服务器管 ...

  7. 驱动开发:内核R3与R0内存映射拷贝

    在上一篇博文<驱动开发:内核通过PEB得到进程参数>中我们通过使用KeStackAttachProcess附加进程的方式得到了该进程的PEB结构信息,本篇文章同样需要使用进程附加功能,但这 ...

  8. do-while循环的使用

    一.循环结构的4个要素 ① 初始化条件 ② 循环条件 --->是boolean类型 ③ 循环体 ④ 迭代条件 二.do-while循环结构: ①do{ ③; ④;}while(②); 执行过程: ...

  9. web share api 分享

    概述 Navigator.share()  方法通过调用本机的共享机制作为 Web Share API 的一部分.如果不支持 Web Share API,则此方法为 undefined. 此项功能仅在 ...

  10. JWT基础概念详解

    JWT基础概念详解 JWT介绍 之前我们文章讲过分布式session如何存储,其中就讲到过Token.JWT.首先,我们来回顾一下使用Token进行身份认证. 客户端发送登录请求到服务器 服务器在用户 ...