Advertisement
Guest User

Untitled

a guest
Sep 2nd, 2013
389
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 1.86 KB | None | 0 0
  1. diff --git a/procmon_kmodule/syscalls/read.c b/procmon_kmodule/syscalls/read.c
  2. index 030da78..428f7d9 100644
  3. --- a/procmon_kmodule/syscalls/read.c
  4. +++ b/procmon_kmodule/syscalls/read.c
  5. @@ -1,8 +1,10 @@
  6.  #include "read.h"
  7.  
  8. +atomic_t read_counter = { 0 };
  9.  asmlinkage ssize_t (*real_sys_read)(unsigned int fd, char __user *buf, size_t count);
  10.  asmlinkage ssize_t hooked_sys_read(unsigned int fd, char __user *buf, size_t count){
  11.  
  12. +   atomic_inc(&read_counter);
  13.     INCR_SYSCALL_REG_INFO(__NR_read);
  14.  
  15.     ssize_t r;
  16. @@ -12,6 +14,7 @@ asmlinkage ssize_t hooked_sys_read(unsigned int fd, char __user *buf, size_t cou
  17.  
  18.         DECR_SYSCALL_REG_INFO(__NR_read);
  19.  
  20. +       atomic_dec(&read_counter);
  21.         return r;
  22.  
  23.     }else{
  24. @@ -44,6 +47,7 @@ asmlinkage ssize_t hooked_sys_read(unsigned int fd, char __user *buf, size_t cou
  25.  
  26.         DECR_SYSCALL_REG_INFO(__NR_read);
  27.  
  28. +       atomic_dec(&read_counter);
  29.         return r;
  30.  
  31.     }
  32. diff --git a/procmon_kmodule/syshijack.c b/procmon_kmodule/syshijack.c
  33. index 0409bb7..77b5014 100644
  34. --- a/procmon_kmodule/syshijack.c
  35. +++ b/procmon_kmodule/syshijack.c
  36. @@ -117,6 +117,8 @@ static void __exit hook_exit(void){
  37.     }
  38.  
  39.     remove_proc_entry("procmon", NULL);
  40. +
  41. +   printk("read_counter = %d\n", read_counter.counter);
  42.  }
  43.  
  44.  /*****************************************************************************\
  45. diff --git a/procmon_kmodule/syshijack.h b/procmon_kmodule/syshijack.h
  46. index 5e2740d..edf8433 100644
  47. --- a/procmon_kmodule/syshijack.h
  48. +++ b/procmon_kmodule/syshijack.h
  49. @@ -106,6 +106,8 @@ void *get_ia32_sys_call_table(void);
  50.  void *get_sys_call_table(void);
  51.  #endif
  52.  
  53. +extern atomic_t read_counter;
  54. +
  55.  /*****************************************************************************\
  56.  |                                      END                                    |
  57.  \*****************************************************************************/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement