Archive for the ‘Geek Corner’ Category

iTunesMobileDevice.dll Changed in iTunes 8.0

Saturday, September 13th, 2008

Many users reported iFunBox crashes after iTunes was updated to v8.0. We found the USB communication runtime library (iTunesMobileDevice.dll) was changed which cause iFunBox failure. The problem has been fixed in the newly released iFunBox v0.6.199.35.

More precisely, the memory layout of the structure am_device was extended 105bytes. The structure is used in many fundamental call for communicating with iPhone via USB port. Though the meaning of these addtional bytes is not clear to us, fortunately we don’t need to know that. The structure is created by the runtime library and feeded to other calls.

The updated am_device structure is defined as:
struct am_device {
unsigned char unknown0[16]; /* 0 - zero */
unsigned int device_id; /* 16 */
unsigned int product_id; /* 20 - set to AMD_IPHONE_PRODUCT_ID */
char *serial; /* 24 - set to AMD_IPHONE_SERIAL */
unsigned int unknown1; /* 28 */
unsigned char unknown2[4]; /* 32 */
unsigned int lockdown_conn; /* 36 */
unsigned char unknown3[8]; /* 40 */
unsigned char unknown4[6*16+1]; // + in iTunes 8.0, by iFunbox.dev
unsigned char padding[8]; // + in iTunes 8.0, by iFunbox.dev
};

Windows Register Hacking

Sunday, August 3rd, 2008

Override the Unicode codepage
The codepage used to convert non-Unicode plain text to Unicode text is obtained with GetACP call by default. The codepage can be overridden by save a DWORD value under
“HKEY_CURRENT_USER\Software\i-funbox.com\i-FunBox\Preference” with name CodePage.