<?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>swigger's BLOG &#187; Javascript 解密</title>
	<atom:link href="http://www.swigger.net/archives/tag/javascript-%e8%a7%a3%e5%af%86/feed" rel="self" type="application/rss+xml" />
	<link>http://www.swigger.net</link>
	<description>醉卧沙场君莫笑 古来征战几人回</description>
	<lastBuildDate>Tue, 24 Jan 2012 05:34:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Javascript 终级“解密”</title>
		<link>http://www.swigger.net/archives/28.html</link>
		<comments>http://www.swigger.net/archives/28.html#comments</comments>
		<pubDate>Tue, 15 Apr 2008 15:39:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[开发]]></category>
		<category><![CDATA[Javascript 解密]]></category>

		<guid isPermaLink="false">http://www.swigger.net/?p=28</guid>
		<description><![CDATA[解密加上引号，因为并不是真正的解密。 现在很多网站不让你看js源码，就想办法变形，最后再document.write出来。 显然不管它怎么变形，最后总要调用document.write，我们直接在document.write的实现处， 用native调试来下个断点，不就可以读出来了？ 找到document.write函数： &#160; C:\&#62;syminfo /S E:\symbol C:\WINDOWS\ie7\mshtml.dll &#124; 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树里紧跟着看到另一个&#60;script&#62;&#60;/script&#62;的段。所以，直接用firebug翻看就行了。真是简单啊。 翻看后可以找个工具把代码格式化一下。 有个软件叫sourceformatx，好像已经有四年没有更新了。找了一下crack的文章，说这个软件破解不好会直接破坏系统，因此没有人破解。由于四年过了，现在已经可以搜到完美破解版，但是不是真的完美呢？要是有一点不完美，系统就要挂了，怕怕。所以先不用了，要用也在vmware里用。 thank creese@newsmth.  ]]></description>
			<content:encoded><![CDATA[<p>解密加上引号，因为并不是真正的解密。</p>
<p>现在很多网站不让你看js源码，就想办法变形，最后再document.write出来。</p>
<p>显然不管它怎么变形，最后总要调用document.write，我们直接在document.write的实现处，</p>
<p>用native调试来下个断点，不就可以读出来了？</p>
<p>找到document.write函数：</p>

<div class="wp_syntax"><div class="code"><pre class="outline" style="font-family:monospace;">&nbsp;
C:\&gt;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 *)</pre></div></div>

<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>
			<wfw:commentRss>http://www.swigger.net/archives/28.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

