Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/procmon_kmodule/syscalls/read.c b/procmon_kmodule/syscalls/read.c
- index 030da78..428f7d9 100644
- --- a/procmon_kmodule/syscalls/read.c
- +++ b/procmon_kmodule/syscalls/read.c
- @@ -1,8 +1,10 @@
- #include "read.h"
- +atomic_t read_counter = { 0 };
- asmlinkage ssize_t (*real_sys_read)(unsigned int fd, char __user *buf, size_t count);
- asmlinkage ssize_t hooked_sys_read(unsigned int fd, char __user *buf, size_t count){
- + atomic_inc(&read_counter);
- INCR_SYSCALL_REG_INFO(__NR_read);
- ssize_t r;
- @@ -12,6 +14,7 @@ asmlinkage ssize_t hooked_sys_read(unsigned int fd, char __user *buf, size_t cou
- DECR_SYSCALL_REG_INFO(__NR_read);
- + atomic_dec(&read_counter);
- return r;
- }else{
- @@ -44,6 +47,7 @@ asmlinkage ssize_t hooked_sys_read(unsigned int fd, char __user *buf, size_t cou
- DECR_SYSCALL_REG_INFO(__NR_read);
- + atomic_dec(&read_counter);
- return r;
- }
- diff --git a/procmon_kmodule/syshijack.c b/procmon_kmodule/syshijack.c
- index 0409bb7..77b5014 100644
- --- a/procmon_kmodule/syshijack.c
- +++ b/procmon_kmodule/syshijack.c
- @@ -117,6 +117,8 @@ static void __exit hook_exit(void){
- }
- remove_proc_entry("procmon", NULL);
- +
- + printk("read_counter = %d\n", read_counter.counter);
- }
- /*****************************************************************************\
- diff --git a/procmon_kmodule/syshijack.h b/procmon_kmodule/syshijack.h
- index 5e2740d..edf8433 100644
- --- a/procmon_kmodule/syshijack.h
- +++ b/procmon_kmodule/syshijack.h
- @@ -106,6 +106,8 @@ void *get_ia32_sys_call_table(void);
- void *get_sys_call_table(void);
- #endif
- +extern atomic_t read_counter;
- +
- /*****************************************************************************\
- | END |
- \*****************************************************************************/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement