1586, 48/80 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   HongMK900
   GetProcAddress ·Î ¾Ë¾Æº¸´Â Å°¿öµå

http://www.hackerschool.org/HS_Boards/zboard.php?desc=desc&no=7899 [º¹»ç]



GetProcAddress ÀÇ Á¤ÀÇ

FARPROC WINAPI GetProcAddress(
  _In_  HMODULE hModule,
  _In_  LPCSTR lpProcName
);

FARPROC
Á¤ÀÇ: typedef int (FAR WINAPI *FARPROC)();

Á¤ÀÇ ºÎºÐÀº ÇÔ¼ö Æ÷ÀÎÅ͸¦ °øºÎ Çß´Ù¸é ¾Ë ¼ö ÀÖÀ» ¸¸ÇÑ ³»¿ëÀ̶ó°í »ý°¢µÈ´Ù.
int ÇüÀ» return ÇÏ°í ÇÔ¼ö È£Ãâ ±Ô¾àÀº __stdcall ÀÇ ÇüÅÂÀÎ ÇÔ¼ö¿¡ ´ëÇÑ Æ÷ÀÎÅÍ FARROC À̶ó´Â ÇÔ¼ö Æ÷ÀÎÅÍ Å¸ÀÔÀ» ¼±¾ð ÇÑ °ÍÀÌ´Ù.

GetProcAddress ¶ó´Â API ÇÔ¼ö´Â hModule ÀÌ °¡¸®Å°´Â ¸ðµâÀÇ Base Address¿¡ ÇØ´çÇÏ´Â lpProcName ÀÌ °¡¸®Å°´Â ÇÔ¼öÀÇ Æ÷ÀÎÅ͸¦ °¡Áö°í ¿Â´Ù. ÀÌ ¶§ ÁÖ¼Ò¸¦ ¾Ë¾Æ¿À´Â ÇÔ¼öÀÇ ÀÎÀÚ ÇüÅ°¡ ÀÏÁ¤Çϱ⠾ʱ⠶§¹®¿¡ FARPROCÀ» »ç¿ëÇÏ¿© ÀÎÀÚÀÇ À¯¿¬¼ºÀ» µÎ´Â °ÍÀÌ´Ù. FAR¿¡ ´ëÇÑ ³»¿ëÀº µÚ¿¡¼­ ¼³¸í Çϵµ·Ï ÇÏ°Ú´Ù.

**¸ðµâÀ̶õ**
ÇÁ·Î±×·¥ÀÇ ÀÏºÎ·Î½á ½±°Ô Ç¥ÇöÇϸé ÇÔ¼öµéÀÇ ÁýÇÕÀ» ÀǹÌÇÑ´Ù. ¿ì¸®°¡ ÈçÈ÷ º¼ ¼ö ÀÖ´Â ÇüÅ´ DLLÀ» º¼ ¼ö ÀÖ´Ù. ÇϳªÀÇ DLLÀº °ü·ÃµÈ ÇÔ¼öµéÀÇ ÁýÇÕÀ¸·Î ÀÌ·ç¾îÁ® ÀÖ°í, ÇöÀçÀÇ ¸¹Àº ÇÁ·Î±×·¥Àº ÇÊ¿äÇÒ ¶§ ÀÌ·¯ÇÑ DLL ¸ðµâÀ» ¿©·¯ °³ ¸Þ¸ð¸®·Î ·ÎµùÇÏ¿© µ¿ÀÛÇÏ°Ô µÈ´Ù.

http://www.terms.co.kr/module.htm

**HMODULE °ú HINSTANCE**
ÀÌ µÑÀº 16bit ¿î¿µÃ¼Á¦¿¡¼­ »ç¿ëµÇ´Ù°¡ ³²¾ÆÀÖ´Â °ÍÀ¸·Î 32bit ÀÎ ÇöÀç´Â ¸ðµâÀÇ Base Address¶ó´Â Àǹ̷ΠÅëÀÏµÇ¾î »ç¿ëµÈ´Ù.
16bit¿¡¼­ÀÇ °³³ä
16bit ü°è ¿¡¼­´Â ¸ðµç ÇÁ·Î¼¼½º°¡ ´ÜÀÏ ¸Þ¸ð¸®°ø°£À» °øÀ¯ÇßÀ¸¹Ç·Î µ¿ÀÏÇÑ ÇÁ·Î¼¼½º°¡ ¹Ýº¹Çؼ­ ¾²ÀÏ °æ¿ì(notepad.exe âÀ» ¿©·¯ °³ ¶ç¿ì´Â µî) »ç¿ëµÇ´Â ÄÚµå ÀÚü´Â µ¿ÀÏ ÇϹǷΠȿÀ²¼ºÀ» À§ÇØ Æ¯º°ÇÑ Á¶Ä¡°¡ ÇÊ¿äÇß´Ù.
À̶§ »ç¿ëµÈ °ÍÀÌ µÎ ÇüÅÂÀÇ º¯¼öÀÌ´Ù.
HMODULE Àº ÇÁ·Î¼¼½ºµéÀÌ °øÀ¯ÇÏ´Â Äڵ念¿ªÀ» °¡¸®Å°´Â ¿ëµµ
HINSTANCE ´Â ÇÁ·Î¼¼½ºµé °¢°¢¿¡ ´ëÇÑ µ¥ÀÌÅÍ ¿µ¿ªÀ» °¡¸®Å°´Â ¿ëµµ·Î »ç¿ëµÇ¾ú´Ù.

http://blog.naver.com/PostView.nhn?blogId=chioo79&logNo=120096218243


WINAPI¶õ?
Á¤ÀÇ: #define WINAPI      __stdcall

ÇÔ¼öÈ£Ãâ ±Ô¾à Áß Çϳª·Î callee ¿¡¼­ ½ºÅÃÀ» Á¤¸®ÇÏ´Â ÇüŸ¦ º¸À̸ç Win32 API¿¡¼­´Â ÀÌ ¹æ½ÄÀ» »ç¿ëÇؼ­ ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ÀÚ¼¼ÇÑ »çÇ×Àº [P06] ¸Þ¸ð¸®ÀÇ ÀÌÇØ -> Calling Convention ¿¡¼­ È®ÀÎÇϱ⠹ٶõ´Ù.

http://msdn.microsoft.com/en-us

FAR¶õ?
ÇöÀç ½ÇÇàÁßÀÎ °¡»ó¸Þ¸ð¸® °ø°£(ÆäÀÌÁö) ¿¡¼­ ¹Ù·Î Á¢±ÙÇÏÁö ¸ø ÇÏ°í ´Ù¸¥ °ø°£ (ÁÖ·Î dllÀÌ ·ÎµùµÈ °ø°£ÀÌ µÇ°Ú´Ù.) ¿¡ ÇØ´ç ÇÔ¼ö¿¡ ´ëÇÑ Äڵ尡 Á¸Àç ÇÒ °æ¿ì »ç¿ëÇÑ´Ù. À§¿¡¼­ ¿¹·Îµç GetProcAddress ÇÔ¼ö·Î ´Ù½Ã ¼³¸íÀ» Çغ¸ÀÚ.
º¸Åë ÇÔ¼ö¿¡ ´ëÇÑ ÂüÁ¶¸¦ ÇÏ·Á¸é ÇØ´ç DLL À» ¸Þ¸ð¸®·Î ·Îµù Çϰųª ¸ÊÇÎ ÈÄ °¡Áö°í ¿Â´Ù. LoadLibrary¸¦ »ç¿ëÇÏ¿© DLLÀ» ·Îµù ÇÏ°Ô µÇ¸é óÀ½ ·Îµù ¶§´Â DLLÀ» À§ÇÑ »õ·Î¿î °ø°£ÀÌ ¸Þ¸ð¸®¿¡ ¸¶·ÃµÇ¾î DLLÀÌ ·ÎµùµÇ°í ÇØ´ç ÇÁ·Î¼¼½ºÀÇ °¡»ó ¸Þ¸ð¸®(°¡»ó ¸Þ¸ð¸®ÀÇ ÆäÀÌÁö)·Î ¸ÊÇÎ µÈ´Ù. ±× ÈÄ µÎ ¹ø° ÂüÁ¶ºÎÅÍ´Â ÂüÁ¶ Ä«¿îÆ®¸¸ 1 Áõ°¡ÇÏ°í È£ÃâÇÑ ÇÁ·Î¼¼½ºÀÇ ÆäÀÌÁö¿¡´Â ÀÌ¹Ì ¿Ã¶ó¿ÍÀÖ´Â DLL°ø°£ÀÌ ¸ÊÇÎ µÇµµ·Ï ÇÏ´Â ¹æ½ÄÀÌ Àû¿ëµÈ´Ù. Kernel32.dll À̳ª User32.dll ó·³ ´ëºÎºÐÀÇ ÇÁ·Î¼¼½º°¡ »ç¿ëÇÏ´Â DLLÀº ÀÌ¹Ì ¸Þ¸ð¸® °ø°£ ¾îµò°¡¿¡ ·Îµù µÇ¾úÀ» °¡´É¼ºÀÌ Å©±â ¶§¹®¿¡ ÇöÀç ÇÁ·Î¼¼½ºÀÇ °¡»ó¸Þ¸ð¸® °ø°£¿¡¼­ ¹Ù·Î ÂüÁ¶¸¦ ÇÒ ¼ö°¡ ¾ø´Â °ÍÀÌ´Ù. ±×·¯ÇÑ °æ¿ì Àû¿ëÇϱâ À§ÇØ FAR À̶ó´Â Å°¿öµå°¡ »ç¿ëµÈ´Ù.

http://stackoverflow.com/questions/2774171/what-is-far-pascal

  Hit : 12202     Date : 2013/08/13 05:54



    
646   ³Ý¹ö½º¿¡´ëÇÏ¿©..[19]     hunay103
09/03 8060
645   Æäµµ¶ó ÄÚ¾î 5 ¸®´ª½º su¿Í su -ÀÇ Â÷ÀÌÁ¡[3]     hunay103
08/31 7737
  GetProcAddress ·Î ¾Ë¾Æº¸´Â Å°¿öµå     HongMK900
08/13 12201
643   °³ÀÎÁ¤º¸ ÀÌ¿ë³»¿ª ÅëÁöÁ¦µµ¶õ     HongMK900
08/13 13197
642   ·¹Áö½ºÆ®¸® ¸®´ÙÀÌ·º¼Ç     HongMK900
08/13 7879
641   ±¤°í Á¦ÈÞ ÇÁ·Î±×·¥      HongMK900
08/13 7569
640   CRT Functions ¿¡ ´ëÇÑ ÀÌÇØ     HongMK900
08/13 7622
639   TCP/IP °³¿ä.[7]     hkzine
11/29 7537
638   vi ¾ÆÁÖ Àá±ñ üÇèÇϱâ~^^;;[9]     hkzine
09/07 10439
637   TCP/IP¸¦ óÀ½ °øºÎÇϸ鼭.[2]     hkzine
11/29 6660
636   html¿Ípython°­ÀÇ[2]     hktaehyung
05/13 5583
635   ÇØÅ· ÇØÁֽǺР±¸ÇÕ´Ï´Ù     hitemple
06/12 9063
634   int ¿Í unsigned int ¿¡¼­...[4]     hipro
12/04 5650
633   Áö±Ý ÅÚ³ÝÀ¸·Î ftzÁ¢¼ÓÇߴµ¥ ÇѱÛÀÌ ±úÁö³×¿ä[4]     hip
05/23 6478
632   ¸®´ª½º¿¡¼­ password¸¦ ÀØ¾î ¹ö·ÈÀ» ¶§[5]     hiÂ𱸾ä
04/12 8466
631   UNIX SHADOW ÆÄÀÏ Ç®±â Ãʺ¸ÀÚ¿ë[1]     hiÂ𱸾ä
04/27 8516
630   [ÀÚÀÛ] Stack based Buffer Overflow[2]     HEx0D
02/12 5867
629   [ÀÚÀÛ] 1. Introduction to Python[3]     HEx0D
02/12 5782
628   [ÀÚÀÛ] GDB °­ÁÂ[4]     HeuristiC
10/26 10092
627   [¿Õ¹æ]³×Æ®¿öÅ© ±âÃÊÀÌ·Ð(3-1)[3]     heart153
04/16 8639
[1]..[41][42][43][44][45][46][47] 48 [49][50]..[80]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org