- 20.06.2022
- 23 868
- 218
- 36
- Награды
- 10
- Пол
- Муж.
Репутация:
- Автор темы
- Администратор
- Модератор
- Команда форума
- #1
Какие программы нужны?
・
・ ( версия, на которой написан скрипт, узнать можно через Process Hacker)
・
・ (исходный код, ниже объясню, как превратить его в exe-файлы.)
Я взял простой скрипт и зашифровал его с помощью PyArmor в исполняемый файл:
Для начала необходимо скачать файлы из репозитория GitHub:
Далее сохраняем папку methods где-то у себя, она нам позже пригодится.
Исполняемый файл(exe)
Исполняемый файл(exe) Если у вас exe-файл и он скомпилирован с помощью pyinstaller, то вам очень повезло.
Скачиваем и закидываем в папку с exe-файлом.
Открываем консоль.
Вводим python pyinstxtractor.py main.exe, где main.exe - это имя вашего исполняемого файла и видим подобную картину:
Если возникла ошибка "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 - имя вашего файла) и получаем:
Как видим, это PyArmor.
Вводи команду:
pycdc.exe main.pyc > main.py
Это мы сохраняем вывод из консоли в файл "main.py", далее нам нужны файлы "_pytransform.dll" и "main.py".
Создаем папку с именем "pytransform", а уже в ней создаем файл "__init__.py", в нее вставляем данный код:
Также в данную папку закидываем "_pytransform.dll".
И опять открываем консоль:
И запускаем основной скрипт:
Как видим скрипт успешно запустился.
Скрипт Python
Если у вас обычный скрипт Python, который также может быть накрыт PyArmor'ом, то вы также сможете получить исходный код.
Обычно у него такая структура:
Получаем исходный код
У нас есть 3 способа, с помощью которых мы можем попробовать получить исходный код. Я использовал только 2 из них, поэтому про них и напишу.
Далее инжектим PyInjector, подробнее будет описано в спойлере "Инжектим PyInjector", который находится ниже.
У нас должна появиться папка "dump", в которой появиться файл "main.pyc"(у вас может быть другое название, зависит от названия самого скрипта)
С помощью декомпилятора мы превращаем байт-код в читаемый. Подробнее про декомпилирование будет ниже.
Запускаем ваш скрипт и открываем Procces Hacker 2(от имени администратора).
Находим наш процесс и инжектим DLL:
Нажимаем по процессу ПКМ и ищем пункт "Miscellaneous", а в нем пункт "Inject DLL...",
Находим DLL-ки PyInjector и инжектим.
Далее мы запускаем скрипт этой командой:
python bypass.py main.py - на место main.py вы ставите название вашего скрипта.
Вводим несколько раз "yes".
И у нас также, как и в первом способе должна появиться папка dump, в которой будет байт-код.
С помощью декомпилятора мы превращаем байт-код в читаемый. Подробнее про декомпилирование будет ниже.
Заходим в , скачиваем его, переименуем в "pycdc" и копируем в другую папку, например в "test123".
Добавляем C:\Program Files\CMake\bin к переменным вашей системной среды в PATH.
Заходим в папку "test123", структура должна быть такой:
Открываем консоль:
И вводим команды по порядку:
В папке "test123\Debug" должны появится файлы:
Нам нужны только "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 - это ваш файл с байт-кодом.
В консоль должно вывести код.
Есть минус, иногда данный декомпилятор может переводить не весь код и некоторые участки будут не расшифрованны.
В данном случае можно ислодовать код, который выведете команда pycdas.exe main.pyc
・
・ ( версия, на которой написан скрипт, узнать можно через 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)
Исполняемый файл(exe) Если у вас exe-файл и он скомпилирован с помощью pyinstaller, то вам очень повезло.
Скачиваем и закидываем в папку с exe-файлом.
Открываем консоль.
Вводим python pyinstxtractor.py main.exe, где main.exe - это имя вашего исполняемого файла и видим подобную картину:
Если возникла ошибка "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 - имя вашего файла) и получаем:
Как видим, это PyArmor.
Вводи команду:
pycdc.exe main.pyc > main.py
Это мы сохраняем вывод из консоли в файл "main.py", далее нам нужны файлы "_pytransform.dll" и "main.py".
Создаем папку с именем "pytransform", а уже в ней создаем файл "__init__.py", в нее вставляем данный код:
Также в данную папку закидываем "_pytransform.dll".
И опять открываем консоль:
И запускаем основной скрипт:
Как видим скрипт успешно запустился.
Скрипт Python
Если у вас обычный скрипт Python, который также может быть накрыт PyArmor'ом, то вы также сможете получить исходный код.
Обычно у него такая структура:
Получаем исходный код
У нас есть 3 способа, с помощью которых мы можем попробовать получить исходный код. Я использовал только 2 из них, поэтому про них и напишу.
Метод 1:
Из папки "method 2" мы копируем файл "code.py", и закидываем в папку с основным скриптом(который накрыт PyArmor).Далее инжектим PyInjector, подробнее будет описано в спойлере "Инжектим PyInjector", который находится ниже.
У нас должна появиться папка "dump", в которой появиться файл "main.pyc"(у вас может быть другое название, зависит от названия самого скрипта)
С помощью декомпилятора мы превращаем байт-код в читаемый. Подробнее про декомпилирование будет ниже.
Инжектим PyInjector:
Скачиваем PyInjector, переносим эти DLL в папку.Запускаем ваш скрипт и открываем Procces Hacker 2(от имени администратора).
Находим наш процесс и инжектим DLL:
Нажимаем по процессу ПКМ и ищем пункт "Miscellaneous", а в нем пункт "Inject DLL...",
Находим DLL-ки PyInjector и инжектим.
Способ 2:
Из папки "method 3" мы копируем файл "bypass.py", и закидываем в папку с основным скриптом(который накрыт PyArmor).Далее мы запускаем скрипт этой командой:
python bypass.py main.py - на место main.py вы ставите название вашего скрипта.
Вводим несколько раз "yes".
И у нас также, как и в первом способе должна появиться папка dump, в которой будет байт-код.
С помощью декомпилятора мы превращаем байт-код в читаемый. Подробнее про декомпилирование будет ниже.
Компилируем Decompyle++
Заходим на и скачиваем CMake.Заходим в , скачиваем его, переименуем в "pycdc" и копируем в другую папку, например в "test123".
Добавляем C:\Program Files\CMake\bin к переменным вашей системной среды в PATH.
Заходим в папку "test123", структура должна быть такой:
Открываем консоль:
И вводим команды по порядку:
cmake pycdc
cd ../
cmake --build test123
В папке "test123\Debug" должны появится файлы:
Нам нужны только "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 - это ваш файл с байт-кодом.
В консоль должно вывести код.
Есть минус, иногда данный декомпилятор может переводить не весь код и некоторые участки будут не расшифрованны.
В данном случае можно ислодовать код, который выведете команда pycdas.exe main.pyc
Последние темы в этом разделе:
- [Alex Erofeev] [Stepik] JavaScript: самый быстрый курс (2024)
- [Михаил Русаков] Написание лайфхаков на Python (2021)
- Пишем DDOS скрипт на Python
- [Саид Магомедов] Python. Микросервисы. Backend на FastAPI [Stepik] (2024)
- Как написать чат-бота на python
- Пишем скрипт по парсингу ответов из gdz.ru
- [Udemy] Кибербезопасность: тестирование на проникновение с помощью Python 3 (2022)
- [Udemy] [ENG] Продвинутый ИИ - глубокое обучение с подкреплением в Python (2024)
- Создание бесплатного API для генерации изображений, используя перехваченные запросы Flux
- [Андрей Сумин] [Stepik] Java с нуля до Junior + Подготовка к собеседованию (2024)