|
You are here |
g-w1.github.io | ||
| | | | |
blog.nuculabs.dev
|
|
| | | | | Hello, In this article I'll present you my solution on the Chapter 5 CTF from the book Practical Binary Analysis. For this binary, the hint is to fix four broken things. Running file gives us the following response: 1 2 binary@binary-VirtualBox:~/ctf$ file ./lvl3 ./lvl3: ERROR: ELF 64-bit LSB executable, Motorola Coldfire, version 1 (Novell Modesto) error reading (Invalid argument) And the readelf command gives us: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 binary@binary-VirtualBox:~/ctf$ readelf -h ./lvl3 ELF Header: Magic: 7f 45 4c 46 02 01 01 0b 00 00 00 00 00 00 00 00 Class: ELF64 Data: 2's complement, little endian Version: 1 (current) OS/ABI: Novell - Modesto ABI Version: 0 Type: EXEC (Executable file) Machine: Motorola Coldfire Version: ... | |
| | | | |
wiki.osdev.org
|
|
| | | | | [AI summary] The provided text is an in-depth guide to understanding and implementing an ELF (Executable and Linkable Format) loader in low-level programming. It covers key concepts such as ELF headers, section headers, program headers, symbol tables, relocation entries, and the process of loading and executing ELF files. The text also includes code examples for parsing ELF headers, processing relocation entries, and handling memory mapping for segments. | |
| | | | |
www.caichinger.com
|
|
| | | | | Introduction ELF is the file format used for object files (.o's), binaries, shared libraries and core dumps in Linux. It's actually pretty simple and well thought-out. ELF has the same layout for all architectures, however endianness and word size can differ; relocation types, symbol types and the like may have platform-specific values, and of course the contained code is arch specific. An ELF file provides 2 views on the data it contains: A linking view and an execution view. Those two views can be accessed by two headers: the section header table and the program header table. Linking view: Section Header Table (SHT) The SHT gives an overview on the sections contained in the ELF file. Of particular interest are REL sections (relocations), SYMTAB/DYNSYM (sym... | |
| | | | |
www.cosive.com
|
|
| | | The Rust programming language sent ripples through the programming community when it was first released in 2015, promising the blazing speed of lower-level programming languages without the accompanying sharp edges. Four and a half years on, many programmers still view Rust with a mix of intrigue and trepidation due to its appealing premise and notoriously difficult learning curve. We sat down with one of Cosive's Senior Developers, Sid Odgers, to talk about why he believes more programmers should take the plunge and learn Rust. | ||