1 #include "iostream" 2 #include "windows.h" 3 #include "shlwapi.h" 4 #include "iomanip" 5 #pragma comment(lib,"shlwapi.lib") 6 using namespace std;.....
先摘一点网上的介绍libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。著名分布式缓存软件memcached也是libevent based,而且libevent在使用上可以做到跨平台,而且根...
分类:
其他好文 时间:
2014-06-27 12:16:35
阅读次数:
196
在4.2.2版本上调用系统的DatePickerDialog,发现点击确定时系统调用onDateSet()两次,需要过滤其中的一次。
Calendar mCalendar = Calendar.getInstance();
mCalendar.add(Calendar.DAY_OF_YEAR, 1);
final DatePickerDialog dateDialog = new D...
分类:
移动开发 时间:
2014-06-26 11:30:26
阅读次数:
233
1漏洞描述
漏洞的产生主要是因为摄像头驱动提供了几个用于用户空间调用的接口。用户空间可以使用诸如ioctl或者mmap这样的系统调用函数就能对摄像头驱动产生影响。黑客可以很容易的使用事先构造好的参数将物理内存map到用户空间,并提升权限。
2.影响设备
绝大多数使用2013年5月1日之前的Linux内核安卓系统
3.PoC
/*
*
* This progra...
分类:
移动开发 时间:
2014-06-26 07:55:07
阅读次数:
507
守护进程不属于任何的终端,所以当需要输出某些信息时,它无法像通常程序那样将信息直接输出到标准输出和标准错误输出中。这就需要某些特殊的机制来处理它的输出。为了解决这个问题,Linux 系统提供了syslog()系统调用。通过它,守护进程可以向系统的log 文件写入信息。它在Linux 系统函数库syslog.h 中的定义如下:
void syslog( int priori...
分类:
其他好文 时间:
2014-06-25 09:01:40
阅读次数:
215
每个进程都有一个实际用户标识符和一个实际组标识符,它们永远是启动该进程之用户的用户标识符和组标识符。
进程的有效用户标识符和有效组标识符也许更重要些,它们被用来确定一个用户能否访问某个确定的文件。在通常情况下,它们与实际用户标识符和实际组标识符是一致的。
有几个系统调用可以用来得到进程的用户标识符和组标识符,详见下列程序:
/* 取进程的实际用户标识符 */
uid=g...
分类:
系统相关 时间:
2014-06-25 07:25:10
阅读次数:
328
存储映射I/O使一个磁盘文件与存储空间中的一个缓冲区相映射,对缓冲区的读、写操作就是对文件的读、写操作,从而可以不再使用read、write系统调用。
将文件映射到存储区的函数由mmap完成,函数原型如下:
#include
/* 成功返回映射区起始地址,出错返回MAP_FAILED */
void *mmap(void *addr, size_t len, int prot, ...
分类:
系统相关 时间:
2014-06-22 21:39:19
阅读次数:
301
接上一篇文章,当Nginx以文件作为用户的请求时,它不会把文件内容读入内存,然后再从内存发送出去,而是会调用sendfile系统调用在不经过用户空间的情况下,从内核直接发送出去。这样做显然效率要更高,Nginx也为我们封装好了一系列的接口,下面就来说明如何发送一个磁盘文件给客户端。
和从内存直接发送数据最大的不同在于ngx_buf_t缓冲区的设置方法,ngx_buf_t结构体的定义如下:...
分类:
其他好文 时间:
2014-06-22 20:44:52
阅读次数:
211
我们都知道linux中创建新进程是系统调用fork,但实际上fork是clone功能的一部分,clone和fork的主要区别是传递了几个参数。clone隶属于libc,它的意义就是实现线程。
看一下clone函数:...
分类:
其他好文 时间:
2014-06-22 09:43:31
阅读次数:
252