Android 中用内核模块实现系统调用(Implement system call by kernel module in Android)
2014-02-28 05:47
1036 查看
给学生设计实验,要在ANDROID中实现一个系统调用,不停的调试烧写太费时间,所以想到了用内核模块来实现系统调用,方法如下:
在System.map中找到sys_call_table的地址,然后后用如下代码直接进行系统调用:
在System.map中找到sys_call_table的地址,然后后用如下代码直接进行系统调用:
#include<linux/kernel.h> #include<linux/module.h> #include<linux/sched.h> #include<asm/uaccess.h> #include<linux/compiler.h> #include<linux/linkage.h> #include<linux/types.h> #include<linux/unistd.h> #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"); ~
相关文章推荐
- android 导航布局
- android context
- Android的五种存储方式
- android手机分享
- 用心学Android之Handler
- android log info
- Xamarin Mono For Android 4.10.01068 完整离线安装破解版(C#开
- android 常出现的错误及注意点总结
- DO onething is everything 之android--handler总结(一)
- Android重打包加固APK实现敏感权限动态监控
- 【Android】GPS定位基本原理浅析
- android之在启动运用程序的时候彻底隐藏TitleBar
- Android 输入法键盘和activity页面遮挡问题解决
- Android OpenStreetMap(OSM) 使用 osmbonuspack 进行导航
- Android学习小Demo(10)ToDoList的改进版之ViewPager显示多个图片
- Android图片占用内存分析
- android 屏幕截图
- android线程handler、message、looper
- android源码编译问题杂记
- ubuntu中android源码编译启动模拟器黑屏