Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to index page
Thread view  Board view
rr(R)

Homepage E-mail

Berlin, Germany,
04.08.2008, 15:54
 

Call for testers: UPXINFO version 04-AUG-2008 (Miscellaneous)

This year's spring we had a lot of discussions about UPX-compressed files. Several month ago I started to write a small tool to display all UPX header data in a nice way. ;-) Now I "finished" that project and would like to hear your opinions. :-)

Archive upxinfo-04-aug-2008.zip just holds a ready-to-run EXE file. Final release will contain short manual and source code for Turbo Pascal 5.5 (:-D), of course.

Trivia: UPXINFO.EXE has been compressed using aPACK, not UPX. :-P

cm(R)

Homepage E-mail

Düsseldorf, Germany,
04.08.2008, 22:53

@ rr
 

Call for testers: UPXINFO version 04-AUG-2008

> This year's spring we had a lot of discussions about UPX-compressed files.
> Several month ago I started to write a small tool to display all UPX
> header data in a nice way. ;-) Now I "finished" that project and would
> like to hear your opinions. :-)

Looks useful. However, some suggestions:

- Don't call the first value "UPX version". Yes, it's the header data called "version", but it doesn't contain the version of the UPX program that compressed the file. I would rather call it the UPX file format version.

- UPX lists a compressed size of 148 byte more than UPXINFO. I suppose that's the size of the header and decompression stub. (My binary is compressed as DOS .COM...) Although I agree the compressed size of the real program is also useful, UPXINFO should additionally list the stub/header size.

---
l

rr(R)

Homepage E-mail

Berlin, Germany,
05.08.2008, 08:37

@ cm
 

Call for testers: UPXINFO version 04-AUG-2008

> - Don't call the first value "UPX version". Yes, it's the header data
> called "version", but it doesn't contain the version of the UPX program
> that compressed the file. I would rather call it the UPX file format
> version.

Firstly I called it "UPX header version". :-D I'll have to look into my e-mails from László Molnár.

> - UPX lists a compressed size of 148 byte more than UPXINFO. I suppose

Compressed length means real data. Of course, this doesn't include any headers or stubs.

> that's the size of the header and decompression stub. (My binary is
> compressed as DOS .COM...) Although I agree the compressed size of the
> real program is also useful, UPXINFO should additionally list the
> stub/header size.

If I'll find a proper solution for all cases, it will be included.

Rugxulo(R)

Homepage

Usono,
04.08.2008, 23:16

@ rr
 

Call for testers: UPXINFO version 04-AUG-2008

> Several month ago I started to write a small tool to display all UPX
> header data in a nice way. ;-) Now I "finished" that project and would
> like to hear your opinions. :-)

Looks good, but two comments ...

1). Shouldn't the help screen contain either a URL (e.g. http://www.bttr-software.de/) or at least your e-mail address?

2). What, no LFN support? Aren't there Pascal units around that can handle that? (At worst just use int 21h,7160h to convert LFN to SFN.)

Otherwise, good job, seems to handle all the various DOS/Win32 formats correctly (as far as I can tell, at least the ones I tested, not exhaustive by any means). Of course, if UPX itself can't handle it (D3X-stubbed, BinUtils, compressed Causeway stub + compressed Watcom/LE), then neither can yours. ;-)

> Trivia: UPXINFO.EXE has been compressed using aPACK, not UPX. :-P

Outrageous! :rotfl:

rr(R)

Homepage E-mail

Berlin, Germany,
05.08.2008, 08:31

@ Rugxulo
 

Call for testers: UPXINFO version 04-AUG-2008

> 1). Shouldn't the help screen contain either a URL (e.g.
> http://www.bttr-software.de/) or at least your e-mail
> address?

No. That's left to the manual. I think search results for "bttr software" are sufficient: http://www.google.com/search?q=bttr+software

> 2). What, no LFN support? Aren't there Pascal units around that can handle
> that? (At worst just use int 21h,7160h to convert LFN to SFN.)

LF-what? :-P Do you really need this? It will "blow" the binary by probably 100 bytes.

> Otherwise, good job, seems to handle all the various DOS/Win32 formats

Thanks! :-)

> correctly (as far as I can tell, at least the ones I tested, not
> exhaustive by any means). Of course, if UPX itself can't handle it
> (D3X-stubbed, BinUtils, compressed Causeway stub + compressed Watcom/LE),
> then neither can yours. ;-)

That's right.

Rugxulo(R)

Homepage

Usono,
05.08.2008, 09:57

@ rr
 

Call for testers: UPXINFO version 04-AUG-2008

> > 1). Shouldn't the help screen contain either a URL (e.g.
> > http://www.bttr-software.de/) or at least your e-mail
> > address?
>
> No. That's left to the manual. I think search results for "bttr software"
> are sufficient: http://www.google.com/search?q=bttr+software

You're assuming a computer is always connected to the Net. Besides, planning on migrating URLs anytime soon? Didn't think so. :-P

> > 2). What, no LFN support? Aren't there Pascal units around that can
> handle
> > that? (At worst just use int 21h,7160h to convert LFN to SFN.)
>
> LF-what? :-P Do you really need this? It will "blow" the binary by
> probably 100 bytes.

No, I don't majorly need it, but it'd be nice. Besides, 1). you're already over 4k, so a tiny drop more probably won't increase the used cluster size any (won't waste any "real" space that you aren't already using), and 2). SFN aliases are not 100% guaranteed to exist for all files (e.g. I copied a file to NTFS from some Linux distro recently, and while most modern distros support NTFS r/w fine, this one didn't create a SFN alias, so I had to ZIP/UNZIP it just to create one). And yes, I'm aware that TP55 doesn't natively support inline asm, but it can't be that hard to workaround, can it? (Inline emit raw bytes for the machine code? Isn't that what people did before TP6?)

rr(R)

Homepage E-mail

Berlin, Germany,
05.08.2008, 10:37

@ Rugxulo
 

Call for testers: UPXINFO version 04-AUG-2008

> > > 1). Shouldn't the help screen contain either a URL (e.g.
> > > http://www.bttr-software.de/) or at least your e-mail
> > > address?
> >
> > No. That's left to the manual. I think search results for "bttr
> software"
> > are sufficient: http://www.google.com/search?q=bttr+software
>
> You're assuming a computer is always connected to the Net. Besides,

Then please tell me, why you suggest to provide a URL or even an e-mail address, if the user's computer is not connected to the Internet.

> planning on migrating URLs anytime soon? Didn't think so. :-P

Sorry, I don't understand.

> > LF-what? :-P Do you really need this? It will "blow" the binary by
> > probably 100 bytes.
>
> No, I don't majorly need it, but it'd be nice. Besides, 1). you're already
> over 4k, so a tiny drop more probably won't increase the used cluster size
> any (won't waste any "real" space that you aren't already using), and 2).

If aPACK compresses the updated executable tight enough.

> SFN aliases are not 100% guaranteed to exist for all files (e.g. I copied

UPXINFO was made for DOS, where SFNs always exist. :-D

> a file to NTFS from some Linux distro recently, and while most modern
> distros support NTFS r/w fine, this one didn't create a SFN alias, so I
> had to ZIP/UNZIP it just to create one). And yes, I'm aware that TP55

But I don't want to work around your buggy Linux. Why not use DOS? :-P

> doesn't natively support inline asm, but it can't be that hard to
> workaround, can it? (Inline emit raw bytes for the machine code? Isn't
> that what people did before TP6?)

Yes, and I'm already doing this for some parts of the source code.
What's a safe way to detect, if LFNs are available?

cm(R)

Homepage E-mail

Düsseldorf, Germany,
05.08.2008, 12:22

@ rr
 

Call for testers: UPXINFO version 04-AUG-2008

> Yes, and I'm already doing this for some parts of the source code.
> What's a safe way to detect, if LFNs are available?

I think Int21.71A0 should work well. Do "stc" before the "int" opcode, because DOSes without any Int21.71 functions will leave CF unchanged and set al to 0. If the flags are NC, test the returned bx's bit 14 (4000h). If it's 1, LFNs should be supported.

---
l

rr(R)

Homepage E-mail

Berlin, Germany,
05.08.2008, 13:34

@ cm
 

Call for testers: UPXINFO version 04-AUG-2008

> I think Int21.71A0 should work well. Do "stc" before the "int" opcode,
> because DOSes without any Int21.71 functions will leave CF unchanged and
> set al to 0. If the flags are NC, test the returned bx's bit 14 (4000h).
> If it's 1, LFNs should be supported.

I found this code from the Free Pascal RTL (system.pp). And I think, it's buggy, because it assumes, that LFNs on other drives are available too, if drive C: already supports these?!

function CheckLFN:boolean;
var
  regs     : TRealRegs;
  RootName : pchar;
begin
{ Check LFN API on drive c:\ }
  RootName:='C:\';
  syscopytodos(longint(RootName),strlen(RootName)+1);
{ Call 'Get Volume Information' ($71A0) }
  regs.realeax:=$71a0;
  regs.reales:=tb_segment;
  regs.realedi:=tb_offset;
  regs.realecx:=32;
  regs.realds:=tb_segment;
  regs.realedx:=tb_offset;
  regs.realflags:=carryflag;
  sysrealintr($21,regs);
{ If carryflag=0 and LFN API bit in ebx is set then use Long file names }
  CheckLFN:=(regs.realflags and carryflag=0) and (regs.realebx and $4000=$4000);
end;

marcov(R)

05.08.2008, 15:50

@ rr
 

Call for testers: UPXINFO version 04-AUG-2008

> > I think Int21.71A0 should work well. Do "stc" before the "int" opcode,
> > because DOSes without any Int21.71 functions will leave CF unchanged
> and
> > set al to 0. If the flags are NC, test the returned bx's bit 14
> (4000h).
> > If it's 1, LFNs should be supported.
>
> I found this code from the Free Pascal RTL (system.pp). And I think, it's
> buggy, because it assumes, that LFNs on other drives are available too, if
> drive C: already supports these?!

Hmm, I just posted the same. Yes, and moreover it assumes C: is valid, which isn't always the case IIRC, see other post.

But do you really want to parameterise the entire RTL's I/O functions with a lfnsupport per drive? Isn't that a bit too much?

(specially if you are worried about 100 bytes exe size)

rr(R)

Homepage E-mail

Berlin, Germany,
05.08.2008, 15:54

@ marcov
 

Call for testers: UPXINFO version 04-AUG-2008

> But do you really want to parameterise the entire RTL's I/O functions with
> a lfnsupport per drive? Isn't that a bit too much?

Fortunately that's not needed in my special case. ;-)

cm(R)

Homepage E-mail

Düsseldorf, Germany,
05.08.2008, 20:48

@ rr
 

Call for testers: UPXINFO version 04-AUG-2008

> > I think Int21.71A0 should work well. Do "stc" before the "int" opcode,
> > because DOSes without any Int21.71 functions will leave CF unchanged
> and
> > set al to 0. If the flags are NC, test the returned bx's bit 14
> (4000h).
> > If it's 1, LFNs should be supported.
>
> I found this code from the Free Pascal RTL (system.pp). And I think, it's
> buggy, because it assumes, that LFNs on other drives are available too, if
> drive C: already supports these?!

Yes, it's buggy. Although DOSLFN (and Windows?) provides a "Fallback"-Mode for drives that support only SFNs (redirect LFN functions to SFN functions) you can't assume this is always true. RxDOS f.e. doesn't have any "Fallback"-Mode. (On the other hand, above check doesn't work in the old RxDOS 7.1.5 anyway because of a serious misunderstanding...)

Just check the LFN API for each drive you're operating on.

---
l

marcov(R)

05.08.2008, 15:43

@ rr
 

Call for testers: UPXINFO version 04-AUG-2008

> Yes, and I'm already doing this for some parts of the source code.
> What's a safe way to detect, if LFNs are available?

FPC's way (system unit)

function CheckLFN:boolean;
var
regs : TRealRegs;
RootName : pchar;
begin
{ Check LFN API on drive c:\ }
RootName:='C:\';
syscopytodos(longint(RootName),strlen(RootName)+1);
{ Call 'Get Volume Information' ($71A0) }
regs.realeax:=$71a0;
regs.reales:=tb_segment; //seg(rootname)
regs.realedi:=tb_offset; // ofs(rootname);
regs.realecx:=32;
regs.realds:=tb_segment; //seg(rootname)
regs.realedx:=tb_offset; //ofs(rootname)
regs.realflags:=carryflag;
sysrealintr($21,regs);
{ If carryflag=0 and LFN API bit in ebx is set then use Long file names }
CheckLFN:=(regs.realflags and carryflag=0) and (regs.realebx and $4000=$4000);
end;

Note that there are 32-bitisms( copytodos, sysrealintr instead of dos() and real(e) prefixes of registers), but that should be easy to remedy.

Maybe this should be combined with a drive check first (in case C:\ is not valid? like iirc an IDE zipdisk and a shell command to another drive can have this?)

rr(R)

Homepage E-mail

Berlin, Germany,
05.08.2008, 15:51

@ marcov
 

Call for testers: UPXINFO version 04-AUG-2008

> > Yes, and I'm already doing this for some parts of the source code.
> > What's a safe way to detect, if LFNs are available?
>
> FPC's way (system unit)

[snip]

see my previous message :-)

marcov(R)

06.08.2008, 13:23

@ rr
 

Call for testers: UPXINFO version 04-AUG-2008

> > > Yes, and I'm already doing this for some parts of the source code.
> > > What's a safe way to detect, if LFNs are available?
> >
> > FPC's way (system unit)
>
> [snip]
>
> see my previous message :-)

(I wrote that post at work, and got interrupted for more than an hour somewhere in the middle, hence the double post)

Rugxulo(R)

Homepage

Usono,
06.08.2008, 00:53

@ rr
 

Call for testers: UPXINFO version 04-AUG-2008

> > You're assuming a computer is always connected to the Net. Besides,
>
> Then please tell me, why you suggest to provide a URL or even an e-mail
> address, if the user's computer is not connected to the Internet.

It's for people who do have the Internet, of course. Whatever, not really important I guess, probably no critical bugs to report anyways.

> > planning on migrating URLs anytime soon? Didn't think so. :-P
>
> Sorry, I don't understand.

Is your site changing addresses anytime soon? I hope not!

> > SFN aliases are not 100% guaranteed to exist for all files (e.g. I
> copied
>
> UPXINFO was made for DOS, where SFNs always exist. :-D

Yes, but at least two DOSes (RxDOS, ROM DOS) support LFNs natively, right? Even DR-DOS (at one time) had a beta FAT32 LFN driver of some sort (probably recalled due to patent worries, bah).

> > a file to NTFS from some Linux distro recently, and while most modern
> > distros support NTFS r/w fine, this one didn't create a SFN alias, so I
> > had to ZIP/UNZIP it just to create one). And yes, I'm aware that TP55
>
> But I don't want to work around your buggy Linux. Why not use DOS? :-P

That's not a bug. And I think even Windows allows you to turn off the DOS compatibility names (supposedly faster?). Strange how Windows can be considered both good and bad for the same thing: compatibility. (The people who say, "Compatibility slows us down!" are the same ones who say, "HLLs are the future ... besides, cpus are fast enough!")

> What's a safe way to detect, if LFNs are available?

As mentioned, I think DJGPP's libs use int 21h,71A0h in various places. So I'd assume that's a good way. Take a look at IO95 (written for C) if you want a second opinion.

cm(R)

Homepage E-mail

Düsseldorf, Germany,
06.08.2008, 03:43

@ Rugxulo
 

Call for testers: UPXINFO version 04-AUG-2008

> Yes, but at least two DOSes (RxDOS, ROM DOS) support LFNs natively, right?

You're better saying "at least one DOS". RxDOS's current LFN code doesn't really work and supports only some of the Int21.71 functions (and some of these supported functions are not very well written). And that just besides all the other RxDOS bugs. Don't consider using it for anything serious right now.

> Even DR-DOS (at one time) had a beta FAT32 LFN driver of some sort
> (probably recalled due to patent worries, bah).

I think there was one DRFAT32 driver and another DRLFN driver. (All versions I know are betas.) They however had a special interface so if used together, DRLFN provided LFNs on DRFAT32 partitions as well.

> > But I don't want to work around your buggy Linux. Why not use DOS? :-P
>
> That's not a bug.

Probably the bug isn't in that Linux driver, but rather in the other NTFS driver. It should translate LFNs without SFNs "on the fly", that is, if anyone requests SFNs (applications inside NTVDM or whatever), create them "virtually".

---
l

rr(R)

Homepage E-mail

Berlin, Germany,
06.08.2008, 09:25

@ Rugxulo
 

Call for testers: UPXINFO version 04-AUG-2008

> > > planning on migrating URLs anytime soon? Didn't think so. :-P
> >
> > Sorry, I don't understand.
>
> Is your site changing addresses anytime soon? I hope not!

No.

> > UPXINFO was made for DOS, where SFNs always exist. :-D
>
> Yes, but at least two DOSes (RxDOS, ROM DOS) support LFNs natively, right?

Yes, but there still is a SFN for every LFN.

> > > a file to NTFS from some Linux distro recently, and while most modern
> > > distros support NTFS r/w fine, this one didn't create a SFN alias, so
> I
> > > had to ZIP/UNZIP it just to create one). And yes, I'm aware that TP55
> >
> > But I don't want to work around your buggy Linux. Why not use DOS? :-P
>
> That's not a bug.

Depends on your point of view. ;-)

> As mentioned, I think DJGPP's libs use int 21h,71A0h in various places. So
> I'd assume that's a good way. Take a look at
> IO95
> (written for C) if you want a second opinion.

Thanks for the URL! It's a pitty Steffen left FreeDOS.

Rugxulo(R)

Homepage

Usono,
07.08.2008, 17:03

@ Rugxulo
 

Call for testers: UPXINFO version 04-AUG-2008

> What, no LFN support? Aren't there Pascal units around that can handle
> that?

Found one: DOS70P20.ZIP

DOS70 version 2.0 - February 1998
----------------------------------

DOS70 is a powerful, easy-to-use
Turbo Pascal unit, implementing
MS-DOS 7.x extensions and file
handling routines.
Features:
- over 40 long filenames functions
and procedures
- over 10 functions and procedures
implementing virtual machine
services
- over 20 general MS-DOS functions
and procedures
- text file interface
- complete, comprehensive manual
- DOS 7.1 specific functions.
- full source & examples included.
- a new unit using PChar strings is
present in this package.
- compiles with Turbo/Borland Pascal
5.5/6/7.0 for Dos/Windows.

rr(R)

Homepage E-mail

Berlin, Germany,
07.08.2008, 17:17

@ Rugxulo
 

Call for testers: UPXINFO version 04-AUG-2008

> > What, no LFN support? Aren't there Pascal units around that can handle
> > that?
>
> Found one: DOS70P20.ZIP

I already knew that unit and I don't like it very much. ;-)

But I didn't forget your feature request. First function is ready for use in UPXINFO. Two more to follow.

Rugxulo(R)

Homepage

Usono,
12.08.2008, 07:18

@ rr
 

Call for testers: UPXINFO version 04-AUG-2008

> > > What, no LFN support? Aren't there Pascal units around that can handle
> > > that?
> >
> > Found one: DOS70P20.ZIP
>
> I already knew that unit and I don't like it very much. ;-)

Why not? If it works, it works. It even claims to work with (free) TP 5.5. Oh well, whatever.

> But I didn't forget your feature request. First function is ready for use
> in UPXINFO. Two more to follow.

Okay, no pressure. ;-)

rr(R)

Homepage E-mail

Berlin, Germany,
12.08.2008, 09:19

@ Rugxulo
 

Call for testers: UPXINFO version 04-AUG-2008

> > I already knew that unit and I don't like it very much. ;-)
>
> Why not? If it works, it works.

It doesn't work (always).

> Okay, no pressure. ;-)

I'm currently very short of time. I'll probably release UPXINFO 1.0 w/o support for LFNs and leave adding that to others. :-P

Or will I convert UPXINFO to NASM completely? I don't know... :-|

Rugxulo(R)

Homepage

Usono,
14.08.2008, 04:23

@ rr
 

Call for testers: UPXINFO version 04-AUG-2008

> > > I already knew that unit and I don't like it very much. ;-)
> >
> > Why not? If it works, it works.
>
> It doesn't work (always).

Does Win2k have LFN bugs in that regard? I've heard something like that. Maybe NTLFN helps?? (Dunno.) Anyways, it's not THAT important.

> Or will I convert UPXINFO to NASM completely? I don't know... :-|

Does TP have a way to output .ASM or do you have to manually disassemble it? I was actually (half-jokingly) going to suggest to make it portable to be able to be compiled in the new FreePascal, which supports LFN natively (as all DJGPP-ish programs do). And that can output .ASM, albeit 386+, which may or may not be what you want. Granted, it won't be a 4 kb .EXE anymore, but you could (drum roll please) ... UPX it!! :rotfl:

rr(R)

Homepage E-mail

Berlin, Germany,
14.08.2008, 15:37

@ Rugxulo
 

Call for testers: UPXINFO version 04-AUG-2008

> > It doesn't work (always).
>
> Does Win2k have LFN bugs in that regard?

No. The unit is just "stupid". :-P

> Maybe NTLFN helps?? (Dunno.) Anyways, it's not THAT important.

No, thanks!

Q6 Will this work under Windows 2000 ?
A This package works only under Window NT 4.0 be it Workstation or Server


> Does TP have a way to output .ASM

No.

> or do you have to manually disassemble it?

Yes. ;-)

But I decided to stay with TP and build additional functions as .OBJ files using small R86.EXE (part of free LSI C-86 trial). TP is able to link with external .OBJ files then.

> I was actually (half-jokingly) going to suggest to make it portable to
> be able to be compiled in the new FreePascal, which supports LFN natively
> (as all DJGPP-ish programs do). And that can output .ASM, albeit 386+,
> which may or may not be what you want. Granted, it won't be a 4 kb .EXE
> anymore, but you could (drum roll please) ... UPX it!! :rotfl:

Sorry, but I want to fit this tool to a single floppy. :-P

marcov(R)

14.08.2008, 15:42

@ rr
 

Call for testers: UPXINFO version 04-AUG-2008

> > I was actually (half-jokingly) going to suggest to make it portable to
> > be able to be compiled in the new FreePascal, which supports LFN
> natively
> > (as all DJGPP-ish programs do). And that can output .ASM, albeit 386+,
> > which may or may not be what you want. Granted, it won't be a 4 kb .EXE
> > anymore, but you could (drum roll please) ... UPX it!! :rotfl:
>
> Sorry, but I want to fit this tool to a single floppy. :-P

I don't see why this wouldn't be possible. Unless you still use single sided 5 25" floppies.

rr(R)

Homepage E-mail

Berlin, Germany,
14.08.2008, 16:36

@ marcov
 

Call for testers: UPXINFO version 04-AUG-2008

> I don't see why this wouldn't be possible.

But it would still require a 386.

> Unless you still use single sided 5 25" floppies.

Floppies are huge. I use 32K (not "M"!) Bee cards. :-D

marcov(R)

16.08.2008, 01:03

@ rr
 

Call for testers: UPXINFO version 04-AUG-2008

> > I don't see why this wouldn't be possible.
>
> But it would still require a 386.

Yes. With a floppy. Probably currently a working floppy is worth more.

> > Unless you still use single sided 5 25" floppies.
>
> Floppies are huge.

Yes, ranging from 3.5 to 5.25 in some esoteric unit.

> I use 32K (not "M"!)
> Bee
> cards. :-D

Yes, and I use half bits punched with a tootpick in toiletpaper. Really.

Steve(R)

Homepage E-mail

US,
16.08.2008, 08:53

@ marcov
 

Call for testers: UPXINFO version 04-AUG-2008

> > Floppies are huge.
>
> Yes, ranging from 3.5 to 5.25 in some esoteric unit.

Smile when you say that, pardner.

> Yes, and I use half bits punched with a tootpick in toiletpaper. Really.

I won't ask about the reader.

DOS386(R)

20.08.2008, 08:15

@ rr
 

Call for testers: UPXINFO version 04-AUG-2008

> Now I "finished" that project and would

:-)

> Trivia: UPXINFO.EXE has been compressed using aPACK, not UPX. :-P

see shot ...

[image]

Obvious "ToDo" :

- Add support for APACK, PKLITE, ...

Rugxulo wrote:

> 2). What, no LFN support?

Seems to be a feature.

> Aren't there Pascal units around that can handle that?
> (At worst just use int 21h,7160h to convert LFN to SFN.)

I still don't see a LFN enabled DOS.

---
This is a LOGITECH mouse driver, but some software expect here
the following string:*** This is Copyright 1983 Microsoft ***

rr(R)

Homepage E-mail

Berlin, Germany,
20.08.2008, 10:03

@ DOS386
 

Call for testers: UPXINFO version 04-AUG-2008

> Obvious "ToDo" :
>
> - Add support for APACK, PKLITE, ...

Denied. Why do you think I named this tool UPXINFO?

cm(R)

Homepage E-mail

Düsseldorf, Germany,
20.08.2008, 16:54

@ rr
 

Call for testers: UPXINFO version 04-AUG-2008

> > Obvious "ToDo" :
> >
> > - Add support for APACK, PKLITE, ...
>
> Denied. Why do you think I named this tool UPXINFO?

You should just rename it to APACKPKLITEUPXANDOTHERS-INFO :lol3:

---
l

DOS386(R)

28.08.2008, 05:45

@ rr
 

Call for testers: UPXINFO

> Denied.

Maybe add a "recovery" feature allowing to fix and decompress "hacked" (RTFL - see license of UPX) executables as next ?

---
This is a LOGITECH mouse driver, but some software expect here
the following string:*** This is Copyright 1983 Microsoft ***

rr(R)

Homepage E-mail

Berlin, Germany,
28.08.2008, 09:37

@ DOS386
 

Call for testers: UPXINFO

> Maybe add a "recovery" feature allowing to fix and decompress "hacked"
> (RTFL - see license of UPX) executables as next ?

Sorry, but what do you mean?

Rugxulo(R)

Homepage

Usono,
28.08.2008, 10:36
(edited by Rugxulo, 28.08.2008, 11:05)

@ rr
 

Call for testers: UPXINFO

> > Maybe add a "recovery" feature allowing to fix and decompress "hacked"
> > (RTFL - see license of UPX) executables as next ?
>
> Sorry, but what do you mean?

Some people violate the UPX license by making the resulting .EXE not unpackable. DOS386 apparently wants you to be able to heuristically find such .EXEs and make 'em unpackable again.

> > > * LFN support added by using Free Pascal. On user request by Rugxulo.
> >
> > Now all we have to do is add a mention of it to
> > here. :-D
>
> Sorry, I don't see the point. :confused:

Irony: it's basically an article against the need for UPX re: FreePascal, but your tool is written in FreePascal to identify UPX'd binaries. ;-)

EDIT: Typo.

DOS386(R)

10.09.2008, 02:01
(edited by DOS386, 10.09.2008, 02:25)

@ Rugxulo
 

UPXINFO | incredible

DOSferatu wrote:

(nothing yet) :crying:

Rugxulo wrote:

> Some people violate the UPX license by making the resulting .EXE
> not unpackable. DOS386 apparently wants you to be able to
> heuristically find such .EXEs and make 'em unpackable again.

Incredible: someone did understand my post :lol3:

> Irony: it's basically an article against the need for UPX re: FreePascal,
> but your tool is written in FreePascal to identify UPX'd binaries.

To identify the evil :lol3:

---
This is a LOGITECH mouse driver, but some software expect here
the following string:*** This is Copyright 1983 Microsoft ***

rr(R)

Homepage E-mail

Berlin, Germany,
10.09.2008, 11:50

@ DOS386
 

UPXINFO | incredible

> DOSferatu wrote:
>
> (nothing yet) :crying:

[image] But he released a "Pre-PreRelease" version (no sound, no multiplayer) of his top-view 2D shooter XPYDERZ. Site is in German only, but archive also contains an English README.

> Rugxulo wrote:
>
> > Some people violate the UPX license by making the resulting .EXE
> > not unpackable. DOS386 apparently wants you to be able to
> > heuristically find such .EXEs and make 'em unpackable again.
>
> Incredible: someone did understand my post :lol3:

I won't add this feature, because I just don't have a need for. After releasing UPXDUMP's source code, you're welcome to submit a patch for adding that.

Rugxulo(R)

Homepage

Usono,
11.09.2008, 09:14

@ rr
 

XPYDERZ

> > DOSferatu wrote:
> >
> > (nothing yet) :crying:
>
> But he released a "Pre-PreRelease" version (no sound, no multiplayer)
> of his top-view 2D shooter XPYDERZ. Site is in German only, but archive also
> contains an English README.

Correct, all the files from Xpyderz are dated Aug. 12, 2008. He's got some older cool stuff too (Centipede from 2005, PONG, PICS8050, FAQREAD, THEORY) but all without source. Anyways, I particularly like "Theory of Clockwork" (reminds me of I, Robot) and VECCHARS is like text from Major Havoc. Heck, even Xpyderz looks like Vindicators. (Guess he likes Atari, heh.) So yeah, he's obviously a fan of DOS (and BP7, in particular). BTW, the ASM86.GER FAQ looks very very useful (even if some of it is already well-documented elsewhere). Of course, I guess it'd be more useful if I understood German. :-| (But at least the 8086-586 asm timings + pseudocode seems nicely done. I think the optimizations part could be greatly increased, but that'd be hard to fully research correctly.)

P.S. Google Language Tools is your friend (well, mine at least). :-P

Steve(R)

Homepage E-mail

US,
20.08.2008, 13:36

@ DOS386
 

Call for testers: UPXINFO version 04-AUG-2008

> > Trivia: UPXINFO.EXE has been compressed using aPACK, not UPX. :-P
>
> see shot ...

What is it supposed to show? That UPXINFO finds no UPX info where there is in fact no UPX info to be found? If so, thank you.

> Obvious "ToDo" :
>
> - Add support for APACK, PKLITE, ...

Why?

> I still don't see a LFN enabled DOS.

ROM-DOS

Rugxulo(R)

Homepage

Usono,
20.08.2008, 22:16

@ DOS386
 

Call for testers: UPXINFO version 04-AUG-2008

> Rugxulo wrote:
>
> > 2). What, no LFN support?
>
> Seems to be a feature.

I still think making the source portable enough to compile via FreePascal would solve that problem (at least, for those interested) while keeping the main version .EXE small (TP55). Marco, you wanna volunteer? ;-)

rr(R)

Homepage E-mail

Berlin, Germany,
21.08.2008, 22:39

@ Rugxulo
 

Call for testers: UPXINFO version 04-AUG-2008

> I still think making the source portable enough to compile via FreePascal
> would solve that problem (at least, for those interested) while keeping
> the main version .EXE small (TP55). Marco, you wanna volunteer? ;-)

Current source code compiles to 49K (no compression) with FPC 2.2.2 and supports LFNs. I think, that's OK for a 32-bit HLL thing. Still have to write some source code comments and a short manual.

Rugxulo(R)

Homepage

Usono,
22.08.2008, 07:25

@ rr
 

Call for testers: UPXINFO version 04-AUG-2008

> Current source code compiles to 49K (no compression) with FPC 2.2.2 and
> supports LFNs. I think, that's OK for a 32-bit HLL thing. Still have to
> write some source code comments and a short manual.

Gold medal for you!! :clap:

rr(R)

Homepage E-mail

Berlin, Germany,
22.08.2008, 12:56

@ Rugxulo
 

Call for testers: UPXINFO version 04-AUG-2008

> Gold medal for you!! :clap:

You find my postal address by looking at the imprint. :-P

rr(R)

Homepage E-mail

Berlin, Germany,
26.08.2008, 22:51

@ rr
 

Call for testers: UPXDUMP version 26-AUG-2008

I uploaded a new test release as upxdump-26-aug-2008.zip.

Archive contains a 16-bit TP55 binary compressed with aPACK (5.27K) in folder "DOS16". In folder "DOS32" you will find a 32-bit FP222 binary compressed with UPX (21.8K). Archive still lacks source code and documentation.

Changes:
* As you can already see from this post's subject or the file name, this baby got a new name.
* Detection algorithm changed. Now I use a nearly 1:1 C-to-Pascal translation of PackHeader::fillPackHeader().
* Support for big-endian files added. This has been tested on the UPX for "Atari TOS/MiNT" binary only.
* Some messages adjusted. Mostly on user request by Christian Masloch.
* LFN support added by using Free Pascal. On user request by Rugxulo.

Rugxulo(R)

Homepage

Usono,
28.08.2008, 04:50

@ rr
 

Call for testers: UPXDUMP version 26-AUG-2008

> I uploaded a new test release as
> upxdump-26-aug-2008.zip.
>
> Archive contains a 16-bit TP55 binary compressed with aPACK (5.27K) in
> folder "DOS16". In folder "DOS32" you will find a 32-bit FP222 binary
> compressed with UPX (21.8K).

Very useful, nice job!

> Changes:
> * As you can already see from this post's subject or the file name, this
> baby got a new name.

Normally you can't rename a baby already born, but I'll let it slide. :-P

> * LFN support added by using Free Pascal. On user request by Rugxulo.

Now all we have to do is add a mention of it to here. :-D

rr(R)

Homepage E-mail

Berlin, Germany,
28.08.2008, 09:38

@ Rugxulo
 

Call for testers: UPXDUMP version 26-AUG-2008

> Very useful, nice job!

Thanks! :-) I'm currently writing a short user manual using Halibut.

> > * LFN support added by using Free Pascal. On user request by Rugxulo.
>
> Now all we have to do is add a mention of it to
> here. :-D

Sorry, I don't see the point. :confused:

Back to index page
Thread view  Board view
15192 Postings in 1365 Threads, 250 registered users, 14 users online (0 registered, 14 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum