隐藏私有函数

使用winhex或是010edit进行转换

 winhex:

复制 /System/Library/PrivateFrameworks/CoreTelephony.framework/CoreTelephony

粘贴到winhex,剪贴板格式选择ANSI-ASCII

编辑--》修改数据(ctrl+T),选择xor 填写 CC

编辑--》复制选块 c源码

 

 

std::string CCNetwork::getiPhoneIMSIString(void)
{
std::string strRet;
// 0xCC XOR /System/Library/PrivateFrameworks/CoreTelephony.framework/CoreTelephony
char ldPath[72] = {
0xE3, 0x9F, 0xB5, 0xBF, 0xB8, 0xA9, 0xA1, 0xE3,
0x80, 0xA5, 0xAE, 0xBE, 0xAD, 0xBE, 0xB5, 0xE3,
0x9C, 0xBE, 0xA5, 0xBA, 0xAD, 0xB8, 0xA9, 0x8A,
0xBE, 0xAD, 0xA1, 0xA9, 0xBB, 0xA3, 0xBE, 0xA7,
0xBF, 0xE3, 0x8F, 0xA3, 0xBE, 0xA9, 0x98, 0xA9,
0xA0, 0xA9, 0xBC, 0xA4, 0xA3, 0xA2, 0xB5, 0xE2,
0xAA, 0xBE, 0xAD, 0xA1, 0xA9, 0xBB, 0xA3, 0xBE,
0xA7, 0xE3, 0x8F, 0xA3, 0xBE, 0xA9, 0x98, 0xA9,
0xA0, 0xA9, 0xBC, 0xA4, 0xA3, 0xA2, 0xB5, 0x00
};

// 0xCC XOR CTSIMSupportCopyMobileSubscriberIdentity
char ldFunction[41] = {
0x8F, 0x98, 0x9F, 0x85, 0x81, 0x9F, 0xB9, 0xBC,
0xBC, 0xA3, 0xBE, 0xB8, 0x8F, 0xA3, 0xBC, 0xB5,
0x81, 0xA3, 0xAE, 0xA5, 0xA0, 0xA9, 0x9F, 0xB9,
0xAE, 0xBF, 0xAF, 0xBE, 0xA5, 0xAE, 0xA9, 0xBE,
0x85, 0xA8, 0xA9, 0xA2, 0xB8, 0xA5, 0xB8, 0xB5,
0x00
};

for(int i=0; i<sizeof(ldPath)-1; i++)
ldPath[i] ^= 0xCC;

for(int i=0; i<sizeof(ldFunction)-1; i++)
ldFunction[i] ^= 0xCC;

void *kit = dlopen( ldPath, RTLD_LAZY);
if( kit )
{
NSString *imsi = nil;
int (*CTSIMSupportCopyMobileSubscriberIdentity)() = ( int (*) () ) dlsym(kit, ldFunction);
if( CTSIMSupportCopyMobileSubscriberIdentity )
imsi = (NSString*)CTSIMSupportCopyMobileSubscriberIdentity();

if( imsi )
strRet = [imsi UTF8String];

dlclose(kit);
}

return strRet;
}

posted on 2014-04-23 10:24  &大飞  阅读(315)  评论(0)    收藏  举报

导航