UNIX/LINUX ƽ̨¿ÉÖ´ÐÐÎļþ¸ñʽ·ÖÎö
±¾ÎÄÌÖÂÛÁË UNIX/LINUX ƽ̨ÏÂÈýÖÖÖ÷ÒªµÄ¿ÉÖ´ÐÐÎļþ¸ñʽ£ºa.out£¨assembler and link
editor output »ã±àÆ÷ºÍÁ´½Ó±à¼Æ÷µÄÊä³ö£©¡¢COFF£¨Common Object File Format
ͨÓöÔÏóÎļþ¸ñʽ£©¡¢ELF£¨Executable and Linking Format
¿ÉÖ´ÐкÍÁ´½Ó¸ñʽ£©¡£Ê×ÏÈÊǶԿÉÖ´ÐÐÎļþ¸ñʽµÄÒ»¸ö×ÛÊö£¬²¢Í¨¹ýÃèÊö ELF
Îļþ¼ÓÔØ¹ý³ÌÒÔ½Òʾ¿ÉÖ´ÐÐÎļþÄÚÈÝÓë¼ÓÔØÔËÐвÙ×÷Ö®¼äµÄ¹ØÏµ¡£ËæºóÒÀ´ËÌÖÂÛÁË´ËÈýÖÖÎļþ¸ñʽ£¬²¢×ÅÖØÌÖÂÛ ELF
ÎļþµÄ¶¯Ì¬Á¬½Ó»úÖÆ£¬Æä¼äÒ²´©²åÁ˶Ը÷ÖÖÎļþ¸ñʽÓÅȱµãµÄÆÀ¼Û¡£×îºó¶ÔÈýÖÖ¿ÉÖ´ÐÐÎļþ¸ñʽÓÐÒ»¸ö¼òµ¥×ܽᣬ²¢Ìá³ö×÷Õß¶Ô¿ÉÎļþ¸ñʽÆÀ¼ÛµÄһЩ¸ÐÏë¡£
¿ÉÖ´ÐÐÎļþ¸ñʽ×ÛÊö
Ïà
¶ÔÓÚÆäËüÎļþÀàÐÍ£¬¿ÉÖ´ÐÐÎļþ¿ÉÄÜÊÇÒ»¸ö²Ù×÷ϵͳÖÐ×îÖØÒªµÄÎļþÀàÐÍ£¬ÒòΪËüÃÇÊÇÍê³É²Ù×÷µÄÕæÕýÖ´ÐÐÕß¡£¿ÉÖ´ÐÐÎļþµÄ´óС¡¢ÔËÐÐËÙ¶È¡¢×ÊÔ´Õ¼ÓÃÇé¿öÒÔ¼°¿É
À©Õ¹ÐÔ¡¢¿ÉÒÆÖ²ÐÔµÈÓëÎļþ¸ñʽµÄ¶¨ÒåºÍÎļþ¼ÓÔØ¹ý³Ì½ôÃÜÏà¹Ø¡£Ñо¿¿ÉÖ´ÐÐÎļþµÄ¸ñʽ¶Ô±àд¸ßÐÔÄܳÌÐòºÍһЩºÚ¿Í¼¼ÊõµÄÔËÓö¼ÊǷdz£ÓÐÒâÒåµÄ¡£
²»
¹ÜºÎÖÖ¿ÉÖ´ÐÐÎļþ¸ñʽ£¬Ò»Ð©»ù±¾µÄÒªËØÊDZØÐëµÄ£¬ÏÔ¶øÒ×¼ûµÄ£¬ÎļþÖÐÓ¦°üº¬´úÂëºÍÊý¾Ý¡£ÒòΪÎļþ¿ÉÄÜÒýÓÃÍⲿÎļþ¶¨ÒåµÄ·ûºÅ£¨±äÁ¿ºÍº¯Êý£©£¬Òò´ËÖØ¶¨Î»ÐÅ
Ï¢ºÍ·ûºÅÐÅÏ¢Ò²ÊÇÐèÒªµÄ¡£Ò»Ð©¸¨ÖúÐÅÏ¢ÊÇ¿ÉÑ¡µÄ£¬Èçµ÷ÊÔÐÅÏ¢¡¢Ó²¼þÐÅÏ¢µÈ¡£»ù±¾ÉÏÈÎÒâÒ»ÖÖ¿ÉÖ´ÐÐÎļþ¸ñʽ¶¼Êǰ´Çø¼ä±£´æÉÏÊöÐÅÏ¢£¬³ÆÎª¶Î
£¨Segment£©»ò½Ú£¨Section£©¡£²»Í¬µÄÎļþ¸ñʽÖжκͽڵĺ¬Òå¿ÉÄÜÓÐÏ¸Î¢Çø±ð£¬µ«¸ù¾ÝÉÏÏÂÎĹØÏµ¿ÉÒÔºÜÇå³þµÄÀí½â£¬Õâ²»ÊǹؼüÎÊÌâ¡£×îºó£¬¿É
Ö´ÐÐÎļþͨ³£¶¼ÓÐÒ»¸öÎļþÍ·²¿ÒÔÃèÊö±¾ÎļþµÄ×ÜÌå½á¹¹¡£
Ïà¶Ô¿ÉÖ´ÐÐÎļþÓÐÈý¸öÖØÒªµÄ¸ÅÄ±àÒë
£¨compile£©¡¢Á¬½Ó£¨link£¬Ò²¿É³ÆÎªÁ´½Ó¡¢Áª½Ó£©¡¢¼ÓÔØ£¨load£©¡£Ô´³ÌÐòÎļþ±»±àÒë³ÉÄ¿±êÎļþ£¬¶à¸öÄ¿±êÎļþ±»Á¬½Ó³ÉÒ»¸ö×îÖյĿÉÖ´ÐÐÎÄ
¼þ£¬¿ÉÖ´ÐÐÎļþ±»¼ÓÔØµ½ÄÚ´æÖÐÔËÐС£ÒòΪ±¾ÎÄÖØµãÊÇÌÖÂÛ¿ÉÖ´ÐÐÎļþ¸ñʽ£¬Òò´Ë¼ÓÔØ¹ý³ÌÒ²Ïà¶ÔÖØµãÌÖÂÛ¡£ÏÂÃæÊÇLINUXƽ̨ÏÂELFÎļþ¼ÓÔØ¹ý³ÌµÄÒ»¸ö¼ò
µ¥ÃèÊö¡£
1£ºÄÚºËÊ×ÏȶÁELFÎļþµÄÍ·²¿£¬È»ºó¸ù¾ÝÍ·²¿µÄÊý¾Ýָʾ·Ö±ð¶ÁÈë¸÷ÖÖÊý¾Ý½á¹¹£¬ÕÒµ½±ê¼ÇΪ¿É¼ÓÔØ
£¨loadable£©µÄ¶Î£¬²¢µ÷Óú¯Êý mmap()°Ñ¶ÎÄÚÈݼÓÔØµ½ÄÚ´æÖС£ÔÚ¼ÓÔØÖ®Ç°£¬Äں˰Ѷεıê¼ÇÖ±½Ó´«µÝ¸ø
mmap()£¬¶ÎµÄ±ê¼Çָʾ¸Ã¶ÎÔÚÄÚ´æÖÐÊÇ·ñ¿É¶Á¡¢¿Éд£¬¿ÉÖ´ÐС£ÏÔÈ»£¬Îı¾¶ÎÊÇÖ»¶Á¿ÉÖ´ÐУ¬¶øÊý¾Ý¶ÎÊǿɶÁ¿Éд¡£ÕâÖÖ·½Ê½ÊÇÀûÓÃÁËÏÖ´ú²Ù×÷ϵͳºÍ´¦ÀíÆ÷
¶ÔÄÚ´æµÄ±£»¤¹¦ÄÜ¡£ÖøÃûµÄShellcode£¨ ²Î¿¼×ÊÁÏ 17
£©µÄ±àд¼¼ÇÉÔò
Ïà¹ØÎĵµ£º
#include <stdio.h>
#include <sys/select.h>
#include <termios.h>
#include <unistd.h>
#include <ctype.h>
#define STDIN 0
int main()
{
struct timeval tv = {0,0};
struct termios term , termbak;
& ......
´ó²¿·ÖÈËÓÃpingÃüÁîÖ»ÊÇ×÷Ϊ²é¿´ÁíÒ»¸öϵͳµÄÍøÂçÁ¬½ÓÊÇ·ñÕý³£µÄÒ»ÖÖ¼òµ¥·½·¨¡£ÔÚÕâÆªÎÄÕÂÖУ¬×÷Õß½«½éÉÜÈçºÎÓÃCÓïÑÔ±àдһ¸öÄ£ÄâpingÃüÁÄܵijÌÐò¡£
pingÃüÁîÊÇÓÃÀ´²é¿´ÍøÂçÉÏÁíÒ»¸öÖ÷»úϵͳµÄÍøÂçÁ¬½ÓÊÇ·ñÕý³£µÄÒ»¸ö¹¤¾ß¡£pingÃüÁîµÄ¹¤×÷ÔÀíÊÇ£ºÏòÍøÂçÉϵÄÁíÒ»¸öÖ÷»úϵͳ·¢ËÍICMP±¨ÎÄ£¬Èç¹ûÖ¸¶¨ÏµÍ³µÃµ½Á˱¨ÎÄ£ ......
×ªÔØ×Ô£ºhttp://fanqiang.chinaunix.net/a4/b8/20010811/0905001105.html
LinuxϵĶàÏ̱߳à³Ì
±¾Îijö×Ô:http://www.china-pub.com ×÷Õß: Ò¦¼Ì·æ (2001-08-11 09:05:00)
1
ÒýÑÔ
¡¡¡¡Ị̈߳¨thread£©¼¼ÊõÔçÔÚ60Äê´ú¾Í±»Ìá³ö£¬µ«ÕæÕýÓ¦ÓöàÏ̵߳½²Ù×÷ϵͳÖÐÈ¥£¬ÊÇÔÚ80Äê´úÖÐÆÚ£¬solarisÊÇÕâ·½ÃæµÄٮٮ ......
Linux tomcat¶ÔÓÚµçÄÔʹÓõÄÍæ¼ÒµÄ³£ÓÃÈí¼þ£¬È»ºóÎÒ¾Íѧϰ¼°ÉîÈëµÄÑо¿Linux tomcat£¬ÔÚÕâÀïºÍ´ó¼ÒÒ»Æð̽ÌÖLinux tomcatµÄʹÓ÷½·¨£¬Ï£Íû¶Ô´ó¼ÒÓÐÓᣲÙ×÷ϵͳ£ºRedhat Linux(Fedora Core 2)JDK: j2sdk-1_4_2_01-linux-i586.bin Linux tomcat:jakarta-Linux tomcat-5.0.19.tar.gz
°²×°²½Öè:
JDK:
1£©½«°²×°³ÌÐò¸´ÖƵ½ /u ......
linux/unixÏÂûÓÐWaitforMultipleObjects,ҲûÓÐÀàËÆµÄAPI,ͬÑù»ùÓÚBSD UnixÄں˵ÄMac OS ҲûÓÐÏàËÆ¹¦Äܵĺ¯Êý£¬ÕâÊÇ´ó¼Ò¶¼ÖªµÀ²¢ÇÒÓôÃÆµÄ¡£Èç¹ûÒª½«Ò»¸ö¶àÏ̳߳ÌÐò´ÓwindowsÏÂÒÆÖ²µ½Ê¹ÓÃPosix¶àÏ̵߳ÄϵͳÏ£¬×îºÃÏÈÔÚÐÄÖÐĬÄîÊ®±é“no have WaitforMultipleObjects... ...”È»ºóÖ»ÄÜ¿´ÄãµÄRPÈçºÎÄòÍÞ.
......