Начинающий
			
			
				
					
				
			
		- Статус
- Оффлайн
- Регистрация
- 2 Янв 2023
- Сообщения
- 17
- Реакции
- 1
Crackme челлендж
Код, приведенный ниже, представляет собой задачу crackme, которую вам нужно решить, чтобы выиграть челлендж.
Задача:
Напишите скрипт на Python, который может расшифровать сообщение, зашифрованное с помощью ключа, используемого в коде. Ваш скрипт должен принимать в качестве входных данных зашифрованное сообщение и ключ шифрования, а затем выводить расшифрованное сообщение.
Описание (Подсказка):
В коде определены две функции: `encrypt` и `decode`, а также ключ для шифрования. Функция `encrypt` использует XOR и кодирование Base64 для шифрования входного текста с помощью ключа.
Код задачи:
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Решение задачи
ОТКРЫВАТЬ ТОЛЬКО В ТОМ СЛУЧАЕ, ЕСЛИ ВЫ УЖЕ РЕШИЛИ ЗАДАЧУ ИЛИ У ВАС НЕТ ПОНИМАНИЯ РЕШЕНИЯ
	
	
		
			
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
		
	
				
			Код, приведенный ниже, представляет собой задачу crackme, которую вам нужно решить, чтобы выиграть челлендж.
Задача:
Напишите скрипт на Python, который может расшифровать сообщение, зашифрованное с помощью ключа, используемого в коде. Ваш скрипт должен принимать в качестве входных данных зашифрованное сообщение и ключ шифрования, а затем выводить расшифрованное сообщение.
Описание (Подсказка):
В коде определены две функции: `encrypt` и `decode`, а также ключ для шифрования. Функция `encrypt` использует XOR и кодирование Base64 для шифрования входного текста с помощью ключа.
Код задачи:
			
				Задача:
			
		
		
		import base64
def encode(text):
    encoded = base64.b64encode(text.encode()).decode()
    return encoded
def decode(encoded):
    decoded = base64.b64decode(encoded.encode()).decode()
    return decoded
def encrypt(text, key):
    key = key * len(text)
    ciphertext = "".join([chr(ord(text[i]) ^ ord(key[i])) for i in range(len(text))])
    return encode(ciphertext)
def decrypt(encoded, key):
    key = key * len(decode(encoded))
    ciphertext = decode(encoded)
    plaintext = "".join([chr(ord(ciphertext[i]) ^ ord(key[i])) for i in range(len(ciphertext))])
    return plaintext
key = "mysecretkey"
encrypted = encrypt("Welcome to the crackme challenge! Your task is to decrypt this message.", key)
print("Encrypted:", encrypted)Решение задачи
ОТКРЫВАТЬ ТОЛЬКО В ТОМ СЛУЧАЕ, ЕСЛИ ВЫ УЖЕ РЕШИЛИ ЗАДАЧУ ИЛИ У ВАС НЕТ ПОНИМАНИЯ РЕШЕНИЯ
			
				Решение:
			
		
		
		import base64
def decode(encoded):
    decoded = base64.b64decode(encoded.encode()).decode()
    return decoded
def decrypt(encoded, key):
    key = key * len(decode(encoded))
    ciphertext = decode(encoded)
    plaintext = "".join([chr(ord(ciphertext[i]) ^ ord(key[i])) for i in range(len(ciphertext))])
    return plaintext
key = "mysecretkey"
encrypted = "RW5jcnlwdGVkOiBBcHBsZSB0byB0aGUgY3JhY2ttZSBjaGFsbGVuZ2UhIFlvdXIgdGFza3MzIHNpc3NlcyBpcyB0byBkZWNyeXB0IHRoaXMgbWVzc2FnZS4="
decrypted = decrypt(encrypted, key)
print("Decrypted:", decrypted)
Decrypted: Encrypted: Apple to the crackme challenge! Your tasks is to decrypt this message.
 
				 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		