Деобфусцируем код PyArmor | ФОРУМ СОЦИАЛЬНОЙ ИНЖЕНЕРИИ ⭐️MeHack⭐️ - Читы, базы, раздачи аккаунтов, сливы скриптов, способы заработка

Деобфусцируем код PyArmor

Тема в разделе "Работа с хэшами", создана пользователем lolzteam, 24.02.23.Просмотров: 355

  1. lolzteam МультиМагнат

    lolzteam

    356 сообщения
    5 симпатий
    0
    розыгрышей
    2 года с нами
    10 месяцев с нами
    21 день с нами
    Деобфусцируем код PyArmor

    [​IMG]

    Расшифровываем код после PyArmor!

    Какие программы нужны?

    Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником

    Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником ( версия, на которой написан скрипт, узнать можно через Process Hacker)

    Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником

    Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником (исходный код, ниже объясню, как превратить его в exe-файлы.)

    Я взял простой скрипт и зашифровал его с помощью PyArmor в исполняемый файл:

    res = input('Enter a password: ')
    if res == 'b57Gihj675vkc8cmrcimricm':
    input('Yes! It was the corrcet password.')

    else:
    input('Bad password:(')

    Для начала необходимо скачать файлы из репозитория GitHub: Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником

    Далее сохраняем папку methods где-то у себя, она нам позже пригодится.


    Скрытый контент. Для просмотра Вы должны быть зарегистрированным участникоми закидываем в папку с exe-файлом.

    Открываем консоль.

    [​IMG]
    Вводим python pyinstxtractor.py main.exe, где main.exe - это имя вашего исполняемого файла и видим подобную картину:

    [​IMG]
    Если возникла ошибка "Missing cookie, unsupported pyinstaller version or not a pyinstaller archive", значит этот файл собран не при помощи pyinstaller.

    Если все успешно, можно идти дальше.

    В папке с файлами появилась папка "main.exe_extracted", где "main" - имя вашего исполняемого файла.

    Переходим в нее и ищем файл "_pytransform.dll", если он там есть, то значит скрипт защищен PyArmor'ом.

    Если же данной dll-ки нету, то значит скрипт не накрыт и достать код будет еще легче.

    Находим Байт-код программы(файл с расширением .pyc, например main.pyc).

    Используем декомпилятор(pycdc.exe main.pyc, где main.pyc - имя вашего файла) и получаем:

    [​IMG]
    Как видим, это PyArmor.

    Вводи команду:

    pycdc.exe main.pyc > main.py

    Это мы сохраняем вывод из консоли в файл "Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником", далее нам нужны файлы "_pytransform.dll" и "Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником".

    Создаем папку с именем "pytransform", а уже в ней создаем файл "__init__.py", в нее вставляем данный код:

    Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником

    Также в данную папку закидываем "_pytransform.dll".

    [​IMG]
    [​IMG]
    И опять открываем консоль:

    [​IMG]
    И запускаем основной скрипт:

    [​IMG]
    Как видим скрипт успешно запустился.

    Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником", и закидываем в папку с основным скриптом(который накрыт PyArmor).

    Далее инжектим PyInjector, подробнее будет описано в спойлере "Инжектим PyInjector", который находится ниже.

    У нас должна появиться папка "dump", в которой появиться файл "main.pyc"(у вас может быть другое название, зависит от названия самого скрипта)

    С помощью декомпилятора мы превращаем байт-код в читаемый. Подробнее про декомпилирование будет ниже.

    Инжектим PyInjector:
    Скачиваем PyInjector, переносим эти DLL в папку.

    Запускаем ваш скрипт и открываем Procces Hacker 2(от имени администратора).

    Находим наш процесс и инжектим DLL:

    [​IMG]
    Нажимаем по процессу ПКМ и ищем пункт "Miscellaneous", а в нем пункт "Inject DLL...",

    Находим DLL-ки PyInjector и инжектим.

    Способ 2:
    Из папки "method 3" мы копируем файл "Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником", и закидываем в папку с основным скриптом(который накрыт PyArmor).

    Далее мы запускаем скрипт этой командой:

    python bypass.py main.py - на место Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником вы ставите название вашего скрипта.

    Вводим несколько раз "yes".

    И у нас также, как и в первом способе должна появиться папка dump, в которой будет байт-код.

    С помощью декомпилятора мы превращаем байт-код в читаемый. Подробнее про декомпилирование будет ниже.

    Компилируем Decompyle++
    Заходим на Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником и скачиваем CMake.

    Заходим в Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником, скачиваем его, переименуем в "pycdc" и копируем в другую папку, например в "test123".

    Добавляем C:\Program Files\CMake\bin к переменным вашей системной среды в PATH.

    Заходим в папку "test123", структура должна быть такой:

    [​IMG]
    Открываем консоль:

    [​IMG]
    И вводим команды по порядку:

    cmake pycdc
    cd ../
    cmake --build test123


    В папке "test123\Debug" должны появится файлы:

    [​IMG]
    Нам нужны только "pycdc.exe" и "pycdas.exe", они оба нам пригодятся.

    Вы можете добавить их в локальные переменные, чтобы легче вызвать, но можно в принципе каждый раз копировать их в папку.

    Вот мы и скомпилировали Decompyle++.

    Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником Для Python 3.8 и ниже.

    Скрытый контент. Для просмотра Вы должны быть зарегистрированным участником Для всех версий Python.

    Скрытый контент. Для просмотра Вы должны быть зарегистрированным участникомДля версий Python 3.7-3.8

    Скрытый контент. Для просмотра Вы должны быть зарегистрированным участникомДля версий Python 3.7-3.10

    Я использую Decompyle++, поэтому в статье о ней и рассказал.

    Если использовать этот декомпилятор, то нужно перейти в папку с ботом и прописать данную команду:

    pycdc.exe main.pyc, где main.pyc - это ваш файл с байт-кодом.

    В консоль должно вывести код.

    [​IMG]
    Есть минус, иногда данный декомпилятор может переводить не весь код и некоторые участки будут не расшифрованны.

    В данном случае можно ислодовать код, который выведете команда pycdas.exe main.pyc

    [​IMG]
    На этом всё. Удачи!