![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux 函数
Johnblx
征实则效存,徇名则功浅
展开
-
openssl 计算sha256
echo -n eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJwYnh3ZWIiLCJleHAiOjE1OTg5NTc2NTEsImlhdCI6MTU5ODk1NzY0MSwiaXNzIjoicGJ4 | openssl sha -sha256 -binary -hmac key12345678 | base64原创 2020-09-04 16:53:54 · 6090 阅读 · 0 评论 -
SIG_STOP waitpid
学习了脏牛漏洞的提权代码:子进程 被 SIG_STOP 后,他的状态变化,可以被父进程使用waitpid 捕获。( kill(getpid(), SIGSTOP);)如在在子进程里面又创建了线程, 那么子进程的这个主线程SIG_STOP后, 并不能使得子线程STOP。如果子进程一直处于STOP状态,没有被CONTINUE, 那么如果如进程退出了, 那么这个子进程会被唤醒的。...原创 2020-01-07 15:13:44 · 386 阅读 · 0 评论 -
linux SIGCHLD SIG_IGN
一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用 wait 或 waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵尸进程。子进程在退出时候会给父进程发送SIGCHLD 信号,1)父进程要不然会一直等待wait() ,等待子进程退出,回收资源,2) 要不父进程会异步执行其他任务, 在收到SIGCHLD 信号时候,...原创 2020-01-07 10:42:21 · 1112 阅读 · 0 评论 -
linux glibc malloc_trim(0)
在项目中发现进程的内存持续上升。首先确定这是不是一个内存泄露,1) gcc 的链接选项-Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc -Wl,--wrap,realloc -Wl,--wrap,strdup -Wl,--wrap,strndup -Wl,--wrap,vasprintf 使用自己的内存池重写内存分配函数...原创 2020-01-03 16:24:06 · 6620 阅读 · 0 评论 -
linux ptrace
#include <sys/ptrace.h>long ptrace(enum _ptrace_request request,pid_t pid,void * addr ,void *data);ptrace()系统调用函数提供了一个进程(the “tracer”)监察和控制另一个进程(the “tracee”)的方法。并且可以检查和改变“tracee”进程的内存和寄存...原创 2020-01-02 11:06:44 · 243 阅读 · 0 评论 -
linux stat
#include <sys/stat.h>int stat(const char *file_name, struct stat *buf);通过文件名filename获取文件信息,并保存在buf所指的结构体stat中返回值: 执行成功则返回0,失败返回-1,错误代码存于errnostruct stat {dev_t st_dev; //文件的设备编号i...原创 2020-01-02 11:07:20 · 174 阅读 · 1 评论 -
linux fork clone
fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值: 1)在父进程中,fork返回新创建子进程的进程ID; 2)在子进程中,fork返回0; 3)如果出现错误,fork返回一个负值;fork()调用除了会复制父进程的所有已打开文件描述符, 还会复制父进程的缓存到子进程中.终端stdout是行缓存的普通文件的缓存是...原创 2020-01-02 11:07:40 · 153 阅读 · 0 评论