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:

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