Добро пожаловать! Игровой форум WLUX.NET - Игры, Читы, Скрипты, Статьи, Софт, Курсы.

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. После регистрации и входа в систему вы сможете создавать темы, публиковать ответы на существующие темы, повышать репутацию участников, скачивать вложения и файлы и многое, многое другое. Так чего же вы ждете?

Добро пожаловать гость!

Приветствуем вас на нашем форуме! Мы очень рады вас видеть и с большим удовольствием поделимся всей информацией нашего форума!

Мы уважаем своих пользователей и так же ждем от вас приятного общения.

Система наград, ежедневное пополнения тем!

Общайся, получай награды.

Статьи, гайды, софт

У нас вы можете скачать бесплатно читы для игр. Полезные гайды на любые темы и схемы заработка. Есть раздел халявы!

FAQ по форуму

Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

  • Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываються в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки работают только с Администрацией форума

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

python Гайд Деобфусцируем код PyArmor

wlux.net Оффлайн

wlux.net

Где волчьи уши, там волчьи зубы.
Команда форума
LV
7
 
20.06.2022
23 868
218
36
Награды
10
Пол
Муж.

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #1
Какие программы нужны?


Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.




Пожалуйста, войдите или зерегистрируйтесь, чтобы увидеть скрытый текст.

( версия, на которой написан скрипт, узнать можно через 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-файлом.

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

7mVnc2O.png

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

C0nf8T6.png

Если возникла ошибка "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 - имя вашего файла) и получаем:

zETci7w.png

Как видим, это PyArmor.

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

pycdc.exe main.pyc > main.py

Это мы сохраняем вывод из консоли в файл "main.py", далее нам нужны файлы "_pytransform.dll" и "main.py".

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



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

imbt1f2.png

9JO1O1U.png

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

dx8Ayp6.png

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

eszxz55.png

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

Скрипт Python

Если у вас обычный скрипт Python, который также может быть накрыт PyArmor'ом, то вы также сможете получить исходный код.

Обычно у него такая структура:

DcVzx27.png

Получаем исходный код

У нас есть 3 способа, с помощью которых мы можем попробовать получить исходный код. Я использовал только 2 из них, поэтому про них и напишу.

Метод 1:​

Из папки "method 2" мы копируем файл "code.py", и закидываем в папку с основным скриптом(который накрыт PyArmor).

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

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

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

Инжектим PyInjector:​

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

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

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

2d5b2T9.png

Нажимаем по процессу ПКМ и ищем пункт "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", структура должна быть такой:

3JgcVLz.png

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

FeVg7No.png

И вводим команды по порядку:

cmake pycdc
cd ../
cmake --build test123


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

E5Fsaiq.png

Нам нужны только "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 - это ваш файл с байт-кодом.

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

AikarVW.png

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

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

3kDWIV4.png
 
R Оффлайн

rururur

Участник
LV
3
 
22.02.2023
3
0
24
Награды
3
24

Репутация:

слишком тяжело , но я буду учить
 
S Оффлайн

sbv997

Участник
LV
3
 
10.02.2023
13
0
25
Награды
3
28

Репутация:

Огромное спасибо, может пригодится))
 
E Оффлайн

etovsepechalno

Участник
LV
4
 
05.03.2023
1
0
24
Награды
4
39

Репутация:

Спасибо, сохраню может пригодится)
 
iwanttodie Оффлайн

iwanttodie

Местный
Участник
LV
3
 
13.09.2023
99
0
36
Награды
5
25
Пол
Муж.

Репутация:

Спасибо большое автору за подробный пост
 

Поиск по форуму

shape1
shape2
shape3
shape4
shape7
shape8
Верх