Загрузка...

Deobfuscate python

Thread in Reversing Lessons created by ksajfkhsd89fyh3j Aug 8, 2021. 2771 view

  1. ksajfkhsd89fyh3j
    ksajfkhsd89fyh3j Topic starter Aug 8, 2021 298 May 4, 2021
    Сегодня я расскажу как можно деобфусцировать эту обфускацию https://development-tools.net/python-obfuscator/ Пример кода:
    Code
    print("Лучшая отработка баз https://zelenka.guru/threads/2740630/")
    Обфусцируем на сайте и получаем это
    Code

    import base64, codecs
    magic = 'cHJpbnQoItCb0YPRh9GI0LDRjyDQ'
    love = 'igTP0LQDfAPk0Y7EtgP60YNt0YUD'
    god = 'sNC3IGh0dHBzOi8vbG9sei5ndXJ1'
    destiny = 'Y3EbpzIuMUZiZwp0ZQLmZP8vXD=='
    joy = '\x72\x6f\x74\x31\x33'
    trust = eval('\x6d\x61\x67\x69\x63') + eval('\x63\x6f\x64\x65\x63\x73\x2e\x64\x65\x63\x6f\x64\x65\x28\x6c\x6f\x76\x65\x2c\x20\x6a\x6f\x79\x29') + eval('\x67\x6f\x64') + eval('\x63\x6f\x64\x65\x63\x73\x2e\x64\x65\x63\x6f\x64\x65\x28\x64\x65\x73\x74\x69\x6e\x79\x2c\x20\x6a\x6f\x79\x29')
    eval(compile(base64.b64decode(eval('\x74\x72\x75\x73\x74')),'<string>','exec'))
    Открываем питон и начинаем деобфусцировать. Все что тут нужно - расшифровать то что в скобочках. начнем с joy
    Code

    >>> joy = '\x72\x6f\x74\x31\x33'
    >>> joy
    'rot13'
    >>>
    Продолжим, но уже в trust
    Code

    >>> z = '\x6d\x61\x67\x69\x63'
    >>> z
    'magic'
    >>>
    Тут видно что есть переменная magic. Поэтому подставляем ее. Продолжаем.
    Code

    >>> x = '\x63\x6f\x64\x65\x63\x73\x2e\x64\x65\x63\x6f\x64\x65\x28\x6c\x6f\x76\x65\x2c\x20\x6a\x6f\x79\x29'
    >>> x
    'codecs.decode(love, joy)'
    >>>
    Видим что это функция. Так же подставляем ее. В итоге вместо предыдущего должно получится:
    Code

    trust = magic + codecs.decode(love, joy) + god + codecs.decode(destiny, joy)
    Можно этой строкой заменить обычный trust, все так же должно работать.
    затем закрываем python.
    В обфусцированном скрипте удаляем последнюю строку, и добавляем это
    Code

    r = open('res.py','wb')
    r.write(base64.b64decode(trust))
    r.close()
    Должно получится это
    Code

    import base64, codecs
    magic = 'cHJpbnQoItCb0YPRh9GI0LDRjyDQ'
    love = 'igTP0LQDfAPk0Y7EtgP60YNt0YUD'
    god = 'sNC3IGh0dHBzOi8vbG9sei5ndXJ1'
    destiny = 'Y3EbpzIuMUZiZwp0ZQLmZP8vXD=='
    trust = magic + codecs.decode(love, 'rot13') + god + codecs.decode(destiny, 'rot13')
    r = open('res.py','wb')
    r.write(base64.b64decode(trust))
    r.close()
    Затем просто выполняем скрипт, и получаем расшифрованный код в res.py
     
  2. Lol_ya_nn
    Lol_ya_nn Aug 8, 2021 . 1031 Oct 11, 2020
    1. View previous comments (1)
    2. 005
    3. Lol_ya_nn
      005, статьи вирусологии, ГДЕ ТУТ ВИРУСОЛОГИЯ? СДЕСЬ КУРС КАК ЗАЩИТИТЬ Print(" lolzteam топ 1 форум!")
    4. wtfbrowhoareyou
      Lol_ya_nn, Во-первых, какая вирусология? Речь идет о деобфускации, что как раз таки является частью реверса.
  3. CoderVir
    1. ksajfkhsd89fyh3j Topic starter
      @CoderVir, ?
    2. CoderVir
  4. lynossd
    lynossd May 26, 2023 3 Jun 11, 2022
    имба тема, все понятно :+rep:
     
Loading...
Top