1
rozbo 2021-04-23 13:07:57 +08:00 2
|
2
love 2021-04-23 13:13:15 +08:00
有点意思,console 对象也许有方法能判断是否打开了控制台,也许要先在地址栏改了这对象再开控制台
|
3
Netfix 2021-04-23 13:27:16 +08:00
关闭 运行 js 脚本 就可以调式了
|
5
hi543 2021-04-23 14:10:44 +08:00
在有 debug 的地方添加条件断点:false
|
6
domodomo 2021-04-23 14:14:36 +08:00
页面加载完了禁用 js 就能调试了,毫无意义的把戏
里面的代码还搞了混淆加密,加密代码名叫:“'jsjiami.com.v5'”,笑死我了。 |
8
xiangbohua 2021-04-23 14:20:04 +08:00 1
@loginv2 应该是浏览器里面设置,禁止 js 执行吧
|
9
phony2r 2021-04-23 14:21:30 +08:00
safari 并没有任何效果
|
10
loginv2 OP @xiangbohua 会了,先添加允许,然后刷新页面再改成禁用。
|
11
7075 2021-04-23 14:31:27 +08:00
哪里反调试了
|
12
3dwelcome 2021-04-23 14:45:59 +08:00
有意思,有高手能指导一下跳转原理吗?没看出来蹊跷的地方。
|
13
darknoll 2021-04-23 14:59:17 +08:00
装个拦截的插件就行了啊
|
14
fjc0k 2021-04-23 15:05:11 +08:00 1
|
15
hafuhafu 2021-04-23 15:46:12 +08:00
|
16
chocovon 2021-04-23 15:48:28 +08:00
@loginv2 #10 在哪里改的禁用?我这边改成禁用后,如果不刷新页面,直接打开控制台还是会跳转……禁用 js 的设置好像不对已经打开的页面生效
|
17
Rwing 2021-04-23 15:51:34 +08:00
挺有意思哈
|
18
hcen1997 2021-04-23 16:03:26 +08:00 2
根据 @domodomo @loginv2 @xiangbohua 的提示, hack 出来了
1. 去主页 www.agefans.net 给 history.js 加个断点 2. 回到视频页面, 断点开出来了, 3. debug 一会, 找到关键文件 cdn.radius-america.com /age/static/js/s_dett.js?ver=202102251329 4. 代码具体思路应该是 evel 中的函数(最后 eval(function(p,a,c,k,e,r){e=String;if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'[0-5]'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(0(){1.addListener(0(2,detail){if(2){3 4=self;3 5=4.location;5.href=decodeURIComponent(\'%2f\')}else{}});1.lanuch()})();',[],6,'function|devtoolsDetector|isOpen|const|_s|_l'.split('|'),0,{})); 这个 evel 执行一个包裹了几层的字符串(并不是公私钥加密, 只是简单的加密) 效果应该就是跳转到主页了 hack 的方式很简单: debug 器可以赋值任意变量, 把执行出来的 p 赋值为 "console.log(1)" 交给 evel (这个函数被执行了两次, 所以手工弄两次) 以上还是使用 chrome 操作的, 如果是专门的黑产浏览器估计都不用这么麻烦 这就引申出一个很有意思的问题, 开源世界里,一个人可以骗过一群人吗? |
19
noe132 2021-04-23 16:17:16 +08:00 1
其实就是 2 点,1 循环 log 一个 toString 为自定义函数的变量,当这个 toString 被执行了,说明控制台打开了。
2 循环执行一个 debugger 的空函数,计算每次函数执行的间隔,如果执行间隔超过了 100ms,说明控制台被打开了,触发了断点。 |
20
cyrbuzz 2021-04-23 16:30:35 +08:00 1
1. 到首页或者新开页面,在 Network 区域,选择 slow 3G 。
2. 加载目标页面,把所有 js block 一遍,一个个开,发现是这个 js https://cdn.radius-america.com/age/static/js/s_dett.js?ver=202102251329 。 3. 给这个 JS 打个断点,最后一段发现这个。 ```javascript if (__getCookie_v3('username') != 'admin') { eval(function(p, a, c, k, e, r) { e = String; if ('0'.replace(0, e) == 0) { while (c--) r[e(c)] = k[c]; k = [function(e) { return r[e] || e } ]; e = function() { return '[0-5]' } ; c = 1 } ;while (c--) if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b','g'), k[c]); return p }.... ``` 后面是一堆 eval 的 string,会有一个`devtoolsDetector`,然后这个会判断是否打开了 console,判断方式见楼上各位大佬的链接。 4. 上面代码有个 BUG,__getCookie_v3,试了试就是获取叫 username 的 cookies 的值,这里写的不是 admin 的时候会执行这段代码。 5. 后面怎么操作不用多说了吧= =... |
21
LnTrx 2021-04-23 16:36:47 +08:00 1
|
22
Biwood 2021-04-23 16:38:28 +08:00 2
所以只需在调试拦输入 document.cookie = "username=admin;domain=.agefans.net"
然后 Enter,就破解了,刷新页面可用,亲测有效 |
25
overflow99 2021-04-23 18:33:19 +08:00 1
可以通过创建一个 dom 元素,然后利用 defaineProperty 去检测这个元素的 id 有没有被访问,被访问则表示打开了控制台。这方法是曾经在 github 上看到一个人做的控制台检测工具源码发现的,我在本地试了下,果然可用。
|
26
tiancaixiaoshuai 2021-04-23 19:30:10 +08:00
https://www.mvcat.com/movie/5316.html
黑客帝国特效的反调试 |
27
gBurnX 2021-04-23 19:47:38 +08:00
很多年前,连 USB 芯片加密方案都被破解了,hacker 团队直接在驱动层做了个模拟软件。
js 这种连代码都直接可读的玩意,与其浪费时间研究加密,还不如多学习基础知识,或者好好生活娱乐.. |
28
A3m0n 2021-04-23 23:15:35 +08:00
原来是这样,我说怎么在 iPhone 上使用 Chrome 根本无法观看里面的动漫,估计是 Chrome 触发了这一块的代码。
|
29
newmlp 2021-04-24 11:08:47 +08:00
edge 没效果,打开了调试也没跳转
|
30
yunyuyuan 2021-04-24 11:28:43 +08:00
edge 亲测没跳转
|