Another disassembler engine:
Zyan Disassembler Engine (Zydis) (https://github.com/zyantific/zydis)
Code size about 300 kb.
EDIT: PEObjDisAsm, an example for an object file asm dump.
EDIT 2017-10-25: PEObjDisAsm_WS_a3.zip with modified line lengths src\Generated\DecoderTables.inc.
additional files FormatHelperMasm.c FormatterMasm.c
EDIT 2017-11-22: PEObjDisAsm_WS_a7.zip code bytes and funtion names.
EDIT 2018-02-14: PEObjDisAsm_WS_a8.zip some fixes for symbols.
Very interesting. I download it immediatly. :D
A tool to modify line lengths of src\Generated\DecoderTables.inc.
In C source file line length limit is 4096, at least in pocc.
For me that's good
Having a simple listing is nice for me
I would like to have an other with the addresses for seeing aligment
And an other that indicates if the source/destination operand(s) is/are register or memory operand.
That for later giving a name to the address.
I me problems with 2 files, I join into the zip the obj and the source file.
Good work... continue. :( :( :( :( :( :) :) :) :) :) :)
Hi Timo,
Once again, impressive work. Let me study your project.
Is this project finished?
Is something missing from that example?
Data segments and Resources.
Or a dump of the datas.
It there was an option for getting bytes code this would be great.
I made a program to optimize source code from podump, strages addresses computed, no possibility to know datas aligment.
PoDump gives the byes code and the source code the two were precious.
With your program i like taht you give the window's functions.
Knowing it we can built (or suppose) the function arguments.
With that we can identify the datas.
Last version prints code bytes.
EDIT: 2018-02-13: Updated example using Zydis.dll.
;D
Zydis 3 testing.
Sample test_zydis1.zip not working.
I need to download zydis from github? Or what?
You need a proper Zydis dll too.
https://forum.pellesc.de/index.php?topic=7206.msg29081#msg29081
Busy right now, but if it doesn't work, just tell me.
This sample (with DLL ) works. but I delete msvcrt_main.c, because if fails in "#pragma comment(lib, "msvcrt.lib")" (not found).
Works good without this.
msvcrt.lib isn't included in Pelles C, have to find one
Time to test Zydis 3.21 / 4
I haven't updated minimal headers yet :(
Grabbed it, but I don't do much assembly these days.
I wonder if there is a disassembler/converter for old 8/16 bit intel that can up-convert into 32/64 bit intel for re-assembling.
That could allow recovery old programs where no sources are available.
John Z