首页
社区
课程
招聘
[原创]实现迅雷/FLASHGET/QQ旋风/飞速和普通地址的转换
发表于: 2017-1-7 13:34 4928

[原创]实现迅雷/FLASHGET/QQ旋风/飞速和普通地址的转换

2017-1-7 13:34
4928
详见我的git:https://github.com/lichao890427/Reverse-Engineearing/blob/master/%E4%B8%93%E7%94%A8%E5%9C%B0%E5%9D%80%E8%BD%AC%E6%8D%A2%E5%99%A8/%E4%B8%93%E7%94%A8%E5%9C%B0%E5%9D%80%E8%BD%AC%E6%8D%A2%E5%99%A8Dlg.cpp

从某地址转换器逆向得来,主要原理是字符编码转换
以迅雷为例:

char datasolver1[1024];
char datasolver2[1024];
char datasolver3[1024];

//thunder -> http
strrev(datasolver2);
datasolver2[strlen(datasolver2)-10]='\0';
strrev(datasolver2);
char* ptr=datasolver3+translate2(datasolver2,datasolver3,len);
*(ptr-2)='\0';
strrev(datasolver3);
*(ptr-4)='\0';
strrev(datasolver3);
//datasolver3为结果

//thunder -> flashget
strcpy(datasolver2,datasolver3);
strcpy(datasolver1,"[FLASHGET]");
strcat(datasolver1,datasolver2);
strcat(datasolver1,"[FLASHGET]");
datasolver3[translate1(datasolver3,datasolver1,strlen(datasolver1))]='\0';
strcpy(datasolver1,"flashget://");
strcat(datasolver1,datasolver3);
//datasolver1为结果

//thunder -> qqdl
datasolver3[translate1(datasolver3,datasolver2,strlen(datasolver2))]='\0';
strcpy(datasolver1,"qqdl://");
strcat(datasolver1,datasolver3);
//datasolver1为结果

//thunder -> fs2you
strrev(datasolver2);
datasolver2[strlen(datasolver2)-7]='\0';
strrev(datasolver2);
datasolver3[translate1(datasolver3,datasolver2,strlen(datasolver2))]='\0';
strcpy(datasolver1,"fs2you://");
strcat(datasolver1,datasolver3);
//datasolver1为结果


逆向交流群:560017652
欢迎和我一起探讨android/linux/ios的开发/逆向/渗透相关问题

[课程]Android-CTF解题方法汇总!

收藏
免费 1
支持
分享
最新回复 (4)
雪    币: 350
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
整个汇编抠下来也叫逆向?
2017-1-7 13:49
0
雪    币: 58
活跃值: (1224)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
请你考虑:
1.如果不逆向你是否能从上完行代码中找到这关键汇编
2.如果有必要还原算法则还原,如果并没有什么实际意义自然不还原,逆向做到"度"
2017-1-7 14:11
0
雪    币: 3272
活跃值: (4409)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这算法。。。。不是人人皆知的么。。。加个头尾  然后BASE64。。。没了。。。
2017-1-7 16:57
0
雪    币: 18
活跃值: (80)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
*********
2017-1-8 16:41
0
游客
登录 | 注册 方可回帖
返回
//