【文件属性】:
文件名称:smol:劣质的面向小型链接器
文件大小:41KB
文件格式:ZIP
更新时间:2021-05-08 10:05:22
Python
斯莫尔
劣质的面向小型链接器
Shiz的PoC和维护,错误修复,PoroCYon的64位版本和维护,blackle的增强和错误修复。
依存关系
GCC(不是clang,因为后者不支持nolto-rel输出),GNU ld,binutils,GNU make,...
nasm 2.13或更高版本
的Python 3
用法
注意:您的入口点( _start )必须位于名为.text.startup._start的部分中! 否则,链接描述文件将无提示地失败,并且smol启动/符号解析代码将跳至未定义的位置。
注意:C ++异常,RTTI,全局外部变量,线程本地存储,全局构造函数和析构函数(ELF .ctors / .dtors / attribute((con-/destructor))事物,而不是C ++语言构造),...还不被支持,并且可能不会很快出现。
# example:
./sm
【文件预览】:
smol-master
----.gitignore(50B)
----Makefile(3KB)
----smold.py(14KB)
----rt()
--------header32.asm(3KB)
--------header64.asm(3KB)
--------crt1.c(1KB)
--------linkscr.inc(451B)
--------loader64.asm(9KB)
--------loader32.asm(8KB)
--------elf.inc(1KB)
--------rtld.inc(1KB)
----smoltrunc.py(625B)
----ld()
--------link_common.ld(3KB)
--------link_i386.ld(259B)
--------link_x86_64.ld(226B)
----LICENSE(479B)
----smoldd.py(7KB)
----README.md(15KB)
----smol()
--------linkmap.py(4KB)
--------parse.py(14KB)
--------__init__.py(0B)
--------cnl.py(2KB)
--------emit.py(7KB)
--------shared.py(1KB)
--------hackyelf.py(10KB)
----test()
--------hello.c(385B)
--------flag.c(2KB)
--------hello-_start.c(418B)
--------sdl.c(330B)