How to View the Byte Code (Dis-assembler) of a Compiled Executable?


To view the bytecode of a compiled executable, you can follow these steps:

Compile the C source code to generate an executable file with debugging information using the -g flag with a C compiler like GCC:

1
gcc -g -o output_file source_file.c
gcc -g -o output_file source_file.c

Replace output_file with the desired name for your executable and source_file.c with the name of your C source code file.

Once you have the executable with debugging information, you can use a tool like objdump to view the bytecode. Here’s how you can use objdump:

1
objdump -d -M intel output_file
objdump -d -M intel output_file

This command will disassemble the binary executable (output_file) and display the bytecode in Intel syntax. You can also use “-D” to dump everything. And -M could take values like: i386, arm

Keep in mind that the bytecode will be in the form of assembly language instructions, which are the low-level representation of your C code. If you want to see a more human-readable version of the bytecode, you can use a debugger like gdb:

1
gdb output_file
gdb output_file

Then, within the gdb interface, you can use commands like disassemble to view the disassembled code in a more structured manner.

Please note that viewing bytecode or disassembled code is useful for debugging and understanding the low-level details of your program but may not be very human-friendly if you’re not familiar with assembly language.

And, we can reverse engineer the binary executable (byte code) and dynamically inject or modify the content: How to Modify or Patch the Compiled Executable (inplace, reverse engineering)?

–EOF (The Ultimate Computing & Technology Blog) —

GD Star Rating
a WordPress rating system
421 words
Last Post: Programming Language Conversion Tool based on ChatGPT AI
Next Post: How to Modify or Patch the Compiled Executable (inplace, reverse engineering)?

The Permanent URL is: How to View the Byte Code (Dis-assembler) of a Compiled Executable?

Leave a Reply