Jump to content
Korean Random
StranikS_Scan

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

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

310 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

@StranikS_Scan, ты когда-то писал про хук шейдеров в WOT.

Можешь запилить такое в Орионе?

 

Я в шейдеры не умею, там пипец какой-то, надо декомпилить шейдеры, изучать исходники, уметь их править, затем компилить обратно. Я на декомпиле уже сдулся.

Edited by StranikS_Scan

Share this post


Link to post

Short link
Share on other sites

Я на декомпиле уже сдулся.

Ну декомпил - это обязанность стандартной функции d3d - D3DDisassemble

Главное правильно это приготовить.

Edited by ShadowHunterRUS

Share this post


Link to post

Short link
Share on other sites

Ну декомпил - это обязанность стандартной dx3d'шной dll-ки.

Главное правильно её слинковать с Орионом.

 

Ну мой метод ты знаешь. Еже ли есть какие исходники для Delphi, могу глянуть и прикрутить.

Share this post


Link to post

Short link
Share on other sites

Еже ли есть какие исходники для Delphi, могу глянуть и прикрутить.

Было бы здорово. Шейдеры - нужная вещь.

 

P.S. можно еще сделать такую вещь - когда запущен PjOrion выводить логи в окно браузера Awesomium, который будет открываться сочетанием клавиш.

 

Только оформить это все нужно покрасивее.

Создать html файл, который будет подгружать python.log с помощью JS.

 

Помимо логов в это окно можно полноценный дебаггер минискриптов добавить(вроде Орионовского ExpressScript).

Как идея?

post-16296-0-56343800-1446820330_thumb.jpg

Edited by ShadowHunterRUS
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

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

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

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

Читаю тут про плагины SublimeText3... Прикольная штука, однако))

Share this post


Link to post

Short link
Share on other sites

Читаю тут про плагины SublimeText3... Прикольная штука, однако))

 

Угу, только сложно там все как-то. Я поглядел и прошёл мимо.

Share this post


Link to post

Short link
Share on other sites

Ну фактически это можно отдельную тему сделать, мод-дебаггер.

Вот и отлично! Создавай в своем орионе менюшку для этого, будем разрабатывать сей мод.

post-16296-0-61283200-1446838954_thumb.jpg

Edited by ShadowHunterRUS

Share this post


Link to post

Short link
Share on other sites

Появился ActivePython-2.7.10.12-win32-x86.msi :awsm:

 

 

 

 

Написал свой протектор на досуге и в планах накручивать его уже на протектор ориона. :meow:

В общем так то всё работает из среды питона а вот из под игры нету ctypes

 

Такой вопрос в папке DLL к ориону 2 файла _ctypes.pyd и _ctypes_test.pyd какой из них нужно прикручивать?

И как прописать к pyd пути через Import os чтобы игра видела pyd?

 

Можно мне пример нормальный привести т.к. что пробую не находит не в какую pyd в игре :sob:

Edited by KACTET
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Не сам по себе же хавает. Два дня наверно гонял его без перезапуска? Погляжу где накапливаться может.

 

 

Эээ, путь там отображается. Ты какую версию используешь-то?

 

 

Не, если тебе нужен полноценный гуи, то юзай Notepad++ или PyCharm.... В Орионе все такие гуи - это уровень блокнота.

 

Отступы через \t это я допилю.

1. Ну да. Открыл себе пару окон - так и болтаются пока систему не повесят))

2. Я имел ввиду путь файла который был декомпилен, а не уже сохраненный. Т.е.

'вот так'

e0363fa59e.jpg

 

Да уж, делфи6 это серьезно. Тут прям в точку про динозавров)

 

 

В Орионе все такие гуи - это уровень блокнота.

А надо то и не сильно больше. Всё-равно 85% времени разработки это чтение и дебаг. С последним вполне успешно справляется трансмиттер, а в остальном это небольшие детали и юзабилити. До сих пор вздрагиваю, когда по Ctrl+N вместо общепринятого нового окна всё удаляется из активного.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Написал свой протектор на досуге и в планах накручивать его уже на протектор ориона. :meow:

В общем так то всё работает из среды питона а вот из под игры нету ctypes

 

Такой вопрос в папке DLL к ориону 2 файла _ctypes.pyd и _ctypes_test.pyd какой из них нужно прикручивать?

И как прописать к pyd пути через Import os чтобы игра видела pyd?

 

Можно мне пример нормальный привести т.к. что пробую не находит не в какую pyd в игре :sob:

 

Кто автор у того и спрашивай, шифрование через pyd это модификация fecell-a. Вот к нему и обращайся с вопросами - как сделать чтоб его код работал )))))

 

 

 

1. Ну да. Открыл себе пару окон - так и болтаются пока систему не повесят))

 

Лог наверно рос-рос и скушал всю память. Проверю.

 

2. Я имел ввиду путь файла который был декомпилен, а не уже сохраненный. Т.е.

 

 

Эээ нет, там только путь и имя открытого документа отображается. А когда ты декомпилируешь pyc-фалйл, ты его разве открываешь в Орионе? Нет. Если бы ты его открыл в Орионе то увидел бы кучу кракозябликов....

 

Могу в логе писать имя декомпилированного файла, сейчас там просто пишется >>> Decompile operation completed!

 

 

 

Да уж, делфи6 это серьезно. Тут прям в точку про динозавров)

 

Вообще-то проблема не в самом Делфи6, так как его код работает на ура в любой винде, а в сторонних компонентах под него, многие из которых умерли.

 

 

 

До сих пор вздрагиваю, когда по Ctrl+N вместо общепринятого нового окна всё удаляется из активного.

 

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

Share this post


Link to post

Short link
Share on other sites

И как прописать к pyd пути через Import os чтобы игра видела pyd?

 

никак не прикрутить пид к игре без хакерства.

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

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

 

Иными словами:

любой питоновский пид использует функции из python27.dll

смотрим таблицу экспорта python27.dll, видим какие функции доступны для вызовов из пида:

'таблица экспорта'

<Exports Table>:

  Name:            python27.dll

  Characteristics: 00000000

  TimeDateStamp:   5488AC17 -> Thu Dec 11 06:24:55 2014

  Version:         0.00

  Ordinal base:    00000001

  # of functions:  00000420

  # of Names:      00000420

  Entry Pt  Ordn  Name

  000F8020     1  PyAST_Compile

  000E7540     2  PyAST_FromNode

  001093E0     3  PyArena_AddPyObject

...

  00001080  1056  _Py_svnversion

каждая функция имеет конкретный адрес, эти адреса указаны для каждой экспортной функции.

Чтобы использовать пид в танках, аналогичная таблица должна быть в таблице экспорта worldoftanks.exe, а её там нет и, имхо, не будет никогда.

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

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

Share this post


Link to post

Short link
Share on other sites

Я наверно пропустил но, для кораблей/самолетов поддержка будет "transmission" именно у тебя в программе?

 

Отбой, все узнал.

Edited by BossBox

Share this post


Link to post

Short link
Share on other sites

Добрый день уважаемые разработчики, новичок у вас. 

Хотел спросить, а можно ли пакетно сделать обфускацию и протекцию файлов через командную строку или bat?

 

Про пакетную офускацию  и следом протекцию каталога в ручном режиме в курсе.

 

Но задача в автоматизации сразу обоих операций.  

 

Далее файлы планируем  автоматизированно по условиям распределять по папкам в автоматическом режиме через CMD(bat) или отдельной написанной для этого программой.

 

Благодарю.

Edited by MAHINATOR

Share this post


Link to post

Short link
Share on other sites

Добрый день уважаемые разработчики, новичок у вас. 

 

Хотел спросить, а можно ли пакетно сделать обфускацию и протекцию файлов через командную строку или bat?

 

Про пакетную офускацию  и следом протекцию каталога в ручном режиме в курсе.

 

Но задача в автоматизации сразу обоих операций.  

 

Далее файлы планируем  автоматизированно по условиям распределять по папкам в автоматическом режиме через CMD(bat) или отдельной написанной для этого программой.

 

Благодарю.

 

Командная строка поддерживается. Список аргументов запуска есть в конце второго поста в начале темы. Однако аргументов на компиляцию с обфускацией и протекцией там нет, так как, когда делал поддержку командной строки, то про них просто забыл. В течение недели будет очередное обновление программы, я добавлю недостающие аргументы. Следите за выходом обновы.

Edited by StranikS_Scan
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

Командная строка поддерживается. Список аргументов запуска есть в конце второго поста в начале темы. Однако аргументов на компиляцию с обфускацией и протекцией там нет, так как, когда делал поддержку командной строки, то про них просто забыл. В течение недели будет очередное обновление программы, я добавлю недостающие аргументы. Следите за выходом обновы.

 

Спасибо большое за ваши труды! Очень ждем эту автоматизированную функцию, т.к. бывает сейчас вручную защищаем большое количество  файлов каждый день/обновление.

 

Пакетный вариант с каталогом не всегда подходит.

 

Пока начинаю читать с первой страницы эту тему. 

Еще вопрос: Я в курсе про порядок защиты: сначала обфускация, потом протекция и что одно без другого нецелесообразно.

 

Детский вопрос по приоритетности реализации функции обфускации и протекции папок:

 

- Имеем в папке файл script1.ру и script2.ру

- Выбираем эту папку нажимаем "обфускацию папки". На выходе script1.рус и script2.рус

- Потом выбираем эту же папку и нажимаем "протекция".

 

Вопрос:

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

 

Спасибо.

Edited by MAHINATOR

Share this post


Link to post

Short link
Share on other sites

Обфускация байт-кода - это запутывание кода в процессе компиляции py-файла в pyc-файл.

 

Протектор же накладывается только на pyc-файлы. К текстовым py-файлам он не применим.

Share this post


Link to post

Short link
Share on other sites

Обфускация байт-кода - это запутывание кода в процессе компиляции py-файла в pyc-файл.

 

Протектор же накладывается только на pyc-файлы. К текстовым py-файлам он не применим.

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

 

Кстати при добавлении функции командной строки на обфускацию+протекцию файлов, предусмотрите так же такую же функцию и для папок. Будет очень полезно.

Edited by MAHINATOR

Share this post


Link to post

Short link
Share on other sites

Кстати при добавлении функции командной строки на обфускацию+протекцию файлов, предусмотрите так же такую же функцию и для папок. Будет очень полезно.

 

Само собой.

Share this post


Link to post

Short link
Share on other sites

я добавлю

Добавь пожалуйста в статус-бар количество выделенных символов.

Очень нужная штука.

  • Upvote 1

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.
Note: Your post will require moderator approval before it will be visible.

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...