StranikS_Scan 4,203 #315545 Posted February 28, 2016 В их Issues кинул эти баги? Нет. Сел копаться с AST .. там реально черт ногу сломит. Однако вот без приколов ни куда. Вывел в лог внутренние правила перехода от псевдо-инструкций (они слева) в AST-команды (они справа): <<< {('START', ('|-', 'stmts')): 'ambda>', <<< ('_come_from', ()): 'list_comprehension', <<< ('_come_from', ('COME_FROM',)): 'list_comprehension', <<< ('_for', ('GET_ITER', 'FOR_ITER')): 'grammar', <<< ('_for', ('LOAD_CONST', 'FOR_LOOP')): 'grammar', .... Первая же строка привлекает внимание багом в имени 'lambda' )))))))))) А ведь по эти правилам формируется из исходного псевдо-кода AST-дерево по которому генерируется питон-скрипт ))))) Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #315554 Posted February 28, 2016 Нет.А стоило бы. Quote Share this post Link to post Short link Share on other sites
MakcT40 331 #316536 Posted March 8, 2016 Оффтоп: Альтернативный туториал-режим. В сентябре здесь в теме выкладывал модик для случаев, когда тестирования в реплее недостаточно, а в бой идти неохота. С модом в "Боевое обучение" входим как в обычный бой (интерфейс, возможность активации снайперского прицела на старте и прочее). В 0.9.14 мод перестал работать, ниже обнова. #mod_tutorial_alt09E.py from Avatar import PlayerAvatar old_onBecomePlayerTA = PlayerAvatar.onBecomePlayer def new_onBecomePlayerTA(self): if self.arenaGuiType == 4: self.arenaGuiType = 0 old_onBecomePlayerTA(self) PlayerAvatar.onBecomePlayer = new_onBecomePlayerTA 3 Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #316542 Posted March 8, 2016 @MakcT40, в предпоследней строке неплохо бы дописать return на всякий, а так норм патч)) Хотя лично я обычно для этих целей через Sandboxie запускаю второй клиент и приглашаю тестового твинка в треню.) Quote Share this post Link to post Short link Share on other sites
MakcT40 331 #316543 Posted March 8, 2016 (edited) Можно и без "песочницы" через мультизапуск. Но лень же. ;) Насчёт return - в оригинальной функции нет его, не стал ставить и в моде. Edited March 8, 2016 by MakcT40 Quote Share this post Link to post Short link Share on other sites
fecell 125 #316550 Posted March 9, 2016 в предпоследней строке неплохо бы дописать return на всякий никаких "всяких" не будет. def foo(): pass станет LOAD_CONST, None RETURN_VALUE, None т.ч. смысла в синтаксическом сахаре нет.. ;) 2 Quote Share this post Link to post Short link Share on other sites
VasyaPRO_2014 163 #320242 Posted March 22, 2016 Не могу декомпилировать World_of_Tanks\res\scripts\client\account.pyc. Вернее декомпилировать могу но при компиляции обратно клиент перестает работать. Пробовал и Uncompyle2 и Decompyle++ и Fupy. Не работает. Причем после декомпиляции Decompyle++ скрипт даже не компилируеться обратно. Что я делаю не так, и как это исправить? Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,203 #320250 Posted March 22, 2016 (edited) Не могу декомпилировать World_of_Tanks\res\scripts\client\account.pyc. Вернее декомпилировать могу но при компиляции обратно клиент перестает работать. Пробовал и Uncompyle2 и Decompyle++ и Fupy. Не работает. Причем после декомпиляции Decompyle++ скрипт даже не компилируеться обратно. Что я делаю не так, и как это исправить? Пытаешься скомпилировать декомпилированный скрипт. Ни как не исправить. Декомпиляторы несовершенны и периодически выдают неверный код. Поэтому не стоит компилировать обратно такие скрипты. Так ни кто не делает. Нужно делать хуки на константы, функции и классы. Edited March 22, 2016 by StranikS_Scan Quote Share this post Link to post Short link Share on other sites
MakcT40 331 #320278 Posted March 22, 2016 Не могу декомпилировать World_of_Tanks\res\scripts\client\account.pyc. Вернее декомпилировать могу но при компиляции обратно клиент перестает работать.Прикладываю работающий после компиляции.account09E_src.zip 2 Quote Share this post Link to post Short link Share on other sites
ZorroJan 17 #320800 Posted March 25, 2016 После последнего микропатча перестал орион отображать лог. Странник поправь пожалуйста. И ещё вопрос. Когда мы увидим поправленную версию с починенным обфускатором напоминаю, если забыл [03.02.2016 22:31:34] ZorroJan: Скачал орион 132 кое что нашёл из багов[03.02.2016 22:31:44] ZorroJan: в тест версии не было[03.02.2016 22:31:50] ZorroJan: вот строка[03.02.2016 22:31:53] ZorroJan: def isAlive(id):return isOnArena()and BigWorld.player().arena.vehicles.get(id)['isAlive'][03.02.2016 22:32:43] ZorroJan: попробуй сделать обфускацию сначало по структкре, потом по стринговым переменным[03.02.2016 22:33:28] ZorroJan: после структуной будет кусок остаточный cles[03.02.2016 22:33:36 | Изменены 22:33:43] ZorroJan: увидишь[03.02.2016 22:37:07] StranikS_Scan: погляжу[03.02.2016 22:38:10] StranikS_Scan: всё понятно из-за скобок, исправлю и возможно побалуешь новым исправленным декомпилятором6 )) Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,203 #320804 Posted March 25, 2016 Когда мы увидим поправленную версию с починенным обфускатором Как только вылезу из трясины ункомпил6. Вроде свет в конце туннеля очень близко. Еще чуть-чуть. Quote Share this post Link to post Short link Share on other sites
REAL25 0 #321022 Posted March 26, 2016 (edited) *** Traceback (most recent call last): *** File "C:\*\PjOrion\wottransmission.zip\wottransmission\transmitter.py", line 91, in orion_transfer_check *** exec compile(code,'','exec') in sys.modules['__main__'].__dict__ *** File "", line 7 *** SyntaxError: can't assign to literal импорт Edited March 26, 2016 by REAL25 Quote Share this post Link to post Short link Share on other sites
fecell 125 #321165 Posted March 27, 2016 (edited) exec compile(code,'','exec') in sys.modules['__main__'].__dict__ Во время компиляции кода (который в переменной code) возникла синтаксическая ошибка. Смысл примерно такой: 1abc='Hello World!' Название переменной ошибочное. Проверяй свой исходник. Edited March 27, 2016 by fecell Quote Share this post Link to post Short link Share on other sites
REAL25 0 #321170 Posted March 27, 2016 (edited) это сообщение появляется только при импорте WOT передатчик после последнего патча микро Edited March 27, 2016 by REAL25 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,203 #321387 Posted March 28, 2016 (edited) С новым файлом debug_utils.pyc в res_mods и работой трасмиттера все разобрались? Кто не разобрался еще, поясняю. Трансмиттер грузиться за счет хука на этот файл, т.е. на debug_utils.pyc. Если такой файл положить в res_mods (а трасмиттер в path.xml грузиться после папки res_mods), то Орион к клиенту не подключится. Поэтому убирайте файл debug_utils.pyc из res_mods в папку res Edited March 28, 2016 by StranikS_Scan Quote Share this post Link to post Short link Share on other sites
IzeBerg 128 #321388 Posted March 28, 2016 С новым файлом debug_utils.pyc в res_mods и работой трасмиттера все разобрались? Кто не разобрался еще, поясняю. Трансмиттер грузиться за счет хука на этот файл, т.е. на debug_utils.pyc. Если такой файл положить в res_mods (а трасмиттер в path.xml грузиться после папки res_mods), то Орион к клиенту не подключится. Поэтому убирайте файл debug_utils.pyc из res_mods. Ох уж этот микропатч? =) Quote Share this post Link to post Short link Share on other sites
akey 35 #321410 Posted March 28, 2016 Мне больше интересно для какой цели debug_utils.pyc вообще появился в клиенте? И сервера в нем прописаны, что то куда то слать :) особенно заинтересовал один из них, имеющий DNS имя :) Quote Share this post Link to post Short link Share on other sites
spoter 1,402 #321411 Posted March 28, 2016 Мне больше интересно для какой цели debug_utils.pyc вообще появился в клиенте? И сервера в нем прописаны, что то куда то слать :) особенно заинтересовал один из них, имеющий DNS имя :) борьба со всплывшим трояном. Quote Share this post Link to post Short link Share on other sites
akey 35 #321412 Posted March 28, 2016 Просто удивительно что затронули неприкосновенную, так сказать, папку. Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,203 #321421 Posted March 28, 2016 (edited) Просто удивительно что затронули неприкосновенную, так сказать, папку. Засунули в res_mods так как это временное решение, перетаскивайте его в res. Пока возился с ункомпил6 вставил в дизассемблер символьные отступы, чтоб структуру кода было немного видно. < File: C:\Python27\Projects\0.9.14_136_Decompile_WOT\res_bw\scripts\common\lib\idlelib\a2.pyc <<< ------------------------------------------------------------------ <<< ******************** code beginning (level 0) ******************** <<< discode[hexcode]: <<< | 1 0 SETUP_LOOP [78 6D 00] 109 (to 112) <<< | >> 3 | LOAD_NAME [65 00 00] 0 (a) <<< | 6 | LOAD_CONST [64 00 00] 0 (2) <<< | 9 | COMPARE_OP [6B 00 00] 0 (<) <<< | 12 | POP_JUMP_IF_FALSE [72 6F 00] 111 <<< | 2 15 | · SETUP_LOOP [78 57 00] 87 (to 105) <<< | >> 18 | · | LOAD_NAME [65 01 00] 1 (b) <<< | 21 | · | LOAD_CONST [64 01 00] 1 (3) <<< | 24 | · | COMPARE_OP [6B 00 00] 0 (<) <<< | 27 | · | POP_JUMP_IF_FALSE [72 68 00] 104 <<< | 3 30 | · | · LOAD_NAME [65 01 00] 1 (b) <<< | 33 | · | · LOAD_CONST [64 02 00] 2 (1) <<< | 36 | · | · COMPARE_OP [6B 02 00] 2 (==) <<< | 39 | · | · POP_JUMP_IF_FALSE [72 30 00] 48 <<< | 4 42 | · | · · JUMP_ABSOLUTE [71 12 00] 18 <<< | 45 | · | · · JUMP_ABSOLUTE [71 12 00] 18 <<< | 6 >> 48 | · | · SETUP_EXCEPT [79 09 00] 9 (to 60) <<< | 7 51 | · | · + LOAD_CONST [64 02 00] 2 (1) <<< | 54 | · | · + PRINT_ITEM [47 -- --] <<< | 55 | · | · + PRINT_NEWLINE [48 -- --] <<< | 56 | · | · + POP_BLOCK [57 -- --] <<< | 57 | · | · + JUMP_ABSOLUTE [71 12 00] 18 <<< | 8 >> 60 | · | · POP_TOP [01 -- --] <<< | 61 | · | · POP_TOP [01 -- --] <<< | 62 | · | · POP_TOP [01 -- --] <<< | 9 63 | · | · LOAD_NAME [65 02 00] 2 (open) <<< | 66 | · | · LOAD_CONST [64 03 00] 3 () <<< | 69 | · | · LOAD_CONST [64 03 00] 3 () <<< | 72 | · | · CALL_FUNCTION [83 02 00] 2 <<< | 75 | · | · SETUP_WITH [8F 11 00] 17 (to 95) <<< | 78 | · | · * STORE_NAME [5A 03 00] 3 (f) <<< | 10 81 | · | · * LOAD_NAME [65 03 00] 3 (f) <<< | 84 | · | · * LOAD_ATTR [6A 04 00] 4 (close) <<< | 87 | · | · * CALL_FUNCTION [83 00 00] 0 <<< | 90 | · | · * POP_TOP [01 -- --] <<< | 91 | · | · * POP_BLOCK [57 -- --] <<< | 92 | · | · * LOAD_CONST [64 04 00] 4 (None) <<< | >> 95 | · | · WITH_CLEANUP [51 -- --] <<< | 96 | · | · END_FINALLY [58 -- --] <<< | 97 | · | · JUMP_ABSOLUTE [71 12 00] 18 <<< | 100 | · | · END_FINALLY [58 -- --] <<< | 101 | · | · JUMP_ABSOLUTE [71 12 00] 18 <<< | >> 104 | · | POP_BLOCK [57 -- --] <<< | 12 >> 105 | · JUMP_ABSOLUTE [71 03 00] 3 <<< | 108 | · JUMP_ABSOLUTE [71 03 00] 3 <<< | >> 111 | POP_BLOCK [57 -- --] <<< | >> 112 LOAD_CONST [64 04 00] 4 (None) <<< | 115 RETURN_VALUE [53 -- --] <<< consts: <<< (0) 2 <<< (1) 3 <<< (2) 1 <<< (3) '' <<< (4) None <<< ********************** code ending (level 0) ********************* Для юзания просто перекачайте архив: dispack.zip Edited March 28, 2016 by StranikS_Scan 2 Quote Share this post Link to post Short link Share on other sites