Program information file

From Just Solve the File Format Problem
Revision as of 14:23, 30 March 2017 by Jsummers (Talk | contribs)

Jump to: navigation, search
File Format
Name Program information file
Ontology
Extension(s) .pif
MIME Type(s) application/octet-stream


Program information file (aka PIF file) is used by the multitasking Windows environment to describe how to open a legacy DOS program. It contains things like the amount of available memory (conventional, high, extended, expanded), the number of rows and columns of ASCII output on screen, mouse capture, full screen mode, behaviour of the window after program termination, etc.

PIFs themselves should have no executable code, but due to the way current Windows OS handles these files, if the file with such extension were to contain an executable it would run on double click. Because of this these files should be included in virus scans.

Example

This is a hex representation of a PIF file of INSTALL.EXE file from Master of Orion (1980s DOS game).

0000000: 0078 494e 5354 414c 4c20 2020 2020 2020  .xINSTALL       
0000010: 2020 2020 2020 2020 2020 2020 2020 2020                  
0000020: 8002 0000 433a 5c74 656d 705c 7465 6d70  ....C:\temp\temp
0000030: 335c 494e 5354 414c 4c2e 4558 4500 0000  3\INSTALL.EXE...
0000040: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000050: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000060: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000070: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000080: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000090: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00000e0: 0000 0000 0000 0100 ff19 5000 0007 0000  ..........P.....
00000f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000100: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000110: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000120: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000130: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000140: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000150: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000160: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000170: 004d 4943 524f 534f 4654 2050 4946 4558  .MICROSOFT PIFEX
0000180: 0087 0100 0071 0157 494e 444f 5753 2033  .....q.WINDOWS 3
0000190: 3836 2033 2e30 0005 029d 0168 0080 0200  86 3.0.....h....
00001a0: 0064 0032 00ff ff00 00ff ff00 0002 1002  .d.2............
00001b0: 001f 0000 0000 0000 0000 0000 0000 0000  ................
00001c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00001d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00001e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00001f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000200: 0000 0000 0057 494e 444f 5753 2056 4d4d  .....WINDOWS VMM
0000210: 2034 2e30 00ff ff1b 02ac 0100 0000 0000   4.0............
0000220: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000230: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000240: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000250: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000260: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000270: 0000 0050 4946 4d47 522e 444c 4c00 0000  ...PIFMGR.DLL...
0000280: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000290: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00002a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00002b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00002c0: 0000 0000 0002 0000 0000 0000 0000 0000  ................
00002d0: 0032 0001 0000 0000 0000 0000 0000 0001  .2..............
00002e0: 0000 0005 0019 0003 00c8 00e8 0302 000a  ................
00002f0: 0001 0000 0000 0000 001c 0000 0000 0000  ................
0000300: 0008 000c 0054 6572 6d69 6e61 6c00 0000  .....Terminal...
0000310: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000320: 0000 0000 004c 7563 6964 6120 436f 6e73  .....Lucida Cons
0000330: 6f6c 6500 0000 0000 0000 0000 0000 0000  ole.............
0000340: 0000 0000 0000 0003 0000 0050 0019 0080  ...........P....
0000350: 022c 018c 0267 0116 0000 0001 00ff ffff  .,...g..........
0000360: ffff ffff ffae 0626 013a 098d 0200 0000  .......&.:......
0000370: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000380: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000390: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00003a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00003b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................
00003c0: 0000 0000 0001 00                        .......

External link

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox