Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming > #6392 > unrolled thread

Reverse engineering

Started by"cwf" <cwf101@wiosna.pl>
First post2016-03-22 09:06 -0400
Last post2016-03-23 20:17 +0000
Articles 3 — 3 participants

Back to article view | Back to comp.programming


Contents

  Reverse engineering "cwf" <cwf101@wiosna.pl> - 2016-03-22 09:06 -0400
    Re: Reverse engineering Randy Howard <rhoward.mx@EverybodyUsesIt.com> - 2016-03-22 12:10 -0500
    Re: Reverse engineering "Ant" <not@home.today> - 2016-03-23 20:17 +0000

#6392 — Reverse engineering

From"cwf" <cwf101@wiosna.pl>
Date2016-03-22 09:06 -0400
SubjectReverse engineering
Message-ID<ncrfvv$1l4d$1@gioia.aioe.org>
Hello everyone. I want to know how reverse engineering is done professional way.
Having simple scenario - you have binary program and want to disassemble
and convert/translate it to different language like C/C++. I know assembler well enough.
What tools disassemblers have to simplify, speed up and make this process most convenient?
And what disassemblers you would recommend? Any materials/literature/videos?
Considering here only x86 processors. Thanks for all help

cw

[toc] | [next] | [standalone]


#6393

FromRandy Howard <rhoward.mx@EverybodyUsesIt.com>
Date2016-03-22 12:10 -0500
Message-ID<ncruao$fnb$1@gioia.aioe.org>
In reply to#6392
On 3/22/16 8:06 AM, cwf wrote:
> Hello everyone. I want to know how reverse engineering is done professional way.
> Having simple scenario - you have binary program and want to disassemble
> and convert/translate it to different language like C/C++. I know assembler well enough.
> What tools disassemblers have to simplify, speed up and make this process most convenient?
> And what disassemblers you would recommend? Any materials/literature/videos?
> Considering here only x86 processors. Thanks for all help
>
> cw
>

Many of the commercial ones seem to have disappeared since the wave of
open source came along. The process isn't particularly complicated. A
bit tedious, perhaps. You need to have a good understand of the
file format(s) for executables on the platform of interest, and the
opcodes for the CPU. Then it's a fairly straightforward process of
decoding the binary, generating labels (you can't know the original
ones generally) for jmp targets, memory variables, etc.

The output is generally not fun to read because of the invented names
for things in the assembly source, but that shouldn't be much of a
burden on those using one that are actually well versed in assembly
for the architecture.

A quick glance shows a number of open source disassembler projects
if you want to get your feet wet.


-- 
Randy Howard
(replace the obvious text in the obvious way if you wish to contact me 
directly)

[toc] | [prev] | [next] | [standalone]


#6396

From"Ant" <not@home.today>
Date2016-03-23 20:17 +0000
Message-ID<ncutmm$1b5c$1@gioia.aioe.org>
In reply to#6392
"cwf" wrote:

> what disassemblers you would recommend?

Professionals like to use IDA Pro but it costs money. An older version
is available for free. My preference is Ollydbg.

[toc] | [prev] | [standalone]


Back to top | Article view | comp.programming


csiph-web