AST技巧:快速复制AST节点名称
大家好,之前在群里看有小伙伴问如何快速的复制 AST 节点名称,查了一下,有一个很方便的方法可以复制,分享给大家。
AST 解析网站
搞逆向的小伙伴对于https://astexplorer.net/可能不陌生了,利用它可以很方便的解析 JS 代码,得到 AST 语法树。
上图中的节点名称正常来说是不可以复制的,但是有的时候写 AST 反混淆代码,不想手打节点名称,想要复制一下,应该怎么办呢?
Chrome 的上帝模式
这个方法已经存在很多年了,我记得在我上学那会就玩过,特别有意思。而且这个模式很古老,据说 IE 都支持,利用这个方法可以随意修改整个网页的内容,可以修改成绩(不是),修改别人的网页变成自己的专属网页,修改网页中部分内容用来装逼(不是),并且不会破坏网页的样式,只会改变文字。
那如何开启 Chrome 的上帝模式呢?很简单,在控制台输入下面的代码即可。
1 | document.designMode = "on"; |
designMode
是 document
的一个全局开关,用来开启 Chrome 页面的编辑模式。它默认是 off
关闭的状态,如果修改为 on
的话就是开启可编辑模式,这时整个页面就是可编辑的状态。
开启上帝模式
开启上帝模式以后,来看一下网页的状态:
大家仔细看第一张图,现在已经有光标了,说明这段文字是可以编辑的,并且双击后就是第二张图,双击后可以选中文字,直接就可以复制了。
并且文字是可以随意修改的,删除或者新增都可以。
另一种方法
其实还有另一个方法可以开启可编辑模式,它的效果和上述代码一样的,除了写法不一样。。
1 | document.body.contentEditable="true"; |
油猴插件
学会了上面的原理以后,我们可以写一个油猴插件来自动执行脚本,在打开网站的时候自动开启编辑模式,这样就可以很方便的复制节点名称了。
1 | // ==UserScript== |
将上面的代码复制一下,新建一个油猴插件粘贴即可,具体效果大家可以自行尝试。
本文章首发于个人博客 LLLibra146’s blog
本文作者:LLLibra146
更多文章请关注公众号 (LLLibra146):
版权声明:本博客所有文章除特别声明外,均采用 © BY-NC-ND 许可协议。非商用转载请注明出处!严禁商业转载!