该文章主要提供交流学习使用,请勿利用其进行不当行为!
如本篇文章侵犯了贵公司的隐私,请联系我立刻删除!
如因滥用解密技术而产生的风险与本人无关!
已经三个月没写过文章了。
三个月没更新过了。
那就来唠一唠新版的加密吧!
找加密生成的地方:
省略、、、
懒得写。。。
看之前的文章吧。。。
调试的时候,谷歌103浏览器,把我卡死了。。。调着,调着就崩溃了。
我换成了97。。。真爽啊。。。。。。。
因为这个加密是动态的,,动态值,动态js,,
就连成功率也是动态的。
所以我们要干的就是固定生成出来的结果。
如下:
代码语言:javascript复制Math.random = function radom() {
return 0.5
};
Date.prototype.getTime = function () {
return 1659509127228
}
当然。。
直接在生成页面运行,是无法固定的。
那怎么才能固定浏览器上的呢。
最简单的办法。
进到加密生成的js中。
运行上述代码。
然后复制m, l,以及 new o
更改如下。
然后就固定了。
然后复制代码到本地。
开始调试吧。。
你生成出来的,要和浏览器的一模一样,才算可以撒。
当然,少不了proxy
proxy 代理来自如下:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy
const docCookies = new Proxy(docCookies, {
get(target, key) {
return target[key] || target.getItem(key) || undefined;
},
set(target, key, value) {
if (key in target) { return false; }
return target.setItem(key, value);
},
deleteProperty(target, key) {
if (!key in target) { return false; }
return target.removeItem(key);
},
ownKeys(target) {
return target.keys();
},
has(target, key) {
return key in target || target.hasItem(key);
},
defineProperty(target, key, descriptor) {
if (descriptor && 'value' in descriptor) {
target.setItem(key, descriptor.value);
}
return target;
},
getOwnPropertyDescriptor(target, key) {
const value = target.getItem(key);
return value ? {
value,
writable: true,
enumerable: true,
configurable: false,
} : undefined;
},
});
温馨提示:
1. 如果加上代理Proxy。可以解决很多环境问题,但是,你加上了Proxy,代码将会走错误的流程。笑死。哈哈哈哈哈
2. 本地调试代码。no no no,,检测了格式化。
3. 他不仅检测了格式化,还要确保你有没有删代码。
4. 他故意写错几个单词,来误导补环境的,可恶,我被误导了,被他装到了。可恶!!!!
5. 此window非彼window;
6. 回到第一条,不会真的以为他检测了什么东西,就要用什么东西吧,不会真的以为没有检测的东西,他就不用了吧???
7. Selenium yyds,我已经报班了,你还在等什么。
当然,长度为145.
你生成的和浏览器生成的为true哦。
当然,少不了测试。