Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 中用內核模塊實現系統調用(Implement system call by kernel module in Android)

Android 中用內核模塊實現系統調用(Implement system call by kernel module in Android)

編輯:關於Android編程

給學生設計實驗,要在ANDROID中實現一個系統調用,不停的調試燒寫太費時間,所以想到了用內核模塊來實現系統調用,方法如下:

在System.map中找到sys_call_table的地址,然後後用如下代碼直接進行系統調用:

#include
#include
#include
#include
#include
#include
#include
#include

#define __NR_memboundary 378
#define SYS_CALL_TB 0xc000e5a8 //sys_call_table地址

unsigned long *sys_call_table = (unsigned long*)SYS_CALL_TB;

asmlinkage long sys_memboundary(void){
        printk(KERN_ALERT"===============The syscall print out!!!!\n");
        return 0;
}

int __init init_addsyscall(void)
{
//      sys_call_table = (unsigned long *)sys_call_table_address;
        sys_call_table[__NR_memboundary] = (unsigned long)sys_memboundary;
        printk("@@@@@@@System call module loaded\n");
        return 0;
}

void __exit exit_addsyscall(void)
{
        printk("@@@@@@@System call unlodaded\n");
}

module_init(init_addsyscall);
module_exit(exit_addsyscall);
MODULE_LICENSE("GPL");
~                        


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved