Questions tagged [disassembly]

Involves turning "compiled" code (such as machine code, byte code or IR code) back in higher-level assembly mnemonics.

Disassembly is the process for turning a binary form back into its higher-level counterpart so that it can be inspected or altered in a human-readable form.

This is normally done with the aid of a disassembler, some notable examples being:

1640 questions
38
votes
4 answers

How to disassemble the main function of a stripped application?

Let's say I compiled the application below and stripped it's symbols. #include int main() { printf("Hello\n"); } Build procedure: gcc -o hello hello.c strip --strip-unneeded hello If the application wasn't stripped, disassembling…
karlphillip
  • 92,053
  • 36
  • 243
  • 426
36
votes
1 answer

How to read and execute GDB commands from a file?

I run GDB on object file (e.g exeFile) and I want to examine it according to several commands . How can I execute these commands according to lines in a file (instead input these each GDN running) ? For example - I want to set break in - break…
URL87
  • 10,667
  • 35
  • 107
  • 174
34
votes
2 answers

What does "DS:[40207A]" mean in assembly?

0040103A CALL DWORD PTR DS:[40207A] USER32.MessageBoxA What does DS: mean?
wamp
  • 5,789
  • 17
  • 52
  • 82
33
votes
3 answers

How does objdump manage to display source code with the -S option?

Is there a reference to the source file in the binary? I tried running strings on the binary and couldn't find any reference to the source file listed...
anon
  • 591
  • 2
  • 6
  • 11
32
votes
5 answers

Generate PDB from .NET DLL file?

I need something that can generate a PDB from a DLL file (C# .NET code), is there any free program to do that?
BrunoLM
  • 97,872
  • 84
  • 296
  • 452
32
votes
3 answers

How can I see parse tree, intermediate code, optimization code and assembly code during COMPILATION?

I am studying Compilers course, compilation of program follows below steps Lexical analysis Syntax analysis Semantic analysis Intermediate code generation Code optimization Target code generation. How can I see output of each step e.g I want to…
sivarapeti
31
votes
6 answers

Translation of machinecode into LLVM IR (disassembly / reassembly of X86_64. X86. ARM into LLVM bitcode)

I would like to translate X86_64, x86, ARM executables into LLVM IR (disassembly). What solution do you suggest ?
Grzegorz Wierzowiecki
  • 10,545
  • 9
  • 50
  • 88
31
votes
3 answers

.NET functions disassembled

When disassembling .NET functions, I notice that they all start with a similair pattern. What does this initial code do? This code appear before the actual code for what the function is supposed to do. Is it some sort of parameter count…
Roger Johansson
  • 22,764
  • 18
  • 97
  • 193
31
votes
2 answers

SAR command in X86 assembly with one parameter

In a disassembled program I'm analyzing, I found the command sar %eax What does this do? I know that sar with two arguments performs a right shift, but I can't find what it means with only one parameter. This program was compiled for an Intel x86…
Kevin
  • 14,655
  • 24
  • 74
  • 124
29
votes
3 answers

How to make gdb show the original non-mangling function name on disassembly model?

void outputString(const char *str) { cout << "outputString(const char *str) : " << str << endl; } turns out to be Dump of assembler code for function _Z12outputStringPKc: 0x004013ee <_Z12outputStringPKc+0>: push ebp 0x004013ef…
Jichao
  • 40,341
  • 47
  • 125
  • 198
28
votes
6 answers

Tool to compare .dlls and disassemble the differences?

Does anyone know a decent tool that will compare two different versions of the same dll and extract the differences? thanks
flesh
  • 23,725
  • 24
  • 80
  • 97
28
votes
3 answers

What is the meaning of "static synthetic"?

I am looking at some disassembled code obtained from Java bytecode. I see some declaration as follows: .method static synthetic access$0()Lcom/package/Sample; I am not able to figure out what the synthetic or access$0 mean. Can someone please help…
Legend
  • 113,822
  • 119
  • 272
  • 400
24
votes
4 answers

Getting complete disassembly of an executable binary

Is it possible to get a complete disassembly (which can act as input to an assembler) of an executable? When I use otool -tV a.out I get to see only the text section. Other sections like data aren't visible. When I use gdb, the disassemble command…
mynk
  • 1,194
  • 2
  • 13
  • 16
22
votes
4 answers

What does "short" jump mean in assembly language?

What does the "SHORT" mean in this code? JE SHORT 00013FB8
Domshooter
  • 233
  • 1
  • 2
  • 4
21
votes
6 answers

Free 64-bit disassembler?

Note: A similar question is also on Reverse Engineering Stack Exchange. Is there any free AMD64 disassembler? It seems like there are a lot of x86 disassemblers, but they can't open 64-bit files... Update: Are there any tools that can show…
user541686
  • 205,094
  • 128
  • 528
  • 886