From ce5bd39f63e7ca3c4a71072ff2e9baf999cf12df Mon Sep 17 00:00:00 2001 From: Sergey Lisov Date: Mon, 9 Oct 2023 22:43:15 +0300 Subject: [PATCH] Add missing lib/frankenelf.py --- lib/frankenelf.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 lib/frankenelf.py diff --git a/lib/frankenelf.py b/lib/frankenelf.py new file mode 100644 index 0000000..5234163 --- /dev/null +++ b/lib/frankenelf.py @@ -0,0 +1,14 @@ +import sys + +with open(sys.argv[1], 'r+b') as file: + assert file.read(5) == b'\xeb\x0bELF' + file.seek(0) + file.write(b'\xeb\x0bPLD') + file.seek(64+56+16) + vaddr = int.from_bytes(file.read(8), 'little') + file.seek(64+56+32) + filesz = (int.from_bytes(file.read(8), 'little') - vaddr).to_bytes(8, 'little') + memsz = (int.from_bytes(file.read(8), 'little') - vaddr).to_bytes(8, 'little') + file.seek(64+56+32) + file.write(filesz) + file.write(memsz)