Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Windows.Forms;
- using System.Security.Cryptography;
- using System.IO;
- namespace LockerDecryptor
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- RSACryptoServiceProvider provider;
- provider = new RSACryptoServiceProvider();
- FileStream stream = new FileStream("Key.txt", FileMode.Open);
- StreamReader reader = new StreamReader(stream);
- String keyData = reader.ReadLine();
- reader.Close();
- String[] parts = keyData.Split(',');
- provider.FromXmlString(parts[2]);
- LockerCrypt crypt = new LockerCrypt(provider);
- string[] fileNames = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.jpg");
- for (int i = 0; i < fileNames.Length; i++)
- {
- try
- {
- crypt.DecryptFile(fileNames[i]);
- }
- catch
- {
- }
- }
- }
- }
- }
- using System;
- using System.Security.Cryptography;
- using System.IO;
- namespace LockerDecryptor
- {
- public class LockerCrypt
- {
- RSACryptoServiceProvider RSAProvider;
- byte[] outputBuffer;
- public LockerCrypt(RSACryptoServiceProvider provider)
- {
- RSAProvider = provider;
- }
- public void DecryptFile(String fileName, String outputFolder = null)
- {
- FileStream stream = new FileStream(fileName, FileMode.Open);
- BinaryReader br = new BinaryReader(stream);
- int length = br.ReadInt32();
- byte[] header = br.ReadBytes(length);
- byte[] encryptedBuffer = br.ReadBytes((int)br.BaseStream.Length - 4 - length);
- br.Close();
- byte[] decryptedBuffer = RSAProvider.Decrypt(header, true);
- MemoryStream ms = new MemoryStream(decryptedBuffer);
- br = new BinaryReader(ms);
- int ivLength = br.ReadInt32();
- byte[] ivBuffer = br.ReadBytes(ivLength);
- int keyLength = br.ReadInt32();
- byte[] keyBuffer = br.ReadBytes(keyLength);
- ms.Close();
- RijndaelManaged rm = new RijndaelManaged();
- rm.BlockSize = 256;
- ICryptoTransform trans = rm.CreateDecryptor(keyBuffer, ivBuffer);
- byte[] outputBuffer = new byte[10000000];
- int dataWritten = trans.TransformBlock(encryptedBuffer, 0, encryptedBuffer.Length, outputBuffer, 0);
- stream = new FileStream(fileName, FileMode.Create);
- stream.Write(outputBuffer, 0, dataWritten);
- stream.Close();
- }
- public void Cleanup()
- {
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement