Decompiling an old program

I was asked to update a program written in 1987 in Delphi (I think). I do not have documentation about this program, only a few notes of supporters that the programmer took, which do not make much sense to do.

cd shows these files:

  Size |  Filename 
 19956 VP.DTA 
 142300 VP.LEX 
 404 VP.NDX 
 126502 VP.RCS 
 131016 VP.SCR 
 150067 VP.XEL 
 101791 vp.exe

Is any of this file a database? If so, can I get data to it?

I tried several code decompilers, but they show a message stating that this is not a Win32 compatible application. The program runs in MS-DOS.

Is it possible to get the source code? Can I use this code to create a new application?

Update01: I can run the program in MS-DOS. The program conjugates verbs and shows an example sentence where you can use the verb. The GUI is a bit confusing and there is no help menu, so I do not see all the features of the program.

Update02: In a conversation with the program owner, we found another solution. He asks me if it is possible to have a program on the server, and clients can log in with a user and password and execute the program in the terminal. I have an account on my university server in which I can access all ssh and compile and execute c-programs. The server is on Linux, so I could not try the program on it. If I set up a Windows server, can I have access to several people and run the program in the terminal? The program is exe. Doesn't that raise some security concerns?

+4
source share
6 answers

Delphi - since the mid-nineties, so probably these are the ancestors of Delphi Turbo Pascal, not Delphi.

Some extensions sound familiar, like shortened versions of words:

ndx = index dta = data scr = screen (?) lex = lexicon (list of words or deduped strings in general) (?) 

The screen was sometimes used, for example. helpscreens, a medieval form of help files, these are typical ansi screens that can be loaded directly into the screen memory

There is a fair likelihood that this is something manually, especially if this 1987 date and the general "pascal" assumption are true and are not generated by any known database package at all.

Reversing the fileformat file may be more useful than trying to override the application.

A good start would be to take the unix "file" command to find out if it can recognize file types. (the file command looks for signatures inside the files, and there are also Windows ports. I use Cygwin)

The experience gained in such matters can also see a lot from hexdump (especially for the first parts of the file)

+7
source

Is it possible to get the source code?

Probably not, you can watch something like IDA Pro that can parse C applications using something like Hex-Rays .

0
source

Do you know what an app should be?

If this is ms-dos, then you probably better just compose new requirements and do new development.

0
source

Look for DeDe to cancel delphi compilation development. But as far as I know, delphi is a real compiler. Thus, there is no way to compile it. If you can read the assembler code, you can try compiling it. Clipper and Foxpro (dos version) is another story because they are not a real compiler.

0
source

This is definitely not Delphi. It can be one of the base database languages, such as Clipper 1 ..SCR, probably means β€œscreen” and defines input / output masks .. NDX is the index of the table, and .DTA means β€œdata”.

If this is a clipper, you might be lucky because, as far as I remember, these programs were P-code, so you could decompile it.

0
source

It looks like CLipper (NDX and SCR). If you have a DBF file, then it is Clipper for sure. But some people renamed DBF to something like DAT. If it is Clipper, I believe that it was decompiled by the name of Valkyrie.

0
source

Source: https://habr.com/ru/post/1333960/


All Articles