Jump to content
Korean Random
StranikS_Scan

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

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

314 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

 

А вообще да хешь сумм пакетов ломается и сервер отключает клиент.

А еще наверняка отсылается баг репорт неприятный технарям)

Вообще да, когда то протокол был практически открытый. Ну по теперешнему времени.

http://habrahabr.ru/post/212351/

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

А еще наверняка отсылается баг репорт неприятный технарям)

Вообще да, когда то протокол был практически открытый. Ну по теперешнему времени.

http://habrahabr.ru/post/212351/

(MR13 - я усё понял, ну хай люди общаться - я понял... только восстанови мне 60 моих честных плюсов )))  :wow:)

 

По теме:

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

if Аятакой > armor_angle:

бред = (armor, colide_pos)

 

 

В последних патчах я так и немонял что и по чём ... ну в общем я тупо занулил circle_armor = (armor, end)

Стреляет как бешеный :kis:

Edited by KACTET
  • Downvote 4

Share this post


Link to post

Short link
Share on other sites

У кого до сих пор не бомбило по поводу трансмиттера, запустите

import Keys
for key in dir(Keys):
    if not key.startswith('__') and not key.endswith('__'):
        print key, ';', getattr(Keys, key)
З.Ы. Скрипт выводит имена и код клавиш.

Share this post


Link to post

Short link
Share on other sites

 

 

И функцию "Перечитать файл с диска", желательно чтобы прога сама обнаруживала изменения в файле, как NPP например. Чтобы можно было использовать сторонние редакторы при отладке.

 

Дык обнаруживает же? Или не срабатывает? 

Share this post


Link to post

Short link
Share on other sites

 

 

Или не срабатывает?
Срабатывает, всё нормально.

Share this post


Link to post

Short link
Share on other sites
Если будут реализованы аргументы, то каждый сможет для себя сделать контекстное меню.

 

Может я поддержкой аргументов обойдусь? Накидай синтаксис командной строки, а я сделаю обработку её в Орионе. А затем было бы хорошо если бы ты написал батник для создания контекстов в винде, а я его в первый пост закину. И думаю будет гуд )))

 

@BossBox, тебя тоже касается вопрос по контекстным меню, какие запилить каманды в ком. строку для организации контекстных меню, ну и батник для прописки их в винде.

 

Было бы неплохо, если можно было выставить не только количество пробелов в качестве табуляции, но и использовать \t...

 

Поясни как должно работать, я прикину как сделать?

Edited by StranikS_Scan

Share this post


Link to post

Short link
Share on other sites

Поясни как должно работать, я прикину как сделать?

Когда ставишь двоеточие, срабатывает авто-табуляция. Пробелами. Если код был написан через \t, вылетает ошибка компиляции. В настройках нужен переключатель табуляции (какой отступ будет вставляться при нажатии TAB и т.д. - N пробелов или \t) и автоматическая замена (типа найти-заменить, команда) \t на отступ пробелами и обратно (N пробелов на \t) Еще неплохо бы функцию в настройках, чтоб при вставке кода пробелы / табуляция в начале строки приводились к "системным".

Share this post


Link to post

Short link
Share on other sites

Когда ставишь двоеточие, срабатывает авто-табуляция. Пробелами. Если код был написан через \t, вылетает ошибка компиляции. В настройках нужен переключатель табуляции (какой отступ будет вставляться при нажатии TAB и т.д. - N пробелов или \t) и автоматическая замена (типа найти-заменить, команда) \t на отступ пробелами и обратно (N пробелов на \t) Еще неплохо бы функцию в настройках, чтоб при вставке кода пробелы / табуляция в начале строки приводились к "системным".

 

Т.е. у тебя есть скрипты такого вида?

def aaa(b):\n\t\if b != 1:\n\t\tprint b

и ты хочешь чтобы компилятор их правильно воспринял в Орионе?

 

А для чего ты используешь режим ввода?

def aaa(b):
\tif b != 1:
\t\tprint b

Ведь так не удобно же писать скрипты?

 

Анализ и замену табулянтов при вставке кода на системные сделаю, тут всё ясно-понятно. Могу и подтирку префиксов "<<< " также сделать.

Edited by StranikS_Scan

Share this post


Link to post

Short link
Share on other sites

Т.е. у тебя есть скрипты такого вида?

Не понял меня)

пишешь например:

if x:
Нажимаешь Enter, срабатывает автотабуляция в право (т.к после ":" ожидается вложенный блок). Она всегда 4 пробела. Хотелось бы чтобы можно было выставить "системный отступ" (N пробелов или \t). Питон корректно понимает один пробел, 4 пробела, табуляцию и т.д. Главное - отступы должны быть кратными.

Если вставляется код

def x(a):
\tif a:
\t\treturn a
Начинаешь его отлаживать, надо дописать еще 1 блок, получается так

def x(a):
\tif a:
\t\treturn a
\telse:
\t<4space>return a + 1
И привет тебе от компилятора.

 

Тут два варианта - либо заменять сначала \t на <4space> до вставки, после отладки менять обратно. Или настроить неведомым образом Орион под табуляцию. Пробелы мне не очень нравятся, т.к. временами приходится вместо 1 BS / DEL нажимать его 4 раза, плюc обязательно где-нибудь лишний останется, и будет портить картину. С \t проще - 1 отступ - 1 символ. Единственная его проблема - это то, что это непечатаемый символ, и "ввести с клавиатуры" его нельзя. Но нормальные редакторы (например NPP) такой проблемой не страдают. Там и отступы настраиваются, и непечатаемые символы можно вводить через спец. интерфейс.

А вообще было бы прикольно прикрутить интерфейс какого-нибудь популярного редактора (например того же NPP, sublime и т.д.) к Ориону вместо текстового поля для кода. Не знаю правда, насколько такое реализуемо... Мне железо ближе, чем GUI)

Edited by GPCracker

Share this post


Link to post

Short link
Share on other sites

 

 

Накидай синтаксис командной строки, а я сделаю обработку её в Орионе.
--decompile-file <file> Декомпилировать файл
--decompile-path <path> Декомпилировать папку
--disassemble    <file> Дизасемблировать файл
--run-game       <file> Запустить в игре
--run            <file> Запустить в программе
--compile-file   <file> Компилировать файл
--compile-path   <path> Компилировать папку
<file>                  Открыть файл

 

 

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

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

Share this post


Link to post

Short link
Share on other sites

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

Для этого есть reg'и (*.reg) =)

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

 

 

Для этого есть reg'и (*.reg) =)

 

 

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

Так что писать это буду на JScript'е под Windows Script Host.

Share this post


Link to post

Short link
Share on other sites

Про это я знаю, но мне надо анализировать реестр, а не бездумно в него писать. Я не знаю, как это реализовать на CMD, без sed'а, конвейера и других очень нужных штук. Так что писать это буду на JScript'е под Windows Script Host.

М.б. на питоне? Орион выполнять умеет...

Share this post


Link to post

Short link
Share on other sites

'офтоп'

 

анализировать реестр, а не бездумно в него писать.

почти все можно сделать - и анализ в том числе.

Морской бой на cmd: https://yadi.sk/d/zGkSTyIPBheWm

Share this post


Link to post

Short link
Share on other sites

А затем было бы хорошо если бы ты написал батник для создания контекстов в винде, а я его в первый пост закину

Готово.

from _winreg import *
import sys
OrionExec = sys.argv[1]
ContextMenus = [        #Массив, содержит информацию о тех меню, которые нужно создать.
    {
        'name'   : 'Open in Orion',     #Имя пункта меню
        'command': OrionExec + ' "%1"', #Команда запуска
        'icon'   : '',                  #Иконка пункта меню
        'key'    : '.py',               #Расширение файла, к которому нужно добавить пункт
        'descr'  : 'Python script'      #Описание расширения файла. Устанавливается только если расширение не ассоцировано
    }
]

for i in ContextMenus:
    try:
        #Пробуем открыть ветку
        OpenKey(HKEY_CLASSES_ROOT, i['key'])
        try:
            #Пробуем перейти по "ссылке"
            Key = OpenKey(HKEY_CLASSES_ROOT, QueryValue(HKEY_CLASSES_ROOT, i['key']), 0, KEY_ALL_ACCESS)
        except:
            Key = OpenKey(HKEY_CLASSES_ROOT, i['key'], 0, KEY_ALL_ACCESS)
    except:
        SetValue(HKEY_CLASSES_ROOT, i['key'], REG_SZ, i['descr'])    #Создаём ветку и добавляем описание, если файл не ассоцирован.
        Key = OpenKey(HKEY_CLASSES_ROOT, i['key'], 0, KEY_ALL_ACCESS)
    #Проверяем наличие ветки key\\shell, создаём при необходимости
    try:
        Key = OpenKey(Key, 'shell', 0, KEY_ALL_ACCESS)
    except:
        Key = CreateKey(Key, 'shell')

    #Создаём пункт меню
    SetValue(CreateKey(CreateKey(Key, i['name']), 'command'), '', REG_SZ, i['command'])
    #Добавляем иконку
    SetValueEx(OpenKey(Key, i['name'], 0 , KEY_ALL_ACCESS), 'Icon', 0, REG_SZ, i['icon'])

context.zip

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

почти все можно сделать - и анализ в том числе

Можно, но зачем?

Share this post


Link to post

Short link
Share on other sites

Всё нормально, заработало.. спасибо, была моя ошибка

Edited by KACTET

Share this post


Link to post

Short link
Share on other sites

exec only in WOT - не работает.

Скомпилировал файл print 'Привет фермерам'

Скомпилировал, поставил защиту с exec only in WOT, запустил файл - произошло выполнение...

 

Если я не понял для чего эта галочка? В моём понимании выполнение только в игре?

 

Быть такого не может. Протектор ставил функцией Protect obfuscated pyc-file? И галочка  exec only in WOT при этом была включена? Тогда пришли мне результат, гляну почему он запускается без игры.

 

 

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

 

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

Быть такого не может. Протектор ставил функцией Protect obfuscated pyc-file? И галочка  exec only in WOT при этом была включена? Тогда пришли мне результат, гляну почему он запускается без игры.

 

Кажется я понял в чем прикол. Когда данная опция стоит и вы запускаете скрипт не в игре, то должна появиться ошибка типа "name BigWorld is not found" - это сработала одна из проверок на наличие запущенного клиента, встроенная в протектор. А вовсе не ваш скрипт запустился ))))) До запуска скрипта дело даже и близко не дошло. Это протектор отработал ))))

Edited by StranikS_Scan

Share this post


Link to post

Short link
Share on other sites

 

import Keys
for key in dir(Keys):
    if not key.startswith('__') and not key.endswith('__'):
        print key, ';', getattr(Keys, key)
З.Ы. Скрипт выводит имена и код клавиш.

 

Писал одно время для кейлоггера, м.б. для Ориона тоже пригодится.

Модуль для передачи данных между питон-процессами. Memory mapped file, half-duplex.

Быстродействие достигается подгонкой размера буфера.

Для передачи данных при перехвате потока нужно создавать очередь передачи.

MMap.zip

Edited by GPCracker

Share this post


Link to post

Short link
Share on other sites

Вышла очередная версия Ориона 1.2.3

--------------------------------------------------------

 

Из нового:

 

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

 

2. Остальные изменения это либо фикс багов, либо допил, либо то, что было в постах выше и в кттс.

 

3. Список хоткеев:

Terminal
 New			Ctrl+N
 Open...		Ctrl+O
 Save			Ctrl+S
 Restart		Alt+R
 Exit			Ctrl+W

Search
 Search...		Ctrl+F
 Replace...		Ctrl+R
 Search next		F3
 Search previous	Shift+F3

Run
 Exec script		F5
 Exec selected script	Ctrl+F5
 Execute script		F9
 Compile script		Ctrl+F9
 Import/Reload script	F6
 Express script...	F10
 Delete <module> and
 references it		Ctrl+Del

Disassemble
 Disassemble selected Object	Alt+D
 Load pyc-file bytecode to
 selected variable...		Alt+L
 Save marshal-code from
 variable to pyc-file...	Alt+M

Script
 Insert - Globally Unique Identifier (GUID)	Alt+G
 Insert - File name as text...			Alt+F
 Convert - Selected UTF-8 to ANSI		Alt+A
 Convert - Selected ANSI to UTF-8		Alt+U
 Convert - Selected Chars to Hex		Alt+H
 Convert - Selected Hex to Chars		Alt+C
 Convert - Selected String to Base64		Alt+B
 Convert - Selected Base64 to String		Alt+S
 Packing - Move script to ZipBase64-box		Alt+Z

Bytecode
 Obfuscate - Compile script			Alt+F9
 Obfuscate - Compile py-file...			Alt+O
 Protect - Protect obfuscated pyc-file...	Alt+P

WOT-Transmission
 Run - WorldOfTanks		F11
 Run - Game replays...		F12
 Close WorldOfTanks		Ctrl+F11
 Exec script in client		Shift+F5
 Exec selected script in
 client				Shift+Ctrl+F5
 Import/Reload script		Shift+F6
 Delete <module> and
 references it			Shift+Ctrl+Del
 Disassemble selected Object	Shift+Alt+D
 Load pyc-file bytecode to
 selected variable...		Shift+Alt+L
 Save marshal-code from
 variable to pyc-file...	Shift+Alt+M

Mouse Popup-Menu
 Cut				Ctrl+X
 Copy				Ctrl+C
 Paste				Ctrl+V
 Select all			Ctrl+A
 Increase Indent		Ctrl+]
 Decrease Indent		Ctrl+[
 Continue on a new line		Shift+Enter
 Undo				Ctrl+Z
 Redo				Shift+Ctrl+Z
 Show attributes		Shift+Ctrl+Space
 Show public attributes 	Ctrl+Space

 

 

Сделал далеко не всё, из того что в постах было выше, потому позже будут еще версии.

Edited by StranikS_Scan
  • Upvote 3

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