This Book excerpt details Linux anti-reversing techniques, focusing on compiler options and file format manipulation to hinder reverse engineering efforts. The author discusses using GCC compiler flags like -g (debugging information) and -s (strip symbols) to control the information exposed in the compiled binary. Further techniques involve obfuscating strings, encrypting functions using RC4, and manipulating ELF headers to disrupt disassemblers like IDA and Radare2. Advanced methods to evade debuggers include using signals, ptrace to intercept debugger attempts, and madvise to prevent core dumps from capturing sensitive memory regions. The book also provides code examples and demonstrates these techniques using a sample bind shell program ("Trouble").
You can listen and download our episodes for free on more than 10 different platforms:
https://linktr.ee/cyber_security_summary