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
Ïà¹ØÎĵµ£º
Ò». yumÊÇʲô
yum = Yellow dog Updater, Modified
Ö÷Òª¹¦ÄÜÊǸü·½±ãµÄÌí¼Ó/ɾ³ý/¸üÐÂRPM°ü.
ËüÄÜ×Ô¶¯½â¾ö°üµÄÒÐÀµÐÔÎÊÌâ.
ËüÄܱãÓÚ¹ÜÀí´óÁ¿ÏµÍ³µÄ¸üÐÂÎÊÌâ
¶þ. yumÌصã
*¿ÉÒÔͬʱÅäÖöà¸ö×ÊÔ´¿â(Repository)
*¼ò½àµÄÅäÖÃÎļþ(/etc/yum.conf
*×Ô¶¯½â¾öÔö¼Ó»òɾ³ýrpm°üʱÓöµ½µÄÒÐÀµÐÔÎÊÌâ
*ʹÓ÷½±ã
*± ......
zz linux yum°²×°mysqlºóҪעÒâµÄһЩ³õʼ»¯ÎÊÌâ
ÎҵķþÎñÆ÷×°µÄÊÇcentos 5.3,ÓÉÓÚ×ʼ°²×°×öÁËÏêϸµÄ¼Ç¼,ËùÒÔÕû¸ö¹ý³ÌÒ²ÊÇÇá³µÊì·,һ·yumÏÂÀ´£¬¾Í¸ã¶¨ÁË£¬È»ºó¾ÍÊÇÊý¾Ý¿â¡¢ÍøÕ¾µÄ°á¼Ò£¬ÇáËɸ㶨~
¿ÉÊǽñÌìÔÚ¼Ò¿´ÁËϹ«Ë¾µÄÍøÕ¾£¬ÎÊÌâ³öÀ´ÁË~ ÓÐЩ²úÆ·µã»÷²é¿´ÏêϸÐÅÏ¢µÄʱºò£¬ÕÒ²»µ½ÍøÒ³~¾¹ýÒ»·¬Ë¼¿¼£¬·¢ÏÖÊÇmysql ......
c++¿âÎļþÖеķûºÅµÄº¬Ò壺
ËùÓеķûºÅ¶¼ÊÇÒÔÏ»®Ïß¼ÓÉÏ´óд×ÖĸҲ¾ÍÊÇ"_Z"¿ªÍ·£¬¶ÔÓÚÔÚ ÀàÀï»òÕßÃüÃû¿Õ¼äÖеķûºÅ£¬ºóÃæ½ô¸ú"N"£¬È»ºóÊǸ÷¸öÃüÃû¿Õ¼äºÍÀàµÄÃû×Ö£¬Ã¿¸öÃû×ÖÇ°ÊÇÃû×Ö×Ö·û´®µÄ³¤¶È£¬ËæºóÊÇ´óд×Öĸ"E"£¬¶ÔÓÚÒ»¸öº¯Êý£¬ËûµÄ²ÎÊýÁÐ±í¶¼ÔÚEºóÃ棬 ......
¿âÓж¯Ì¬Ó뾲̬Á½ÖÖ£¬¶¯Ì¬Í¨³£ÓÃ.soΪºó׺£¬¾²Ì¬ÓÃ.aΪºó׺¡£ÀýÈ磺libhello.so libhello.a
ΪÁËÔÚͬһϵͳÖÐʹÓò»Í¬°æ±¾µÄ¿â£¬¿ÉÒÔÔÚ¿âÎļþÃûºó¼ÓÉÏ°æ±¾ºÅΪºó׺,ÀýÈ磺 libhello.so.1.0,ÓÉÓÚ³ÌÐòÁ¬½ÓĬÈÏÒÔ.soΪÎļþºó׺Ãû¡£ËùÒÔΪÁËʹÓÃÕâЩ¿â£¬Í¨³£Ê¹Óý¨Á¢·ûºÅÁ¬½ÓµÄ·½Ê½¡£
ln -s libhello.so.1.0 libhello.so.1 ......
¹ýÄê»ØÀ´£¬¹«Ë¾ÓÐЩ¸Ä¶¯£¬ÔÏȵÄWinceƽ̨»»³ÉLinuxÁË£¬×Ô¼ºµÄѧϰ¼Æ»®Ò²ÒªËæÖ®¸Ä±ä£¬ËäȻ֮ǰû½Ó´¥¹ýLinuxϵͳÏà¹ØµÄ֪ʶ£¬µ«Òª×¥×¡»ú»áŬÁ¦Ñ§Ï°¡£
Ìýѧ³¤Ëµ£¬ÒªÑø³ÉЩBlogµÄÏ°¹ß£¬°Ñ×Ô¼ºµÄѧϰÐĵüÇÏÂÀ´£¬·½±ãÔÚѧҪÊDzéÔÄ£¬ÓеÀÀí£¬ÏÖÔÚ¿ªÊ¼×ܽáÐĵÃ֪ʶ¡£
ÔÚ¹«Ë¾¿ª·¢ÓõÄÊÇѧУµÄSEP 4020mini¿ª·¢°å£¬
³õÆÚÊÇÊìϤ» ......