More info about Donald Dick:



Files:

oleproc.exe  - main executable file
pnpmgr.pci   - executable file under Windows95/98
pmss.exe     - executable file under WindowsNT
vmldr.vxd    - Dick loader and thread manager for Windows95/98
bootexec.exe - Dick loader for WindowsNT
jpegcomp.dll - JPEG compressor (full version only)



Registry values are in:

  under Windows95/98: HKLM\System\CurrentControlSet\Services\VxD\VMLDR
  under WindowsNT:    HKLM\System\CurrentControlSet\Control\\Session Manager

Type    Name        Description
------- ----------- --------------------
BINARY  Rqdata      registration data
BINARY  PData<X>    (where <X> is the protocol designator) the sequence of
                    null-terminated strings, each string is the port (socket)
                    number or "D" to use default port (0x9014 for SPX,
                    23476 for TCP)
STRING  Psdata      password, always contains 32 characters



Installation:

When distribution file is launched:
1. kills existing Dick server
2. extracts the following files into system directory:
     under Windows95/98:
       oleproc.exe
       pnpmgr.pci
       vmldr.vxd
     under WindowsNT:
       oleproc.exe
       pmss.exe
       bootexec.exe
3. modifies registry
     under Windows95/98:
       creates VMLDR subkey in HKLM\System\CurrentControlSet\Services\VxD;
       creates necessary values in that subkey to load vmldr.vxd when
         the system starts up;
     under WindowsNT:
       adds string "bootexec.exe" to the BootExecute value in the subkey
         HKLM\System\CurrentControlSet\Control\\Session Manager
4. creates PData0 and PData1 parameters with values
      'D',0,'0','x','9','0','1','5' and
      'D',0','2','3','4','7','7'
5. extracts plugins:
     jpegcomp.dll (full version only)
6. spawns oleproc.exe



Loading:

1. Dick loader is launched by windows:
     NT:
       bootexec.exe, at the blue screen time
         loader creates the service to be launched later;
         the executable file of the service is oleproc.exe
     95/98:
       vmldr.vxd, init order is SHELL_INIT_ORDER+10
         loader calls Win32 ShellExecute service to spawn oleproc.exe;
         this VxD also may be loaded dynamically to perform thread management
         functions
2. oleproc.exe (launched by loader, installer or manually) kills
     existing Dick server, copies itself to:
       under WindowsNT:
         pmss.exe
       under Windows95/98:
         pnpmgr.pci
     and launches it;
     this is done to keep executable file closed to allow upgrades;
     during upgrade oleproc.exe is replaced by the new file and that file
     is launched immediately
3. pmss.exe under WindowsNT:
     stops oleproc.exe service and removes it (unfortunately, you may see
     this service for a short time if you quickly log on and open 'services'
     applet in the control panel)
   pnpmgr.pci under Windows95/98:
     hides itself

at the end of this process pmss.exe or pnpmgr.pci is the Donald Dick server




String list format:

command:

  1st string: <function code> [<options>]
      function code and optional numbers may be decimal if first digit is 1..9,
      octal if first digit is 0 or hexadecimal if first digit is 0
      followed with x.
      options: d=N, where N is delay before execution, ms
               D=N, where N is delay after execution (has no meaning if repeat
                    count is unspecified or 1), ms
               r=N, where N is repeat count (result is sent back for the last
                    executed command only)
               p=X, where X is 32 characters of password; it is recommended
                    that this option will be last in the string
  2nd string: <parameter 1>
  ...
  Nth string: <parameter N-1>

reply:

  1st string: <OK/ERROR> <dick's error code> <win32 last error> [<description>]
  2nd string: <reply string 1>
  ...
  Nth string: <reply string N-1>
