Jump to content
Korean Random
IzeBerg

Как и чем декомпилировать/компилировать питон?

Recommended Posts

почему-то перекрашенные в дикие цвета.... зачем, почему так... хз

Для лучшей видимости танка на общем фоне, это изначальная задумка мода, как я понял.

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

Нет блокировки.

Для манипуляции с тенью в моде слегка модифицирована функция __addStippleModel.

Share this post


Link to post

Short link
Share on other sites

Перекраска там ужасная это факт, я ей не пользуюсь, там из вкусного - контур обводки танка - это задается в конфиге (по NUMPAD3) и тень после того как танк пропал из засвета (я так понимаю включено постоянно, время задается в конфиге 5-10 сек работает, 15 и больше не проверял), я так понимаю перк злопамятный, только качать не надо ))). До пережатия текстур ее было видно хоть и фигово. После пережатия ее практически не видно, видно звездочку на танке и видно но оч. плохо если танк пробивали (у меня цветные отметки стоят) вот их хоть как-то видно.

Edited by Dkmn

Share this post


Link to post

Short link
Share on other sites
@MakcT40, автор то кто не знаешь? ЛCД-шник вроде писал что if_then_else Edited by StranikS_Scan

Share this post


Link to post

Short link
Share on other sites

автор кто-то с rf-cheats на забугорном форуме чувак писал

Share this post


Link to post

Short link
Share on other sites

автор то кто не знаешь? ЛCД-шник вроде писал что if_then_else

Да, он. Вы ведь есть на рфч, вот тема. Edited by MakcT40

Share this post


Link to post

Short link
Share on other sites

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

Edited by Dkmn

Share this post


Link to post

Short link
Share on other sites

Зацените, грамотно вставлено, а не абы куда, тут 09->48 не поможет :))):

 

28 LOAD_CONST        1

31 NOP

32 LOAD_CONST        2

35 COMPARE_OP        '>'

38 POP_JUMP_IF_FALSE '71'

Че, типо сложно ? :)

Share this post


Link to post

Short link
Share on other sites

ПростоНуб шифрует скрипты интересно, кстати. Не очень сложно, но интересно.. +1 заочно за новаторство ему в карму.

зы; скрипт для дешифровки у меня 54 строки получился..

Share this post


Link to post

Short link
Share on other sites

вот вы блин криптографы!
тут бы с азами разобраться..
кстати, а Wargaming ничё не шифрует случайно?

Share this post


Link to post

Short link
Share on other sites

Че, типо сложно ? :)

 

Типо с умом, 3 байта регистра + 3 байта регистра + COMPARE_OP итого 9 байт... всунули байт между регистрами сравнения и ни чем кроме NOOP его не заменишь, либо вырезать, либо вообще весь блок кода принтить :))) Правда там всё проще - сам-то COMPARE_OP и джамп после него там фейковые, к рабочему коду мода то не относятся, можно всё запринтить нафиг :)))

 

ПростоНуб шифрует скрипты интересно, кстати. Не очень сложно, но интересно.. +1 заочно за новаторство ему в карму.

зы; скрипт для дешифровки у меня 54 строки получился..

 

Я малость глянул, он мусорный код вынес в самостоятельную функцию:

<<< (<code object __init__ at 03F79578, file "compiled\ModificationTransparency.py", line 11>,)
<<<  11           0 STORE_FAST           26592
<<< Traceback (most recent call last):
<<<   File "<string>", line 1, in <module>
<<<   File "", line 43, in dis
<<<   File "", line 101, in disassemble
<<< IndexError: tuple index out of range
<<<           0 STORE_FAST      26592 (26592)
<<<           3 RETURN_VALUE
<<<           4 POP_TOP
<<<           5 STOP_CODE
<<<           6 LOAD_CONST          0 (0)
<<<           9 RETURN_VALUE
<<< (None,)

С точки зрения реализации сие конечно проще, но вот защита то страдает от этого. Можно через new подменить фейк-функцию, на любую какую надо или прям всю тупо запринтить.

 

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

Edited by StranikS_Scan

Share this post


Link to post

Short link
Share on other sites

кстати, а Wargaming ничё не шифрует случайно?

Кораблики шифрует. :)

Share this post


Link to post

Short link
Share on other sites

 

 

Типо с умом, 3 байта регистра + 3 байта регистра + COMPARE_OP итого 9 байт... всунули байт между регистрами сравнения и ни чем кроме NOOP его не заменишь, либо вырезать, либо вообще весь блок кода принтить :))) Правда там всё проще - сам-то COMPARE_OP и джамп после него там фейковые, к рабочему коду мода то не относятся, можно всё запринтить нафиг :)))

а, ок =)

 

 

Кораблики шифрует. :)

А разве они вышли ? Откуда инфа ? дай полапать :)))

Share this post


Link to post

Short link
Share on other sites

 

Типо с умом, 3 байта регистра + 3 байта регистра + COMPARE_OP итого 9 байт... всунули байт между регистрами сравнения и ни чем кроме NOOP его не заменишь, либо вырезать, либо вообще весь блок кода принтить :))) Правда там всё проще - сам-то COMPARE_OP и джамп после него там фейковые, к рабочему коду мода то не относятся, можно всё запринтить нафиг :)))

 

 

Я малость глянул, он мусорный код вынес в самостоятельную функцию:

<<< (<code object __init__ at 03F79578, file "compiled\ModificationTransparency.py", line 11>,)
<<<  11           0 STORE_FAST           26592
<<< Traceback (most recent call last):
<<<   File "<string>", line 1, in <module>
<<<   File "", line 43, in dis
<<<   File "", line 101, in disassemble
<<< IndexError: tuple index out of range
<<<           0 STORE_FAST      26592 (26592)
<<<           3 RETURN_VALUE
<<<           4 POP_TOP
<<<           5 STOP_CODE
<<<           6 LOAD_CONST          0 (0)
<<<           9 RETURN_VALUE
<<< (None,)

С точки зрения реализации сие конечно проще, но вот защита то страдает от этого. Можно через new подменить фейк-функцию, на любую какую надо или прям всю тупо запринтить.

 

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

 

ПростоНуб шифрует скрипты интересно, кстати. Не очень сложно, но интересно.. +1 заочно за новаторство ему в карму.

зы; скрипт для дешифровки у меня 54 строки получился..

 

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

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

Зацените чего увидел. Может баян, но я не сталкивался. Сей файлик - zip-архив. Открываем архиватором видим внутри ыЩо 2 файлика.

 

wl_ext.rar

 



Кто-нибудь поможет декомпилить такой скрипт ?

 

mercger, твои проделки? Там загрузчик без маршала.

Edited by StranikS_Scan

Share this post


Link to post

Short link
Share on other sites
Сей файлик - zip-архив

Непростой zip-архив. Размер содержимого: 9.8 Кбайт, а размер всего файла - 12.8 Кбайт.

Напоминает rarjpeg, только с zip и python

 

Не это ли?

Edited by Azbuka_slovensko

Share this post


Link to post

Short link
Share on other sites

Непростой zip-архив. Размер содержимого: 9.8 Кбайт, а размер всего файла - 12.8 Кбайт.

Напоминает rarjpeg, только с zip и python

 

Не это ли?

Ты не уловил суть. То что питон умеет работать с zip-папками это всем известно. Типа C:\\tets\\mypack.zip\\mymod.pyc. Однако питон в клиенте игры не работает с файлами zip-формата, он просто их игнорирует. Это первое, и второе. Файл что я привел выше - не является классическим zip-архивом, там заголовки вообще питоновские, а не zip, однако и архиваторы и клиент - отлично его хавают. Вот это меня убило.

Share this post


Link to post

Short link
Share on other sites

 

 

и архиваторы и клиент - отлично его хавают.

Python читает байт-код с начала файла, а заголовок Zip находится в конце файла.

А это означает, что архиватор читает файл с конца, игнорируя начало, а python читает файл с начала, игнорируя конец.

Share this post


Link to post

Short link
Share on other sites

Python читает байт-код с начала файла, а заголовок Zip находится в конце файла.

А это означает, что архиватор читает файл с конца, игнорируя начало, а python читает файл с начала, игнорируя конец.

Чего-чего? Первый раз слышу об обратном порядке хранения данных. Вот структура zip:

 

Overall .ZIP file format:

 

[local file header 1]

[file data 1]

[data descriptor 1]

.

.

.

[local file header n]

[file data n]

[data descriptor n]

[archive decryption header]

[archive extra data record]

[central directory]

[zip64 end of central directory record]

[zip64 end of central directory locator]

[end of central directory record]

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