<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="http://rss.egloos.com/style/blog.xsl" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
	<title>오리너구리</title>
	<link>http://platypus.egloos.com</link>
	<description>4D 직종에서 근무하는 人</description>
	<language>ko</language>
	<pubDate>Thu, 17 Sep 2009 05:32:51 GMT</pubDate>
	<generator>Egloos</generator>
	<image>
		<title>오리너구리</title>
		<url>http://md.egloos.com/img/samplelogo2.gif</url>
		<link>http://platypus.egloos.com</link>
		<width>80</width>
		<height>80</height>
		<description>4D 직종에서 근무하는 人</description>
	</image>
  	<item>
		<title><![CDATA[ 리버싱 5-5 ]]> </title>
		<link>http://platypus.egloos.com/5115618</link>
		<guid>http://platypus.egloos.com/5115618</guid>
		<description>
			<![CDATA[ 
  <p><br>5장에서 알아낸 Generic Table의 내부 데이터 구조체 <br></p><p>struct NODE<br>{<br>&nbsp;&nbsp;&nbsp; NODE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *ParentNode;<br>&nbsp;&nbsp;&nbsp; NODE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *RightChild;<br>&nbsp;&nbsp;&nbsp; NODE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *LeftChild;<br>&nbsp;&nbsp;&nbsp; LIST_ENTRY&nbsp;&nbsp;&nbsp; LLEntry;<br>&nbsp;&nbsp;&nbsp; ULONG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Unknown;<br>}<br></p><p>struct TABLE<br>{<br>&nbsp;&nbsp;&nbsp; NODE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *TopNode;<br>&nbsp;&nbsp;&nbsp; LIST_ENTRY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LLHead;<br>&nbsp;&nbsp;&nbsp; LIST_ENTRY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *LastElementFound;<br>&nbsp;&nbsp;&nbsp; ULONG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LastElementIndex;<br>&nbsp;&nbsp;&nbsp; ULONG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumberOfElements;<br>&nbsp;&nbsp;&nbsp; TABLE_COMPARE_ELEMENTS&nbsp;&nbsp; CompareElements;<br>&nbsp;&nbsp;&nbsp; TABLE_ALLOCATE_ELEMENT&nbsp;&nbsp; AllocateElement;<br>&nbsp;&nbsp;&nbsp; TABLE_FREE_ELEMENT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FreeElement;<br>&nbsp;&nbsp;&nbsp; ULONG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unknown;<br>};</p><p><br><br>Generic Table 콜백 함수에 대한 프로토타입<br></p><p>typedef int (NTAPI*TABLE_COMPARE_ELEMENTS) (TABLE *pTable, PVOID pElement1, PVOID pElement2);</p><p><br>typedef NODE * (NTAPI * TABLE_ALLOCATE_ELEMENT) ( TABLE *pTable, ULONG TotalElementSize );</p><p><br>typedef void (NTAPI * TABLE_FREE_ELEMENT) ( TABLE *pTable, PVOID Element );</p><p><br><br>기본적인 Generic Table API의 프로토타입<br></p><p>void NTAPI RtlInitializeGenericTable(<br>&nbsp;&nbsp;&nbsp; TABLE *pGenericTable,<br>&nbsp;&nbsp;&nbsp; TABLE_COMPARE_ELEMENTS ComapreElements, <br>&nbsp;&nbsp;&nbsp; TABLE_ALLOCATE_ELEMENT AllocateElement,<br>&nbsp;&nbsp;&nbsp; TABLE_FREE_ELEMENT FreeElement,<br>&nbsp;&nbsp;&nbsp; ULONG Unknown<br>);<br></p><p>ULONG NTAPI RtlNumberGenericTableElements( TABLE *pGenericTable );<br></p><p>BOOLEAN NTAPI RtlIsGenericTableEmpty( TABLE *pGenericTable );<br></p><p>PVOID NTAPI RtlGetElementGenericTable(<br>&nbsp;&nbsp;&nbsp; TABLE *pGenericTable,<br>&nbsp;&nbsp;&nbsp; ULONG ElementNumber<br>);<br></p><p>PVOID NTAPI RtlInsertElementGenericTable(<br>&nbsp;&nbsp;&nbsp; TABLE *pGenericTable,<br>&nbsp;&nbsp;&nbsp; PVOID ElementData,<br>&nbsp;&nbsp;&nbsp; ULONG DataLength,<br>&nbsp;&nbsp;&nbsp; OUT BOOLEAN *IsNewElement<br>);<br></p><p>PVOID NTAPI RtlLookupElementGenericTable(<br>&nbsp;&nbsp;&nbsp; TABLE *pGenericTable, <br>&nbsp;&nbsp;&nbsp; PVOID ElementToFind<br>);<br></p><p>BOOLEAN NTAPI RtlDeleteElementGenericTable(<br>&nbsp;&nbsp;&nbsp; TABLE *pGenericTable,<br>&nbsp;&nbsp;&nbsp; PVOID ElementToFind<br>);</p><p>&nbsp;</p>			 ]]> 
		</description>
		<category>그냥</category>

		<comments>http://platypus.egloos.com/5115618#comments</comments>
		<pubDate>Thu, 17 Sep 2009 05:32:51 GMT</pubDate>
		<dc:creator>오리너구리</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 리버싱 5-4 ]]> </title>
		<link>http://platypus.egloos.com/5115468</link>
		<guid>http://platypus.egloos.com/5115468</guid>
		<description>
			<![CDATA[ 
  <p>int RtlLocateNodeGenericTable( TABLE *pTable, PVOID ElementToLocate, NODE **NodeFound );<br></p><p>UNKNOWN RtlRealInsertElementWorker( TABLE *pTable, PVOID ElementData, ULONG ElementSize, BOOLEAN *pResult OPTIONAL, NODE *pNode, ULONG SearchResult );</p>			 ]]> 
		</description>
		<category>URLs</category>

		<comments>http://platypus.egloos.com/5115468#comments</comments>
		<pubDate>Thu, 17 Sep 2009 02:00:41 GMT</pubDate>
		<dc:creator>오리너구리</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 리버싱 5-3 ]]> </title>
		<link>http://platypus.egloos.com/5115451</link>
		<guid>http://platypus.egloos.com/5115451</guid>
		<description>
			<![CDATA[ 
  <p>RtlInsertElementGenericTable<br>&nbsp; RtlLocateNodeGenericTable<br>&nbsp; RtlRealInsertElementWorker</p><p><br>RtlLookupElementGenericTable</p><p><br>RtlDeleteElementGenericTable</p>			 ]]> 
		</description>
		<category>그냥</category>

		<comments>http://platypus.egloos.com/5115451#comments</comments>
		<pubDate>Thu, 17 Sep 2009 01:38:33 GMT</pubDate>
		<dc:creator>오리너구리</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 리버싱 5장 ]]> </title>
		<link>http://platypus.egloos.com/5109995</link>
		<guid>http://platypus.egloos.com/5109995</guid>
		<description>
			<![CDATA[ 
  <p>RtlGetElementGenericTable 함수의 소스코드 레벨 개선</p><p>PVOID stdcall MyRtlGetElementGenericTAble(TABLE *Table, ULONG ElementToGet)<br>{<br>&nbsp;ULONG TotalElementCount = Table-&gt;NumberOfElements;<br>&nbsp;LIST_ENTRY *ElementFound = Table-&gt;LastElementFound;<br>&nbsp;ULONG LastIndexFound = Table-&gt;LastElementIndex;<br>&nbsp;ULONG AdjustedElementToGet = ElementToGet+1;</p><p>&nbsp;if (ElementToGet == -1 || AdjustedElementToGet &gt; TotalElementCount)<br>&nbsp;&nbsp;return 0;</p><p>&nbsp;// 원하는 엔트리가 마지막으로 찾은 엔트리와 동일하면 반환한다.<br>&nbsp;if (AdjustedElementToGet != LastIndexFound)<br>&nbsp;{<br>&nbsp;&nbsp;// LastIndexFound와 같지 않으면 계속 진행<br>&nbsp;&nbsp;if (LastIndexFound &gt; AdjustedElementToGet)<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;// 원하는 엔트리가 첫 번째 엔트리와 LastElementIndex 사이에<br>&nbsp;&nbsp;&nbsp;// 존재하는 경우에 어느 방향으로 탐색해야 최대한 빨리 원하는<br>&nbsp;&nbsp;&nbsp;// 엔트리에 도달하는지 결정한다. <br>&nbsp;&nbsp;&nbsp;ULONG HalfWayFromLastFound = LastIndexFound / 2;<br>&nbsp;&nbsp;&nbsp;if (AdjustedElementToGet &gt; HalfwayFromLastFound)<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;// LastIndexFound부터 시작해서(원하는 엔트리가 LastIndexFound에 <br>&nbsp;&nbsp;&nbsp;&nbsp;// 더 가까이 존재하기 때문) 리스트의 시작부분으로 거꾸로 탐색한다.<br>&nbsp;&nbsp;&nbsp;&nbsp;ULONG ElementsToGo = LastIndexFound - AdjustedElementToGet;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;while( ElementsToGo-- )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ElementFound = ElementFound-&gt;Blink;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;// 리스트의 첫 번째 엔트리부터 시작해서 앞으로 탐색을 시작한다.<br>&nbsp;&nbsp;&nbsp;&nbsp;ULONG ElementsToGo = AdjustedElementToGet;<br>&nbsp;&nbsp;&nbsp;&nbsp;ElementFound = (LIST_ENTRY *)&amp;Table-&gt;LLHead;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;while(ElementsToGo--)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ElementFound = ElementFound-&gt;Flink;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;else<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;// 원하는 엔트리의 인덱스가 LastElementIndex보다 큰 경우에<br>&nbsp;&nbsp;&nbsp;// 원하는 엔트리가 리스트의 마지막 엔트리와 가까운지<br>&nbsp;&nbsp;&nbsp;// LastElementIndex와 가까운지 결정한다. <br>&nbsp;&nbsp;&nbsp;ULONG ElementsToLastFound = AdjustedElementToGet - LastIndexFound;<br>&nbsp;&nbsp;&nbsp;ULONG ElementsToEnd = TotalElementCouint - AdjustedElementToGet + 1;</p><p>&nbsp;&nbsp;&nbsp;if (ElementsToLastFound &lt;= ElementsToEnd)<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;// 리스트의 마지막 엔트리보다 LastElementIndex에 더 가까운 경우에<br>&nbsp;&nbsp;&nbsp;&nbsp;// LastElementIndex 부터 시작해서 앞으로 탐색한다.<br>&nbsp;&nbsp;&nbsp;&nbsp;while (ElementsToLastFound--)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ElementFound = ElementFound-&gt;Flink;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;// 리스트의 마지막 엔트리에 더 가까운 경우에<br>&nbsp;&nbsp;&nbsp;&nbsp;// 리스트의 헤드부터 시작해서 거꾸로 탐색한다. <br>&nbsp;&nbsp;&nbsp;&nbsp;ElementFound = (LIST_ENTRY *)&amp;Table-&gt;LLHead;<br>&nbsp;&nbsp;&nbsp;&nbsp;while (ElementsToEnd--)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ElementFound = ElementFound-&gt;Blink;<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}</p><p>&nbsp;&nbsp;// 다음 번 탐색을 위해서 찾은 엔트리를 저장해 놓는다. <br>&nbsp;&nbsp;Table-&gt;LastElementFound = ElementFound;<br>&nbsp;&nbsp;Table-&gt;LastElementIndex = AdJustedElementToGet;<br>&nbsp;}</p><p>&nbsp;// 엔트리의 헤드 부분이 아닌 데이터 부분을 반환한다. <br>&nbsp;// 지금까지는 TABLE 데이터 구조체의 모든 내용을 다 알아낸 것이 아니므로<br>&nbsp;// 단순히 ULONG 3개 크기만큼 증가시켰다.<br>&nbsp;return (PVOID) ((PULONG) ElementFound + 3);<br>}</p><p>&nbsp;</p>			 ]]> 
		</description>
		<category>그냥</category>

		<comments>http://platypus.egloos.com/5109995#comments</comments>
		<pubDate>Fri, 11 Sep 2009 11:07:48 GMT</pubDate>
		<dc:creator>오리너구리</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 리버싱 실전 5장 ]]> </title>
		<link>http://platypus.egloos.com/5109769</link>
		<guid>http://platypus.egloos.com/5109769</guid>
		<description>
			<![CDATA[ 
  RtlInitializeGenericTable<br>RtlNumberGenericTableElements<br>RtlIsGenericTableEmpty<br>RtlGetElementGenericTable<br><br>지금까지 알아낸 TABLE 데이터 구조체의 내용<br>struct TABLE<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;PVOID Unknown1;<br>&nbsp;&nbsp;&nbsp; LIST_ENTRY *LLHead;<br>&nbsp;&nbsp;&nbsp; LIST_ENTRY *SomeEntry;<br>&nbsp;&nbsp;&nbsp; LIST_ENTRY *LastElementFound;<br>&nbsp;&nbsp;&nbsp; ULONG LastElementIndex;<br>&nbsp;&nbsp;&nbsp; ULONG NumberOfElements;<br>&nbsp;&nbsp;&nbsp; ULONG Unknown1;<br>&nbsp;&nbsp;&nbsp; ULONG Unknown2;<br>&nbsp;&nbsp;&nbsp; ULONG Unknown3;<br>&nbsp;&nbsp;&nbsp; ULONG Unknown4;<br>}<br><br>			 ]]> 
		</description>
		<category>그냥</category>

		<comments>http://platypus.egloos.com/5109769#comments</comments>
		<pubDate>Fri, 11 Sep 2009 06:59:00 GMT</pubDate>
		<dc:creator>오리너구리</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 스트레칭 ]]> </title>
		<link>http://platypus.egloos.com/4979974</link>
		<guid>http://platypus.egloos.com/4979974</guid>
		<description>
			<![CDATA[ 
  http://media.daum.net/entertain/broadcast/view.html?cateid=1005&newsid=20090531155603580&fid=20090531155709444&lid=20090531155603580			 ]]> 
		</description>
		<category>URLs</category>

		<comments>http://platypus.egloos.com/4979974#comments</comments>
		<pubDate>Sun, 31 May 2009 07:01:38 GMT</pubDate>
		<dc:creator>오리너구리</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 구글 사전 색깔이... ]]> </title>
		<link>http://platypus.egloos.com/4978438</link>
		<guid>http://platypus.egloos.com/4978438</guid>
		<description>
			<![CDATA[ 
  배경이 검은 색으로 뜨네요?<br />
<br />
해킹 당했는지 도대체... <br />
<br />
구글 하면 하얀 바탕색인데... <br />
<br />
메인 말고 단어를 검색했을때 이상하네요.			 ]]> 
		</description>
		<category>그냥</category>

		<comments>http://platypus.egloos.com/4978438#comments</comments>
		<pubDate>Sat, 30 May 2009 06:36:09 GMT</pubDate>
		<dc:creator>오리너구리</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 한쪽 눈으론...  ]]> </title>
		<link>http://platypus.egloos.com/4955249</link>
		<guid>http://platypus.egloos.com/4955249</guid>
		<description>
			<![CDATA[ 
  한쪽 눈으론 행복의 눈물을, 한쪽 눈으론 불행의 눈물을... <br><br>탈출해야할 곳은 두 곳.			 ]]> 
		</description>
		<category>그냥</category>

		<comments>http://platypus.egloos.com/4955249#comments</comments>
		<pubDate>Sun, 17 May 2009 01:35:06 GMT</pubDate>
		<dc:creator>오리너구리</dc:creator>
	</item>
	<item>
		<title><![CDATA[ linux ]]> </title>
		<link>http://platypus.egloos.com/4945731</link>
		<guid>http://platypus.egloos.com/4945731</guid>
		<description>
			<![CDATA[ 
  # ifconfig eth0 down<br />
<br />
# ifconfig eth0 up<br />
<br />
-----------------------------------------------<br />
<br />
# vi /etc/sysconfig/network<br />
NETWORK=yes<br />
HOSTNAME="xxx.co.kr"<br />
GATEWAYDEV=<br />
GATEWAY=xxx.xxx.xxx.xxx<br />
<br />
# vi /etc/sysconfig/network-scripts/ifcfg-eth0<br />
...<br />
<br />
# /etc/rc.d/init.d/network restart<br />
<br />
----------------------------------------------<br />
<br />
# cp ifcfg-eth0 ifcfg-eth0:0<br />
<br />
# vi ifcfg-eth0:0<br />
장치명 및 ip만 변경<br />
<br />
# /etc/rc.d/init.d/network restart<br />
<br />
그리고 각각 ping<br />
<br />
----------------------------------------------<br />
<br />
/usr/sbin/netconfig<br />
<br />
----------------------------------------------<br />
<br />
호스트 네임 변경<br />
<br />
/etc/sysconfig/network -> 반영구적<br />
<br />
# hostname 호스트명 -> 반영구적<br />
<br />
---------------------------------<br />
<br />
man route <br />
-> add -net에 대해<br />
<br />
-------------------<br />
<br />
# netstat -nr <br />
# netstat -r<br />
<br />
# netstat -s<br />
<br />
# netstat -a<br />
<br />
CLOSING 유실<br />
<br />
# netstat -atp<br />
-> 뭐지<br />
<br />
--------------<br />
<br />
whois<br />
<br />
국내<br />
# whois -h whois.krnic.net xxx.xxx.xxx.xxx<br />
http://whois.nic.or.kr<br />
<br />
국외<br />
# whois -h whois.internic.net xxx.xxx.xxx.xxx<br />
http://www.networksolutions.com/en_US/whois/index.jhtml<br />
샘플 cnn.com<br />
<br />
			 ]]> 
		</description>
		<category>그냥</category>

		<comments>http://platypus.egloos.com/4945731#comments</comments>
		<pubDate>Mon, 11 May 2009 14:41:39 GMT</pubDate>
		<dc:creator>오리너구리</dc:creator>
	</item>
	<item>
		<title><![CDATA[ http://www.qaos.com/ ]]> </title>
		<link>http://platypus.egloos.com/4932001</link>
		<guid>http://platypus.egloos.com/4932001</guid>
		<description>
			<![CDATA[ 
  &nbsp;			 ]]> 
		</description>
		<category>URLs</category>

		<comments>http://platypus.egloos.com/4932001#comments</comments>
		<pubDate>Tue, 05 May 2009 07:18:29 GMT</pubDate>
		<dc:creator>오리너구리</dc:creator>
	</item>
</channel>
</rss>
