[原创]实现迅雷/FLASHGET/QQ旋风/飞速和普通地址的转换
详见我的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为结果
