mirror of
https://github.com/gchq/CyberChef
synced 2024-11-15 09:07:06 +00:00
Tidied up changes to filetime operations and brought tests up to date
This commit is contained in:
parent
e7cea889ab
commit
183c57643b
3 changed files with 16 additions and 8 deletions
|
@ -2303,7 +2303,7 @@ const OperationConfig = {
|
|||
value: DateTime.UNITS
|
||||
},
|
||||
{
|
||||
name: "Input Format",
|
||||
name: "Input format",
|
||||
type: "option",
|
||||
value: DateTime.FILETIME_FORMATS
|
||||
}
|
||||
|
@ -2321,7 +2321,7 @@ const OperationConfig = {
|
|||
value: DateTime.UNITS
|
||||
},
|
||||
{
|
||||
name: "Output Format",
|
||||
name: "Output format",
|
||||
type: "option",
|
||||
value: DateTime.FILETIME_FORMATS
|
||||
}
|
||||
|
|
|
@ -89,14 +89,17 @@ const DateTime = {
|
|||
* @returns {string}
|
||||
*/
|
||||
runFromFiletimeToUnix: function(input, args) {
|
||||
let units = args[0];
|
||||
let format = args[1];
|
||||
let units = args[0],
|
||||
format = args[1];
|
||||
|
||||
if (format === "Hex") {
|
||||
input = new BigInteger(input, 16);
|
||||
} else {
|
||||
input = new BigInteger(input);
|
||||
}
|
||||
|
||||
input = input.subtract(new BigInteger("116444736000000000"));
|
||||
|
||||
if (units === "Seconds (s)"){
|
||||
input = input.divide(new BigInteger("10000000"));
|
||||
} else if (units === "Milliseconds (ms)") {
|
||||
|
@ -108,6 +111,7 @@ const DateTime = {
|
|||
} else {
|
||||
throw "Unrecognised unit";
|
||||
}
|
||||
|
||||
return input.toString();
|
||||
},
|
||||
|
||||
|
@ -121,9 +125,11 @@ const DateTime = {
|
|||
* @returns {string}
|
||||
*/
|
||||
runToFiletimeFromUnix: function(input, args) {
|
||||
let units = args[0];
|
||||
let format = args[1];
|
||||
let units = args[0],
|
||||
format = args[1];
|
||||
|
||||
input = new BigInteger(input);
|
||||
|
||||
if (units === "Seconds (s)"){
|
||||
input = input.multiply(new BigInteger("10000000"));
|
||||
} else if (units === "Milliseconds (ms)") {
|
||||
|
@ -135,7 +141,9 @@ const DateTime = {
|
|||
} else {
|
||||
throw "Unrecognised unit";
|
||||
}
|
||||
|
||||
input = input.add(new BigInteger("116444736000000000"));
|
||||
|
||||
if (format === "Hex"){
|
||||
return input.toString(16);
|
||||
} else {
|
||||
|
|
|
@ -16,7 +16,7 @@ TestRegister.addTests([
|
|||
recipeConfig: [
|
||||
{
|
||||
op: "Windows Filetime to UNIX Timestamp",
|
||||
args: ["Nanoseconds (ns)"],
|
||||
args: ["Nanoseconds (ns)", "Decimal"],
|
||||
},
|
||||
],
|
||||
},
|
||||
|
@ -27,7 +27,7 @@ TestRegister.addTests([
|
|||
recipeConfig: [
|
||||
{
|
||||
op: "UNIX Timestamp to Windows Filetime",
|
||||
args: ["Nanoseconds (ns)"],
|
||||
args: ["Nanoseconds (ns)", "Decimal"],
|
||||
},
|
||||
],
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue