37 lines
990 B
JavaScript
37 lines
990 B
JavaScript
#! /usr/bin/env runjs
|
|
|
|
requireJAR('bcprov-ext-jdk15on-154.jar');
|
|
requireJAR('crypto-1.0.jar');
|
|
|
|
var FileOutputStream = Packages.java.io.FileOutputStream;
|
|
var DecryptTool = Packages.me.hatter.tools.crypto.stream.DecryptTool;
|
|
|
|
|
|
var main = () => {
|
|
if ($ARGS.length != 3) {
|
|
xprintln('[ERROR] parameter error, decrypt.js AES_KEY FILE_NAME_ENC FILE_NAME');
|
|
return;
|
|
}
|
|
var k = __.bytes.fromHex($ARGS[0]).bytes();
|
|
var encF = $$.rFile($ARGS[1]);
|
|
var dstF = $$.rFile($ARGS[2]);
|
|
if (encF.notExists()) {
|
|
xprintln('[ERROR] Enc file not exists.');
|
|
return;
|
|
}
|
|
if (dstF.exists()) {
|
|
xprintln('[ERROR] Dest file exists.');
|
|
return;
|
|
}
|
|
var is = encF.inputStream();
|
|
var dt = new DecryptTool(is, k);
|
|
var os = dstF.outputStream();
|
|
xprintln('[INFO] Descrypt ' + encF.file() + ' -> ' + dstF.file() + ' ...');
|
|
dt.decrypt(os);
|
|
os.close();
|
|
is.close();
|
|
xprintln('[OK] Decrypt file finished.');
|
|
};
|
|
|
|
main();
|