[Galaxy S II Original Android Development] lyriquidperfection:
EFS Professional v2.1 - With Qualcomm Device Support!

Now supporting NON-Samsung devices!

Advanced backup and restore of your device's sensitive partition and NV data!

Features:

Automatic detection and termination of SAMSUNG Kies application and ADB server instances on startup.

Backup and restore partition images to and from compressed archives (*.tar.gz format).

Detects backup archives automatically on the device and PC for hassle free restoring.

Device Filter support to help users identify which partitions are the important ones to backup.

Extract and read device's PIT file to ensure efficient and accurate backup and restore operations (Samsung devices only).

Check MD5 hash during backup and restore operations to verify integrity of data written.

Option to Format EFS to wipe all data and recreate partition.

Options to reset Battery Cable, SPen and Earphone Jack counters on supported Samsung devices.

Option to fix Samsung devices that are 'stuck' in Factory Mode with the on screen overlay.

Option to fix Samsung devices that have Lock Screen issues and missing Power Button Menu.

A full featured AT and QCDM Terminal for sending custom commands and/or bytes to the connected device.

Qualcomm device support allowing many new features such as backup and restore of the FULL NV Item range.

Generate ESN / MEID / IMEI in reversed HEX format for Qualcomm repair operations.

Read and write ESN / MEID / IMEI to and from Qualcomm devices and QPST 'QCN Backup' files.

Send Diagnostic Password (16 Digits Hex) to unlock secure operations.

Read / write / send SPC (Service Programming Code) on Qualcomm devices.

Read / write Lock Code on Qualcomm devices.

Skip NV items during backup based on a defined profile list to enable FULL backups.

Ability to backup a custom NV item range based on a user defined list.

Automatic detection and switching of USB settings when launching Qualcomm NV Tools.

Option to display various device, ROM and BusyBox related information at the click of a button.

Option to restore NV data from internal '*.bak' files if they exist to fix corrupt or incorrect IMEI number.

Option to repair NV data file ownership to fix 'Unknown baseband' and 'No signal' issues.

Supports backup and restore of 'fsg', 'fsc', 'backup' and other partitions that do not have a corresponding filename defined in the PIT file.

Enable / Disable 'HiddenMenu' on newer devices.

Launch PhoneUtil, UltraCfg and other built in hidden device menus straight from the application UI.

Important Note: Please make sure any background applications such as Droid Explorer that use an adb server are terminated before using EFS Professional to avoid any issues.

Changes / Improvements:

EFS Pro v2.1.80 BETA

-----------------------

1. Added error checking to security protected NV items in Qualcomm NV Tools.

2. Implemented QXDM Enums for displaying accurate device information.

3. Tidied all working files into sub directories so folder structure must now follow this layout.

4. Lots of other small enhancements and fixes.

EFS Pro v2.1.73

-----------------------

1. Fixed an issue that sometimes prevented files in backup archives located on the device from enumerating.

2. Renamed Qualcomm tab to Samsung Tools tab to create a central location for Samsung specific tools and utilities.

3. Moved the Format EFS Folder option on Restore tab to Other Tools under Samsung tab.

4. Moved the Extract Device PIT option on Backup tab to Other Tools under Samsung tab.

5. Added support for resetting Battery Cable, SPen and Earphone Jack counters to Other Tools under Samsung tab.

6. Updated Device Tools and changed name to Phone Service Apps.

7. Added ability to launch Preconfg service app on Samsung devices to allow changing of CSC.

8. Added ability to launch Factory Mode Dialer app on Samsung tablets.

9. Added ability to launch PhoneUtil and USB Settings for newer Samsung devices / firmwares.

10. Added Device Filter for Motorola Moto G - XT1032 - EMEA device variant.

11. Custom NV Item Range option in Qualcomm NV Tools now allows to auto populate from 'CustomNVItemList.txt' file and you now also have the ability to add multiple ranges in one go rather than one item at a time like previously.

EFS Pro v2.1.61

-----------------------

1. Fixed all issues preventing backup and restore on cyanogenmod and AOKP based ROMS.

2. Cleaned up code in several places and improved string handling to prevent errors.

EFS Pro v2.1.54

-----------------------

1. Added ability to backup custom NV item range based on a user defined list.

2. Fixed an issue that caused backup and restore to fail on certain device configurations.

3. Fixed some coding errors in a few places.

EFS Pro v2.1.50

-----------------------

1. Updated PIT Magic to reflect newly identified parameters and fixed many bugs.

2. Fixed an issue that could cause backed up partition image files to be overwritten during a backup caused by multiple Flash FileName entries defined in some PIT files having a '-' (dash) as the file name. These files will now be treated like partitions that have no Flash FileName defined.

EFS Pro v2.1.47

-----------------------

1. Added an Extract PIT button to the backup tab so users can get their pit file independently.

2. Fixed a display bug in the UI on start up.

EFS Pro v2.1.45

-----------------------

1. Improved file handling further by adding quotes to long filenames in complex commands.

2. Recoded the PIT file extraction and parsing routine to read a specified size chunk of data from 'mmcblk0' then find and extract the PIT file.

3. Extracted PIT files will now contain the signature to make them useable in ODIN. Useful if you need a signed PIT file to recover a device.

4. Added support for changing the PIT file data chunk buffer size in the App. Config tab to ensure future device support.

5. PIT files will now be extracted correctly on devices such as the Galaxy S III Mini (I8190N).

6. Fixed a couple more coding bugs.

EFS Pro v2.1.40

-----------------------

1. Improved file handling during backup and restore operations for device names that contain a whitespace.

2. Improved display of diagnostic information in Qualcomm NV Tools.

3. Changed COM port enumeration process to include modems to facilitate use of AT terminal commands.

4. Added support for an AT and QCDM terminal to send custom commands and/or bytes in Qualcomm NV Tools.

5. Fixed an issue where Qualcomm NV Tools would be disposed when an error occurred to cause the phone connection to be lost.

6. Some additional optimizations have been made to the code.

EFS Pro v2.1.32

-----------------------

1. Fixed a bug that caused reading a QCN file to fail when either the ESN / MEID / IMEI NV item data was not present.

2. Fixed some UI layout bugs when enumerating partitions.

3. Improved error handling in some areas of the code.

EFS Pro v2.1.30

-----------------------

1. Tweaked a few functions and fixed a couple of bugs.

2. Welcome screen is now the Information screen with a device usage scope and professional disclaimer.

EFS Pro v2.1.27

-----------------------

1. Removed redundant checking for 'mmcblk0' block device.

2. Moved PIT extraction routine to partition enumeration from backup code block to fix some issues.

EFS Pro v2.1.25

-----------------------

1. Added support for auto detection of USB device being connected / disconnected in Qualcomm NV Tools.

2. Added PIT Magic to the EFS Professional Suite.

EFS Pro v2.1.17

-----------------------

1. Fixed an issue in the backup and restore engine that caused the enumeration of partitions to fail on devices which had sub-folders in the '/dev/block' location. The code has now been changed to ignore sub-folders thus avoiding future problems.

EFS Pro v2.1.14

-----------------------

1. Fixed broken archive enumeration when selecting a backup to restore.

2. Fixed enumeration of phone information on the Diagnostic Tools tab in Qualcomm NV Tools.

3. Fixed support for Galaxy S III Mini and included PIT file so users can backup and restore as the 'dd' command does not work to extract the PIT file from some of these device variants.

4. Re-wrote partition backup and restore functions, cleaned up code and removed some redundant functions.

5. Added a check on start up to detect is all required BusyBox applets are present in the installed binary.

6. Changed UI layout to make it more clearer and allow for future options to be added.

EFS Pro v2.1.12

-----------------------

1. Added support for NON-Samsung devices. Qualcomm tab will be disabled when a NON-Samsung device is detected but Qualcomm NV Tools can still be accessed via the Launcher.

2. Fixed some bugs in the backup and restore code that prevented proper backup and restore under certain conditions.

3. Added: partition backup filenames will now carry an epb file extension (EFS Pro Backup) if the correct filename is not located in the PIT file. NON-Samsung devices will always use the epb file extension as PIT files are only relevant to Samsung devices.

4. Simplified the Welcome screen so the disclaimer is now bigger and clearer.

5. Added Device Filter for LG G2 (International and US variants).

EFS Pro v2.1.8

-----------------------

1. Added App. Config tab with application specific options.

2. Added support for specifying custom device storage path so internal or external storage may be used.

3. Added option on App. Config tab to enable or disable application debugging mode.

4. Added NV item number to status during NV items backup to make it easier to identify a failed read item so it can be added to the NV item Skip List.

EFS Pro v2.1.5 (Minor Update)

-----------------------

1. Improved handling of backup archive creation to hopefully support newer BusyBox versions.

2. Added support for reading and writing of ESN and MEID in Qualcomm NV Tools. Will also display the reversed hex data of the actual input.

3. Added support for Skipping NV items during an NV backup in Qualcomm NV Tools. Profile List format is compatible with CDMA Workshop.

4. Added support for sending 16 digit password in Qualcomm NV Tools.

5. Added a Secure Ops. tab where SPC, Lock Code, 16 digit password and ESN / MEID / IMEI Read/Write operations now reside.

6. Added more info to Diagnostic Tools tab in Qualcomm NV Tools.

7. Added support for creating ESN / MEID / IMEI patches in CDMA Workshop format.

8. Fixed some additional bugs and optimized code in places.

EFS Pro v2.0.110

-----------------------

1. Fixed a display bug in backup and restore routines when operating with partitions that have no filename defined in the PIT.

2. Removed Hex data dialog box that popped up when reading MEID. This was for my internal use during testing and should have been removed for release.

3. Fixed a bug that prevented partitions with filenames not defined in the PIT being extracted correctly from backup archives.

4. Updated copyright notices to include current year.

EFS Pro v2.0.104

-----------------------

1. Changed the backup and restore process to handle all partitions that do not have a flash filename defined in the PIT file.

2. Fixed Qualcomm NV Tools that was broken in last release which threw an error when trying to connect.

3. Fixed some bugs in the error handling code that prevented the application from terminating correctly when needed.

4. Modified some of the Qualcomm based device filters to add 'fsg' and 'backup' partitions.

5. Added Galaxy Note 3 Qualcomm variant device filter.

EFS Pro v2.0.103

-----------------------

1. Removed the Reboot NV Backup and Reboot NV Restore features from the Qualcomm tab as this no longer works on newer devices and actually breaks them.

2. Added backup and restore support for 'fsg' and 'backup' partitions on Qualcomm devices. Although file names are not defined in the PIT for these partitions, EFS Pro will add '.bin' extension.

3. Removed limit from Device Filter Editor to add ALL partitions found within a PIT file.

4. Fixed some bugs in Qualcomm NV Tools.

EFS Pro v2.0.91

-----------------------

1. Fixed an issue with AOSP and other custom ROM's that prevented the device from connecting and EFS Professional starting correctly.

2. Fixed error checking when the application needs to terminate due to an unforeseen error to avoid null object references.

EFS Pro v2.0.80

-----------------------

1. Changed: Made a few changes to the startup process to make trouble shooting easier.

2. Fixed a few known bugs and null references.

EFS Pro v2.0.72

-----------------------

1. Added: Notice to users on private/personal use.

2. Fixed a few minor bugs.

EFS Pro v2.0.70

-----------------------

1. Improved: Application startup time has been optimized and the startup process is now easier to read.

2. Changed: All partitions are now selected by default when performing a backup or restore operation.

3. Improved: IMEI repair process in Qualcomm NV Tools. Now you can read from or write to any of the supported formats in any order.

4. Added: Device connection checking to the Device Filter Editor.

5. Added: Reboot options to the Debug tab.

EFS Pro v2.0.68

-----------------------

1. Fixed a bug in the Device Filter Editor that prevented files being enumerated correctly if they had the same Display Name.

2. Made a few internal minor improvements to the Device Filter Editor.

3. Added a workaround for Galaxy S4 Snapdragon variants on the Qualcomm NV Tools > NV Backup/Restore tab which skips the reading of NV item: 10013 to allow a full NV backup to succeed.

4. Other minor bug fixes and improvements.

EFS Pro v2.0.62

-----------------------

1. Fixed a bug where the extracted pit file size was not corrected when selecting a backup to restore.

2. Added a check during backup and restore operations to see if the PIT file already exists locally. Extraction from device will be skipped which means users having issues can place their own PIT file in the EFS Pro directory but it must follow the naming convention of: 'Model'.pit. For example a 'GT-I9305' would be called 'GT-I9305.pit'.

3. Added a Device Filter Editor UI so users can edit or create Device Filters. Files are in a new binary format so the old '.filter' extension device filters are now redundant.

4. Changed the Device Filter Refresh button to a Manage button which provides options to create, edit, delete or refresh device filters.

5. Removed the 'Qualcomm USB Settings' button on the Qualcomm tab and added a dropdown list with more options for launching service menus. Also added options to Enable and Disable the HiddenMenu on newer devices.

6. Added a default to EFS partition action when internal functions try to query the device partitions and fail.

EFS Pro v2.0.46

-----------------------

1. Fixed a bug in the Backup code block that caused the UI to freeze briefly when selecting a Device Partition Filter.

2. Fixed the file naming convention when creating backups to include a leading zero where necessary on the date and time text formatting.

3. Fixed a bug where sending wrong SPC to the device manually from the UI in Qualcomm NV Tools failed to display the ten second wait dialog.

4. Fixed an issue where extracted PIT file during backup and restore contained un-needed data at the end of the file. The file is now parsed and rewritten internally leaving a clean PIT of the correct file size rather than the fixed length of 5KB.

EFS Pro v2.0.40

-----------------------

1. Fixed a bug in the backup and restore routine that caused failure to populate the partition list due to the PIT file and device partition names not matching as they were case sensitive. Both are now converted to lower case for positive matching. This may have caused issues for other devices in previous releases.

2. Added a check to the WaitForDevice Dialog to allow for Android 4.2.2 Jelly Bean's USB Debugging security feature.

3. Changed the PIT file extraction routine to extract 5KB for a PIT file to allow for devices with over 20 partition entries. This allows the Galaxy S4 (GT-I9505) variant to be fully supported now and may also fix broken support for other devices in previous releases.

EFS Pro v2.0.35

-----------------------

1. Fixed a bug in the BuildPropertyParser that caused EFS Pro to crash on start up when a Galaxy S4 is connected.

2. Added device partition filter for Galaxy S4 (GT-I9505) Snapdragon variant for backup and restore operations.

3. Added a check and prompt on EFS Pro start up to allow time for users running Android 4.2.2 Jelly Bean to accept PC to device authorisation popup.

EFS Pro v2.0.33

-----------------------

1. Fixed a severe bug in Qualcomm NV Tools that prevented the IMEI being read from and written to QCN files.

2. Added 'Send SPC' option on device connection in Qualcomm NV Tools and 'Read Phone' option when checked will now read all fields in the Diagnostics tab.

3. Fixed other minor bugs in Qualcomm NV Tools.

4. Improved error detection in EFS Pro when checking a device on start up. You must ensure you have allowed your PC to communicate with your device when running Android 4.2.2 Jelly Bean.

5. Fixed Samsung Galaxy S (GT-I9000) support and made some minor code improvements.

6. Fixed a few other bugs and improved overall application stability.

EFS Pro v2.0.26

-----------------------

1. Added a Launcher UI on startup so you can select between EFS Pro and Qualcomm NV Tools. This was implemented for US users who wish to use Qualcomm repair functions but were unable to access it due to EFS Pro crashing on startup.

2. Fixed a few other minor bugs.

EFS Pro v2.0.23

-----------------------

1. Fixed a critical issue which caused EFS Pro to crash on startup when a device was not connected and an emulator was present.

2. Added a filter to the ADB framework code to prevent any emulators from being added to the list of connected devices which avoids some major issues and null reference exceptions.

3. Added a check on startup to prompt and automatically terminate any existing adb processes running on the clients PC to improve application stability.

4. Rolled back source code to .NET Framework v4.0 from v4.5 due to incompatibility with Windows XP.

5. EFS Pro now once again supports 32bit and 64bit OS platforms.

EFS Pro v2.0.20

-----------------------

1. Fixed an issue where Perm Root failed to detect correctly with Rooted Kernels.

2. Fixed an issue where having Corsair Link Dashboard software installed caused a conflict with ADB causing EFS Pro to fail on startup.

3. Updated application source to .NET Framework 4.5 and recompiled in Visual Studio 2012 as a 32-bit application.

4. Fixed a few other minor bugs.

EFS Pro v2.0.17

-----------------------

1. Fixed an issue with the BuildPropertyParser where setting a property failed because of a bug with its root detection.

2. Fixed the manual USB switching feature on the Qualcomm tab caused by the BuildPropertyParser issue above.

3. Fixed the automatic USB switching feature on the Qualcomm tab failing to trigger when launching Qualcomm NV Tools.

4. Fixed an issue in the device partition filter parser that caused the partition list to populate with the missing BusyBox applet error.

5. Changed the startup sequence of EFS Professional. The application now loads instantly and initializes the ADB server and checks the device.

6. Removed toast notification popups.

EFS Pro v2.0.15

-----------------------

1. Fixed an issue that was introduced in the previous version that would exit the application if NO Root permissions were detected. Now only the Qualcomm tab will be available if the connected device does not have Root permissions.

2. Fixed a long standing bug in the ADB Framework's BuildPropertyParser that caused the device to be queried each time a build property was read. As a direct result, functions that involve reading build properties such as the Device Info function are now much quicker!

3. Changed the method of command execution of the NV Backup and NV Restore functions for US Device variants. Direct ADB command line options are now used instead of running the required commands through an ADB Shell. This was done to eliminate the Root permissions requirement that was needed for ADB Shell.

EFS Pro v2.0.14

-----------------------

1. Re-enabled Qualcomm device detection again. If the 'nv_data.bin' file is not present in the efs directory then its usually safe to assume its a Qualcomm device.

2. Added a Debug tab to help troubleshoot problems and crashes etc. To enable it, create a file with the text: 'enable_debug_mode' (without quotes) and save as 'efspro.cfg' in the same directory as the application executable then restart EFS Professional if you already have it running.

3. Changed the way Root permissions are detected. Root permissions are now only checked once when EFS Professional starts rather than when using each function.

4. Updated ADB to latest from Platform Tools R16.

5. A couple more bug fixes have been added.

EFS Pro v2.0.12

-----------------------

1. Removed auto detection of Qualcomm device due to unreliability. The Qualcomm tab is now permanently enabled.

2. Fixed some issues regarding error checking and multithreading.

EFS Pro v2.0.9

-----------------------

1. Total application re-write to implement a more efficient and accurate way of backup and restore operations.

2. Backup and restore partition images to and from compressed archives (*.tar.gz format)

3. Device filter support to allow displaying important partitions for various devices.

4. Extract and read device's PIT file to ensure efficient and accurate backup and restore operations.

5. Qualcomm device support allowing many new features. See below:

- Backup and restore of the FULL NV Item range (Dec: 0-65535 / Hex: 0-FFFF) on Qualcomm devices.

- Generate IMEI in reversed HEX format for Qualcomm repair operations.

- Read and write IMEI to and from Qualcomm devices and QPST 'QCN Backup' files.

- Read / write / send SPC (Service Programming Code) on Qualcomm devices.

- Read / write Lock Code on Qualcomm devices.

- Read ESN and MEID on Qualcomm devices.

6. Automatic detection and switching of USB settings when launching Qualcomm NV Tools.

7. NV Backup and NV Restore NV to utilise Samsungs built in 'reboot nvbackup' and 'reboot nvrestore' functions. (Intended for US device variants only).

8. Added multithreading to the 'Wait For Device' dialog to prevent random lock ups.

9. Various UI improvements and changes including brand new layout design.

10. Added a welcome page which also incorporates a usage disclaimer.

11. Added automatic Qualcomm device detection to disable or enable functions to avoid confusion.

12. Added a 'Cancel' option to the 'Terminate ADB also?' dialog plus added clean up on exit.

13. Added a 'Donate!' button to the Main UI for all the generous people out there! :)

Please note that backups made with older versions are not compatible with the new EFS Professional v2.0 update due to the new backup format used.