iTunesMobileDevice.dll changed in iTunes 9.1
Wednesday, March 31st, 2010After iTunes 9.1 installed, i-funbox will stop working due to the new update of the Apple Mobile Device driver which prohibites iPhone Jailbreaking.
A quick workaround is copy the old v9.0 itunesMobileDevice.dll to the same folder of ifunbox.exe. To found the old version of itunesmobiledevice.dll, you can ask for your friend who havn’t upgraded to iTunes 9.1. The file is located in C:\Program Files (x86)\Common Files\Apple\Mobile Device Support\bin, or C:\Program Files\Common Files\Apple\Mobile Device Support\bin. Or, try kun’s version.
We will investigate the problem or maybe combine this workaround in the coming new release of ifunbox v0.98.
We find iTunes 9.1 changed the am_device structure again, which once changed in its 8.0 upgrade. The new structure is some like the below. It seems not difficult to handle, we will release the version compatible with iTunes 9.1 very soon.
struct am_device_9_1
{ // zeros, changed from 16 to 28 in iTunes 9.1
unsigned char unknown0[28];
unsigned int device_id;
//+ in iTunes 9.1, by iFunbox.dev
unsigned int unknown5;
unsigned int product_id;
char *serial;
//- in iTunes 9.1, by iFunbox.dev
//unsigned int unknown1;
//unsigned char unknown2[4];
unsigned int lockdown_conn;
unsigned char unknown3[8];
// + in iTunes 8.0, by iFunbox.dev
unsigned char unknown4[6*16+1];
// + in iTunes 8.0, by iFunbox.dev
unsigned char padding[8];
unsigned char safe_extending[256];
// serial now starts from 9th charactor
char*GetSerial(){return serial+9;}
};