login
ȸ¿ø°¡ÀÔ IDPWã±â





¸ðÁýÁß°úÁ¤
¿¬°£°³°­ÀÏÁ¤




home > °úÁ¤¾È³» > ±âº»°úÁ¤
Win API & ½Ã½ºÅÛ ÇÁ·Î±×·¡¹Ö °úÁ¤



Windows OS ȯ°æ¿¡¼­ ½ÇÇàµÇ´Â ÇÁ·Î±×·¥À» ¸¸µé±â À§Çؼ­´Â ¾Æ·¡¿Í °°Àº ´Ù¾çÇÑ ¾ð¾î¿Í µµ±¸¸¦ »ç¿ëÇÒ¼ö ÀÖ½À´Ï´Ù. MFC, QT µîÀÇ C++Ŭ·¡½º ¶óÀ̺귯¸® C#, VB µîÀÇ .net platform ¾ð¾î µ¨ÆÄÀÌ, ÆÄ¿öºô´õ µîÀÇ 4GL Java ÇÏÁö¸¸, À§ÀÇ ¹æ¹ýµé Áß ¾î¶² °ÍÀ» »ç¿ëÇÏ´õ¶óµµ °á±¹Àº OS°¡ Á¦°øÇÏ´Â ±âº»ÇÔ¼ö(Windows API)¸¦ È£ÃâÇÏ°Ô µÇ¾î ÀÖ½À´Ï´Ù. Áï, À©µµ¿ì °³¹ßÀÇ °¡Àå ±âº»Àº Windows API ÀÔ´Ï´Ù.
Windows API´Â À©µµ¿ì ÇÁ·Î±×·¥À» ¸¸µé±â À§ÇØ Window OS¿¡ ÀÇÇØ Á¦°øµÇ´Â ÇÔ¼öÀÇ ÁýÇÕÀÔ´Ï´Ù. ¼öõ°³ÀÇ ÇÔ¼ö·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù. ÇÏÁö¸¸, À©µµ¿ì ÇÁ·Î±×·¥À» ÀßÇϱâ À§Çؼ­´Â ´Ü¼øÈ÷ ÇÔ¼ö¸¦ ¸¹ÀÌ ¾È´Ù°í µÇ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. À©µµ¿ì ¿î¿µÃ¼Á¦ÀÇ ¾ÆÅ°ÅØÃ³¿¡ ´ëÇÑ ±íÀº ÀÌÇØ°¡ ¹Ýµå½Ã ÇÊ¿ä ÇÕ´Ï´Ù.
º» °úÁ¤¿¡¼­´Â ´Ü¼øÇÑ ÇÔ¼ö »ç¿ë¹ýÀÌ ¾Æ´Ñ À©µµ¿ì ÇÁ·Î±×·¥ÀÇ ±Ùº»ÀûÀÎ ¿ø¸®¿¡ ´ëÇØ ÀÚ¼¼È÷ ÇнÀÇÕ´Ï´Ù. º» °úÁ¤À» ÅëÇØ ¾Æ·¡¿Í °°Àº ³»¿ëÀ» ¹è¿ì½Ç¼ö ÀÖ½À´Ï´Ù. À©µµ¿ì »ý¼º, ¸Þ½ÃÁö ó¸®, ¸®¼Ò½º °ü¸®, GDI, Dialog µî GUIÀÇ ±âº»¿ä¼Ò¿¡ ´ëÇØ ÇнÀÇÕ´Ï´Ù. À©µµ¿ì ½ÇÇàÆÄÀÏ Æ÷¸ËÀÎ PE Æ÷¸Ë°ú DLL¿¡ ´ëÇØ ÇнÀÇÕ´Ï´Ù. °¡»ó¸Þ¸ð¸®, °¡»óÁÖ¼Ò, ¸Þ¸ð¸® ¸Ê ÆÄÀÏ µî¿¡ ´ëÇØ ÇнÀÇÕ´Ï´Ù. ÇÁ·Î¼¼½º »ý¼º/ÆÄ±«/¿­°Å µîÀÇ ±â¹ý¿¡ ´ëÇØ ÇнÀÇÕ´Ï´Ù. ½º·¹µå, ½º·¹µå µ¿±âÈ­ ±â¹ý, ¹ÂÅØ½º ¼¼¸¶Æ÷¾î µîÀÇ µ¿±âÈ­ °´Ã¼¿¡ ´ëÇØ ÇнÀÇÕ´Ï´Ù. ¸Þ¼¼Áö QÀÇ ³»ºÎ ¿ø¸®¿¡ ´ëÇØ ÀÚ¼¼È÷ ÇнÀÇÕ´Ï´Ù. SEH,STH µî ±¸Á¶È­µÈ ¿¹¿Ü ó¸® ±â¹ý¿¡ ´ëÇØ ÇнÀÇÕ´Ï´Ù. ¸Þ¼¼Áö Hooking, API Hooking, DLL Injection µî¿¡ ´ëÇØ ÇнÀÇÕ´Ï´Ù. ntdll.dll, Native API, SDT Table µî À©µµ¿ì ¾ÆÅ°ÅØÃÄ¿¡ ´ëÇØ ÇнÀÇÕ´Ï´Ù. µð¹ö°ÅÀÇ ¿ø¸®¿Í Á¦ÀÛ ¹æ¹ýµµ °£´ÜÇÏ°Ô ¹è¿ì½Ç¼ö ÀÖ½À´Ï´Ù. ±íÀÌ ÀÖ´Â À©µµ¿ì ÇÁ·Î±×·¥À» ¹è¿ì½Ç¼ö ÀÖµµ·Ï ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù.

- ¾Ï±â°¡ ¾Æ´Ñ ¿ø¸®¸¦ ¹è¿ó´Ï´Ù.
APIÇÔ¼ö´Â ¼öõ °³ÀÇ ÇÔ¼ö¿Í ±¸Á¶Ã¼, »ó¼ö °ªµé·Î ÀÌ·ç¾îÁ® ÀÖ½À´Ï´Ù. ÀÌ ¸¹Àº ÇÔ¼ö¸¦ ÀüºÎ ¿Ü¿ö¼­ »ç¿ë ÇÒ ¼ö´Â ¾ø½À´Ï´Ù. ÇÊ¿ä ÇÒ ¶§ ½º½º·Î ã¾Æ¼­ Ȱ¿ëÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù. º» °úÁ¤Àº ´Ü¼øÇÑ ÇÔ¼ö »ç¿ë¹ýÀÌ ¾Æ´Ï¶ó À©µµ¿ì ÇÁ·Î±×·¥ÀÇ ¿ø¸®¿Í ±¸Á¶¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. UI ¿ä¼Ò·Î¼­ À©µµ¿ì°¡ ¾Æ´Ñ ±¸Á¶Ã¼·Î¼­ÀÇ Window GetMessage()ÀÇ ±â´ÉÀ» ¼³¸íÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó GetMessage()ÀÇ ³»ºÎ ¿ø¸®¿¡ ´ëÇØ ´Ù·ç°Ô µË´Ï´Ù.
- Windows ¿î¿µÃ¼Á¦ÀÇ Architecture¿¡ ´ëÇØ ÀÚ¼¼È÷ ¹è¿ó´Ï´Ù.
ÇÁ·Î¼¼½º ½º·¹µå µ¿±âÈ­ ¸Þ¸ð¸® °ü¸® IPC µîÀº À©µµ¿ì OS»Ó ¾Æ´Ï¶ó ´Ù¸¥ ´ëºÎºÐ OS¿¡¼­µµ Á¦°øÇÏ´Â ±â Windows ¿î¿µÃ¼Á¦ÀÇ Architecture¿¡ ´ëÇØ ÀÚ¼¼È÷ ¹è¿ó´Ï´Ù. ÇÁ·Î¼¼½º, ½º·¹µå, µ¿±âÈ­, °ü¸®, ´ÉÀÔ´Ï´Ù. Áï, Çö´ëÀÇ ´ëºÎºÐ ¿î¿µÃ¼Á¦ ¼­ºñ½º ÀÔ´Ï´Ù. µû¶ó¼­ ¹Ýµå½Ã Á¤È®ÇÑ °³³ä°ú Ȱ¿ë ±â¹ýÀ» ¾Ë¾Æ¾ß ÇÕ´Ï´Ù. ÇϳªÀÇ OS¿¡¼­ Á¤È®È÷ °³³äÀ» ÀÌÇØ ÇÑ´Ù¸é ´Ù¸¥ OS¿¡¼­µµ ½±°Ô Á¢±ÙÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ¶ÇÇÑ, ¸ðµç OSÀÇ °øÅëµÈ ¼­ºñ½º ¿Ü¿¡ À©µµ¿ì¶ó´Â OS¿¡¼­¸¸ »ç¿ëµÇ´Â ¸¹Àº ±â¹ý°ú ¿ä¼Ò°¡ ÀÖ½À´Ï´Ù. Message Hooking, Dll Injection, API Hooking, Debugging APIÀÇ »ç¿ë µî.. ÇÏÁö¸¸, ÀÌ·± Å×Å©´Ð Çϳª¸¦ ¾Æ´Â °ÍÀº Àç¹Ì´Â ÀÖÁö¸¸ ±×¸® Áß¿ä ÇÏÁö´Â ¾Ê½À´Ï´Ù. ÁøÂ¥ Áß¿äÇÑ °ÍÀº À©µµ¿ì OSÀÇ ÀüüÀûÀÎ Architecture¸¦ ¾Æ´Â °ÍÀÔ´Ï´Ù. Architecture¸¦ Á¤È®È÷ ÀÌÇØ Çϸé À§¿¡¼­ ¿­°ÅÇÑ ´ëºÎºÐÀÇ ±â¹ýÀº ´ç¿¬È÷ ½±°Ô ÀÌÇØ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ, À©µµ¿ì ½ÇÇàÆÄÀÏ Æ÷¸ËÀÎ PE¸¦ ¾Æ´Â °Íµµ ³Ê¹«³ª Áß¿äÇÕ´Ï´Ù.
- °£´ÜÇÑ ¹Ì´Ï ÇÁ·ÎÁ§Æ®¸¦ ÅëÇØ ¹è¿î ±â¼úÀ» Ȱ¿ëÇØ º¾´Ï´Ù.
óÀ½ À©µµ¿ì ÇÁ·Î±×·¥À» ¹è¿ì´Â ºÐµéÀº °©ÀÛ½º·¯¿î º¯È­¿¡ Àß ÀûÀÀ ÇÏÁö ¸øÇÕ´Ï´Ù. À̰æ¿ì´Â ¿ª½Ã ¼ö¸¹Àº ¿¹Á¦¿Í ÇÁ·ÎÁ§Æ®¸¦ ÅëÇØ ¸¹Àº ¿¬½ÀÀ» ÇÏ´Â ¹æ¹ýÀÌ °¡Àå ÁÁ½À´Ï´Ù. °£´ÜÇÑ ¹Ì´Ï ÇÁ·ÎÁ§Æ®¸¦ ÅëÇØ ¹è¿î ±â¼úÀ» Ȱ¿ëÇØ º¾´Ï´Ù. º» °úÁ¤¿¡¼­´Â °£´ÜÇÑ ¹Ì´Ï°ÔÀÓ, IDE ȯ°æ µµ±¸, TextEditorµîÀ» Á÷Á¢ ¸¸µé¾î º¸¸é¼­ API¿¡ ´ëÇÑ È°¿ë ´É·ÂÀ» Ű¿ó´Ï´Ù.

À©µµ¿ì ÇÁ·Î±×·¥À» ¹è¿ì°íÀÚ ÇÏ´Â °³¹ßÀÚ ¶Ç´Â Çлý

C¾ð¾î, ÀڷᱸÁ¶

ÆòÀÏ45½Ã°£/ÁÖ¸»42½Ã°£
32¸¸¿ø


±³ À° ³» ¿ë
[1ÁÖ]
PE Format, Virtual Memory, Virtual Address
Making Window
MessageÀÇ ÀÌÇØ
Q Message non-Q Message Mouse/Keyboard
Message, non Message, SendMessage Vs PostMessage
GDI Basic
DC, Invalidate Region, GDI Object, Drawing Mode, WM_PAINT ¡¦
[2ÁÖ]
Resource. Menu, Cursor
Bitmap
DDB VS DIB, BitBlt, Memory DC
Control
Basic Control, SubClassing, OwnerDraw
Common Controls
Dialog
[3ÁÖ]
Kernel Object, Process »ý¼º, ÆÄ±«, ¿­°Å, Process ID Vs Process Handle
Thread, Thread Synchronization,
Mutex, Semaphore, Event, Critical Section
Atomic Operation, Thread Pooling, Thread Model
Memory Management, Virtual Memory, Heap, Stack,
Memory Mapped File
[4ÁÖ]
File, Asynchronous IO, IPC
DLL, Explicit Linking, Implicit Linking
SEH, STH, internal Message Q
Native API ntdll DLL Zwxxx Ntxxx functions

¼­¿ï ±¸·Î±¸ ±¸·Îµ¿ 197-10 À̾ؾ¾º¥Ã³µå¸²Å¸¿ö2Â÷ 12Ãþ 1202, 1209È£ (ÁÖ)¿À¿£Á¦À̽ýºÅÛÁî,¿À¶óŬÀÚ¹Ù±³À°Çпø
´ëÇ¥ÀÚ¸í : ÀÌ Á¾ ö | »ç¾÷ÀÚ¹øÈ£ : 107-86-88432 | ÀüÈ­:070-7555-4760~1 | ÆÑ½º :02-837-4760
Åë½ÅÆÇ¸Å¾÷ ½Å°í¹øÈ£ : Á¦2009-¼­¿ï±¸·Î-0447È£
Copyright ¨Ï oraclejava.co.kr All rights reserved.