Jump to content
Korean Random
StranikS_Scan

PjOrion - редактирование, компиляция, декомпиляция, обфускация модов (Версия: 1.3.5 Дата: 11.08.2019)

Пользуетесь ли вы Орионом?  

288 members have voted

You do not have permission to vote in this poll, or see the poll results. Please sign in or register to vote in this poll.

Recommended Posts

03.02.2021 в 01:58, Molnio сказал:

Почему файл .pyc весит 45 кб а когда декомпилирую то 1 кб и внутри файла ничего нет кроме надписей:
# Python bytecode 2.7 (decompiled from Python 2.7)
# Embedded file name: mod_players_online
# Compiled at: 2021-01-27 10:19:54
 

А что надо от моего мода?

Share this post


Link to post

Short link
Share on other sites
Только что, Ekspoint сказал:

А что надо от моего мода?

спортивный интерес. Недавно начал пайтон изучать а конкретно интересно как ты реализовал функцию перетаскивания объекта по экрану. Даже в бою есть такие моды.

Share this post


Link to post

Short link
Share on other sites
5 минут назад, Molnio сказал:

спортивный интерес. Недавно начал пайтон изучать а конкретно интересно как ты реализовал функцию перетаскивания объекта по экрану. Даже в бою есть такие моды.

Это в сторону Action scripts копать надо, а не притон

Share this post


Link to post

Short link
Share on other sites
21 минуту назад, Ekspoint сказал:

Это в сторону Action scripts копать надо, а не притон

а есть какие то гайды или мануалы по редактированию данных скриптов, как и чем декомпилировать и так далее.

Share this post


Link to post

Short link
Share on other sites
25.02.2015 в 18:35, StranikS_Scan сказал:

 

Откройте его любым текстовым редактором например блокнотом. И смотрите что находиться в конце файла

 

1. Файл обработан защитой от mercger

 

post-7009-0-83615600-1424878467_thumb.jpg

 

2. Файл обработан защитой от lelicopter

 

post-7009-0-87709300-1424878468_thumb.jpg

 

3. файл обработан защитой от if_then_else 

 

post-7009-0-27126400-1424878469_thumb.jpg

 

4. Файл обфусцирован в Орионе

 

post-7009-0-60711100-1424878469_thumb.jpg

 

5. Файл обработан протектором в Орионе

 

post-7009-0-92738000-1424878469_thumb.jpg

Есть ещё такой протектор как scraZ. Гугление показало, что его можно было скачать с сайта scraz.me, который уже не существует. Это был платный или бесплатный продукт? Интересно в нём покопаться.

Share this post


Link to post

Short link
Share on other sites
45 минут назад, Dragon armor сказал:

Это был платный или бесплатный продукт?

Он имел две версии.

Share this post


Link to post

Short link
Share on other sites

@Dragon armor было две версии классическая на основе запутывания байт-кода и потом была еще с pyd-инжектором, который инжектил код в обход стандартного вызова exec (но это не точно, что он именно это умел делать, это я так думаю ибо нативный хук exec - это простой и эффективный способ обойти протектор)

Share this post


Link to post

Short link
Share on other sites
8 часов назад, DrWeb7_1 сказал:

Он имел две версии.

И все пользуются бесплатной, ясно.

Искал сайт через web.archive, но выдало, что результат не найден.

1 минуту назад, StranikS_Scan сказал:

нативный хук exec - это простой и эффективный способ обойти протектор

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

А поделиться scraZ_setup.exe кто-то может? Хотя, есть у меня подозрения, что исполняемый файл так же защищён чем-нибудь типа vmprotect.

Share this post


Link to post

Short link
Share on other sites
1 час назад, Dragon armor сказал:

усложнить протектор.

 

Протекторы обычно никто не ковыряет, ибо смысла нет, ведь на exec все равно подается расшифрованная строка. Достаточно её сдампить. И вот с этим очень тяжело бороться. Тут либо сделать так чтобы exec не использовался вообще*, либо бить код на части, добавлять ложные куски и делать много exec**, и то и другое в реальности - очень сложно и долго делать. А без протектора защита теряет сразу 50% своей прочности. Остальные 50% это обфускация байткода*** (того что в exec идет) и еще есть обфускация пайтон-кода**** (но это ерунда, только от детей, ибо никак не препятствует тому чтобы кто-то подсмотрел твои ключевые элементы кода).

 

*Например, либо создать пид, в котором реализовать собственный нативный код выполнения, но его тоже могут дизаснуть и потом сдампить строку, либо превращать пайтон-код скриптов в си-код и компилить из этого пид, это самый крутой способ, но очень сложный

**Задача тоже крайне не тривиальная и трудоёмкая

***Тут тоже можно всякого наворотить, если скажем игра с JMP-опкодами это позавчерашний день, то из современного (на мой взгляд) это полное видоизменение байткода для опосредованного управления регистрами и содержимом стека, когда интерпретатор выполняет непонятные действия (причем рандомные в каждом новом скрипте), но в итоге они приводят к нужному результату. Декомпилировать такой байткод автоматически нереально, потому что сопоставить ему пайтон-код однозначно можно будет только вручную. Ну и производительность от этого падает, т.к. "процессорное" время тратится впустую.

****Это когда пайтон-код переписывается в запутанный, сюда же кстати относиться и переименование/шифрование строк и имен переменных, функций и атрибутов. Но это все может шибко убить производительность интерпретатора

 

Есть такое вот июнь 2017-го.

2017 год.zip

Edited by StranikS_Scan

Share this post


Link to post

Short link
Share on other sites
1 час назад, StranikS_Scan сказал:

Есть такое вот июнь 2017-го.

PEiD утверждает, что тут UPolyX v0.5. Так и есть, исполняемый файл защищён.

Какой протектор требовательный. И виртуальная машина ему не нравится, и запущенный рядом дебаггер, и дату переведи ему на правильную.

Цитата

signing key:  scraZ ~ Balina

Вот что это означает. Теперь ясно-понятно.

Да, это оно. Ещё и про-лицензия. Всё так же, константы в одном месте, код в другом, вызов через функцию в третьем месте.

 

Share this post


Link to post

Short link
Share on other sites
2 часа назад, Dragon armor сказал:

PEiD утверждает, что тут UPolyX v0.5.

 

Сигнатуры старые скорее всего. Он часто так показывает. Скорее всего там какой-то из современных протекторов.

Share this post


Link to post

Short link
Share on other sites
09.02.2021 в 19:37, Dragon armor сказал:

Вот что это означает. Теперь ясно-понятно.

Да, это оно. Ещё и про-лицензия. Всё так же, константы в одном месте, код в другом, вызов через функцию в третьем месте.

Прикольно =) Не совсем так, но частично верно.

09.02.2021 в 16:18, Dragon armor сказал:

И все пользуются бесплатной, ясно.

Искал сайт через web.archive, но выдало, что результат не найден.

версия с .pyd имела большие ограничения, поэтому её разработка была прекращена.

в той версии любой скрипт после декомпиляции был лишь.

__import__('scraZ').scarZ()

в свою очередь pyd из вызываемого скрипта брал все остальное, расшифровывал и запускал.

ёмнип, в lnotab хранились сами зашифрованные данные. как запускался после расшифровки не помню, надо поднимать исходники, Py_EvalEx вроде вызывался. Был расшифрованный скрипт еще чем-то защищен или нет (типа перемешать байткод), уже забыл. Та версия никогда нигде не публиковалась, была тестовой предварительной. В сети её не найти.

Share this post


Link to post

Short link
Share on other sites
09.02.2021 в 10:06, StranikS_Scan сказал:

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

не такой уж и сложный, но минусы имеются - постоянно нужно тягать зависимости (а-ля xfw.native), которые будут экспортировать нужные питоновские символы

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

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...