1581, 15/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 : 12102     Date : 2013/08/13 05:54



    
1301   ssh ¹®±¸ ¶ç¿ï·Á°í Çϴµ¥ ¹æ¹ýÁ» ¾Ë·ÁÁÖ¼¼¿ä [8]     xkdlrjxkdltm
10/06 7675
1300   BOF Á¤¸® ¹®¼­ (PDF)     Chris Ruiel
10/05 8155
1299   ÇØÄð¿¡¼­ °°ÀÌ °ÏºÎÇϽǺР±¸ÇÕ´Ï´Ù.?[1]     ne476
10/03 6930
1298   Á¤º¸º¸¾ÈÀü¹®°¡ µÇ´Âµ¥ ¼ø¼­[1]     phan_tom2
10/01 7617
1297   ¸®´ª½º     phan_tom2
10/01 7296
1296   C¾ð¾î Æ÷ÀÎÅÍ     phan_tom2
10/01 7178
1295   ½º´ÏÇΠ    phan_tom2
10/01 7494
1294   c¾ð¾î FOR¹®[1]     phan_tom2
10/01 7285
1293   ±×Àú ÁÁÀº ³»¿ëÀ̶ó¼­. ±×¸®°í °øºÎÇÏ´Â µ¥ÀÖ¾î±âº»À̶ó¼­. ²À. ½ºÅÃÀÇ ±¸Á¶ÀÔ´Ï´Ù. ±âÃÊÀÌÁö¸¸ Àú¿¡°Õ ÁÁÀº ³»¿ëÀ̾ú³×¿ä.     31337ÇØÄ¿½º
09/13 11406
1292   [ÀÚÀÛ] PE Æ÷¸Ë ±¸Á¶[1]     jwkzzangs
08/29 7261
1291   [ÀÚÀÛ]SSDT ÈÄÅ·À» ÀÌ¿ëÇÑ ÇÁ·Î¼¼½º Àº´Ð ±â¹ý ºÐ¼®[2]     jwkzzangs
08/29 10151
1290   °³ÀÎÁ¤º¸ ÀÌ¿ë³»¿ª ÅëÁöÁ¦µµ¶õ     HongMK900
08/13 13129
1289   ·¹Áö½ºÆ®¸® ¸®´ÙÀÌ·º¼Ç     HongMK900
08/13 7810
1288   ±¤°í Á¦ÈÞ ÇÁ·Î±×·¥      HongMK900
08/13 7503
1287   CRT Functions ¿¡ ´ëÇÑ ÀÌÇØ     HongMK900
08/13 7552
  GetProcAddress ·Î ¾Ë¾Æº¸´Â Å°¿öµå     HongMK900
08/13 12101
1285   [ÀÚÀÛ] CÀÌÇØÇϱâ 1Æí     dontknow
07/31 7972
1284   Æ÷ÀÎÆ®°¡ ÇÊ¿äÇؼ­¿ä ¤Ð[1]     31337ÇØÄ¿½º
07/29 8339
1283   [ÀÚÀÛ] ÇØÅ·Çϴµ¥ Linux°¡ ÇÊ¿äÇÑ°¡     dontknow
07/27 8206
1282   [ÀÚÀÛ]ÇØÅ·Çϴµ¥ C¾ð¾î´Â ÇÊ¿äÇÑ°¡     dontknow
07/23 20922
[1]..[11][12][13][14] 15 [16][17][18][19][20]..[80]

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