IOS Android 手机助手原理以及源码(iTunes.dll iTunesCore.dll 作用)
来源:互联网 发布:中国制造业出口数据 编辑:程序博客网 时间:2024/05/18 18:01
iTunes 某一个版本之前他有一个dll 名字是iTunes.dll ,后来改名了 iTunesCore.dll。这个DLL 的作用是用来计算一个21 字节的cig。先说一下背景
将音乐,视频,铃声等导入手机或者修改的时候,需要启动AT 服务,这个也就是同步的服务。启动服务之后,将一个plist 文件拷贝到手机的某一个目录下,同时还有一个加密的文件。这个加密的文件固定21个字节,是根据plist 文件计算出来的。要计算出这个21字节的东西就需要调用iTunes.dll 里面的函数。但是这个函数并不像一些导出的函数,iTunes 并没有导出这个函数,只能是先loadlibrary,然后从某一个地址来计算出这个21字节的东西。由于不是固定的导出函数,所以每次iTunes 更新的时候这个地址都有可能不相同。
plist文件的路径:/iTunes_Control/Sync/Media/Sync_%s.plist
cig 文件路径: /iTunes_Control/Sync/Media/Sync_%s.plist.cig
%s 是启动同步服务的时候获取到的一个数字。
下面是目前搜集到的itunes 的调用地址。12.1.0.71 版本之前32 和64 位系统都是一样的。 这个版本之后就区分32和64位系统了。但是目前很多助手在12.1.0,71 版本之后还是32 位的,因为他们自带了32位的iTunes.dll 文件。前面也说过,万一64位的系统取消了32位的那部分,那这种方式就失效了。
struct iTunesOffset
{
//itunes 版本
XString striTunesVer;
//操作系统的位数
int iBit;
//offset 地址
XPInt ulOffset;
};
iTunesOffset offset;
offset.striTunesVer = L"11.2.2.3";
offset.iBit = 0;
offset.ulOffset = 0xFC3730;
m_itunesOffsetVector.push_back(offset);
offset.striTunesVer = L"11.3.0.54";
offset.iBit = 0;
offset.ulOffset = 0xFD4730;
m_itunesOffsetVector.push_back(offset);
offset.striTunesVer = L"11.3.1.2";
offset.iBit = 0;
offset.ulOffset = 0xFD5730;
m_itunesOffsetVector.push_back(offset);
offset.striTunesVer = L"11.2.0.114";
offset.iBit = 0;
offset.ulOffset = 16525104;
m_itunesOffsetVector.push_back(offset);
offset.striTunesVer = L"11.1.3.8";
offset.iBit = 0;
offset.ulOffset = 0xF3F400;
m_itunesOffsetVector.push_back(offset);
offset.striTunesVer = L"11.1.4.62";
offset.iBit = 0;
offset.ulOffset = 0xF49400;
m_itunesOffsetVector.push_back(offset);
offset.striTunesVer = L"11.4.0.18";
offset.iBit = 0;
offset.ulOffset = 16590640;
m_itunesOffsetVector.push_back(offset);
offset.striTunesVer = L"12.0.1.26";
offset.iBit = 0;
offset.ulOffset = 67120;
m_itunesOffsetVector.push_back(offset);
offset.striTunesVer = L"12.1.0.71";
offset.iBit = 1;
offset.ulOffset = 67120;
m_itunesOffsetVector.push_back(offset);
offset.striTunesVer = L"12.1.0.71";
offset.iBit = 2;
offset.ulOffset = 121168;
m_itunesOffsetVector.push_back(offset);
offset.striTunesVer = L"12.1.1.4";
offset.iBit = 1;
offset.ulOffset = 67120;
m_itunesOffsetVector.push_back(offset);
offset.striTunesVer = L"12.1.2.27";
offset.iBit = 1;
offset.ulOffset = 67120;
m_itunesOffsetVector.push_back(offset);
offset.striTunesVer = L"12.2.0.145";
offset.iBit = 1;
offset.ulOffset = 288912;
m_itunesOffsetVector.push_back(offset);
offset.striTunesVer = L"12.2.1.16";
offset.iBit = 1;
offset.ulOffset = 288912;
m_itunesOffsetVector.push_back(offset);
offset.striTunesVer = L"12.2.2.25";
offset.iBit = 1;
offset.ulOffset = 288912;
m_itunesOffsetVector.push_back(offset);
下载地址:
http://115.29.237.15:8080/MobileAssist/Product/MobileTools.7z
QQ:2506314894
- IOS Android 手机助手原理以及源码(iTunes.dll iTunesCore.dll 作用)
- IOS Android 手机助手原理以及源码(iTunesMobileDevice.dll 函数)
- IOS Android 手机助手原理以及源码(iTunes 必须要知道的事情)
- IOS Android 手机助手原理以及源码(Android 手机连接)
- IOS Android 手机助手原理以及源码(获取手机屏幕截图)
- IOS Android 手机助手原理以及源码(Android 手机自动识别 三<手机驱动安装>)
- IOS Android 手机助手原理以及源码(Android 手机自动识别 一)
- IOS Android 手机助手原理以及源码(Android 手机自动识别 二)
- IOS Android 手机助手原理以及源码(ios 设备自动识别 序列号获取)
- IOS Android 手机助手原理以及源码(IOS 获取应用列表)
- IOS Android 手机助手原理以及源码(安装卸载IOS 应用)
- IOS Android 手机助手原理以及源码(IOS 音视频导入导出)
- 手机助手管理android端文件原理
- Android 网页源码查看器(URLConnection以及handler助手)
- DLL劫持(HiJack)原理以及实现细节
- DLL原理
- DLL原理
- iOS手机网络助手
- C 源码学习——memcpy函数
- 文章标题
- Git 添加远程库
- IOS面试题汇总(中英文)
- OC学习笔记-Foundation框架(一)
- IOS Android 手机助手原理以及源码(iTunes.dll iTunesCore.dll 作用)
- win8搜索不到wifi怎么办?windows8搜索不到无线网络解决方法图解
- Git 从远程库克隆
- waitpid(or wait)和SIGCHILD的关系 http://blog.csdn.net/liuxingen/article/details/38350347
- Arcpy基础入门-6、arcpy要素属性操作
- this关键字与super关键字
- 【IOS 开发学习总结-OC-28】★objective-c之foundation 框架——集合类的综述
- kmp算法原理及实现
- nyoj 220 推桌子