Tool Arsenal
4. Tools Arsenal
4.1 Compilers
There are several options on how you can compile your C/C++ code. It is important tot note that different compilers may result in different outputs. You can use IDEs or command line.
IDEs:
Visual Studio
Orwell Dev-C++
Code::Blocks
Command line:
MinGW
gcc example:
gcc -m32 main.c -o main.o
4.2 Debuggers
A debugger is a program which runs other programs, in a way that we can exercise control over the program itself. In our specific case, the debugger will help us write exploits, analyze programs, reverse engineer binaries, and much more.
As we will see, the debugger allows us to:
Stop the program while it is running
Analyze the stack and its data
Inspect registers
Change the program or program variables and more
There are several options of debuggers:
IDA (Windows, Linux, MacOS)
GDB (Unix, Windows)
X64DBG (Windows)
EDB (Linux)
WinDBG (Windows)
OllyDBG (Windows)
Hopper (MacOS, Linux)
4.3 Decompiling
In order to be a successful pentester, you need to have the knowledge to reverse a compiled application.
You can use objdump.exe that is bundled with gcc in order to decompile a compiled application.
example: objdump -d -Mintel main.exe > disasm.tx
Last updated