fonic / wcdatool Goto Github PK
View Code? Open in Web Editor NEWWatcom Disassembly Tool (wcdatool) - Tool to aid disassembling DOS applications created with the Watcom toolchain
Watcom Disassembly Tool (wcdatool) - Tool to aid disassembling DOS applications created with the Watcom toolchain
running any of the shell scripts causes a broken pipe error on VS Code:
[21644:0115/132121.563:ERROR:broker_win.cc(56)] Error reading broker pipe: The pipe has been ended. (0x6D)
[6072:0115/132122.561:ERROR:broker_win.cc(56)] Error reading broker pipe: The pipe has been ended. (0x6D)
[9756:0115/132123.310:ERROR:broker_win.cc(56)] Error reading broker pipe: The pipe has been ended. (0x6D)
Piqued my interest when I saw in your readme that this could disassemble MK Trilogy for DOS in a readable format. When I try to run it on MKTRIL.EXE, it goes for about a minute or two an then gets stuck at "Generating plain disassembly for object 1...". I can see in task manager nothing is going on because the CPU usage for python goes from 30% to 0%. Is the current version of this not able to disassemble MK Trilogy? Is it something you can fix?
edit: note that I'm using the original EXE that comes on the MK Trilogy CD, not the modified community patch or gog versions.
edit2: I do see objdump.exe tasks stopping and starting. I also see Windows Defender anti virus running at 25-30% CPU. Wondering if it's completely grinding Python to a halt for some reason.
So I have a non-MK app that I'm trying to decompile, I managed through IDA to identify that it was in fact compiled through Watcom. I've tried multiple softwares to try to decompile it into comprehensive code, but to no avail. Some lines ARE in fact clearly readable in other softwares, but there's a lot of garbage inbetween those sections, and I don't know how to clean that up. Did some searching and lo and behold, I found your project and was overjoyed that something was created specifically for Watcom applications, but I just can't for the life of me get it running, and the install instructions are incredibly confusing.
For example, you never specified where to put objdump. I tried to run your included BAT files for compiling Open Watcom 2.0 from source, but that didn't seem to work correctly either. I tried transferring the files I already had from a seperate installation of OW 1.9 from the official site, but that didn't seem to do anything either. Just would really like some clarification on how to actually install/use this, thanks.
I was told about this and thought it was cool after spending the last 5 years working directly with TMS34010 assembly code and writing a few huge MK revisions for arcades(mortalkombatplus.com).
I'm not sure this would be of help for my arcade projects, but maybe if I ever decide to port MK Trilogy over the Midway's Wolf Unit. :)
So is this code in a state to be recompiled once it has been decompiled? I'm not really an assembler programmer so I can't immediately tell.
Was surprised to see the output ad the line numbers/binary code as well-- is there a way to disable that? I assume you can't recompile the code with that in the code.
Also, I've noticed comments about "bad code" or "misplaced" code-- I assume this is something your script does? Would that affect trying to recompile the code?
Hi :)
This looks really interesting as I am trying to RE Fatal Racing/Whiplash and there were WATCOM when running strings
on FATAL.EXE
.
It did look promising but it crashed
The error isn't in the log file but here is a snippet copied from the terminal:
Building data maps for data objects:
Building initial data maps from object and modules...
Data map for object 2 has 1 entries
Extending data maps based on size information in structure...
Traceback (most recent call last):
File "/home/deevus/projects/reverse-engineering/wcdatool/Scripts/../Wcdatool/wcdatool.py", line 241, in <module>
retval = main()
File "/home/deevus/projects/reverse-engineering/wcdatool/Scripts/../Wcdatool/wcdatool.py", line 210, in main
disasm = disassemble_objects(wdump, fixrel, cmd_args.objdump_exec, outfile_template)
File "/home/deevus/projects/reverse-engineering/wcdatool/Wcdatool/modules/main_disassembler.py", line 2290, in disassemble_objects
insert_data_map_item(object["data map"], OrderedDict([("start", sitem["start"]), ("end", sitem["end"]), ("type", type_), ("mode", mode), ("source", "structure")]))
File "/home/deevus/projects/reverse-engineering/wcdatool/Wcdatool/modules/main_disassembler.py", line 1372, in insert_data_map_item
raise TypeError("ins_item[\"%s\"] must be type %s or None, not %s" % (key, key_type.__name__, type(ins_item[key]).__name__))
TypeError: ins_item["end"] must be type int or None, not NoneType
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.