<?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>Noah</title>
	<atom:link href="http://www.zixi.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.zixi.net</link>
	<description>Remember to be happy every day!</description>
	<lastBuildDate>Wed, 24 Feb 2010 08:35:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>密码保护：我喜欢你，很久了。等你，也很久了。</title>
		<link>http://www.zixi.net/archives/24.html</link>
		<comments>http://www.zixi.net/archives/24.html#comments</comments>
		<pubDate>Wed, 24 Feb 2010 08:34:00 +0000</pubDate>
		<dc:creator>Noah</dc:creator>
				<category><![CDATA[无聊]]></category>

		<guid isPermaLink="false">http://www.zixi.net/archives/24.html</guid>
		<description><![CDATA[无法提供任何摘要。这是一篇受保护的文章。]]></description>
			<content:encoded><![CDATA[<form action="http://www.zixi.net/wp-pass.php" method="post">
<p>这是一篇受密码保护的文章。您需要提供访问密码：</p>
<p><label for="pwbox-24">密码：<br />
<input name="post_password" id="pwbox-24" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="提交" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://www.zixi.net/archives/24.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C#给自己的软件添加后门彩蛋</title>
		<link>http://www.zixi.net/archives/7.html</link>
		<comments>http://www.zixi.net/archives/7.html#comments</comments>
		<pubDate>Wed, 24 Feb 2010 07:22:18 +0000</pubDate>
		<dc:creator>Noah</dc:creator>
				<category><![CDATA[编程]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[后门]]></category>

		<guid isPermaLink="false">http://www.zixi.net/archives/7.html</guid>
		<description><![CDATA[软件彩蛋我想大家都应该听说过。经典的比如在Excel得某个单元隔里面OOXX就可以获得一个赛车游戏之类。这是一种软件彩蛋，纯属娱乐。但是更多的“彩蛋”被用作软件后门。比如我们提供给客户一个软件，通常是看不到某些调试用的窗口和工具的；当我们被要求给客户提供现场技术支持的时候，我们往往希望通过某种隐秘的手段来开启这些条使用的工具和窗口，这就是后门。这类后门中又以按键后门最为常见，下面我们就利用一个已有的第三方函数库Utilities.dll来构建一个后门系统。    
首先新建一个工程，然后完成对第三方库Utilities的引用。     
然后开打Form1的代码编辑窗口，在窗体类中添加一个 后门类KeyboardIncantationMonitor :    
private KeyboardIncantationMonitor m_KeyBackDoor = new KeyboardIncantationMonitor(); 
新建一个私有成员函数，并添加两个后门：   
private void AddBackDoor()   {    &#160;&#160;&#160; //! 第一个后门    &#160;&#160;&#160; do    &#160;&#160;&#160; {    &#160;&#160;&#160;&#160;&#160;&#160;&#160; //! 申请一个后门暗号    [...]]]></description>
			<content:encoded><![CDATA[<p>软件彩蛋我想大家都应该听说过。经典的比如在Excel得某个单元隔里面OOXX就可以获得一个赛车游戏之类。这是一种软件彩蛋，纯属娱乐。但是更多的“彩蛋”被用作软件后门。比如我们提供给客户一个软件，通常是看不到某些调试用的窗口和工具的；当我们被要求给客户提供现场技术支持的时候，我们往往希望通过某种隐秘的手段来开启这些条使用的工具和窗口，这就是后门。这类后门中又以按键后门最为常见，下面我们就利用一个已有的第三方函数库Utilities.dll来构建一个后门系统。    </p>
<p>首先新建一个工程，然后完成对第三方库Utilities的引用。     </p>
<p>然后开打Form1的代码编辑窗口，在窗体类中添加一个 后门类KeyboardIncantationMonitor :    </p>
<p>private KeyboardIncantationMonitor m_KeyBackDoor = new KeyboardIncantationMonitor(); </p>
<p>新建一个私有成员函数，并添加两个后门：   </p>
<p>private void AddBackDoor()   <br />{    <br />&#160;&#160;&#160; //! 第一个后门    <br />&#160;&#160;&#160; do    <br />&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; //! 申请一个后门暗号    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; KeyboardIncantationMonitor.KeysIncantation tInc = m_KeyBackDoor.NewIncantation() as KeyboardIncantationMonitor.KeysIncantation; </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; //! 初始化这个暗号为：依次按下 &lt;Esc&gt;HELLO&lt;Enter&gt;   <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; tInc.AddKey(Keys.Escape);    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; tInc.AddKey(Keys.H);    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; tInc.AddKey(Keys.E);    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; tInc.AddKey(Keys.L);    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; tInc.AddKey(Keys.L);    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; tInc.AddKey(Keys.O);    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; tInc.AddKey(Keys.Enter); </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; //! 对上暗号以后的处理程序   <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; tInc.IncantationCantillatedReport += new IncantationReport(BackdoorHandler_A); </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; //! 将这个暗号添加到后门监视器里面   <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; m_KeyBackDoor.AddIncantation(tInc);    <br />&#160;&#160;&#160; }    <br />&#160;&#160;&#160; while (false); </p>
<p>&#160;&#160;&#160; //! 第二个后门   <br />&#160;&#160;&#160; do    <br />&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; //! 申请一个后门暗号    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; KeyboardIncantationMonitor.KeysIncantation tInc = m_KeyBackDoor.NewIncantation() as KeyboardIncantationMonitor.KeysIncantation; </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; //! 初始化这个暗号为：依次按下 &lt;Esc&gt;Bye&lt;Enter&gt;   <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; tInc.AddKey(Keys.Escape);    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; tInc.AddKey(Keys.B);    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; tInc.AddKey(Keys.Y);    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; tInc.AddKey(Keys.E);    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; tInc.AddKey(Keys.Enter); </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; //! 对上暗号以后的处理程序   <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; tInc.IncantationCantillatedReport += new IncantationReport(BackdoorHandler_B); </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; //! 将这个暗号添加到后门监视器里面   <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; m_KeyBackDoor.AddIncantation(tInc);    <br />&#160;&#160;&#160; }    <br />&#160;&#160;&#160; while (false);    <br />} </p>
<p>//! 第一个后门的处理程序   <br />void BackdoorHandler_A(IIncantation tInc)    <br />{    <br />&#160;&#160;&#160; button1.Visible = true;    <br />} </p>
<p>//! 第二个后门的处理程序   <br />void BackdoorHandler_B(IIncantation tInc)    <br />{    <br />&#160;&#160;&#160; button1.Visible = false;    <br />}</p>
<p>在Form1的构造函数中增加对AddBackDoor方法的调用，这样我们就把后门加好了 </p>
<p>public Form1()    <br />{     <br />&#160;&#160;&#160;&#160; InitializeComponent(); </p>
<p>&#160;&#160;&#160;&#160; //! 加入后门    <br />&#160;&#160;&#160;&#160; AddBackDoor();     <br />} </p>
<p>在什么地方安插后门呢？依照个人喜好了，不过既然是一个按键后门，肯定要选择一个能接收KeyDown或者KeyUp事件的地方。    <br />比如我们在Form1上增加一个文本框，将其ReadOnly属性设置为True，并添加一段文字：“版权所有，翻版必究”。并在窗体上增加一个按钮，作为我们演示的对象：普通状况下，看不到这个按钮，开启后门以后，按钮的visible属性就变为true，我们就能看见了；我们也可以使用另外一个后门重新将按钮的visible属性设置为false，然后就可以交给客户了。^_^ </p>
<p>选中刚才所说的文本框控件，在Property窗口中选择Event，双击KeyDown，进入代码编辑窗口，并在KeyDown处理程序中加入对后门监视器的处理：也就是把按下的键告诉监视器： </p>
<p>private void textBox1_KeyDown(object sender, KeyEventArgs e)    <br />{     <br />&#160;&#160;&#160; //! 告诉后门监视器哪个键被按下了     <br />&#160;&#160;&#160; m_KeyBackDoor.Append(e.KeyCode);     <br />} </p>
<p>//在后门处理程序A中将Button的Visible属性设置为True;    <br />//! 第一个后门的处理程序     <br />void BackdoorHandler_A(IIncantation tInc)     <br />{     <br />&#160;&#160;&#160; button1.Visible = true;     <br />}     <br />//在后门处理程序B中将Button的Visible属性设置为False;     <br />//! 第二个后门的处理程序     <br />void BackdoorHandler_B(IIncantation tInc)     <br />{     <br />&#160;&#160;&#160; button1.Visible = false;     <br />} </p>
<p>最后，别忘记把Button的visible属性设置为False，否则怎么向我们的客户隐藏这个按钮呢？    <br />运行程序，果然看不到Button，他被隐藏了     <br />选中写有“翻版必究”的文本框，依次按下： &lt;Esc&gt; &lt;H&gt; &lt;E&gt; &lt;L&gt; &lt;L&gt; &lt;O&gt; &lt;Enter&gt; 键, button1出现了     <br />依次按下： &lt;Esc&gt; &lt;B&gt; &lt;Y&gt; &lt;E&gt; &lt;Enter&gt; 键, button1又消失了     <br />大功告成。     <br />无论任何时候你都可以从头开始输入后门，不必担心上次从什么地方开始的。当然，也不用考虑大小写。     <br />Have a good time. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.zixi.net/archives/7.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>二级域名共享主站cookies登陆，整合-asp</title>
		<link>http://www.zixi.net/archives/5.html</link>
		<comments>http://www.zixi.net/archives/5.html#comments</comments>
		<pubDate>Thu, 18 Feb 2010 17:38:16 +0000</pubDate>
		<dc:creator>Noah</dc:creator>
				<category><![CDATA[编程]]></category>
		<category><![CDATA[cookies]]></category>
		<category><![CDATA[整合]]></category>

		<guid isPermaLink="false">http://www.zixi.net/?p=5</guid>
		<description><![CDATA[如:现在有一个站: www.abc.com  子站:123.abc.com  希望从主域名登录,或者从子域登录可以同步,也就是说:只要从任何一个站下登录都可以不在在另一个站登录
网上介绍了很多方法,我都试过了,都不行,主要原因是:不能清除COOKIES,最后我没有办法了,就放弃不搞这个了,晚上看电影:死神来了,看着看着就想到:死神能安排人怎么死,那我当时想COOKIES能共享,就一定有办法清除COOKIES
现在的效果就是:可以在www.abc.com  子站:123.abc.com  任意那个站登录,都可以登录,并且COOKIES一站通用,不管在任何一个站退出,所有主站与子站都会被退出
方法:
在登录时加上:
Response.Cookies(&#8220;mycookies&#8221;)(&#8220;username&#8221;)=rs(&#8220;username&#8221;)
Response.Cookies(&#8220;mycookies&#8221;).path = &#8220;/&#8221;
Response.Cookies(&#8220;mycookies&#8221;).Domain=&#8221;abc.com&#8221;  &#8216;abc.com 前面加不加&#8221;.&#8221;都一样的 
Response.Cookies(&#8220;mycookies&#8221;).Secure=False
Response.Cookies(&#8220;mycookies&#8221;).Expires=dateadd(&#8220;h&#8221;,24,now())  &#8216;设不设看你自己,可以不用加这句,也可以
退出时:也要加上:
response.Cookies(&#8220;mycookies&#8221;).Expires =  NOW() -1
response.Cookies(&#8220;mycookies&#8221;)(&#8220;username&#8221;)=&#8221;"
Response.Cookies(&#8220;mycookies&#8221;).path = &#8220;/&#8221;
Response.Cookies(&#8220;mycookies&#8221;).Domain=&#8221;abc.com&#8221;
Response.Cookies(&#8220;mycookies&#8221;).Secure=False
注意问题:  在网站登录时,一定要注意,只要那个地方有COOKIES修改或更新,就一定要加上:
Response.Cookies(&#8220;mycookies&#8221;).path = &#8220;/&#8221;
Response.Cookies(&#8220;mycookies&#8221;).Domain=&#8221;abc.com&#8221;
Response.Cookies(&#8220;mycookies&#8221;).Secure=False
另一个注意的问题就是,在退出时:如果在子域名退出,一定要给每一个站里面加一个logout.asp退出文件
关于跨域名的,我没有试过,不知道行不行,改天,我有需要时在改一下
]]></description>
			<content:encoded><![CDATA[<p>如:现在有一个站: www.abc.com  子站:123.abc.com  希望从主域名登录,或者从子域登录可以同步,也就是说:只要从任何一个站下登录都可以不在在另一个站登录</p>
<p>网上介绍了很多方法,我都试过了,都不行,主要原因是:不能清除COOKIES,最后我没有办法了,就放弃不搞这个了,晚上看电影:死神来了,看着看着就想到:死神能安排人怎么死,那我当时想COOKIES能共享,就一定有办法清除COOKIES</p>
<p>现在的效果就是:可以在www.abc.com  子站:123.abc.com  任意那个站登录,都可以登录,并且COOKIES一站通用,不管在任何一个站退出,所有主站与子站都会被退出</p>
<p>方法:<br />
在登录时加上:<br />
Response.Cookies(&#8220;mycookies&#8221;)(&#8220;username&#8221;)=rs(&#8220;username&#8221;)<br />
Response.Cookies(&#8220;mycookies&#8221;).path = &#8220;/&#8221;<br />
Response.Cookies(&#8220;mycookies&#8221;).Domain=&#8221;abc.com&#8221;  &#8216;abc.com 前面加不加&#8221;.&#8221;都一样的 <br />
Response.Cookies(&#8220;mycookies&#8221;).Secure=False<br />
Response.Cookies(&#8220;mycookies&#8221;).Expires=dateadd(&#8220;h&#8221;,24,now())  &#8216;设不设看你自己,可以不用加这句,也可以</p>
<p>退出时:也要加上:</p>
<p>response.Cookies(&#8220;mycookies&#8221;).Expires =  NOW() -1<br />
response.Cookies(&#8220;mycookies&#8221;)(&#8220;username&#8221;)=&#8221;"<br />
Response.Cookies(&#8220;mycookies&#8221;).path = &#8220;/&#8221;<br />
Response.Cookies(&#8220;mycookies&#8221;).Domain=&#8221;abc.com&#8221;<br />
Response.Cookies(&#8220;mycookies&#8221;).Secure=False</p>
<p>注意问题:  在网站登录时,一定要注意,只要那个地方有COOKIES修改或更新,就一定要加上:</p>
<p>Response.Cookies(&#8220;mycookies&#8221;).path = &#8220;/&#8221;<br />
Response.Cookies(&#8220;mycookies&#8221;).Domain=&#8221;abc.com&#8221;<br />
Response.Cookies(&#8220;mycookies&#8221;).Secure=False</p>
<p>另一个注意的问题就是,在退出时:如果在子域名退出,一定要给每一个站里面加一个logout.asp退出文件<br />
关于跨域名的,我没有试过,不知道行不行,改天,我有需要时在改一下</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zixi.net/archives/5.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>虎年快乐！又一年。</title>
		<link>http://www.zixi.net/archives/1.html</link>
		<comments>http://www.zixi.net/archives/1.html#comments</comments>
		<pubDate>Tue, 16 Feb 2010 15:58:38 +0000</pubDate>
		<dc:creator>Noah</dc:creator>
				<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://www.zixi.net/?p=1</guid>
		<description><![CDATA[  
]]></description>
			<content:encoded><![CDATA[<p> <img src='http://www.zixi.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.zixi.net/archives/1.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
