本帖最后由 dazhaxie2015 于 2015-1-30 16:27 编辑
唱k的都知道,唱吧的歌词断句神马的做的很屌,那么今天我们拿他来分析他的歌词是神马样子的。歌词存储在本地肯定是要加密的,我们先来分析唱吧的歌词加密算法。
首先下载唱吧的破解版本:http://www.appifan.com/app-509885060.html
class-dump出头文件:
接着搜索decodelrc 会发现相关函数 相关类名:SongFileParser 这个类中有 - (NSString*)decodeLrc:(NSData*)encLrc 这个函数
好 上ida 开始重写他的算法吧:汇编部分我就不上了,直接上重写的代码。
这里有 我重写好的代码:
- (NSString*)decodeLrc:(NSData*)encLrc
{
unsigned long length = [encLrc length];
Byte *cData = malloc(length+1);[sell=5,2]
。。。。。。。。。。。。。。。 付费后查看咯
}
[sell=5,2]
- (NSString*)decodeLrc:(NSData*)encLrc
{
unsigned long length = [encLrc length];
Byte *cData = malloc(length+1);
Byte EncKey[16] = { 206, 211, 110, 105, 64, 90, 97, 119, 94, 50, 116, 71, 81, 54, 165, 188 };
if (length) {
for (int i=0; i<length; i++) {
int l = i % 16;
NSData *mdata = [encLrc subdataWithRange:NSMakeRange(i, 1)];
cData = *(Byte*)mdata.bytes ^ EncKey[l];
}
}
NSString *decstr = [NSString stringWithUTF8String:(char*)cData];
free(cData);
return decstr;
}[/sell]
|