[Nook Color Android Development] DizzyDen:
IMEI Generator 2.2.0.1 uploaded

Current version: !IMEIme 2.2.0.1

UPDATED DEVICES FILE UPLOADED

I encourage you to delete the devices.dat file if you've used the previous version... there was an error that caused the Galaxy Tab for GameLoft (Samsung GT for GL) selection to never get used.

The new version of the IMEI Generator will no longer overwrite your existing devices.dat file with the current. To use new devices.dat file, delete the old one prior to running the program, or download the new one and unzip it in the IMEI Generator directory.

There is a known issue with the GUI when your screen settings are set at 125% in Control Panel - Appearance and Personalization - Display... I will work on fixing that in the next release.

Bug reporting thread for !IMEIme

Device list thread

New features:

Device Communications not necessary in certain situations

If you select to Update ROM, using Serial Number based IMEI and do not select Encrypt IMEI, the program will no longer need to communicate with the device when performing its tasks. The framework.jar patch will not hard patch the IMEI in this situation as before. This is useful for patching a ROM for distribution to multiple people, since they will all maintain unique IMEI's. This is accomplished with the following change in the framework.jar

/com/android/internal/telephony/gsm/GSMPhone.smali
.method public getDeviceId()Ljava/lang/String;
[b]changed[/b] iget-object v0, p0, Lcom/android/internal/telephony/gsm/GSMPhone;->mImei:Ljava/lang/String;
[b]to[/b] sget-object v1, Landroid/os/Build;->SERIAL:Ljava/lang/String;
prior to patching in code to prepend "0"

.method public getDeviceSvn()Ljava/lang/String;
[b]changed[/b] iget-object v0, p0, Lcom/android/internal/telephony/gsm/GSMPhone;->mImeiSv:Ljava/lang/String;
[b]to[/b] sget-object v1, Landroid/os/Build;->SERIAL:Ljava/lang/String;
prior to patching in code to prepend "0"

To try to explain the above a little...

The above is always changed, no matter what IMEI generation method you select...

If you select Serial Number and New Type IMEI and not Encrypt: no other patching is done for the IMEI... this can be implemented on many devices, since each will have a unique serial number.

If you select Serial Number and do not select New Type: additional code is added to format the IMEI to the old standard ("00-" and "-"s)... this can be implemented on many devices for same reason.

If you select MAC Address or Encrypt (or both): additional code is added that results in the IMEI being hard coded, this makes it very much device specific.

If you select MAC Address or Encrypt (or both) and do not select New Type: additional code is added that results in the IMEI being hard coded as well as code to format the IMEI, this makes it very much device specific.

Use Custom Patch NOTE: This is only used when patching a ROM

This is going to take some major explanation, since I ran into so many possible scenarios...

One thing of note... the only additional lines added to updater-script will be for files in the base directory

The order of processing is:

1. Original ROM updater-script and files

2. Custom Patch zip file

3. Custom Patch folder

The program will utilize folders (from Patch zip file or Patch folder itself) named modboot, modsys, or system (not case sensitive in windows) as well as files in the base folder

Any files in modboot will be moved to the root of the **ROM**-IMEI.zip file and lines added to updater-script as needed

Any files in modsys will be moved to the system directory of the **ROM**-IMEI.zip file

If Custom Patch is checked...

/META-INF/com/google/android/updater-script is extracted from the ROM

the program will ask you to select the Custom Patch Folder

If there is a zip file present in the folder the program will ask if you want to use it

You have 3 options, "Yes", "No" or "Cancel"

Yes = Use the zip file

No = Don't use it, select another

Cancel = Don't use a zip file

If you use a zip file, it will extract the zip file and process the updater-script in it for any additional lines needed

After the above, any non-zip files and modboot, modsys and system directories in the Patch Folder will be processed

I chose this order so you can have a "go to" patch zip file, and test other additions by using the file, folder options prior to including them in the zip.

Example here:

I have my custom patches in folder /CM7/UserMods with these contents:

/META-INF

/modboot

/modsys

patch.zip

The program processes patch.zip first, then overwrites any files with the files in modboot and modsys

It also processes /META-INF/com/google/android/updater-script for any lines extracting files to /boot and adds them to the original ROM updater-script if not already there.

It then adds lines for any files originally in /modboot to updater-script to extract them to /boot