Windows disassembler: looking for a tool...

Posted by SigTerm on Stack Overflow See other posts from Stack Overflow or by SigTerm
Published on 2010-05-07T06:38:02Z Indexed on 2010/05/07 10:38 UTC
Read the original article Hit count: 322

Filed under:
|
|

Hello.

I'm looking for a (preferably free) tool that can produce "proper" disassembly listing from a (non-.NET) windows PE file (*.exe or *.dll).

Important requirement: it should be possible to run the listing through a windows assembler (nasm, masm or whatever) and get working exe again (not necessarily identical to original one, but it should behave in the same way).

Intended usage is adding new subroutines into existing code, when source is not available.

Ideally, tool should be able to detect function/segment boundaries, API calls, and generate proper labels for jumps (I can live without labels for loops/jumps, though, but function boundary detection would be nice), and keep program resources/segments in place.

I'm already aware of IdaPRO(not free), OllyDBG (useful for in-place hacking, doesn't generate disassembly listing, AFAIK), ndisasm (output isn't suitable for assembler), dumpbin (useful, but AFAIK, output isn't suitable for assembler) and "proxy dll" technique.

Ideas? Or maybe there is a book/tutorial that explains some kind of alternative approach?

© Stack Overflow or respective owner

Related posts about disassembling

Related posts about beginner