Linux x86 run time process manipulation
[------------------------------------------------------------------------]
[-- Uninformed Research -- informative information for the uninformed. --]
[------------------------------------------------------------------------]
[-- Genre : Development --]
[-- Name : needle --]
[-- Desc : Linux x86 run-time process manipulation --]
[-- Url : http://www.uninformed.org/ --]
[-- Use : EVILNESS --]
[------------------------------------------------------------------------]
[-- Author : skape (mmiller@hick.org) --]
[-- Date : 01/19/2003 --]
[------------------------------------------------------------------------]
[-- Table of contents: --]
1) Overview
1.1) Topics
1.2) Techniques
1.3) Execution Diversion
2) Memory Allocation
3) Memory Management
4) Library Injection
5) Code Injection
5.1) Forking
5.2) Threading
5.3) Function Trampolines
6) Conclusion
7) References
[-- 1) Overview --]
So, you want to be evil and modify the image of an executing
process? Well, perhaps you've come to the right place. This
document deals strictly with some methodologies used to to
alter process images under Linux. If you're curious about how
to do something similar to the things listed in this document in
Windows, please read the ``References`` section.
[-- 1.1) Topics --]
The following concepts will be discussed in this document as they
relate t
Ïà¹ØÎĵµ£º
LinuxͼÐλ¯Àú³Ì
×¢£º´Ë¶ÎÎÄÕÂ×ÛºÏÁËÖÚ¶à×ÊÁÏ£¬Ö÷ÒªÒýÓøöÈ˵çÄÔµÄÎÄÕÂ
̸ÆðOPIE£¬¾Í²»Äܲ»Ì¸Qt£¬È»¶øÒª¶ÔQtÓиöÀ´ÁúÈ¥ÂöµÄÈÏʶ£¬ÐèÒª´ÓLinux
ͼÐλ¯ËµÆð¡£ÈÃÎÒÃǻعËÏÂLinuxͼÐλ¯½çÃæ·¢Õ¹µÄÀúÊ·¡£
Linuxʵ¼ÊÉÏÊÇÒÔUNIXΪģ°åµÄ£¬Ëü¼Ì ......
FTP>ascii: É趨ÒÔASCII·½Ê½´«ËÍÎļþ(ȱʡֵ)
FTP>bell: ÿÍê³ÉÒ»´ÎÎļþ´«ËÍ,±¨¾¯Ìáʾ.
FTP>binary: É趨ÒÔ¶þ½øÖÆ·½Ê½´«ËÍÎļþ.
FTP>bye: ÖÕÖ¹Ö÷»úFTP½ø³Ì,²¢Í˳öFTP¹ÜÀí·½Ê½.
FTP>case: µ±ÎªONʱ,ÓÃMGETÃüÁ±´µÄÎļþÃûµ½±¾µØ»úÆ÷ÖÐ,È«²¿×ª»»ÎªÐ¡Ð´×Öĸ.
FTP>cd: ͬUNIXµÄCDÃüÁî.
FTP>c ......
ͼ 1. Linux Îļþϵͳ×é¼þµÄÌåϵ½á¹¹
Óû§¿Õ¼ä°üº¬Ò»Ð©Ó¦ÓóÌÐò£¨ÀýÈ磬ÎļþϵͳµÄʹÓÃÕߣ©ºÍ GNU C ¿â£¨glibc£©£¬ËüÃÇΪÎļþϵͳµ÷Ó㨴ò¿ª¡¢¶ÁÈ¡¡¢Ð´ºÍ¹Ø±Õ£©ÌṩÓû§½Ó¿Ú¡£ÏµÍ³µ÷ÓýӿڵÄ×÷ÓþÍÏñÊǽ»»»Æ÷£¬Ëü½«ÏµÍ³µ÷ÓôÓÓû§¿Õ¼ä·¢Ë͵½Äں˿ռäÖеÄÊʵ±¶Ëµã¡£
VFS ÊǵײãÎļþϵͳµÄÖ÷Òª½Ó¿Ú¡£Õâ¸ö×é¼þµ¼³öÒ» ......
Ò»£ºLinux¶àÏ̱߳à³Ì£º
Ị̈߳¨thread£©¼¼ÊõÔçÔÚ60Äê´ú¾Í±»Ìá³ö£¬µ«ÕæÕýÓ¦ÓöàÏ̵߳½²Ù×÷ϵͳÖÐÈ¥£¬ÊÇÔÚ80Äê´úÖÐÆÚ£¬solarisÊÇÕâ·½ÃæµÄٮٮÕß¡£´«Í³µÄUnixÒ²Ö§³ÖÏ̵߳ĸÅÄµ«ÊÇÔÚÒ»¸ö½ø³Ì£¨process£©ÖÐÖ»ÔÊÐíÓÐÒ»¸öỊ̈߳¬ÕâÑù¶àÏ߳̾ÍÒâζ×Å¶à½ø³Ì¡£ÏÖÔÚ£¬¶àÏ̼߳¼ÊõÒѾ±»Ðí ......
linuxÃæÊÔ´óÈ«
Ò»£®Ìî¿ÕÌ⣺
1. ÔÚLinuxϵͳÖУ¬ÒÔ Îļþ ·½Ê½·ÃÎÊÉ豸 ¡£
2. LinuxÄÚºËÒýµ¼Ê±£¬´ÓÎļþ /etc/fstab ÖжÁȡҪ¼ÓÔØµÄÎļþϵͳ¡£
3. LinuxÎļþϵͳÖÐÿ¸öÎļþÓà i½Úµã À´±êʶ¡£
4. È«²¿´ÅÅÌ¿éÓÉËĸö²¿·Ö×é³É£¬·Ö±ðΪÒýµ¼¿é ¡¢×¨ÓÃ¿é ¡¢ i½Úµã±í¿é ºÍÊý¾Ý´æ´¢¿é¡£
5. Á´½Ó·ÖΪ£º Ó²Á´½Ó ºÍ ·ûºÅÁ´½Ó ¡ ......