0x00 前言
声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!
虚拟机切来切去好麻烦,还是要远程连接一波,祭出之前网上下载的破解高级版 FinalShell远程连接工具。用着还挺顺的,就发现背景图片无法设置,翻了下度娘,又怕怕留有后门,恰逢看到 FinalShell 离线激活方法,来一波呗
0x01 程序源码
不知名大佬(bb:你就是懒得找)写的 FinalShell 远程连接工具激活码生成程序,借用一下哈~
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| package test;
import java.io.IOException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Scanner;
public class FinalShell { public static void main(String[] args) throws NoSuchAlgorithmException, IOException { System.out.print("请输入FinalShell的离线机器码:"); @SuppressWarnings("resource") Scanner reader = new Scanner(System.in); String machineCode = reader.nextLine(); generateKey(machineCode); }
public static void generateKey(String hardwareId) throws NoSuchAlgorithmException { String proKey = transform(61305 + hardwareId + 8552); String pfKey = transform(2356 + hardwareId + 13593); System.out.println("请将此行复制到离线激活中:" + proKey); }
public static String transform(String str) throws NoSuchAlgorithmException {
@SuppressWarnings("unused") String md5 = hashMD5(str);
return hashMD5(str).substring(8, 24); }
public static String hashMD5(String str) throws NoSuchAlgorithmException { MessageDigest digest = MessageDigest.getInstance("MD5"); byte[] hashed = digest.digest(str.getBytes()); StringBuilder sb = new StringBuilder(); for (byte b : hashed) { int len = b & 0xFF; if (len < 16) { sb.append("0"); } sb.append(Integer.toHexString(len)); } return sb.toString(); } }
|
0x02 程序使用
- 任意账密写入,点击离线激活后进入如下界面,复制机器码备用
- 利用编程工具,如 Eclipse 运行 0x01 处程序
说下为什么要用编程工具,假设直接新建文本文件改后缀后在终端运行:第一个报错,字符集不对,无法使用中文,第二个,忘了,就这里让我直接拿 Eclipse 运行程序的。
- 根据直接 CV 大法写入激活码,又是一个高级会员的诞生。也可以看到,我心心念念的背景已经设置完成。
这么设置?右键终端界面,看到设置背景图片不
0x03 后记
工具嘛,还是需要自己鼓捣出来的比较好;即便是激活,也是自己动手更加放心。