Linux¶ÑÕ»Òç³öµÄ¾µäÎÊÌâ
Linux¶ÑÕ»Òç³öµÄ¾µäÎÊÌâ
ÉùÃ÷£º±¾ÎÄÕÂÖ»ÊÇÎÒѧϰµÄÒ»¸ö¼Ç¼£¬ÓйØÒýÓõĵط½£¬ÎÒ¶¼»á¸ø³öÁ´½ÓµÄ¡£Èç¹ûÇÖ·¸×÷ÕßȨÒ棬Çë֪ͨÎÒ¼°Ê±É¾³ý¡£
¿´ÁËһϣ¬LinuxһվʽѧϰµÄº¯Êýµ÷ÓÃ
£¬¸ãµÄÎÒÈÈѪ·ÐÌÚ£¬Á¢ÂíÕÒÄãÒ»ÏÂÕâ·½ÃæµÄ×ÊÁÏ¿´¿´¡£ÖÕÓÚ¿´µ½ÁËÒ»¸öÓйØLinux¶ÑÕ»Òç³öµÄÎÄÕ£¬¾ÍÄÃÀ´ÊÔÊÔÊÖÁË¡£²Î¿¼
ÎÒµÄѧϰlinux±Ê¼Ç£¨Ò»£©¶ÑÕ»
ÏÂÃæÀ´ÌùÒ»ÏÂÎҵĴúÂë°É¡£»ù±¾ºÍÉÏƪÎÄÕÂÒ»ÑùµÄ¡£
#include<stdio.h>
void attack()
{
int attack=1;
printf("hi,attacked!\n");
}
void yaya()
{
int yaya=1;
printf("hi,yaya is my wife\n");
}
void foo()
{
int c_foo=1;
*(& c_foo +2)=(int)attack;
}
void main(){
int a_main=1;
i=(int)yaya;
foo();
}
BTW£¬ËµÃ÷һϣ¬ÎÒµÄƽ̨ÊÇredhat 9£¬2.4µÄºË¡£
Ö±½ÓÉÏͼ°É£º
ÏÈÀ´¿´Ò»Ï¸÷¸öº¯ÊýµÄ·´»ã±à£º
mainº¯ÊýµÄ£º
yayaº¯ÊýµÄ£º
attackº¯ÊýµÄ£º
fooº¯ÊýµÄŶ£º
ºÃÁË£¬ÏÂÃæһһϸ˵ÁË£º
º¯Êýmain£º
*(& a_main -1)=(int)yaya;ÕâÌõÓï¾ä·Ç³£¹Ø¼ü£¬ÒòΪ
(& a_main -1)µØÖ·»»³ÉÁËyayaº¯ÊýµÄÈë¿ÚµØÖ·£¬ÄÇô
(& a_main -1)ÔÀ´µÄÊÇʲôÄØ£¿
Ç뿴ͼ£º
ÎÒÃÇÖªµÀ£¬GCCÖ¸Õ붼ÊÇ4×Ö½Ú¶ÔÆëµÄ£¬ÄÇô
(& a_main -1)¾ÍÊǵØÖ·0xbfffe2d0£¬ÀïÃæʲôҲûÓС£Ö»ÊÇGCCΪÁË16×Ö½Ú¶ÔÆëÔÔò¶ø¿Õ×ŵġ£¾ßÌå¿É¼û£ºX86»ã±àÓïÑÔѧϰÊÖ¼Ç
˳±ã˵һÏ£¬
ÔÚÖ´ÐгÌÐòʱ£¬²Ù×÷ϵͳΪ½ø³Ì·ÖÅäÒ»¿éÕ»¿Õ¼äÀ´±£´æº¯ÊýÕ»Ö¡£¬ÔÚÿ¸öº¯ÊýµÄÕ»Ö¡ÖУ¬ebp
Ö¸ÏòÕ»µ×£¬¶øesp
Ö¸ÏòÕ»¶¥£¬ÔÚx86ƽ̨ÉÏÕâ¸öÕ»ÊǴӸߵØÖ·ÏòµÍµØÖ·Ôö³¤µÄ£¬ÎÒÃÇÖªµÀÿ´Îµ÷ÓÃÒ»¸öº¯Êý¶¼Òª·ÖÅäÒ»¸öÕ»Ö¡À´±£´æ²ÎÊýºÍ¾Ö²¿±äÁ¿¡££¨
LinuxһվʽѧϰµÄº¯Êýµ÷ÓÃ
£©
ÏÂÃæÖ´ÐÐfooº¯Êý¡£
fooº¯Êý
£º
¹Ø¼üÔÚ*(& c_foo
+2)=(int)attack;
ËüµÄÒâ˼¾ÍÊÇ
±¾
À´0xbfffe2cc´æ·ÅµÄÊÇmain·µ»ØµÄµØÖ·0x0804839f£¬µ«ÊǸÄΪattackº¯ÊýµÄÈë¿ÚµØÖ·0x08048328¡£
ÕâÑù¾Í»áµ¼ÖÂmainº¯Êý·µ»Øʱ£¬Åܵ½attackº¯Êý¼ÌÐøÖ´ÐС£
ºÃÁË£¬fooº¯ÊýÖ´ÐÐÍêÁË£¬ESPÒÀ´Î³öÕ»£¬¾Íµ½ÁË
attackº¯ÊýµÄÈë¿ÚµØÖ·0x08048328¡£
¾Íattackº¯ÊýÖ´ÐÐÍê±ÏÒԺ󣬴ËʱµÄESP¾ÍΪ
µØÖ·0xbfffe2d0£¬»ØÏëһϣ¬Õâ
µØÖ·0xbfffe2d0ÀïÃæÊÇʲô£¿
¶ÔÁË£¬¾ÍÊÇyayaº¯ÊýµÄÈë¿ÚµØÖ·¡£
ÄÇô½ÓÏÂÀ´£¬¾ÍÊÇÖ´ÐÐyayaº¯ÊýÁË¡£
ÄÇôyayaº¯ÊýÖ´ÐÐÍêÒԺ󣬽ÓÏÂÀ´£¬¸ÃÔõô°ìô£¿
ÓÉÓÚmainº¯Êý¶ªÊ§ÁË·µ»ØµØÖ·£¬µ¼ÖÂmainº¯ÊýÎÞ·¨·µ»Ø
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâƪ·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´ËתÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨Õâƪ²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
1¡¢LinuxÎļþϵͳÊÇ´Ó/¿ªÊ¼µÄ£»
ÔÚLinux²Ù×÷ϵͳµÄÎļþ¹ÜÀíÖУ¬ÃüÁîÐÐģʽ£¨ÔÚ¿ØÖÆ̨»òÖÕ¶ËÏ£©µÄÎļþ»òĿ¼¹ÜÀí£¬ÒªÉ漰·¾¶ÕâÒ»¸ÅÄÕâÊÇLinuxÃüÁîÐвÙ×÷µÄ×î»ù´¡µÄ»ù´¡¡£Èç¹ûÎÒÃÇÁ˽âÁË·¾¶µÄ¸ÅÄ¾Í¿ÉÒÔËæÐÄËùÓûµÄ½øÈëÈκÎĿ¼£¬½øÐÐÎÒÃÇÏëµÄ¹¤×÷¡£
Linux Îļþϵͳ£¬ÊÇÒ»¸ö³ÊÊ÷Ðνṹ£¬ÊÇ´Ó/×öΪÈë¿Ú£¬/£¨Ò²±»³ÆΪ¸ ......
linuxÇý¶¯ ×ÔÐýËøµÄÔËÓÃ
//hello.c
#define __NO_VERSION__
#include <linux/module.h>
#include <linux/config.h>
#include <linux/version.h>
#include <asm/uaccess.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#inc ......
Ò»¡¢°²×°ºÍÆô¶¯
1.¿ÉÓÃÒÔÏÂÃüÁî²éѯÊÇ·ñÒÑ°²×°£º
³ÌÐò´úÂë
#rpm -qa|grep vsftpd
vsftpd-2.0.5-10.e15
Èç¹û³öÏÖÒÔÉϽá¹û£¬±íÃ÷ÒÑ°²×°¡£Èç¹ûδ°²×°£¬¿ÉÔÚRed Hat Enterprise Linux 5°²×°¹âÅÌÖÐÕÒµ½°²×°°ü£¬Ê¹ÓÃÃüÁ
³ÌÐò´úÂë
#rpm -ivh vsftp-2.0.5-10.e15.i386.rpm
2.Æô¶¯ºÍ¹Ø±Õ
Æô¶¯ÃüÁîΪ£º
³ÌÐò´ú ......