Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Do I Know x86?

Name: Anonymous 2014-10-30 20:35

Found this while reversing a program:

mov esi, ds:MessageBoxA
call esi ; MessageBoxA


Am I missing something or are these the stupidest two instructions ever emitted by a C++ compiler?

Name: Cudder !MhMRSATORI 2014-11-01 11:44

>>15
x86-64 is not true 64-bit. You can blame AMD for that...

>>16
According to http://arstechnica.com/business/2012/04/exclusive-a-behind-the-scenes-look-at-facebook-release-engineering/ Facebook is a single 1.5GB binary, so I wouldn't be surprised if there were far bigger ones being created elsewhere.

>>17
:facepalm: Lots of duplicate code there. Could've been the result of separate compilation/linking, since a rel32 relocation, especially to an import table entry, is somewhat tricky to handle... push reg/pop reg are tiny though - 1 byte each.

mov reg, [mem] is 5 bytes and a call reg is 2, while call mem is also 5, so it's smaller if you call the same function more than once - 5 + 2n vs 5n --- that is, if you don't do the mov more than once too!

>>18
VA != PA

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List