1588, 10/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 : 12731     Date : 2013/08/13 05:54



    
1408   [Æß] ÇØÅ·ÀÇ ¿ª»ç     dzhfldk
08/22 12730
1407   C¾ð¾î ÇÔ¼ö ¿ä¾à[5]     qkreoghks00
11/15 12715
1406   [Æß] ¾Ë°íÀÖÀ¸¸é À¯¿ëÇÑ µµ½º ¸í·É¾îµé.[2]     dzhfldk
08/22 12675
1405   ³×Æ®¿öÅ© °³³ä ÈÖ¾îÀâ±â 7[8]     ¼ÒÀ¯
09/16 12666
1404   c++ °­ÁÂ[7]     jhon55
08/12 12631
1403   D.Dolphin´Ô Áú¹®³»¿ë] LAN°ú WANÀÇ Â÷ÀÌÁ¡°ú VANÀÇ Á¤ÀÇ[5]     Ǫ¸¥ÇÏ´Ã
09/11 12573
1402   ³×Æ®¿öÅ© °³³ä ÈÖ¾îÀâ±â 6[10]     ¼ÒÀ¯
09/15 12573
1401   [ÀÚÀÛ]Æ÷·»½ÄÀ»À§ÇÑNTFS±¸Á¶[2]     havu
01/11 12550
1400   [Æß]TCP SYN_Flooding °ø°ÝÀÇ ¿øÀΰú ÇØ°áÃ¥[1]     Chris Ruiel
10/06 12534
1399   ¸®´ª½º ½Ã½ºÅÛ Á¤º¸ ¾Ë¾Æ³»±â[3]     bitcom01
08/11 12499
1398   ¸®´ª½º ±âº» ¸í·É[1]     jeongseok0
04/22 12446
1397   2¹ø°C°­ÁÂ~![9]     ±«µµjs
07/03 12440
1396   ¿ø°ÝÁ¾·á....[39]     bsjzzz
01/02 12431
1395   [µ¿°­]¹éÆ®·¢À» ÀÌ¿ëÇÑ Àç¹Õ´Â ³îÀ̵é![4]     cdpython
09/29 12427
1394   ÇØÄð level2 °­ÀÇ[10]     °áºù
07/07 12365
1393   À©µµ¿ìÁî XP SP1 WFP (Windows File Protection) ²ô±â[1]     x90c
03/05 12333
1392   [ÄÄÇ»ÅÍ Â¯µÇ´Â 100°¡Áö ÆÁ] ³×À̹ö¿¡¼­ ÆÛ¿È!![2]     turtle0216
04/12 12330
1391   [Æß] À©µµ¿ì XP ¼Óµµ Çâ»ó ÆÁ     dzhfldk
08/04 12325
1390   ÀÚ¹Ù ³×Æ®¿öÅ© ÇÁ·Î±×·¡¹Ö °­Àǹè¿ì½ÇºÐ[2]     netwow1
12/14 12280
1389   [Project] Àü±â,ÀüÀÚ »ó½Ä ¹× »þÇÁ½ÉÀ¸·Î Àü±¸¸¸µé±â. - 1[11]     ¾ÆÀÌÇÁ¸®µå
02/03 12277
[1][2][3][4][5][6][7][8][9] 10 ..[80]

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