Skip to content

thamir18/ddAuto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

About

ddAuto is an open-source front-end GUI cross-platform imaging tool written in Perl to automate dd utility process. The purpose of this tool is to provide the user with the power of the dd utility as well as providing the user with an intuitive interface. ddAuto provides the option for the user to image attached drives (e.g. HD, Flash Drive) locally or remotely via TCP protocol using netcat/cryptcat. Image integrity functionality is also provided by the tool. The user may choose to use MD5, SHA1, SHA2 or any other degist algorithm for hash verification. Most importantly, ddAuto allows the user to view the imaging completion percent as dd in the background as well as the estimated remaining time.

Features

  • GUI for dd
  • Easy to change options and to switch between windows.
  • Automatically devices detection (HD, USB Flash Drive, SD Memory).
  • Progress bar for imaging time.
  • Elapsed / Estimated time calculations.
  • Support for a number of hashing algorithms.
  • Netcat and Cryptcat support.
  • Multi-OS support (Windows, Linux, OSX).
  • Exported HTML summary report.

Minimum Requirements

The following list of requirements must be installed before running the tool

Optional Requirements

The following list of requirements are required if used by the user:

  • Linux

    • Netcat (Installed by default)
    • Cryptcat, installed by default in some Linux distros (CryptCat Project)
    • Perl Modules:
      • Digest::MD5
      • Digest::SHA
      • Digest::Tiger
      • Digest::Whirlpool
      • Digest::Adler32
      • Digest::CRC
  • Mac

    • Netcat (Installed by default)
    • Cryptcat(CryptCat Project)
    • Perl Modules:
      • Digest::MD5
      • Digest::SHA
      • Digest::Tiger
      • Digest::Whirlpool
      • Digest::Adler32
      • Digest::CRC
  • Window

    • Netcat (Supported by Cygwin)
    • Cryptcat (CryptCat Project)
    • Perl Modules:
      • Win32::Process
      • Win32::Process::List
      • Digest::MD5
      • Digest::SHA
      • Digest::Tiger
      • Digest::Whirlpool
      • Digest::Adler32
      • Digest::CRC

Windows Users Instructions

Before the tool is launched from the command line in Windows machine, the user must provide the script file with valid path to Cygwin binary directory. The following lines in the script file must reflect the exact path for Cygwin bin directory as well as Netcat and Cryptcat exe files:

 my $cygwinPath='C:\cygwin\bin\\' 	   if ($^O eq 'MSWin32');
 my $ncPath='C:\nc-exe-path\\' 		   if ($^O eq 'MSWin32');
 my $cryptcatPath='C:\cryptcat-exe-path\\' if ($^O eq 'MSWin32');

Remote Imaging

For remote imaging, ddAuto opens dual TCP connections. One via Netcat/Cryptcat to tunnel dd stream, and the other is a TCP connection on port '9090' for data control initiated by the Sender to exchange control data, like how many bytes have been transferred so far and what hash calculation requested by the receiver. In case of firewall protection, the user should allow for port '9090' (hardcoded) and the Netcat/Cryptcat listing port selected by the user. The following table summarizes the remote imaging on different OSs.

Receiver Sender Notes
Windows 7 Backtrack 5
  • File Imaging
  • Flash drive imaging
  • Netcat/Cryptcat
Backtrack 5 Windows 7
  • File Imaging
  • Flash drive imaging
  • Netcat/Cryptcat
Backtrack 5 Backtrack 5
  • File Imaging
  • Flash drive imaging
  • Netcat/Cryptcat
Windows 7 Mac OS
  • File Imaging
  • Flash drive imaging
  • Netcat

Feature Development

  • Integrate with other forks of dd (Dc3dd, dcfldd, sdd, dd_rescue, ddrescue, dccidd)
  • Support memory imaging
  • Logging
  • Support multi-imaging
  • Support dd over SSH
  • Pause/Continue
  • Error Handling

Release Track

Version Release Date Applied Changes
ddAuto-1.0 May 14, 2014
  • Initial Version
  • Local/Remote Imaging
  • Netcat/Cryptcat Support
  • Hashing Support
  • HTML Format Report

Screenshots

Welcome Window

1- Utility body area.
2- Utility control area.

Imaging Mode Window

3- Local: allows the user to image attached devices locally.
4- Remote: allows the user to image attached devices remotely over TCP connection.

I/O Path Window

5- Input Device/File: it can be a valid device or file path to pass for dd as input (if=).
6- Output File: it can be a valid file path to pass for dd as output (of=).
7- The button with the black arrow on the right opens a list with detected devices. In the the example below, 'Device1' refers to the hard drive while 'Device2' refers to a USB flash drive.

Connection Mode Window

This window appears only if 'Remote Mode' option is selected.
8- Sender Mode: allows the user to send the input of dd to a remote receiver over TCP connection.
9- Receiver Mode: allows the user to accept the output of dd from a remote sender over TCP connection.

Tunneling Mode Window

This window appears only if 'Remote Mode' option is selected.
10- Netcat: allows the user to send the dd stream over unencrypted TCP connection.
11- Cryptcat: allows the user to send the dd stream over encrypted TCP connection.
12- Network Settings: a parameters must be passed to Netcat/Cryptcat:
  • Remote IP: valid remote host IP address in the format: #.#.#.#
  • Port: valid remote host listing port.
  • key: optional encryption key for Cryptcat only.

dd Options Window

This windows allows the user to pass options in graphic mode to dd utility. It should be noticed that dd options for Windows versions are limited. For more information about dd options, visit dd options or type man dd in the command line.

Checksum & Report Options Window

13- A list of optional checksum algorithms.
14- User's HTML report options.

Confirmation Window

This windows allows the user to confirm his selected options before imaging starts up. The user can smoothly moves back and forth between windows and change options.

Status Window

This windows updates the user with the progress of dd as well as the estimated time.
15- Time estimation.
16- Progress bar.
17- Messages area to keep the user updated about the process.
18- Exit button.
19- Open an HTML summary report in a browser.
20- Takes the user to the first step.

HTML Summary Report

The HTML summary report confirms wither the imaging processed successful or not by showing the checksum test results. It also can be printed or exported as a record.