原创 open的時候傳遞O_CREAT出現__open_missing_mode的原因

當你代碼中使用open("das",O_CREAT)的時候,注意沒有第三個參數。如果你用autoconf生成Makefile來編譯的化會出現如下問題error: call to ‘__open_missing_mode’ declared

原创 如何讓linux下的動態庫so能執行(節.interp的使用)

感覺對自己有用 給點個贊哈 代碼如下 mytest.c #include<stdio.h> #include<stdlib.h> //在elf格式中加入一個節.interp 此節含有 ELF 程序解析器的路徑名 //如果動態庫不包括

原创 uevent的基本使用1

#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/stat.h> #include <

原创 libevent對信號監控

#include <stdio.h> #include <stdlib.h> #include <event2/bufferevent.h> #include <event2/buffer.h> #include <event2/list

原创 libevent 定時器的使用

  #include <stdio.h> #include <stdlib.h> #include <event2/bufferevent.h> #include <event2/buffer.h> #include <event2/li

原创 libevent 之 event config的相關函數介紹

1) struct event_config *event_config_new(void) 函數功能: 分配一個base 內部配置結構體 參數: 無 返回值:     成功返回指向struct event_config的指針     失

原创 x86_64 系統調用號 與寄存器傳參

轉載自   http://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/ PUBLISHED THU, NOV 29, 2012 Linux 4.7 (pulled

原创 libevent 之 基本服務端的使用

#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <string.h> #include <sys/s

原创 libevent 之如何將信號和epoll相結合 簡化版

/****************************************************** 原理:    創建一個管道,一個讀 一個寫, 讓epoll監控讀端,如果信號發生,就將信號值寫入到管道中    這樣epoll

原创 利用ptrace進行注入

轉載:https://bbs.pediy.com/thread-246948.htm     插入的代碼 #include <stdio.h> #include <unistd.h> int main() { __asm_

原创 linux設置某函數在main函數之前之後執行(通過對.ctors和.dtors節的設置)

第一種方法: #include <stdio.h> #include <stdlib.h> //此函數在main之前執行 void before_main(void) __attribute__((constructor)); //

原创 如何將linux audit產生的審計信息傳入到其他程序中(利用audispd)

前提了解:          首先我們要了解的一點前提是, 在audit啓動的時候會到日誌分發做初始化,其中包括對/sbin/audispd的啓動(在配置文        件/etc/audit/auditd.conf中配置), 然後審計

原创 libevent的鎖機制之調試鎖的使用

1)調試鎖的啓用    evthread_use_pthreads()          //此函數的介紹看我的上一篇博客    evthread_enable_lock_debugging() //此函數的介紹看下面    看代碼這兩個

原创 libevent的鎖機制之evthread_use_pthreads()介紹

對於linux libevent已經提供了一套鎖機制,我們就不用自己在寫一些鎖相關的回掉函數(用evthread_set_lock_callbacks設置)供libevent使用, 我們在linux上使用鎖機制的時候只要使用int evt

原创 linux c在子函數中獲得函數返回地址, 獲得當前地址x86_64

#include <stdio.h> #include <stdlib.h> int fun() { unsigned long ret_addr = 0; __asm__("push %%rax\n\t"