wjp / idados

Eric Fry's IDA/DOSBox debugger plugin
129 stars 26 forks source link

Add support for Linear Executable (LE) #2

Closed animehunter closed 10 years ago

animehunter commented 10 years ago

Hi

My team and I are currently remaking a classic dos game called OMF 2097 at https://github.com/omf2097/openomf

We are desperately in need of a debugger that can handle the linear executable (LE) format.

We have some knowledge of x86 asm. We are able to reverse engineer about 10% of the omf game binary using only a dissembler. But static analysis isn't enough.

I want to ask how hard is it to add support for LE debugging to idados?

Thank you

wjp commented 10 years ago

Hi,

I can't test this right now, but have you already tried? How far do you get, and which problems do you run into?

-Willem Jan

animehunter commented 10 years ago

Here's what I tried so far...

First, I followed the steps to build both the idados plugin and the modified dosbox.

After I loaded the game executable in IDA, I could not find the "Remote DOSBox" in the list of debuggers. I could only see "Local Bochs" and "Remote GDB".

Next thing I tried launching the game using the command "debug omf.exe" but it froze dosbox.

The Software I used is IDA 6.1 on Windows 7.

The game's executable file is a 32bit Dos LE compiled with Watcom 9.5 C++ compiler.

wjp commented 10 years ago

After I loaded the game executable in IDA, I could not find the "Remote DOSBox" in the list of debuggers. I could only see "Local Bochs" and "Remote GDB".

Next thing I tried launching the game using the command "debug omf.exe" but it froze dosbox.

If the plugin does not show up in the list of debuggers, it isn't installed properly. Did you copy it to IDA's plugins directory? I haven't used IDA on Windows, so I can't immediately say where that is.

Dosbox freezing after "debug omf.exe" is expected. It's waiting for the IDA plugin to connect at that point.

animehunter commented 10 years ago

Yes, I did copy the plugin to IDA's plugin directory. I'm very sure it is installed properly because I tested it with a 16bit Dos exe. But when I loaded a 32bit Dos exe, the "Remote Dosbox debugger" option did not appear.

May I send you the exe file to see if you can get it working? I want to make sure there isn't anything strange going on with my setup.

wjp commented 10 years ago

Yes, I did copy the plugin to IDA's plugin directory. I'm very sure it is installed properly because I tested it with a 16bit Dos exe. But when I loaded a 32bit Dos exe, the "Remote Dosbox debugger" option did not appear.

Ah, I see. You could try commenting out the f_EXE/f_COM and PLFM_386 checks in init_plugin() in dosbox_local_impl.cpp to see if that helps. They may be too restrictive.

May I send you the exe file to see if you can get it working? I want to make sure there isn't anything strange going on with my setup.

If you want (my email address is in the idados README), but I probably won't have time to look at this properly until at least Sunday.

animehunter commented 10 years ago

Thanks, removing f_EXE/f_COM did the job!

I'm going to call this issue solved.

Once again thanks.

wjp commented 10 years ago

Excellent; glad to hear it.