Расшифруйте RC4 с помощью Python, зная ключPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Расшифруйте RC4 с помощью Python, зная ключ

Сообщение Anonymous »

Надеюсь, у вас все хорошо.
Я пришел сюда с небольшой проблемой (извините за мой английский, это не мой родной язык).
У меня есть небольшое вредоносное ПО. проект в школе, во всем мире у меня есть кейлоггер, который создает файл, а затем шифрует содержимое этого файла с помощью шифрования RC4. (ниже два примера различного содержания этого файла)
Первый

Код: Выделить всё

========================
î³É†"Û4ZôßaV0%í;ËüüòaÐAiúˆcdÖ&
Второй

Код: Выделить всё

========================

ä¡Çš3µ{²agÄ}W8%í–YœèáŒ9¯ŽW‰‚”&ÂIAžŠmá'8V¡Uñši&Ædà·…í^ê¥>´©ÍjÌ{

ŒFÔ¿%ïÆñyFÎ3x°º“A)o4´´­‡—ÆéâùyÕ p‑@­®á÷Lì-»›ys‘ñî“wõl„/•+
w×jc´E"ؾ‑øSG,Üo`ürx;¼¡T#üdÊ-‡k«G‘å”b¿+†]Ù©–f:^É( ÁË è­Pàv8¹|籟D7…ÁSgœÛÚjá"æ‡=I•Âa|âOÄÝ\Ùþׯçð©Ð¨Û•Øâ¿tù5¾à…y¸Æy

========================

‰Î$œk{²aΞ:Xyc¢“ðÆ¯¨ÉxéÁR ËÌ~Ž

========================

IéÓí­q3C¦_Å)$Ãü¥Âƒ7Ð&èIΞ:XycjõúØ·v¯ìzëà—'ì`

========================

±Öšk{ð,•Ã{V4#

========================

ü§ÎâK³[’2…×bx2|p‚³ÐæˆéXÉár ëì^ iÈòãˆK7Ï4àZG¯

‰—¥ÃpÂTÅι Âu‚HÚ±+ïÈñýj«=v¾´O'a°Äß­‰—ÆéìùyÕ ž@­®á÷Bì#»›w}‘þã“wûl„/›% yÙdmºK"ؾ‑ùPI"Üo`ürx;¼¡T#ü

========================

========================

õ¡‹Ñ$Ý:þ;‡›iT|É9ZlcÒCkøŠafÔ$ãB™izl*Wò¾ójÐÃÄ

========================

========================
Теперь, проведя реверс-инжиниринг, я нашел ключ: Если вы хотите сохранить секрет, вы также должны скрыть его от себя
Поэтому моей целью было расшифровать содержимое файла, чтобы увидеть, какие данные записывает кейлоггер, поэтому вот мой код на Python (на основе страницы RC4 в Википедии).

Код: Выделить всё

#!/usr/bin/env python
class WikipediaARC4:
def __init__(self, key = None):
self.state = list(range(256)) # initialisation de la table de permutation
self.x = self.y = 0 # les index x et y, au lieu de i et j

if key is not None:
self.init(key)

# Key schedule
def init(self, key):
for i in range(256):
self.x = (ord(key[i % len(key)]) + self.state[i] + self.x) & 0xFF
self.state[i], self.state[self.x] = self.state[self.x], self.state[i]
self.x = 0

# Générateur
def crypt(self, input):
output = [None]*len(input)
for i in range(len(input)):
self.x = (self.x + 1) & 0xFF
self.y = (self.state[self.x] + self.y) & 0xFF
self.state[self.x], self.state[self.y] = self.state[self.y], self.state[self.x]
output[i] = chr((ord(input[i]) ^ self.state[(self.state[self.x] + self.state[self.y]) & 0xFF]))
return ''.join(output)

if __name__ == '__main__':
test_vectors = [['If you want to keep a secret, you must also hide it from yourself', 'î³É†"Û4ZôßaV0%í;ËüüòaÐAiúˆcdÖ&']]
for i in test_vectors:
print(i[0])
print(WikipediaARC4(i[0]).crypt(i[1]))
Когда я запускаю свой код, это мой результат

Код: Выделить всё

If you want to keep a secret, you must also hide it from yourself xBë⁃ìÖú½ÜûuåÐÅÙrJM©[&$5ȿÅk
И вот мой вопрос. Я не знаю, действительно ли это так, потому что расшифрованный контент, похоже, не имеет особого значения. Кто-нибудь из вас есть мысли по этому поводу?
Спасибо, ребята!
Примечание: два изображения RC4 во вредоносном ПО
InitRC4
callRC4

Подробнее здесь: https://stackoverflow.com/questions/788 ... ng-the-key
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Расшифруйте RC4 с помощью Python, зная ключ
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Java 17 Разрешить RC4 HMAC, сохраняя при этом значениеallow_weak_crypto как false в krb5.conf
    Anonymous » » в форуме JAVA
    0 Ответы
    97 Просмотры
    Последнее сообщение Anonymous
  • Функция дешифрования API Windows RC4 работает на C++, но не на golang
    Anonymous » » в форуме C++
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Есть ли способ использовать алгоритм потокового шифрования (ChaCha20, RC4...) для шифрования видео, сохраняя при этом во
    Anonymous » » в форуме Python
    0 Ответы
    102 Просмотры
    Последнее сообщение Anonymous
  • На PHP зашифруйте строку секретным ключом, а на Mac расшифруйте ее с помощью сценария bash.
    Anonymous » » в форуме Php
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»