Skip to content

yiezias/tinyelf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

简介

tinyelf是用于 生成amd64 Linux下最小elf可执行文件 的程序(通过简单修改代码,你还可以生成更小的i386可执行文件)。全C实现,代码量不超过60行(包括空行及注释)。

用法

(代码中给了三个示例:死循环,正常退出,输出字符串)

首先需要知道 生成程序 的机器码。替换代码中的code数组。如果有全局常量数据,将code替换为 二进制数据+机器码,并将E_INCODE宏替换为数据段长度。编译代码,生成的output文件即最小elf可执行文件。

elf结构

本程序假设可执行文件只需要一个代码段(需要数据段按前述步骤加入代码之前)。因此生成的elf文件只有一个elf头(64字节),一个segment(52字节)和代码数据(大小任意)。

About

创建Linux下最小的elf可执行文件

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages