文件名称:patchelf:一个用于修改ELF可执行文件的动态链接器和RPATH的小实用程序
文件大小:138KB
文件格式:ZIP
更新时间:2024-05-20 01:14:08
C
PatchELF是用于修改现有ELF可执行文件和库的简单实用程序。 特别是,它可以执行以下操作: 更改可执行文件的动态加载程序(“ ELF解释程序”): $ patchelf --set-interpreter /lib/my-ld-linux.so.2 my-program 更改可执行文件和库的RPATH : $ patchelf --set-rpath /opt/my-libs/lib:/other-libs my-program 缩小可执行文件和库的RPATH : $ patchelf --shrink-rpath my-program 这将从RPATH删除所有不包含由可执行文件或库的DT_NEEDED字段引用的库的目录。 例如,如果可执行文件引用一个库libfoo.so ,并且具有RPATH /lib:/usr/lib:/foo/lib ,而libfoo.so只能在/
【文件预览】:
patchelf-master
----.github()
--------ISSUE_TEMPLATE()
--------pull_request_template.md(185B)
--------workflows()
----flake.nix(2KB)
----bootstrap.sh(68B)
----COPYING(34KB)
----src()
--------patchelf.cc(66KB)
--------Makefile.am(265B)
--------elf.h(146KB)
----patchelf.1(3KB)
----Makefile.am(133B)
----default.nix(115B)
----BUGS(191B)
----flake.lock(538B)
----README.md(5KB)
----configure.ac(810B)
----patchelf.spec.in(838B)
----tests()
--------plain-fail.sh(41B)
--------set-interpreter-short.sh(416B)
--------plain-needed.sh(113B)
--------shrink-rpath-with-allowed-prefixes.sh(1KB)
--------output-flag.sh(1KB)
--------no-rpath.sh(558B)
--------no-rpath.c(72B)
--------invalid-elf.sh(1KB)
--------no-rpath-prebuild()
--------set-rpath-library.sh(2KB)
--------shrink-rpath.sh(685B)
--------Makefile.am(3KB)
--------set-interpreter-long.sh(903B)
--------build-id.sh(1KB)
--------soname.sh(987B)
--------invalid-elf()
--------no-rpath-prebuild.sh(1018B)
--------simple.c(130B)
--------big-dynstr.sh(686B)
--------foo.c(282B)
--------bar.c(81B)
--------no-rpath-pie-powerpc.sh(2KB)
--------plain-run.sh(120B)
--------set-rpath.sh(664B)
--------force-rpath.sh(716B)
--------main.c(201B)
----.gitignore(249B)
----version(4B)