Swapping_And_List_PIDs_From_PD/0000755000000000000000000000000010667041163015352 5ustar rootrootSwapping_And_List_PIDs_From_PD/poc0000775000000000000000000001366610667020256016077 0ustar rootrootELFƒ4č 4 ( 44€4€444€€¬¬¬¬”¬”ĄĄ”Ą”ČČHHH Qåtd€e(/lib/ld-linux.so.2GNU .jCš4¤„  _Jv_RegisterClasses__gmon_start__libc.so.6sleep_IO_stdin_used__libc_start_mainGLIBC_2.0$ii Uˆ•˜•œ• •U‰åƒģčyčŠč›ÉĆ’5•’%”•’%˜•héą’’’’%œ•h銒’’’% •h饒’’1ķ^‰įƒäšPTRhЃhąƒQVh¤ƒč·’’’ōU‰åSƒģč[Ć\‹“ü’’’…Ņt袒’’X[ÉƐU‰åƒģ€=°•t ėƒĄ£¬•’Ņ”¬•‹…Ņuėʰ•ÉƐU‰åƒģ”¼”…Ątø…Ąt Ē$¼”’ŠÉƐL$ƒäš’qüU‰åQƒģĒ$dč’’’ėņU‰å]ƍt&¼'U‰åWVSč\Ć”ƒģč§ž’’ƒ ’’’“ ’’’)ŠĮų‰Ešt01’‰Ö¶¼'‹EG‰D$‹E ‰D$‹E‰$’ƒĘ9}šuįƒÄ[^_]Ƌ$ƐU‰åSƒģ”¬”ƒų’t1Ū¶¼'’Š‹ƒØ”ƒėƒų’ušX[]ĆU‰åSƒģč[Ćü蓞’’Y[ÉĆ’’’’’’’’$  ‚ „„hō” _ Œ•ˆ‚€‚ž’’o`‚’’’oš’’oT‚Ą”΂ނ”GCC: (GNU) 4.1.1 (Gentoo 4.1.1-r3)GCC: (GNU) 4.1.1 (Gentoo 4.1.1-r3)GCC: (GNU) 4.1.1 (Gentoo 4.1.1-r3)GCC: (GNU) 4.1.1 (Gentoo 4.1.1-r3)GCC: (GNU) 4.1.1 (Gentoo 4.1.1-r3)GCC: (GNU) 4.1.1 (Gentoo 4.1.1-r3)GCC: (GNU) 4.1.1 (Gentoo 4.1.1-r3),„„ ‚ $ƒ&$°œ„µ‚¬/var/tmp/portage/sys-libs/glibc-2.5/work/build-default-i686-pc-linux-gnu-nptl/csu/crti.S/var/tmp/portage/sys-libs/glibc-2.5/work/glibc-2.5/csuGNU AS 2.16.1€¬ŗ/var/tmp/portage/sys-libs/glibc-2.5/work/build-default-i686-pc-linux-gnu-nptl/csu/crtn.S/var/tmp/portage/sys-libs/glibc-2.5/work/glibc-2.5/csuGNU AS 2.16.1€%%¶lū /var/tmp/portage/sys-libs/glibc-2.5/work/build-default-i686-pc-linux-gnu-nptl/csucrti.S„„3,:W ‚#,:$ƒ ,:Wdd,,W”lū /var/tmp/portage/sys-libs/glibc-2.5/work/build-default-i686-pc-linux-gnu-nptl/csucrtn.Sœ„µ‚ .symtab.strtab.shstrtab.interp.note.ABI-tag.hash.dynsym.dynstr.gnu.version.gnu.version_r.rel.dyn.rel.plt.init.text.fini.rodata.eh_frame.ctors.dtors.jcr.dynamic.got.got.plt.data.bss.comment.debug_aranges.debug_info.debug_abbrev.debug_line44#HH 1hh,7 ””`?ōō_G’’’oT‚T Tž’’o`‚` c €‚€l ˆ‚ˆ u ‚ pø‚ø@{ƒ„„„„‡ „ ؄Ø™¬”¬ “”“§¼”¼¬Ą”ĄČµˆ•ˆŗŒ•ŒĆ¤•¤ ɰ•°Ī°ü×°Xę`ņh ˆRŚ čą7 Čī4Hh”ōT‚`‚€‚ˆ‚  ‚ ø‚ ƒ „„  „؄¬”“”¼”Ą”ˆ•Œ•¤•°•ń’ ń’(ń’/ń’:ń’“$ƒ £ń’®¬”¼“”ʼ”×°•ꬕķPƒ €ƒ £ń’°”ø”)؄7¼”CP„ /ń’Yń’²ń’øĄ”Į „ČؕÕЃ å ‚ ėƒ ņjąƒg °•ń’¤ƒ $šA¬”ń’R¤• ]„„ c°•ń’jG„ Œ•—“•ń’œ¬”ń’Ƥ„¾¤•Ė ß abi-note.S../sysdeps/i386/elf/start.Sinit.cinitfini.c/var/tmp/portage/sys-libs/glibc-2.5/work/build-default-i686-pc-linux-gnu-nptl/csu/crti.Scall_gmon_startcrtstuff.c__CTOR_LIST____DTOR_LIST____JCR_LIST__completed.5691p.5689__do_global_dtors_auxframe_dummy__CTOR_END____DTOR_END____FRAME_END____JCR_END____do_global_ctors_aux/var/tmp/portage/sys-libs/glibc-2.5/work/build-default-i686-pc-linux-gnu-nptl/csu/crtn.Spoc.c_DYNAMIC_fp_hw__dso_handle__libc_csu_fini_init_startsleep@@GLIBC_2.0__libc_csu_init__bss_startmain__libc_start_main@@GLIBC_2.0__init_array_enddata_start_fini_edata__i686.get_pc_thunk.bx_GLOBAL_OFFSET_TABLE__end__init_array_start_IO_stdin_used__data_start_Jv_RegisterClasses__gmon_start__Swapping_And_List_PIDs_From_PD/Swapper.h0000775000000000000000000000066110667033652017160 0ustar rootroot/* Proyecto : EnyeLKM priv8 version Modulo : Swapper DEMO (Fistconference Version) Autor : David Reguera Garcia - Update : 28 Noviembre 2006 */ #include #include #include #include #include MODULE_LICENSE( "Dual BSD/GPL" ); MODULE_AUTHOR( "David Reguera GarcĆia" ); MODULE_DESCRIPTION( "Swapper DEMO" ); /* EOF */ Swapping_And_List_PIDs_From_PD/Swapper.c0000775000000000000000000000235410667035105017147 0ustar rootroot/* Proyecto : EnyeLKM priv8 version Modulo : Swapper DEMO (Fistconference Version) Autor : David Reguera Garcia - Update : 28 Noviembre 2006 */ #include "Swapper.h" static int pid_to_find = 0; static int pid_to_change = 0; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,47) MODULE_PARM( pid_to_find , "i" ); MODULE_PARM( pid_to_change , "i" ); #else module_param( pid_to_find , int, S_IRUGO ); module_param( pid_to_change , int, S_IRUGO ); #endif int init_module( void ) { struct task_struct * actual_task; if ( ( pid_to_find == 0 ) || ( pid_to_change == 0 ) ) { printk( KERN_INFO "Swapper Syntax: pid_to_find=pid pid_to_change=pid.\n" ); return -1; } for_each_process( actual_task ) { if ( actual_task->pid == pid_to_find ) { printk( KERN_INFO "Found process: %d.\n", actual_task->pid ); actual_task->pid = pid_to_change; printk( KERN_INFO "Change to: %d.\n", actual_task->pid ); return 0; } } printk( KERN_INFO "Not found process: %d.\n", pid_to_find ); return -1; } void cleanup_module( void ) { printk( KERN_INFO "Swapper descargado\n" ); } /* EOF */ Swapping_And_List_PIDs_From_PD/poc.c0000775000000000000000000000007010667020247016301 0ustar rootrootint main( void ) { while(1) sleep( 100 ); return 0; } Swapping_And_List_PIDs_From_PD/Swapper.sh0000775000000000000000000000016010667040764017337 0ustar rootroot#!/bin/bash Swapper=./Swapper.ko echo "" > $log_message isnmod $Swapper $* rmmod $Swapper cat $log_message Swapping_And_List_PIDs_From_PD/Makefile0000775000000000000000000000031710667041005017013 0ustar rootrootobj-m +=Swapper.o obj-m +=ProcListFromPD.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean rm -rf ./Module.symvers Swapping_And_List_PIDs_From_PD/ProcListFromPD.sh0000775000000000000000000000024710667037326020533 0ustar rootroot#!/bin/bash ProcListFromPD=./ProcListFromPD.ko log_message=/var/log/messages echo "" > $log_message insmod $ProcListFromPD rmmod $ProcListFromPD cat $log_message Swapping_And_List_PIDs_From_PD/ProcListFromPD.h0000775000000000000000000000062410667036041020340 0ustar rootroot/* Proyecto : EnyeLKM priv8 version Modulo : ProcListFromPD (Fistconference Version) Autor : David Reguera Garcia - Update : 28 Noviembre 2006 */ #include #include #include #include MODULE_LICENSE( "Dual BSD/GPL" ); MODULE_AUTHOR( "David Reguera GarcĆia" ); MODULE_DESCRIPTION( "Swapper DEMO" ); /* EOF */ Swapping_And_List_PIDs_From_PD/ProcListFromPD.c0000775000000000000000000000075110667036320020334 0ustar rootroot#include "ProcListFromPD.h" int init_module( void ) { struct task_struct * actual_task; for_each_process( actual_task ) { printk ( KERN_INFO " Name: %s \n" " PID: %d \n" "\n" , actual_task->comm , actual_task->pid ); } return 0; } void cleanup_module( void ) { printk( KERN_INFO "ProcListFromPD descargado\n" ); }