How to Mount ISO Files for Scanning
Dependency-Check can be used as one of your tools for vetting software distributed via an ISO image. (See File Type Analyzers for a list of what types of artifacts Dependency-Check is capable of scanning.) These disk image files are not a standard archive format, however. Tools must be used that can interpret the contained file system. As will be shown below, Linux, Mac OS X, and recent versions of Windows can be used to mount the image's file system, which can then be scanned by Dependency-Check.
ISO images are named for the fact that they nearly always contain one of a pair of international file system standards published by ISO: ISO 9660 and ISO/IEC 13346, a.k.a. UDF. Other types of disk images (e.g., VHD) are outside the scope of this article, though the ideas presented here may likely be successfully applied.
Linux
Assume you've downloaded an ISO image called foo.iso
, and you want to mount
it at /mnt/foo. (Why /mnt? See the
Filesystem Hierarchy Standard.)
First make sure that the mount point exists using mkdir /mnt/foo
. Then, the
mount command must be run with root
privileges. On Debian and Ubuntu Linux, this is accomplished by prefacing the
command with sudo
.
$ sudo mount -o loop foo.iso /mnt/foo
Next, you can use Dependency-Check's command line tool to scan the mount point. When you are finished, run the umount command with root privileges:
$ sudo umount -d /mnt/foo
This will unmount the file system, and detach the loop device.
Mac OS X
Using the GUI
Simply double-click on the image file in Mac OS X Finder.
Using a Terminal Window
Use the hdiutil command.
$ hdiutil attach foo.iso
The output will show the /dev
entry assigned as well as the mount point,
which is where you may now read the files in the image's file system.
To detach:
$ hdiutil detach foo.iso
Windows
Windows 8 and later versions support mounting ISO images as a virtual drive.
Using the GUI
- In File Explorer, right-click on “foo.iso”.
- Select “Mount”
File Explorer then redirects to showing the files on your virtual drive. You can then use the command line tool to scan the virtual drive. When finished, “Windows-E” will open File Explorer showing the various drives on your computer. To eject the virtual drive:
- Right-click on the virtual drive.
- Select “Eject”
Using PowerShell
To mount, use the Mount-DiskImage cmdlet:
$ Mount-DiskImage -ImagePath C:\Full\Path\to\foo.iso
To view all drives (and find your virtual drive), use the Get-PSDrive cmdlet:
$ Get-PSDrive -PSProvider 'FileSystem'
To dismount, use the Dismount-DiskImage cmdlet:
$ Dismount-DiskImage -ImagePath C:\Full\Path\to\file.iso
Windows 7
Third-party tools exist that can be used to mount ISO images. Without such tools, it is still possible to burn the ISO image to physical media, and scan the media:
- Right-click on “foo.iso”
- Select “Windows Disc Image Burner”
- Follow the instructions to burn the image.
Windows Vista
Just as with Windows 7, you will need a third-party tool to mount an ISO image. You will also need a third-party tool to burn the image to media. Many machines are shipped with such a tool included.