Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

Combined .com executable/DOS driver / RJDUMP (Announce)

posted by Arjay, 19.06.2010, 15:08
(edited by Arjay on 19.06.2010, 17:30)

> So it's not that dire, they just want you to presumably be able to actually
> unpack it to its original form (esp. for using newer UPX with better
> compression).
Thank you for your comments and others for their private messages re drivers. I have updated what will be RJDUMP v2.00 (with SYS driver support) so that it will display if a driver has been compressed with UPX, e.g:

RJDUMP v2.00a - (c)Copyright 1996-2010 Richard L. James

Filename                                              'xmgr.sys'
DOS File Size                                         0FA4h  ( 4004d )

DOS SYS Header
Offset Address of Next Driver                         FFFFh  ( 65535d )
Segment Address of Next Driver                        FFFFh  ( 65535d )
DeviceName                                            ???????? [UPX compressed]
Device attributes          1010000000000000b          A000h  ( 40960d )
   Bit 15  =  1    Device driver type                 Character
   Bit 14  =  0    Supports functions 03h and 0Ch?    No
   Bit 13  =  1    Supports function 10h?             Yes
   Bit 12  =  0    Reserved
   Bit 11  =  0    Supports functions ODh and OEh?    No
[verbose snip]
   Bit  3  =  0    Current clock$ device?             No
   Bit  2  =  0    Current NUL driver?                No
   Bit  1  =  0    Current standard output driver?    No
   Bit  0  =  0    Current standard output driver?    No
Offset address of strategy routine [UPX compressed]   000Ah  ( 10d )
Offset address of Interrupt routine                   0BEDh  ( 3053d )


The above is however "work in progress", so be aware the released version may change how information is displayed (comments/requests for features welcome). I may NOT however include UPX EXE detection in this version (for the sake of time) even though the EXE decoding does recognize other EXE headers. e.g. TLINK.

In addition I have also included support in RJDUMP that will be helpful for those of us interested writing SYS drivers/experimenting with combined drivers, e.g. I have a personal long term interest in the possibilities of a combined driver and can see that functionality as useful, e.g. for ROMOS. I have also now added code to flag if reserved bits are set, e.g:

RJDUMP v2.00a - (c)Copyright 1996-2010 Richard L. James

Filename                                              'block1.sys'
DOS File Size                                         1070h  ( 4208d )

DOS SYS Header
Offset Address of Next Driver                         FFFFh  ( 65535d )
Segment Address of Next Driver                        FFFFh  ( 65535d )
Device attributes          0010100011000000b          28C0h  ( 10432d )
   Bit 15  =  0    Device driver type                 Block
   Bit 14  =  0    Supports functions 03h and 0Ch?    No
   Bit 13  =  1    Non-IBM format?                    Yes
   Bit 12  =  0    Reserved
   Bit 11  =  1    Supports functions 0Dh and 0Eh?    Yes
[verbose snip]
   Bit  7  =  1    Reserved                           [NON-ZERO!]
   Bit  6  =  1    Supports functions 17h and 18h?    Yes
[verbose snip]
   Bit  1  =  0    Supports devices larger than 32Mb?  No
   Bit  0  =  0    Reserved
Offset address of strategy routine                    0057h  ( 87d )
Offset address of Interrupt routine                   0066h  ( 102d )


Note: I still plan/wish to reference some additional resources so that the information displayed is as complete as I can make it before a public release, in other words the reserved bits above are according to limited references that I have so far referenced as I have also been busy elsewhere.

 

Complete thread:

Back to the forum
Board view  Mix view
22781 Postings in 2123 Threads, 402 registered users (0 online)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum