In search of the perfect Disassembler





Bertrand Augereau wrote:
>
> Do you support all the platforms they do?

Ha Ha!

> The full scriptability too?

Ha Ha Ha!

> RosASM doesn't seem to have all the 'Interactive' part of IDA that is so
> useful for reverse engineering existing binary files, with the whole
> metamodel that allows refactoring.

For the longest time, Rene was claiming that 100% automatic (and
perfect) disassembly was possible and RosAsm was going to do that.
This, despite the fact that several people around here pointed out that
disassembly reduces to the halting problem (which is unsolvable).
Finally, Rene figured out that he *wasn't* going to be able to do a
perfect disassembly, so he began preaching that RosAsm would
automatically disassemble *most* well-written programs (that is, ones
that are easy to disassemble). All the while maintaining that
"interactive disassembly" was a waste of time.

Amazing, amazing. Rene finally admitted that he is going to have to add
interactive features to RosAsm in a recent post (last couple of days).
Will wonders never cease?

>
> Yet I agree I like the idea of decompiling/recompiling PE in one
> click... But Win32/X86 is not all people care about, mind you.

And even if that's all they *did* care about, the novelty of "two
clicks disassembly/assembly" wears off real quick when you realize that
it isn't practical at all. There will *always* be mistakes in the
produced code if you're disassembling a non-trivial application. If
automatic disassembly *were* possible, programs like IDAPro (which have
been under serious development for many, many years) would have cracked
that nut by now. But as has been pointed out many times around here, it
is *not* possible to do an automatic disassembly. An automatic
disassembly makes a good "first pass" for the code, to give you
something to work with in interactive mode (and IDAPro does a decent
job of this), but it will *never* be sufficient by itself except for
simple programs (like the ones Rene uses to demo how great his
disassembler is).

Also note: when Rene announces that his disassembler is complete, I'll
be able to break it in about two minutes. It's not hard to confuse an
automatic disassembler.


>
> >>Now, could you at least go back to a.l.a only and spare us r.g.i
> >
> > readers
> >
> >>with your ASM nitpicks?
> >>Or else I threaten to bore you to death on your n/g with PS2 VU
> >>instruction scheduling and MIPS 5900 cache prefetching, so you'll
> >>understand how boring all this is to interactive fiction gamers
> >>wandering here :)
>

Actually, a discussion of PS2 VU instruction scheduling and MIPS 5900
cache prefetching is a totally appropriate subject to discuss around
here (and many people would find it interesting). Far more appropriate
than most of Rene's (Betov's) points.
Cheers,
Randy Hyde

.



Relevant Pages

  • Re: Renes Revisionist History, Again
    ... I did not measure the speed of other assemblers so why ... As part of the RosAsm development team, ... Apparently, Rene hasn't really measured the speed of other assemblers, ... How about "most powerful disassembler"? ...
    (alt.lang.asm)
  • De- Evolution
    ... > RosAsm Disassembler-Reassembler is actually (developement ... disassembler *doesn't* disassemble anything properly. ... RosASM as long as you take the attitude "I'll get around ... recursive macro invocations. ...
    (alt.lang.asm)
  • Re: .EXE -> .ASM -> .EXE
    ... You are mistaken in asuming that all RosAsm users are only the ones ... But you guys have claimed how great your disassembler ... The goal is translation of libraries to pure assembly code, ... insetad simply you do as in other assemblers that is.. ...
    (alt.lang.asm)
  • Re: Reverse engineering != piracy (was Re: RosAsm disassembler output vs. IDA Pro)
    ... >>Rene has specifically stated that the purpose of the disassembler is to ... >>code out of other programs for use with RosAsm applications. ... IDA Pro is quite good for reverse engineering and I ... Rene did *not* claim that they were going to ...
    (alt.lang.asm)
  • Re: Renes Revisionist History, Again
    ... When I said the apps "sucked hard", ... I was astonished that even Rene would use a few simple "hello world" ... examples as proof that RosAsm is "the fastest, ... >> have you seen how poorly it works compared to a real disassembler? ...
    (alt.lang.asm)