对付ring0inlinehook的基本思路是这样的,自己写一个替换的内核函数,以NtOpenProcess为例,就是MyNtOpenProcess。然后修改SSDT表,让系统服务进入自己的函数MyNtOpenProcess。而MyNtOpenProcess要做的事就是,实现NtOpenProces...
分类:
其他好文 时间:
2015-06-24 14:17:14
阅读次数:
87
接触一下OpenCV里一个之前没有接触的模块:GPU。目前,OpenCV中已提供了许多GPU函数,直接使用OpenCV提供的GPU模块,可以完成大部分图像处理的加速操作。该方法的优点是使用简单,利用GpuMat管理CPU与GPU之间的数据传输,而且不需要关注内核函数调用参数的设置。...
分类:
其他好文 时间:
2015-05-31 23:23:39
阅读次数:
150
CUDA基本使用方法 在介绍OpenCV中GPU模块使用之前,先回顾下CUDA的一般使用方法,其基本步骤如下: 1.主机代码执行;2.传输数据到GPU;3.确定grid,block大小; 4.调用内核函数,GPU运行程序;5.传输结果到CPU;6.继续主机代码执行。 下图是两个向量相加的简单示例程序...
分类:
其他好文 时间:
2015-05-16 20:23:10
阅读次数:
122
* 内核动态模块的的功能和作用*Linux 模块是一些可以独立于内核单独编译的内核函数和数据类型集合,是可增删的内核部分。模块在内核启动时装载称为静态装载,在内核已经运行时装载称为动态装载。模块可以扩充内核所期望的任何功能,但通常用于实现设备驱动程序.模块最基本的框架#include
#include
#include <linux...
分类:
其他好文 时间:
2015-05-15 17:46:00
阅读次数:
106
分析system_call中断处理过程沙雨济原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000一 、 实验内容使用gdb跟踪分析一个系统调用内核函数(上周所选),从system_call开始到...
分类:
其他好文 时间:
2015-05-03 20:32:37
阅读次数:
125
一.使用gdb跟踪分析一个系统调用内核函数 1.在test.c文件中添加time函数与采用c语言内嵌汇编的time函数.具体实现请看下图. 2.然后在main函数中添加MenuConfig函数,进行注册。这样当Menuos运行起来时,界面就会多出time与time-asm选项。 3.通过make r...
分类:
系统相关 时间:
2015-04-29 16:45:03
阅读次数:
318
1.为什么用户程序不能直接访问系统内核模式提供的服务? 在linux中,将程序的运行空间分为内核与用户空间(内核态和用户态),在逻辑上它们之间是相互隔离的,因此用户程序不能访问内核数据,也无法使用内核函数。2.什么是系统调用?答:系统调用就是一种特殊的接口。通过这个接口,用户可以访问内核空间。系统调...
这是泰晓科技源码分析系列的第三篇,之前我们已经介绍了静态分析,应用程序的动态分析,这里介绍内核部分的动态分析,介绍到 Ftrace, Perf 和 FlameGraph。这三篇主要是函数级别的分析,接下来我们会再出一个源码级别的分析外加一个汇总性的文章,之后会转到 Android / Linux 性能分析 系列。...
分类:
系统相关 时间:
2015-04-23 13:22:53
阅读次数:
262
最近在学习arm平台下的内核模块开发,现将内核模块建立过程记录一下。 从编写代码的角度来看,创建一个简单的的内核模块可以分3步走: 1. 添加头文件(linux/init.h 和linux/module.h); 2. 加载内核(函数module_init); 3. 卸载内核(函数...
分类:
其他好文 时间:
2015-04-20 00:31:16
阅读次数:
105
1、系统调用
操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境来使应用程序具有更好的兼容性,为了达到这个目的,内核提供一系列具备预定功能的多内核函数,通过一组称为系统调用(system
call)的接口呈现给用户。系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序。
现代的操作系统通常都具有多任务处理的功能,通常靠进程来实现。...
分类:
其他好文 时间:
2015-04-16 10:26:54
阅读次数:
137