Share E-Book

Executable Files for Linux Under the Hood of ELFs for Flexible and Secure Low-Level Coding (Mohit Mishra) (z-library.sk, 1lib.sk, z-lib.sk)

Author

Rating No ratings yet

Log in to rate

Linux
Language English

Focusing on the Executable and Linkable Format (ELF) used in Linux and Unix systems, this book explores how code is compiled, linked, and loaded into memory, and how the operating system executes it. You’ll learn to analyse ELF files, debug and optimize programs at the binary level, write custom linker scripts, and understand dynamic linking and symbol resolution. ELF files are important because low-level programming and binary analysis are critical skills for system programmers, embedded developers, and security researchers. With the rise of performance optimization, cybersecurity, and resource-constrained environments (e.g., IoT), understanding executables is more relevant than ever. Executable Files for Linux provides a hands-on, modern approach to a topic often overlooked in learning resources today. What You Will Learn • Analyse and modify ELF files to optimize software performance • Debug and optimize programs at the binary level • Write custom linker scripts for complex projects • Understand dynamic linking, lazy loading, and symbol resolution • Explore kernel-level processes for loading and executing binaries Who This Book Is For Developers and programmers working on operating systems, embedded systems, or low-level software as well as performance engineers and security professionals

Format PDF
Size 7.3 MB
5
Views
(First 20 pages)

Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Page 1
Executable Files for Linux Under the Hood of ELFs for Flexible and Secure Low-Level Coding — Mohit Mishra
Page 2
Executable Files for Linux Under the Hood of ELFs for Flexible and Secure Low-Level Coding Mohit Mishra
Page 3
Executable Files for Linux: Under the Hood of ELFs for Flexible and Secure Low-Level Coding ISBN-13 (pbk): 979-8-8688-2153-0 ISBN-13 (electronic): 979-8-8688-2154-7 https://doi.org/10.1007/979-8-8688-2154-7 Copyright © 2026 by Mohit Mishra This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Managing Director, Apress Media LLC: Welmoed Spahr Acquisitions Editor: James Robinson-Prior Development Editor: James Markham Editorial Assistant: Gryffin Winkler Cover designed by eStudioCalamar Distributed to the book trade worldwide by Springer Science+Business Media New York, 1 New York Plaza, New York, NY 10004. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-sbm.com, or visit www.springeronline.com. Apress Media, LLC is a Delaware LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation. For information on translations, please e-mail booktranslations@springernature.com; for reprint, paperback, or audio rights, please e-mail bookpermissions@springernature.com. Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Print and eBook Bulk Sales web page at http://www.apress.com/bulk-sales. Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub. For more detailed information, please visit https://www.apress.com/gp/services/ source-code. If disposing of this product, please recycle the paper Mohit Mishra Bangalore, Karnataka, India
Page 4
I would like to express my sincere gratitude to my parents for their unwavering support and sacrifices throughout my life.
Page 5
(This page has no text content)
Page 6
(This page has no text content)
Page 7
(This page has no text content)
Page 8
(This page has no text content)
Page 9
(This page has no text content)
Page 10
(This page has no text content)
Page 11
(This page has no text content)
Page 12
(This page has no text content)
Page 13
(This page has no text content)
Page 14
(This page has no text content)
Page 15
(This page has no text content)
Page 16
(This page has no text content)
Page 17
xvii Mohit Mishra is a low-level programming enthusiast with extensive experience in executable file formats (ELF), linking, loading, and debugging. He has worked on projects involving ELF file analysis, dynamic linking, and performance optimization. Mohit is the creator of the “Reversing Bits Cheatsheets” repository, which provides comprehensive guides on tools essential for assembly programming, reverse engineering, and binary analysis. His technical articles and tutorials on low-level programming have been widely appreciated by the developer community. About the Author
Page 18
xix Seth Kenlon is a UNIX and Linux geek, open source enthusiast, and miniatures wargamer. He’s an educator and games designer. He codes mostly in Lua and Java. About the Technical Reviewer
Page 19
xxi Writing this book felt like a crazy adventure, bouncing from kernel basics to tricky context switches, and I wouldn’t have survived it without the people who kept me going, mostly by keeping my coffee cup full. First off, I’m grateful to my own curiosity that dragged me into the world of low-level programming in the first place. A massive thank- you to the open source crowd on GitHub and Discord, you guys who starred my repos, swapped debugging stories, and called out my silly mistakes. You’re the true heroes; this book is pretty much a nod to all the smarts we share. Shoutout to my family for tolerating my all-night coding binges, Mom, those bottomless cups of chai saved Chapter 5 more times than I can count. Big thanks to my beta readers and early testers who waded through rough drafts, buggy code, and endless typos, your notes made this mess into something worth reading. And to the whole reverse engineering gang, thanks for turning solo late-night hacks into a worldwide conversation. If I left anyone out, it’s the all- nighters talking, keep tinkering, keep crashing, and thanks for riding along. Acknowledgments
Page 20
xxiii Introduction Ever looked at your operating system and thought, “How the heck does this thing actually run under the hood?” Yeah, that’s exactly what got me started on my journey of building an OS. It’s a straight-up guide to rolling your own kernel from the ground up, because nothing tops the rush of booting code you’ve written yourself, even if it crashes in a blaze of glory. I’m Mohit Mishra, a total low-level programming nut who’s spent years knee-deep in ELF files, dynamic linking, and binary debugging. This book isn’t some dusty lecture from on high; it’s the raw, messy log of my own screwups and breakthroughs, like battling page faults at 3 a.m. or tweaking interrupts until they finally hum just right. My background is in systems programming. I have built open-source tools for ELF binarybr /analysis, OS concepts, and reverse engineering. Those repositories have attracted over abr /thousand stars and active contributors, which told me something I did not expect: there are farbr /more developers curious about this topic than there are good resources for learning it. That gapbr /is what this book addresses.br /I maintain two technical blogs, The Core Dump and Chessman Profile and my Substack onebr /(Low-Level Lore), where I write about low-level programming and compiler behavior. If you’re a developer tired of hiding behind high-level abstractions and ready to get your hands greasy with real systems work, maybe for nailing interviews, hacking embedded gear, or just figuring out why your laptop doesn’t fry, this one’s for you. We’ll build it brick by brick: kicking off with a bootloader, then juggling processes, file systems, and drivers, all in straightforward C with tools that won’t gather dust. Get ready for code chunks, handy cheat sheets, and those electric “aha” flashes that make you feel unstoppable. Strap in; by the end, you’ll grok OS guts inside out and might even spin off your own twist. Let’s fire this thing up.
The above is a preview of the first 20 pages. Register to read the complete e-book.

Recommended for You

Loading recommended books...
Failed to load, please try again later

Tip the Site

Scan the WeChat Pay or Alipay code to tip. No login required.

WeChat Pay
Alipay
← Back to List