以前看一个朋友写过一个关于迅雷、快车、旋风的解加密工具,这几天刚好无事,就去研究了一个,其实原理真的很简单,就是用Base64进行加密和解密操作。
下面就是基本的代码:
// 迅雷
String xunlei = new String("QUFodHRwOi8vcDJzLm5ld2h1YS5jb20vZG93bi93cmFyMzgwc2MuZXhlWlo=");
// 快车
String flashget = new String("W0ZMQVNIR0VUXWh0dHA6Ly9wMnMubmV3aHVhLmNvbS9kb3duL3dyYXIzODBzYy5leGVbRkxBU0hHRVRd");
// 旋风
String xunfeng = new String("aHR0cDovL3Aycy5uZXdodWEuY29tL2Rvd24vd3JhcjM4MHNjLmV4ZQ==");
try {
// 解密
BASE64Decoder bd = new BASE64Decoder();
byte[] bt = bd.decodeBuffer(xunlei);
System.out.println("迅雷:" + new String(bt));
// 快车解密
bt = bd.decodeBuffer(flashget);
System.out.println("快车:" + new String(bt));
// 旋风解密
bt = bd.decodeBuffer(xunfeng);
System.out.println("旋风:" + new String(bt));
} catch (Exception e) {
e.printStackTrace();
}
使用的Jar文件为common下的common-codec.jar和common-log.jar文件。
大家看完编译完的代码会发现一个规律:
迅雷:AAhttp://p2s.newhua.com/down/wrar380sc.exeZZ
快车:[FLASHGET]http://p2s.newhua.com/down/wrar380sc.exe[FLASHGET]
旋风:http://p2s.newhua.com/down/wrar380sc.exe
看完编译完的信息,大家不难发现迅雷在连接中添加了AA(在前面)、ZZ(在连接的结尾),快车在头尾添加了[FLASHGET],再旋风没有进行任何变化,然后再此基本上进行了加密。
以下是加密过程:
// 迅雷 加密
String xunlei = new String("http://p2s.newhua.com/down/wrar380sc.exe");
BASE64Encoder b = new BASE64Encoder();
xunlei = "AA" + xunlei + "ZZ";
xunlei = b.encode(xunlei.getBytes());
System.out.println("迅雷:Thunder://" + xunlei);
// 快车 加密
String flashget = new String("http://p2s.newhua.com/down/wrar380sc.exe");
flashget = "[FLASHGET]" + flashget + "[FLASHGET]";
flashget = b.encode(flashget.getBytes());
System.out.println("快车:flashget://" + flashget);
// 旋风 加密
String xunfeng = new String("http://p2s.newhua.com/down/wrar380sc.exe");
xunfeng = b.encode(xunfeng.getBytes());
System.out.println("旋风:qqdl://" + xunfeng);
以下就是全部的加密和解密过程,感兴趣的朋友可以下载代码看看。