Flag: Tornado! Hurricane!

 Forums >>  Brainstorms - General  >>  Understanding compilers ASM output

Topic created on: April 11, 2013 10:50 CDT by nopsledshell .

i would like to get information about the output generated from two compilers (GCC and Visual CPP) - what the code below do? what was the original source code? what is the difference between those two compilers when generating the assembly code?

gcc:
mov edx, [ebp+var_4]
mov eax, edx
add eax, eax
add eax, edx
shl eax, 2
add eax, edx
mov [ebp+var_8], eax

Visual CPP:
mov ecx, [ebp+var_4]
sub ecx, 1Eh
neg ecx
sbb ecx, ecx
mov [ebp+var_C], ecx

  codeinject     April 12, 2013 02:03.01 CDT
Please read http://www.binary-auditing.com/

  nopsledshell   April 14, 2013 02:32.20 CDT
Binary Auditing is a large and detailed, any particular part? module? exercise?

i don't have the HLL code to compare but i can guess that those two code parts calculate something as function of [ebp+var_4]

the first code looks like multiply of 13 (which suitable to this size of data structure) and the result is in  [ebp+var_8]
correct?

the second looks like calculating one bit (0 or -1) and the result in [ebp+var_c]
correct?

it was taken from Chris Eagle slides (Black Hat few years ago)

Note: Registration is required to post to the forums.

There are 31,192 total registered users.


Recently Created Topics
Robbinhood ransomwar...
Feb/23
Information on the t...
Feb/08
Information on the m...
Feb/07
Order Finax, Fincar ...
Feb/07
Information on the m...
Feb/07
Order Proscar (Finas...
Feb/07
Order Proscar, Finax...
Feb/07
Order Finasteride, F...
Feb/07
How to view IDA Pro'...
Nov/02
reverse MC9S12DG128
Oct/07


Recent Forum Posts
Finding the procedur...
rolEYder
Question about debbu...
rolEYder
Looking for an advan...
tthtlc
Looking for an advan...
tthtlc
Looking for an advan...
clightning
Identify RVA data in...
sohlow
let 'IDAPython' impo...
sohlow
How to find specific...
hackgreti
Problem with ollydbg
sh3dow
How can I write olly...
sh3dow


Recent Blog Entries
nieo
Mar/22
Android Application Reversing

halsten
Mar/14
Breaking IonCUBE VM

oleavr
Oct/24
Anatomy of a code tracer

hasherezade
Sep/24
IAT Patcher - new tool for ...

oleavr
Aug/27
CryptoShark: code tracer ba...

More ...


Recent Blog Comments
ComPuer on:
May/14
Android Application Reversing

nieo on:
Mar/22
IAT Patcher - new tool for ...

djnemo on:
Nov/17
Kernel debugger vs user mod...

acel on:
Nov/14
Kernel debugger vs user mod...

pedram on:
Dec/21
frida.github.io: scriptable...

More ...


Imagery
SoySauce Blueprint
Jun 6, 2008

[+] expand

View Gallery (11) / Submit