<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Javascript 解密 &#8211; swigger&#039;s BLOG</title>
	<atom:link href="https://www.swigger.net/tag/javascript-%E8%A7%A3%E5%AF%86/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.swigger.net</link>
	<description>醉卧沙场君莫笑 古来征战几人回</description>
	<lastBuildDate>Tue, 15 Apr 2008 16:52:32 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>Javascript 终级“解密”</title>
		<link>https://www.swigger.net/2008/04/15/javascript-%e7%bb%88%e7%ba%a7%e2%80%9c%e8%a7%a3%e5%af%86%e2%80%9d/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 15 Apr 2008 15:39:15 +0000</pubDate>
				<category><![CDATA[开发]]></category>
		<category><![CDATA[Javascript 解密]]></category>
		<guid isPermaLink="false">http://www.swigger.net/?p=28</guid>

					<description><![CDATA[解密加上引号，因为并不是真正的解密。 现在很多网站不让你看js源码，就想办法变形 &#8230; <a href="https://www.swigger.net/2008/04/15/javascript-%e7%bb%88%e7%ba%a7%e2%80%9c%e8%a7%a3%e5%af%86%e2%80%9d/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>解密加上引号，因为并不是真正的解密。</p>
<p>现在很多网站不让你看js源码，就想办法变形，最后再document.write出来。</p>
<p>显然不管它怎么变形，最后总要调用document.write，我们直接在document.write的实现处，</p>
<p>用native调试来下个断点，不就可以读出来了？</p>
<p>找到document.write函数：</p>
<p>[code lang=&#8221;outline&#8221;]</p>
<p>C:\&gt;syminfo /S E:\symbol C:\WINDOWS\ie7\mshtml.dll | grep ::write<br />
7DDA72FB[+   0] ?writeln@CDocument@@QAGJPAUtagSAFEARRAY@@@Z             public:long __stdcall CDocument::writeln(struct tagSAFEARRAY *)<br />
7DCE0741[+   0] ?write@CDocument@@QAGJPAUtagSAFEARRAY@@@Z               public:long __stdcall CDocument::write(struct tagSAFEARRAY *)</p>
<p>[/code]</p>
<p>显然，直接在这两个函数下断点就可以了。</p>
<p>下完需要读一个VARIANT结构，里面是一个VT_I8的safearray，需要了解safearray的结构，就不赘述了。</p>
<p> 因为还有更好的办法！<br />
用firebug直接看就是了。原来也不清楚，原来firebug看时，一个javascript段里调用了document.write之后，就会在dom树里紧跟着看到另一个&lt;script&gt;&lt;/script&gt;的段。所以，直接用firebug翻看就行了。真是简单啊。</p>
<p>翻看后可以找个工具把代码格式化一下。</p>
<p>有个软件叫sourceformatx，好像已经有四年没有更新了。找了一下crack的文章，说这个软件破解不好会直接破坏系统，因此没有人破解。由于四年过了，现在已经可以搜到完美破解版，但是不是真的完美呢？要是有一点不完美，系统就要挂了，怕怕。所以先不用了，要用也在vmware里用。</p>
<p>thank <a href="mailto:creese@newsmth">creese@newsmth</a>.</p>
<p> </p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
