1个不稳定版本

0.1.0 2021年8月8日

#4 in #目标文件

MIT许可证

31KB
577

axxd

一个axx文件密工具。

此工具可以解密AxCrypt加密的文件。我制作这个工具是因为我需要一款简单的本地工具来在Linux上解密axx文件,而且我不想使用WINE。

用法

最新独立版本可以从GitHub发行版下载或使用cargo build --release从源代码构建。

axxd 0.1.0
Axxd - an [axx] file [d]ecryptor

USAGE:
    axxd [FLAGS] [OPTIONS]

FLAGS:
    -h, --help            Prints help information
    -n, --no-overwrite    Abort when target file already exists
    -o, --overwrite       Overwrite target file if exists
    -V, --version         Prints version information

OPTIONS:
    -f, --file <FILE>          Input file path
    -p, --passphrase <PASS>    Encryption passphrase

如果您没有指定-f-p选项,系统会提示您输入缺失的参数。

示例

$ ./axxd -p secret.axx
Enter passphrase: 
test
Decrypting secret.axx...
File successfully decrypted. Saving into "secret.txt".

应用程序将询问目标文件是否已存在。要在完全非交互式模式下解密文件,请使用-o-n

$ ./axxd -f secret.axx
Enter passphrase: 
test
Decrypting secret.axx...
File successfully decrypted. Saving into "secret.txt".
WARNING: File already exits. Proceed? [y/n]
n
Aborting.

$ ./axxd -f secret.axx -p test -n
Decrypting secret.axx...
File successfully decrypted. Saving into "secret.txt".
WARNING: File already exits. Aborting.

使用API

您可以使用decrypt_file<P: AsRef<Path>>(path: P, passphrase: &str)函数简单地解密一个文件。它读取文件并尝试使用提供的密码短语进行解密。返回解密后的内容作为结果。

    match decrypt_file(&source_file, &pass) {
        Ok(content) => save_file(content),
        Err(e) => {
            println!("Cannot decrypt file.");
            display_error_and_quit(e);
        }
    }

您还可以使用decrypt(data: &EncryptedContent, passphrase: &str)来解密原始内容。要将原始字节解析为EncryptedContent,请使用parse函数

    let data = EncryptedContent::parse(&input);
    decrypt(&data, passphrase)

依赖项

~10MB
~225K SLoC