申请会员 ID:WarMj
1、申 请 I D:WarMj2、个人邮箱:R.Donghui@outlook.com
3、原创技术文章:QQ 坦白说解密工具
>GitHub链接:https://github.com/WarMj/tanbaishuo
1. 参考下面教程获取密码文件。
>https://tyjun.cn/qqtbsyl/
2. 将得到的密码保存到桌面并命名为`1.txt`
![加密文件.png](https://upload-images.jianshu.io/upload_images/2864463-1c90ca324ff76366.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
3. 运行程序后桌面会得到名为`2.txt`的解码文件。
中间的就是QQ号,不能得到完整的QQ,但保证前几位无误,足够查出是谁了。
![解密文件.png](https://upload-images.jianshu.io/upload_images/2864463-64492071d340941c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
源码仅分享一种算法思路,若要使用源码,请自行修改文件路径。
# 源码
package tanbaishuo;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
* 解码表
* 0 - "oe", "n", "z"
1 - "oK", "6", "5"
2 - "ow", "-", "A"
3 - "oi", "o", "i"
4 - "7e", "v", "P"
5 - "7K", "4", "k"
6 - "7w", "C", "s"
7 - "7i", "S", "l"
8 - "Ne", "c", "F"
9 - "NK", "E", "q"
*/
public class Main {
private static ArrayList<String> result = new ArrayList<>();
// 破解密码
public static String returnPass(String str) {
String regex = "(.)";
String[] strs = new String;
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
for (int i = 0; i < 12; i++) {
if (m.find()) {
strs = m.group();
}
}
String result = "";
int count = 1;
for (int i = 0; i < 12; i++) {
if (count <= 4) {
if (count < 2) {
result += uncode(strs + strs);
i++;
count++;
} else {
try {
result += uncode(strs);
} catch (NullPointerException n) {
}
}
} else {
count = 0;
i--;
}
count++;
}
return result;
}
// 密码本
public static String uncode(String str) {
switch (str) {
case "oe":
case "n":
case "z":
return "0";
case "oK":
case "6":
case "5":
return "1";
case "ow":
case "-":
case "A":
return "2";
case "oi":
case "o":
case "i":
return "3";
case "7e":
case "v":
case "P":
return "4";
case "7K":
case "4":
case "k":
return "5";
case "7w":
case "C":
case "s":
return "6";
case "7i":
case "S":
case "l":
return "7";
case "Ne":
case "c":
case "F":
return "8";
case "NK":
case "E":
case "q":
return "9";
default:
return "-1";
}
}
// 读取文件
public static void readTxtFile(String filePath) {
try {
String encoding = "GBK";
File file = new File(filePath);
if (file.isFile() && file.exists()) {
InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding);
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
while ((lineTxt = bufferedReader.readLine()) != null) {
// 将文本切割成段
strSplit(lineTxt);
}
read.close();
} else {
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
e.printStackTrace();
}
}
// 输出文件
public static void writeTxtFile(String string) throws Exception {
File file = new File("C:\\Users\\WarMj\\Desktop\\2.txt");
FileWriter fw;
try {
fw = new FileWriter(file);
fw.write(string);
fw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
// 将整段切开
private static void strSplit(String str) {
String[] strs = str.split("\\},\\{");
for (String s : strs) {
returnResult(s);
}
}
// 将结果保存到result中
public static void returnResult(String str) {
String regex = "\"fromNick\":\"([^\"]+)\".*fromEncodeUin\":" + "\"\\*S1\\*([^\"]+)\".*topicName\":\"([^\"]+)\"";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
while (m.find()) {
result.add(m.group(1) + " " + returnPass(m.group(2)) + " " + m.group(3));
}
}
public static void main(String argv[]) {
String inputfilePath = "C:\\Users\\WarMj\\Desktop\\1.txt";
readTxtFile(inputfilePath);
String write = "";
try {
for (int i = 0; i < result.size(); i++) {
write += result.get(i) + "\n";
}
System.out.println(write);
writeTxtFile(write);
} catch (Exception e) {
e.printStackTrace();
}
}
} 什么意思 首先,你需要证明你是你
https://www.jianshu.com/p/8039f9f6e3e1
就算证明了,这个解密程序估计达不到通过标准。
相反,tyjun的那个抓包、分析代码的过程倒是说不定可以通过。 Ganlv 发表于 2018-6-2 14:03
首先,你需要证明你是你
https://www.jianshu.com/p/8039f9f6e3e1
赶驴大佬的 吾爱破解论坛特聘技术专家 是怎么来的{:301_997:} 无常方便面 发表于 2018-6-4 13:57
赶驴大佬的 吾爱破解论坛特聘技术专家 是怎么来的
拿出点真家伙就行了 https://www.52pojie.cn/thread-717586-1-1.html
页:
[1]