FinalShell激活

该工具来源于网络使用版本为:3.9.6 < FinalShell >= 3.9.6,只适用于学习,请支持正版!!!

下载:传送门

Python激活代码

  • 使用AES需要安装Crypto
  • win:pip install pycryptodome
  • linux:pip install pycrypto
from hashlib import md5, sha3_384
from Crypto.Hash import keccak

def md5_hash(msg):
    return md5(msg.encode()).hexdigest()

def keccak384_hash(msg):
    keccak_hash = keccak.new(digest_bits=384)
    keccak_hash.update(msg.encode())
    return keccak_hash.hexdigest()

def main():
    code = input("输入机器码: ")

    print("版本号 < 3.9.6 (旧版)")
    try:
        print("高级版: " + md5_hash("61305" + code + "8552")[8:24])
        print("专业版: " + md5_hash("2356" + code + "13593")[8:24])
    except Exception as e:
        print(str(e))

    print("版本号 >= 3.9.6 (新版)")
    try:
        print("高级版: " + keccak384_hash(code + "hSf(78cvVlS5E")[12:28])
        print("专业版: " + keccak384_hash(code + "FF3Go(*Xvbb5s2")[12:28])
    except Exception as e:
        print(str(e))

if __name__ == "__main__":
    main()

JAVA激活源代码

<dependencies>
    <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk15on</artifactId>
        <version>1.70</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>7</source>
                <target>7</target>
            </configuration>
        </plugin>
    </plugins>
</build>
import org.bouncycastle.jce.provider.BouncyCastleProvider;

import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.Security;
import java.util.Scanner;

/**
 * FinalShell 4.3.10(新版)专业版&高级版激活
 * @author LiJY
 * @date 2024/03/15
 */
public class FinalShellUtil {

    static {
        Security.addProvider(new BouncyCastleProvider());
    }

    public static String md5(String msg) throws NoSuchAlgorithmException {
        MessageDigest md = MessageDigest.getInstance("MD5");
        byte[] hashBytes = md.digest(msg.getBytes(StandardCharsets.UTF_8));
        StringBuilder sb = new StringBuilder();
        for (byte b : hashBytes) {
            sb.append(String.format("%02x", b));
        }
        return sb.toString();
    }

    public static String keccak384(String msg) throws NoSuchAlgorithmException {
        MessageDigest md = MessageDigest.getInstance("Keccak-384");
        byte[] hashBytes = md.digest(msg.getBytes(StandardCharsets.UTF_8));
        StringBuilder sb = new StringBuilder();
        for (byte b : hashBytes) {
            sb.append(String.format("%02x", b));
        }
        return sb.toString();
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("输入机器码: ");
        String code = scanner.nextLine();
        scanner.close();

        System.out.println("版本号 < 3.9.6 (旧版)");
        try {
            System.out.println("高级版: " + md5("61305" + code + "8552").substring(8, 24));
            System.out.println("专业版: " + md5("2356" + code + "13593").substring(8, 24));
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }

        System.out.println("版本号 >= 3.9.6 (新版)");
        try {
            System.out.println("高级版: " + keccak384(code + "hSf(78cvVlS5E").substring(12, 28));
            System.out.println("专业版: " + keccak384(code + "FF3Go(*Xvbb5s2").substring(12, 28));
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
    }
}