Log in

View Full Version : Avoiding a HASP-3 dongle


serpeal
May 18th, 2009, 06:30
Hi all!

I'd like to patch an exe file that reads a HASP-3 (parallel port) dongle. The exe file contains the string "HASPDOSDRV", and I read in the dongle "Aladdin Knowledge Systems LTD HASP-3 RUNT-TIME T". I have also some HASP II dongles.

We use a VERY old CRM software (DOS version).

I've moved this software to Linux using DOSBox (DOS emulator) and I can use it with the dongle with no problem. The thing is that nobody supports now this old version, I don't want to move to the new one and I'd like to use the version we have in my laptop (with no parallel port)

I tried to emulate the dongle by modifying the DOSBox code. I traced calls to 0x0378h-0x037ah but after a first attempt (and a deeper document research) I realized that dongles do more things than returning a flag or a value to the software.

I have tried all the HASP related software in the Woodmann site, but I haven't found a pure DOS HASP emulator, which I need in the DOSBox environment.

SO; I realized that, instead of emulating the dongle, it would be easier to patch/crack the exe file.

I've read the CASMate "how to", but I'm not an assembler guru and I've never used a PE disassembler neither an Hex editor (I know a little about linux ELF files, but....).

I would really thank suggestions about disassemblers, Hex editors and the environment that I should install in order to Patch the file.

I guess I should use VMWare or VirtualBox with a Win98 or Win95 target...

Suggestions?? Guidelines??

In case there is a Kind Sould that would like to check my target, I've zipped and uploaded it in this site:

http://www.discodragon.com/BACKUP.zip

There is a BAT file (RNT386.BAT) that launches the main exe file (MGRNT386.EXE) containing the "HASPDOSDRV" string.

Here there is a valid username/password pair:

USER ID: dekker
PASSWORD: 1402

The btrive database is empty, but if you can access it then the patch/crack is working. Otherwise the application shouts "Protection violation 1" or something similar.

Thanks in advance for any suggestion, guideline or attempt to check my target.

Regards!!

naides
May 18th, 2009, 08:35
I have been where you are.
Cracking a 16 bit program is a pain, but not impossible. Chances are you need to have 16 bit SoftIce up and running, and learn your way around segmented code.
Doubt anyone will crack the program for you out the goodness of their hearts. However keep in mind that dongle protections often check for the presence of the dongle and little else.
Did you read CrackZ site, linked below??

serpeal
May 18th, 2009, 09:03
Yes, I did. In fact, CrackZ's been one of the kind souls asking me for a zipped copy of my target to take a look a it. Since I have no experience on cracking software, I just wondered if my question was simple enough for some people that have already faced this problem and that have already installed the environment and tools to test my target and/or to crack my target.

I've been facing this task for three weeks (modifying DOSBox and tracing calls to LPT), the thing is that I'm just a little tired of the f*cking dongle.

But I'll face anything!!! We always do, don't we? In fact, cracking is one of my TODO learnings, though I'd preffer to learn in a newer environment, let's say XP, but DOS (or Win 95 or 98) ....

My world is Linux, and we don't need cracks there... we just modify the original sources

Regards.

CrackZ
May 18th, 2009, 13:25
I checked the target quickly a few days back.

HASP passwords are 0x6D11/0x43C4.

Main program calls haspcode() with seed 0x5ACD and then readword(addr 20h) - hardcoded check for 0x1F4 being the value.

I couldn't get any other services to trigger since I'm not familiar in anyway with the program, there are lots of references to further services which may be called.

I'll look more into it in a spare minute when I get it.

Regards,

CrackZ.

serpeal
May 19th, 2009, 03:05
Hi, CrackZ!!

Thanks a lot for your help. I have traced the INT21 interrupts to see which files do the main app open. Let's say that I've gone through each submenu into the app to see which services in which files do the main app request, and this is what I've got:

Code:
INT21: open file "AUX"
INT21: open file "CON"
INT21: open file "PRN"
INT21: open file "fdconfig.sys"
INT21: open file "config.sys"
INT21: open file "fdconfig.sys"
INT21: open file "config.sys"
INT21: open file "fdconfig.sys"
INT21: open file "config.sys"
INT21: open file "AUX"
INT21: open file "CON"
INT21: open file "PRN"
INT21: open file "C:-@JUNK@-.TMP"
INT21: open file "D:-@JUNK@-.TMP"
INT21: open file "Z:\COMMAND.COM"
INT21: open file "Z:\COMMAND.COM"
INT21: open file "Z:\COMMAND.COM"
INT21: open file "\autoexec.bat"
INT21: open file "\autoexec.bat"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "blaster.COM"
INT21: open file "blaster.EXE"
INT21: open file "blaster.BAT"
INT21: open file "z:\bin\blaster.COM"
INT21: open file "z:\bin\blaster.EXE"
INT21: open file "z:\bin\blaster.BAT"
INT21: open file "z:\gnu\blaster.COM"
INT21: open file "z:\gnu\blaster.EXE"
INT21: open file "z:\gnu\blaster.BAT"
INT21: open file "z:\dosemu\blaster.COM"
INT21: open file "z:\dosemu\blaster.COM"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "unix.COM"
INT21: open file "unix.EXE"
INT21: open file "unix.BAT"
INT21: open file "z:\bin\unix.COM"
INT21: open file "z:\bin\unix.EXE"
INT21: open file "z:\bin\unix.BAT"
INT21: open file "z:\gnu\unix.COM"
INT21: open file "z:\gnu\unix.EXE"
INT21: open file "z:\gnu\unix.BAT"
INT21: open file "z:\dosemu\unix.COM"
INT21: open file "z:\dosemu\unix.COM"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "lredir.COM"
INT21: open file "lredir.EXE"
INT21: open file "lredir.BAT"
INT21: open file "z:\bin\lredir.COM"
INT21: open file "z:\bin\lredir.EXE"
INT21: open file "z:\bin\lredir.BAT"
INT21: open file "z:\gnu\lredir.COM"
INT21: open file "z:\gnu\lredir.EXE"
INT21: open file "z:\gnu\lredir.BAT"
INT21: open file "z:\dosemu\lredir.COM"
INT21: open file "z:\dosemu\lredir.COM"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "unix.COM"
INT21: open file "unix.EXE"
INT21: open file "unix.BAT"
INT21: open file "z:\bin\unix.COM"
INT21: open file "z:\bin\unix.EXE"
INT21: open file "z:\bin\unix.BAT"
INT21: open file "z:\gnu\unix.COM"
INT21: open file "z:\gnu\unix.EXE"
INT21: open file "z:\gnu\unix.BAT"
INT21: open file "z:\dosemu\unix.COM"
INT21: open file "z:\dosemu\unix.COM"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "unix.COM"
INT21: open file "unix.EXE"
INT21: open file "unix.BAT"
INT21: open file "z:\bin\unix.COM"
INT21: open file "z:\bin\unix.EXE"
INT21: open file "z:\bin\unix.BAT"
INT21: open file "z:\gnu\unix.COM"
INT21: open file "z:\gnu\unix.EXE"
INT21: open file "z:\gnu\unix.BAT"
INT21: open file "z:\dosemu\unix.COM"
INT21: open file "z:\dosemu\unix.COM"
INT21: open file "Z:\COMMAND.COM"
INT21: open file "Z:\COMMAND.COM"
INT21: open file "Z:\COMMAND.COM"
INT21: open file "RNT386.BAT"
INT21: open file "RNT386.BAT"
INT21: open file "C:\BACKUP\RNT386.BAT"
INT21: open file "C:\BACKUP\RNT386.BAT"
INT21: open file "mgerror.COM"
INT21: open file "mgerror.COM"
INT21: open file "C:\BACKUP\RNT386.BAT"
INT21: open file "btrieve.COM"
INT21: open file "btrieve.EXE"
INT21: open file "btrieve.EXE"
INT21: open file "c:\btrieve.trn"
INT21: open file "C:\BACKUP\RNT386.BAT"
INT21: open file "mgbtrv.COM"
INT21: open file "mgbtrv.EXE"
INT21: open file "mgbtrv.EXE"
INT21: open file "C:\BACKUP\RNT386.BAT"
INT21: open file "C:\BACKUP\RNT386.BAT"
INT21: open file "mgswap.COM"
INT21: open file "mgswap.COM"
INT21: open file "mgrnt386.COM"
INT21: open file "mgrnt386.EXE"
INT21: open file "EMMXXXX0"
INT21: open file "386MAX$$"
INT21: open file "C:\BACKUP\MGRNT386.EXE"
INT21: open file "MAGIC.INI"
INT21: open file "MAGIC.INI"
INT21: open file "mgconst.spa"
INT21: open file "mgconst.spa"
INT21: open file "clr_std.spa"
INT21: open file "clr_std.spa"
INT21: open file "act_std.spa"
INT21: open file "act_std.spa"
INT21: open file "usr_std.eng"
INT21: open file "usr_std.eng"
INT21: open file "usr_std.eng"
INT21: open file "MAGIC.INI"
INT21: open file "MAGIC.INI"
INT21: open file "C:\COMMAND.COM"
INT21: open file "C:\COMMAND.COM"
INT21: open file "C:\COMMAND.COM"
INT21: open file "C:\BACKUP\mglogo.COM"
INT21: open file "C:\BACKUP\mglogo.EXE"
INT21: open file "C:\BACKUP\mglogo.EXE"
INT21: open file "C:\BACKUP\mglogo.pic"
INT21: open file "usr_std.eng"
INT21: open file "usr_std.eng"
INT21: open file "usr_std.eng"
INT21: open file "usr_std.eng"
INT21: open file "usr_std.eng"
INT21: open file "usr_std.eng"
INT21: open file "usr_std.eng"
INT21: open file "usr_std.eng"
INT21: open file "usr_std.eng"
INT21: open file "MAGIC.INI"
INT21: open file "MAGIC.INI"
INT21: open file "TESTDB\GCCTL.dat"
INT21: open file "c:\backup\testdb\gcctl.dat"
INT21: open file "c:\backup\testdb\gcctl.dat"
INT21: open file "usr_std.eng"
INT21: open file "usr_std.eng"
INT21: open file "usr_std.eng"
INT21: open file "usr_std.eng"
INT21: open file "usr_std.eng"
INT21: open file "usr_std.eng"
INT21: open file "c:\backup\testdb\gcfil001.dat"
INT21: open file "c:\backup\testdb\gcfil006.dat"
INT21: open file "c:\backup\testdb\gcfil001.dat"
INT21: open file "c:\backup\testdb\gcfil002.dat"
INT21: open file "c:\backup\testdb\gcfil006.dat"
INT21: open file "c:\backup\testdb\gcfil004.dat"
INT21: open file "c:\backup\testdb\gcfil034.dat"
INT21: open file "c:\backup\testdb\gcfil007.dat"
INT21: open file "c:\backup\testdb\gcfil005.dat"
INT21: open file "c:\backup\testdb\gcfil037.dat"
INT21: open file "c:\backup\testdb\gcfil009.dat"
INT21: open file "c:\backup\testdb\gcfil003.dat"
INT21: open file "c:\backup\testdb\gcfil007.dat"
INT21: open file "c:\backup\testdb\gcfil005.dat"
INT21: open file "c:\backup\testdb\gcfil008.dat"
INT21: open file "c:\backup\testdb\gcfil009.dat"
INT21: open file "c:\backup\testdb\gcfil035.dat"
INT21: open file "c:\backup\testdb\gcfil004.dat"
INT21: open file "c:\backup\testdb\gcfil007.dat"
INT21: open file "c:\backup\testdb\gcfil036.dat"
INT21: open file "c:\backup\testdb\gcfil001.dat"
INT21: open file "c:\backup\testdb\gcfil011.dat"
INT21: open file "c:\backup\testdb\gcfil012.dat"
INT21: open file "c:\backup\testdb\gcfil002.dat"
INT21: open file "c:\backup\testdb\gcfil006.dat"
INT21: open file "c:\backup\testdb\gcfil004.dat"
INT21: open file "c:\backup\testdb\gcfil034.dat"
INT21: open file "c:\backup\testdb\gcfil003.dat"
INT21: open file "c:\backup\testdb\gcfil007.dat"
INT21: open file "c:\backup\testdb\gcfil005.dat"
INT21: open file "c:\backup\testdb\gcfil008.dat"
INT21: open file "c:\backup\testdb\gcfil004.dat"
INT21: open file "c:\backup\testdb\gcfil007.dat"
INT21: open file "c:\backup\testdb\gcfil005.dat"
INT21: open file "c:\backup\testdb\gcfil038.dat"
INT21: open file "c:\backup\testdb\gcfil002.dat"
INT21: open file "c:\backup\testdb\gcfil006.dat"
INT21: open file "c:\backup\testdb\gcfil004.dat"
INT21: open file "c:\backup\testdb\gcfil001.dat"
INT21: open file "c:\backup\testdb\gcfil012.dat"
INT21: open file "c:\backup\testdb\gcfil002.dat"
INT21: open file "c:\backup\testdb\gcfil006.dat"
INT21: open file "c:\backup\testdb\gcfil007.dat"
INT21: open file "c:\backup\testdb\gcfil001.dat"
INT21: open file "c:\backup\testdb\gcfil028.dat"
INT21: open file "c:\backup\testdb\gcfil013.dat"
INT21: open file "c:\backup\testdb\gcfil004.dat"
INT21: open file "c:\backup\testdb\gcfil027.dat"
INT21: open file "c:\backup\testdb\gcfil004.dat"
INT21: open file "c:\backup\testdb\gcfil027.dat"
INT21: open file "c:\backup\testdb\gcfil002.dat"
INT21: open file "c:\backup\testdb\gcfil003.dat"
INT21: open file "c:\backup\testdb\gcfil006.dat"
INT21: open file "c:\backup\testdb\gcfil007.dat"
INT21: open file "c:\backup\testdb\gcfil001.dat"
INT21: open file "c:\backup\testdb\gcfil019.dat"
INT21: open file "c:\backup\testdb\gcfil005.dat"
INT21: open file "c:\backup\testdb\gcfil020.dat"
INT21: open file "c:\backup\testdb\gcfil013.dat"
INT21: open file "c:\backup\testdb\gcfil019.dat"
INT21: open file "c:\backup\testdb\gcfil003.dat"
INT21: open file "c:\backup\testdb\gcfil003.dat"
INT21: open file "c:\backup\testdb\gcfil019.dat"
INT21: open file "c:\backup\testdb\gcfil004.dat"
INT21: open file "c:\backup\testdb\gcfil002.dat"
INT21: open file "c:\backup\testdb\gcfil023.dat"
INT21: open file "c:\backup\testdb\gcfil001.dat"
INT21: open file "c:\backup\testdb\gcfil007.dat"
INT21: open file "c:\backup\testdb\gcfil013.dat"
INT21: open file "c:\backup\testdb\gcfil006.dat"
INT21: open file "c:\backup\testdb\gcfil028.dat"
INT21: open file "c:\backup\testdb\gcfil022.dat"
INT21: open file "c:\backup\testdb\gcfil024.dat"
INT21: open file "c:\backup\testdb\gcfil034.dat"
INT21: open file "c:\backup\testdb\gcfil036.dat"
INT21: open file "c:\backup\testdb\gcfil004.dat"
INT21: open file "c:\backup\testdb\gcfil001.dat"
INT21: open file "c:\backup\testdb\gcfil011.dat"
INT21: open file "c:\backup\testdb\gcfil029.dat"
INT21: open file "c:\backup\testdb\gcfil007.dat"
INT21: open file "c:\backup\testdb\gcfil013.dat"
INT21: open file "c:\backup\testdb\gcfil024.dat"
INT21: open file "c:\backup\testdb\gcfil036.dat"
INT21: open file "c:\backup\testdb\gcfil004.dat"
INT21: open file "c:\backup\testdb\gcfil007.dat"
INT21: open file "c:\backup\testdb\gcfil013.dat"
INT21: open file "c:\backup\testdb\gcfil022.dat"
INT21: open file "c:\backup\testdb\gcfil024.dat"
INT21: open file "c:\backup\testdb\gcfil004.dat"
INT21: open file "c:\backup\testdb\gcfil024.dat"
INT21: open file "c:\backup\testdb\gcfil004.dat"
INT21: open file "c:\backup\testdb\gcfil009.dat"
INT21: open file "c:\backup\testdb\gcfil025.dat"
INT21: open file "c:\backup\testdb\gcfil009.dat"
INT21: open file "c:\backup\testdb\gcfil004.dat"
INT21: open file "c:\backup\testdb\gcfil025.dat"
INT21: open file "c:\backup\testdb\gcfil026.dat"
INT21: open file "c:\backup\testdb\gcfil014.dat"
INT21: open file "c:\backup\testdb\gcfil015.dat"
INT21: open file "c:\backup\testdb\gcfil002.dat"
INT21: open file "c:\backup\testdb\gcfil003.dat"
INT21: open file "c:\backup\testdb\gcfil006.dat"
INT21: open file "c:\backup\testdb\gcfil007.dat"
INT21: open file "c:\backup\testdb\gcfil001.dat"
INT21: open file "c:\backup\testdb\gcfil005.dat"
INT21: open file "c:\backup\testdb\gcfil013.dat"
INT21: open file "c:\backup\testdb\gcfil020.dat"
INT21: open file "c:\backup\testdb\gcfil034.dat"
INT21: open file "c:\backup\testdb\gcfil035.dat"
INT21: open file "c:\backup\testdb\gcfil037.dat"
INT21: open file "c:\backup\testdb\gcfil013.dat"
INT21: open file "c:\backup\testdb\gcfil016.dat"
INT21: open file "TESTDB\GCFIL016.dat"
INT21: open file "c:\backup\testdb\gcfil016.dat"
INT21: open file "c:\backup\testdb\gcfil016.PRE"
INT21: open file "c:\backup\testdb\gcfil016.PRE"
INT21: open file "c:\backup\testdb\gcfil016.PRE"
INT21: open file "c:\backup\testdb\gcfil016.dat"
INT21: open file "c:\backup\testdb\gcfil005.dat"
INT21: open file "c:\backup\testdb\gcfil014.dat"
INT21: open file "c:\backup\testdb\gcfil017.dat"
INT21: open file "TESTDB\GCFIL017.dat"
INT21: open file "c:\backup\testdb\gcfil017.dat"
INT21: open file "c:\backup\testdb\gcfil017.PRE"
INT21: open file "c:\backup\testdb\gcfil017.PRE"
INT21: open file "c:\backup\testdb\gcfil017.PRE"
INT21: open file "c:\backup\testdb\gcfil017.dat"
INT21: open file "c:\backup\testdb\gcfil003.dat"
INT21: open file "c:\backup\testdb\gcfil009.dat"
INT21: open file "c:\backup\testdb\gcfil017.dat"
INT21: open file "c:\backup\testdb\gcfil018.dat"
INT21: open file "TESTDB\GCFIL018.dat"
INT21: open file "c:\backup\testdb\gcfil018.dat"
INT21: open file "c:\backup\testdb\gcfil018.PRE"
INT21: open file "c:\backup\testdb\gcfil018.PRE"
INT21: open file "c:\backup\testdb\gcfil018.PRE"
INT21: open file "c:\backup\testdb\gcfil018.dat"
INT21: open file "c:\backup\testdb\gcfil003.dat"
INT21: open file "c:\backup\testdb\gcfil009.dat"
INT21: open file "c:\backup\testdb\gcfil021.dat"
INT21: open file "TESTDB\GCFIL021.dat"
INT21: open file "c:\backup\testdb\gcfil021.dat"
INT21: open file "c:\backup\testdb\gcfil021.PRE"
INT21: open file "c:\backup\testdb\gcfil021.PRE"
INT21: open file "c:\backup\testdb\gcfil021.PRE"
INT21: open file "c:\backup\testdb\gcfil021.dat"
INT21: open file "c:\backup\testdb\gcfil017.dat"
INT21: open file "c:\backup\testdb\gcfil003.dat"
INT21: open file "c:\backup\testdb\gcfil012.dat"
INT21: open file "c:\backup\testdb\gcfil001.dat"
INT21: open file "c:\backup\testdb\gcfil007.dat"
INT21: open file "c:\backup\testdb\gcfil005.dat"
INT21: open file "c:\backup\testdb\gcfil008.dat"
INT21: open file "c:\backup\testdb\gcfil009.dat"
INT21: open file "c:\backup\testdb\gcfil035.dat"
INT21: open file "c:\backup\testdb\gcfil044.dat"
INT21: open file "TESTDB\GCFIL044.dat"
INT21: open file "c:\backup\testdb\gcfil044.dat"
INT21: open file "c:\backup\testdb\gcfil044.PRE"
INT21: open file "c:\backup\testdb\gcfil044.PRE"
INT21: open file "c:\backup\testdb\gcfil044.PRE"
INT21: open file "c:\backup\testdb\gcfil044.dat"
INT21: open file "c:\backup\testdb\gcfil001.dat"
INT21: open file "c:\backup\apte_ext"
INT21: open file "c:\backup\testdb\gcfil014.dat"
INT21: open file "c:\backup\testdb\gcfil003.dat"
INT21: open file "c:\backup\testdb\gcfil035.dat"
INT21: open file "c:\backup\testdb\gcfil003.dat"
INT21: open file "c:\backup\testdb\gcfil046.dat"
INT21: open file "TESTDB\GCFIL046.dat"
INT21: open file "c:\backup\testdb\gcfil046.dat"
INT21: open file "c:\backup\testdb\gcfil046.PRE"
INT21: open file "c:\backup\testdb\gcfil046.PRE"
INT21: open file "c:\backup\testdb\gcfil046.PRE"
INT21: open file "c:\backup\testdb\gcfil046.dat"
INT21: open file "c:\backup\testdb\gcfil046.dat"
INT21: open file "c:\backup\testdb\gcfil004.dat"
INT21: open file "c:\backup\testdb\gcfil047.dat"
INT21: open file "TESTDB\GCFIL047.dat"
INT21: open file "c:\backup\testdb\gcfil047.dat"
INT21: open file "c:\backup\testdb\gcfil047.PRE"
INT21: open file "c:\backup\testdb\gcfil047.PRE"
INT21: open file "c:\backup\testdb\gcfil047.PRE"
INT21: open file "c:\backup\testdb\gcfil047.dat"
INT21: open file "c:\backup\testdb\gcfil047.dat"
INT21: open file "c:\backup\testdb\gcfil002.dat"
INT21: open file "c:\backup\testdb\gcfil048.dat"
INT21: open file "TESTDB\GCFIL048.dat"
INT21: open file "c:\backup\testdb\gcfil048.dat"
INT21: open file "c:\backup\testdb\gcfil048.PRE"
INT21: open file "c:\backup\testdb\gcfil048.PRE"
INT21: open file "c:\backup\testdb\gcfil048.PRE"
INT21: open file "c:\backup\testdb\gcfil048.dat"
INT21: open file "c:\backup\testdb\gcfil048.dat"
INT21: open file "clr_std.spa"
INT21: open file "clr_std.spa"
INT21: open file "c:\backup\testdb\gcrpr.dat"
INT21: open file "clr_std.spa"
INT21: open file "clr_std.spa"
INT21: open file "act_std.spa"
INT21: open file "act_std.spa"
INT21: open file "C:\BACKUP\RNT386.BAT"
INT21: open file "C:\BACKUP\RNT386.BAT"
INT21: open file "C:\BACKUP\RNT386.BAT"
INT21: open file "mgstop.COM"
INT21: open file "mgstop.EXE"
INT21: open file "mgstop.EXE"
INT21: open file "C:\BACKUP\RNT386.BAT"
INT21: open file "btstop.COM"
INT21: open file "btstop.EXE"
INT21: open file "btstop.EXE"
INT21: open file "C:\BACKUP\RNT386.BAT"
INT21: open file "mgerror.COM"
INT21: open file "mgerror.COM"
INT21: open file "C:\BACKUP\RNT386.BAT"
INT21: open file "C:\AUTOEXEC.BAT"
INT21: open file "EXITEMU.COM"
INT21: open file "EXITEMU.EXE"
INT21: open file "EXITEMU.BAT"
INT21: open file "z:\bin\EXITEMU.COM"
INT21: open file "z:\bin\EXITEMU.EXE"
INT21: open file "z:\bin\EXITEMU.BAT"
INT21: open file "z:\gnu\EXITEMU.COM"
INT21: open file "z:\gnu\EXITEMU.EXE"
INT21: open file "z:\gnu\EXITEMU.BAT"
INT21: open file "z:\dosemu\EXITEMU.COM"
INT21: open file "z:\dosemu\EXITEMU.COM"

UNIX, LREDIR, BLASTER and EXITEMU are specific DOSBox files (the DOS emulator that I use). DAT files are database specific, as you have guessed.

I've checked that only these files in the zipped file contain the HASPDOSDRV string:

HASPSERV.EXE, HASPSERV.NLM, HASPSERV.VAP, HINSTALL.EXE, MGGEN386.EXE, MGGEN.EXE, MGGENW.EXE, MGRNT386.EXE, MGRNT.EXE, MGRNTW.EXE, NHSRVOS2.EXE, NHSRVWIN.EXE, NHSRVWNT.EXE

Only MGRNT386.EXE is in both lists.

May I help tracing something else or should I search for another string??

Thanks again, CrackZ.

JMI
May 19th, 2009, 11:29
Sepreal:

We have a function available here to avoid having an extremely long listing of Code, such as you posted above. What you need to do is enclose the code within the two following brackets.

At the start you put an opening bracket [ and then the word "Code" (without the "" marks) and then the close bracket ] at the end of the word, then your Code.

At the end of your Code you put another bracket [ and "/Code" (again without the "" marks) and then the closing bracket ].

You will give you a scroll bar for your code so it doesn't take up so much visual room.



Regards,

serpeal
May 20th, 2009, 02:16
Thanks, JMI.There's always a chance to learn something new.

Regards.

Aimless
May 20th, 2009, 03:07
<ok... stuff corrected>

serpeal
May 20th, 2009, 03:55
Pffff, thanks Aimless. Now you should modify your Quote, shouldn't you?

Aimless
May 20th, 2009, 04:12
Nothing personal serpeal

Oh, by the way, Welcome to the board. Hope you will be staying and contributing for a long time to the benefit of everyone...

Have Phun

serpeal
May 20th, 2009, 05:20
No problem, Aimless. That's why this is called "The Newbie Forum"

Thanks for your welcome. As I wrote before I'm not an assembler guru neither an expert in PE executable files, but I'll try to do my best in the forum. As I wrote before, Linux is my world

In fact, if anyone needs help moving Windows applications to Linux (using dongles or not) then I'm your man.

I've moved the old DOS program to Linux achieving all the benefits of a newer environment (VPN, graphical environments, new software, etc..), the benefits of newer computers (firewire, GigabitEthernet, etc...) and the benefits of Linux (no need of antivirus, free software, and of course, security, lots of security).

Regards.

JMI
May 20th, 2009, 11:22
serpeal:

One more "usage" suggestion. There is no need to "Quote" the previous post unless it is really necessary to clarify what you are going to say. If you simply hit the "Post Reply" button at the botton left of the Thread, or choose the Button on the right which looks like "a page of text with a down arrow on it" (which is the Quick Reply Button) you will get a Reply box without the Quote of the previous text.

This simply saves us some room in the database. Therefore we request that users not use the Quote, unless the previous text is really necessary to add clarity to what you are going to write. Rarely is it needed to quote text from the Post that is directly above your own Reply so this is something I suggest to many new members.

Regards,