Skip to content

Latest commit

 

History

History
48 lines (32 loc) · 3.41 KB

File metadata and controls

48 lines (32 loc) · 3.41 KB

Legacy Software Analysis

Let's document some processes for analyzing legacy software.

Operating Systems

Here are the sources along with instructions for downloading and accessing the contents of different legacy Windows builds, we rely on disk images or boot disks so no Windows installation is necessary to analyze the contents.

Sources

Instructions

Once the desired sources are downloaded, use the get-raw-disk-images.sh shell script to create raw disk images from the hypervisor vendor-specific disk image formats, or for ISO files keep them as is.

Then, simply open the resulting files in a GUI to access the image contents. Alternatively, proceed manually by creating a loop device and mounting it on the command-line using the losetup and mount commands, or the udisksctl command on systemd machines.

Operating System SDKs and WDKs

Here are our Windows software development kit (SDK) and Windows driver kit (WDK) sources:

Microsoft has shuffled around what they call their SDKs and WDKs over time. For instance, a WDK used to be known as a driver development kit (DDK) in pre-Vista Windows versions. We will use the modern names.

Running 16-bit Windows Apps on a 64-bit System

Microsoft made Windows on Windows (WoW, which later became WoW16 when Microsoft released Wow64) to enable running 16-bit software on 32-bit Windows. This support does not extend to 64-bit Windows. WoW16 is a Windows GUI compatibility layer that depends on the NT Virtual DOS Machine (NTVDM) for 16-bit DOS program compatibility. Since 64-bit Windows dropped 16-bit application support, we must use an alternative solution to run these applications:

  • WineVDM
    • Can run 16-bit Windows and DOS applications on 64-bit Windows
  • NTVDMx64
    • Can run DOS applications on 64-bit Windows
    • No longer working on up-to-date Windows 11 builds

Not all 16-bit software will work through the 16-bit compatability layer. Some applications break, other applications can work but pop up error messages that may be okay to ignore.