一、linux系统调用原理 操作系统通过系统调用为运行于其上的进程提供服务。 当用户态进程发起一个系统调用, CPU 将切换到 内核态 并开始执行一个 内核函数 。 内核函数负责响应应用程序的要求,例如操作文件、进行网络通讯或者申请内存资源等。 二、调用流程 那么,在应用程序内,调用一个系统调用的流 ...
分类:
其他好文 时间:
2019-12-19 19:03:21
阅读次数:
86
1、 什么是系统调用 操作系统通过系统调用为运行于其上的进程提供服务。当用户态进程发起一个系统调用, CPU 将切换到 内核态 并开始执行一个 内核函数 。 内核函数负责响应应用程序的要求,例如操作文件、进行网络通讯或者申请内存资源等。在Linux中系统调用是有Linux内核提供的各种功能服务,为了 ...
分类:
其他好文 时间:
2019-12-19 15:53:11
阅读次数:
88
【太多事情要做了,这部分难度对我来说又很大,先写一下大体框架,到时候具体函数逆向分析过程给写出来】 问题: 1. 建立被调试程序时接收的第一个调试事件是什么? 2. 该事件在内核中的生成流程是什么? 3. 其初始化下断点时如何判断是否是被调试程序(而不是一般程序)? 4. 关于调试的内核函数中为何要 ...
分类:
其他好文 时间:
2019-11-30 09:44:19
阅读次数:
68
这个命令可以看到微博的应用线程信息。 PID:进程号 PPID:父进程号 VSIZE:进程的虚拟内存大小 RSS:进程分配到的物理内存大小 WCHAN:进程正在睡眠的内核函数名称,干函数的名称是从/root/system.map文件中获得的。 NAME:进程名 ...
分类:
移动开发 时间:
2019-09-24 17:29:37
阅读次数:
247
驱动程序与应用程序的通信离不开派遣函数,派遣函数是Windows驱动编程中的重要概念,一般情况下驱动程序负责处理I/O特权请求,而大部分IO的处理请求是在派遣函数中处理的,当用户请求数据时,操作系统会将请求的数据转化成IRP的数据结构,并将其派遣到指定的内核函数中执行,接下来将详细说明派遣函数的使用 ...
分类:
其他好文 时间:
2019-09-23 10:12:10
阅读次数:
102
NTSYSAPINTSTATUSNTAPINtAcceptConnectPort(OUT PHANDLE PortHandle,IN PVOID PortIdentifier,IN PPORT_MESSAGE Message,IN BOOLEAN Accept,IN OUT PPORT_VIEW S ...
分类:
其他好文 时间:
2019-09-21 13:15:06
阅读次数:
70
系统调用原理 操作系统通过系统调用为运行于其上的进程提供服务。 当用户态进程发起一个系统调用, CPU 将切换到 内核态 并开始执行一个 内核函数 。 内核函数负责响应应用程序的要求,例如操作文件、进行网络通讯或者申请内存资源等。 举一个最简单的例子,应用进程需要输出一行文字,需要调用 write ...
分类:
其他好文 时间:
2019-08-27 00:26:12
阅读次数:
136
/proc文件系统是一种特殊的、由软件创建的文件系统,内核使用它向外界导出信息,/proc系统只存在内存当中,而不占用外存空间。 /proc下面的每个文件都绑定于一个内核函数,用户读取文件时,该函数动态地生成文件的内容。也可以通过写/proc文件修改内核参数 /proc目录下的文件分析 /proc/ ...
分类:
其他好文 时间:
2019-08-17 00:37:01
阅读次数:
108
1、C语言库函数基本的帮助文档 sudo apt-get install manpages sudo apt-get install manpages-de sudo apt-get install manpages-de-dev sudo apt-get install manpages-dev ... ...
分类:
编程语言 时间:
2019-07-17 16:51:12
阅读次数:
120
很多内部内核函数返回一个指针值给调用者. 许多这些函数也可能失败. 大部分情况, 失 败由返回一个 NULL 指针值来指示. 这个技术是能用的, 但是它不能通知问题的确切特性. 一些接口确实需要返回一个实际的错误码以便于调用者能够基于实际上什么出错来作出正 确的判断. 许多内核接口通过在指针值中对错 ...
分类:
系统相关 时间:
2019-07-07 14:27:10
阅读次数:
150