解密加上引号,因为并不是真正的解密。
现在很多网站不让你看js源码,就想办法变形,最后再document.write出来。
显然不管它怎么变形,最后总要调用document.write,我们直接在document.write的实现处,
用native调试来下个断点,不就可以读出来了?
找到document.write函数:
C:\>syminfo /S E:\symbol C:\WINDOWS\ie7\mshtml.dll | grep ::write 7DDA72FB[+ 0] ?writeln@CDocument@@QAGJPAUtagSAFEARRAY@@@Z public:long __stdcall CDocument::writeln(struct tagSAFEARRAY *) 7DCE0741[+ 0] ?write@CDocument@@QAGJPAUtagSAFEARRAY@@@Z public:long __stdcall CDocument::write(struct tagSAFEARRAY *) |
显然,直接在这两个函数下断点就可以了。
下完需要读一个VARIANT结构,里面是一个VT_I8的safearray,需要了解safearray的结构,就不赘述了。
因为还有更好的办法!
用firebug直接看就是了。原来也不清楚,原来firebug看时,一个javascript段里调用了document.write之后,就会在dom树里紧跟着看到另一个<script></script>的段。所以,直接用firebug翻看就行了。真是简单啊。
翻看后可以找个工具把代码格式化一下。
有个软件叫sourceformatx,好像已经有四年没有更新了。找了一下crack的文章,说这个软件破解不好会直接破坏系统,因此没有人破解。由于四年过了,现在已经可以搜到完美破解版,但是不是真的完美呢?要是有一点不完美,系统就要挂了,怕怕。所以先不用了,要用也在vmware里用。
thank creese@newsmth.