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

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&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 : 12892     Date : 2013/08/13 05:54



    
     [°øÁö] °­Á¸¦ ¿Ã¸®½Ç ¶§´Â ¸»¸Ó¸®¸¦ ´Þ¾ÆÁÖ¼¼¿ä^¤Ñ^ [29] ¸Û¸Û 02/27 19450
1595   [pwnable.kr] Shellshock[1]     ÇØÅ·ÀßÇÏ°í½Í´Ù
11/23 96
1594   ShellshockÀÇ ±âº» ¿ä¾à     ÇØÅ·ÀßÇÏ°í½Í´Ù
11/23 77
1593   [pwnable.kr] fd     ÇØÅ·ÀßÇÏ°í½Í´Ù
11/23 70
1592   VPNÀÌ ¿¬°áµÇ¾ú´Ù°¡ µµÁß¿¡ ²¨µµ À¥ ºê¶ó¿ìÀú»ó¿¡¼­ À¯ÁöµÇ´Â ÀÌÀ¯     ÇØÅ·ÀßÇÏ°í½Í´Ù
11/22 77
1591   ÇØÄ¿µéÀÌ ÇØÅ·½Ã »ç¿ëÇÏ´Â µð·ºÅ丮 °ø°£[1]     ÇØÅ·ÀßÇÏ°í½Í´Ù
11/22 115
1590   Keyboard Hooking -part2 - (Python3 ver)     ÇØÅ·ÀßÇÏ°í½Í´Ù
11/20 84
1589   [Windows API] Keyboard Hooking     ÇØÅ·ÀßÇÏ°í½Í´Ù
11/20 74
1588   [pwnable.kr] cmd1 °ø·«     ÇØÅ·ÀßÇÏ°í½Í´Ù
10/23 236
1587   netdiscover ÆÄÀ̽ãÀ¸·Î ±¸ÇöÇϱ⠠   ÇØÅ·ÀßÇÏ°í½Í´Ù
08/13 515
1586   ÆÄÀ̽ãÀ» ÀÌ¿ëÇÑ ½ÉÇà À¥ Å©·Ñ·¯     ÇØÅ·ÀßÇÏ°í½Í´Ù
08/13 407
1585   ÆÄÀ̽ã random¸ðµâÀ» ÀÌ¿ëÇÑ ¼ýÀÚ¸ÂÃ߱⠰ÔÀÓ ±¸Çö     ÇØÅ·ÀßÇÏ°í½Í´Ù
05/30 957
1584   ÆÄÀ̽ã äÆà ÇÁ·Î±×·¥ ±¸Çö     ÇØÅ·ÀßÇÏ°í½Í´Ù
05/28 847
1583   ÆÄÀ̽㠼ÒÄÏ ÇÁ·Î±×·¡¹ÖÀÇ ±âÃÊ     ÇØÅ·ÀßÇÏ°í½Í´Ù
05/26 987
1582   ¸®´ª½º À¥ ·Î±× ºÐ¼®     ÇØÅ·ÀßÇÏ°í½Í´Ù
05/20 675
1581   ¸®´ª½º/À©µµ¿ì º¸¾È Àåºñ ·Î±×     ÇØÅ·ÀßÇÏ°í½Í´Ù
05/20 826
1580   °í¼ö´ÔµéÀÇ µµ¿òÀ» ¹Þ°í ½Í½À´Ï´Ù     vbnm111
02/11 914
1579   ¸®´ª½º Ä¿³Î 2.6 ¹öÀü ÀÌÈÄÀÇ LKM     jdo
07/25 1430
1578   ½©ÄÚµå ¸ðÀ½     ÇØÅ·ÀßÇÏ°í½Í´Ù
01/15 2306
1577   Call by value VS Call by Reference     ÇØÅ·ÀßÇÏ°í½Í´Ù
01/15 1608
1 [2][3][4][5][6][7][8][9][10]..[80]

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