glassman Posted November 23, 2014 Share Posted November 23, 2014 книжки по питону почитай) а что ответить нельзя?плиииз 1 1 @ Quote Link to comment Short link Share on other sites More sharing options...
fecell Posted November 24, 2014 Share Posted November 24, 2014 а что ответить нельзя?плиииз выполни и посмотри результат: if 0: print 'FIG VAM' результата не будет.. print 'FIG VAM' не выполниться.. т.к. 0 <> 1 (в условии если не указана операция сравнения то идет сравнение с True, т.е. с 1, т.е. грубо if 64-64==1: )... т.о. всё условие if 64-64: i1i1i1iiii (и подобные) можно удалять. это кусок от защиты странника (вроде бы) остался после снятия защиты со скрипта от ПростоНуба плагиатором ЛСДМаксом, а дальше ЛСД просто перепаковал декомпиленный исходник не убрав куски от снятой защиты. @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted November 24, 2014 Share Posted November 24, 2014 (edited) это кусок от защиты странника (вроде бы) остался 1. Я ни какой защиты еще не выкладывал. Подозреваю речь шла об упаковке в ZB64, ну какая-это защита, так баловство одно )))) 2. if 64-64:бла бла - это фича из pyobfuscate-master, называется gen_noop_line def gen_noop_line(self): if self.paren_count > 0 or \ self.curly_count > 0 or \ self.square_count > 0: result = "# " else: testint = random.randint(1, 100) result = "if %d - %d: " % (testint, testint) num_words = random.randint(1, 6) for x in range(num_words - 1): op = random.choice((".", "/", "+", "-", "%", "*")) result += self.nametranslator.get_bogus_name() + " %s " % op result += self.nametranslator.get_bogus_name() return result Edited November 24, 2014 by StranikS_Scan @ Quote Link to comment Short link Share on other sites More sharing options...
fecell Posted November 24, 2014 Share Posted November 24, 2014 Я ни какой защиты еще не выкладывал.... pyobfuscate-master ой, ошибся. попадался уже раньше такой код, а память подвела откуда он был... думал что из каких-то твоих скриптов (прошлый или позапрошлый год) это были куски. zb64 - это баловство, согласен.. защита, конечно, но уж от совсем новичков.. @ Quote Link to comment Short link Share on other sites More sharing options...
Yusha Posted December 10, 2014 Share Posted December 10, 2014 (edited) Ребят... просьба и разминка для ума... Попробуйте декомпильнуть.... интересна устойчивость метода. @StranikS_Scan, думаю Вам будет интересно тоже... поэтому взываю по имени :) Edited December 10, 2014 by Yusha @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted December 10, 2014 Share Posted December 10, 2014 (edited) Ребят... просьба и разминка для ума... Попробуйте декомпильнуть.... интересна устойчивость метода. @StranikS_Scan, думаю Вам будет интересно тоже... поэтому взываю по имени :) Я видел предыдущую версию с ретурном во второй позиции и абсолютным джампом за ретурн в начале каждого блока + длинные списки инструкций с мусорными ни чего не делающими переменными в конце блока, которым предшествует абсолютный джамп на ретурн в начало блока. Мельком глянул, в новом скрипте по другому, но ни чего принципиально нового. Если за эталон брать защиту мерца 3-го поколения, то эта хуже её, т.к. эту снять можно вручную, а защиту мерца снимать вручную ни кому не охота, там идёт случайное перемешивание инструкций между собой и с мусором после чего цепочка выполнения выставляется джампами. Если защита строиться только на запутывании последовательности инструкций, то лучше этого придумать нельзя. Сделайте как у него. )))) Edited December 12, 2014 by StranikS_Scan @ Quote Link to comment Short link Share on other sites More sharing options...
Yusha Posted December 10, 2014 Share Posted December 10, 2014 Сделайте как у него. )))) Ок. спс @ Quote Link to comment Short link Share on other sites More sharing options...
fecell Posted December 12, 2014 Share Posted December 12, 2014 Если за эталон брать защиту мерца 3-го поколения, то эта хуже её, т.к. эту снять можно вручную, а защиту мерца снимать вручную ни кому не охота, там идёт случайное перемешивание инструкций между собой и с мусором после чего цепочка выполнения выставляется джампами. мерц восстанавливается без участия человека, исключительно скриптами - достаточно восстановить последовательность и удалить мусор. чтобы восстановить этот скрипт надо переписывать байткод, да вероятно лишь вручную.. можно под каждый такой скрипт написать скрипт-декриптор.. универсального все равно не сделать. вывод - этот скрипт сильнее защищен. Если защита строиться только на запутывании последовательности инструкций, то лучше этого придумать нельзя. Увы, это защита от школьников. Восстанавливаются такие скрипты элементарно просто. Надо понимать что если дан код: print 'bla-bla-bla' LOAD_CONST 'bla-bla-bla' PRINT_ITEM Защита мерца сделает из него примерно так: LOAD_COST 1 POP_JUMP_IF_TRUE X1 <123> <124> X2: PRINT_ITEM JUMP_ABSOLUTE X3 X1: LOAD_CONST 'bla-bla-bla' JUMP_ABSOLUTE X2 X3: ... трассировка байткода дает следующий результат: LOAD_COST 1 POP_JUMP_IF_TRUE X1 <123> <124> X1: LOAD_CONST 'bla-bla-bla' JUMP_ABSOLUTE X2 X2: PRINT_ITEM JUMP_ABSOLUTE X3 X3: ... второй проход удаляет все лишние джампы на следующий по порядку опкод: LOAD_COST 1 POP_JUMP_IF_TRUE X1 <123> <124> X1: LOAD_CONST 'bla-bla-bla' PRINT_ITEM третий проход удаляет оставшийся мусор, меняя на NOP: LOAD_COST 1 POP_JUMP_IF_TRUE X1 NOP NOP X1: LOAD_CONST 'bla-bla-bla' PRINT_ITEM после декомпилируем и получаем if 1: print 'bla-bla-bla' т.е. не приходится делать ничего, кроме как удалить последовательные джампы и мусор. в результате остается практически исходный скрипт. а в случае скрипта от Юши удалять нечего - мусорного байткода нет, и восстановить последовательность невозможно - она реально корректная.. там надо наоборот добавлять байткод в нужные места. в том виде как он есть - он работает, но для декомпиляции требуется выполнить рефакторинг имеющегося (т.е. абстрактно(!) говоря "i <<1" заменить на "i/2", т.к. операцию "<<1" декомпилятор не понимает - нет такой в синтаксисе питона, но она есть в VM-машине питона и может быть использована в байткоде). Это принципиальные отличия обоих защит. Т.ч. кто-то значительно ошибается считая что то, что возможно автоматом восстановить есть более сильная защита чем та, где автоматизировать восстановление практически невозможно и требуется применить ручной анализ. Но надо признать что лоадер у мерца сильнее, простым хуком маршала сам исполняемый скрипт не получить.. Хотя все равно все можно получить уже в самой игре, т.ч. лоадер - это тоже защита от школоло и в расчет можно не брать ;) зы: хм, и все-же где исходный код Юшиного скрипта.. рассуждать можно долго, но важен результат.. метод рефакторинга применяемый к защите мерца дает такой результат.. уверен на 99.99% что исходник был абсолютно другой)) @Yusha, оригинал можно посмотреть? _pQp_ = 'y' _pvp_ = 'p' _pRp_ = 'c' _pwp_ = 'i' _pUp_ = 'r' _pOp_ = 's' _pcp_ = 't' rhc = chr import py_compile 5NF4Z = 24 W9XA3 = 9826 if W9XA3 == 9826: pass 1 if not 5NF4Z == 40: if not 5NF4Z == 36 or 5NF4Z == 42: if not 5NF4Z == 38: if not 5NF4Z == 30: if not 5NF4Z == 26: if not 5NF4Z == 32: if not 5NF4Z == 28: continue continue continue continue continue continue continue continue @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted December 12, 2014 Share Posted December 12, 2014 там надо наоборот добавлять байткод в нужные места. в том виде как он есть - он работает, но для декомпиляции требуется выполнить рефакторинг имеющегося (т.е. абстрактно(!) говоря "i <<1" заменить на "i/2", т.к. операцию "<<1" декомпилятор не понимает - нет такой в синтаксисе питона, но она есть в VM-машине питона и может быть использована в байткоде). Где ты там такое увидел? @ Quote Link to comment Short link Share on other sites More sharing options...
fecell Posted December 12, 2014 Share Posted December 12, 2014 Где ты там такое увидел? ;) @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted December 12, 2014 Share Posted December 12, 2014 (edited) <Суслик> ;) Да с ссуликом это я дал маху, каюсь каюсь выпало из головы когда писал, а он в самом начале блока, смещение в нумерации байтов, дающее прыжок якобы в никуда в обычном диззасме. Действительно рефакторинг. Надо было конечно отметить, мой косяк-с. Тогда, если такой подход применять, то я вижу это так (шифрование), надо перемешать случайно инструкции, добавить мусора, выставить джампы, а потом делать рефакторинг, берем скажем первого суслика по коду (хотя вообще-то надо делать с конца) и делаем его рефакторинг, в результате которого идущий следом код смещается и получается как бы новое состояние кода, затем идем по коду ко второму суслику, делаем его рефакторинг и код переходит во второе состояние. В результате если глянуть такой код в дизасме - то дизасм покажет полную чушь. Бесспорно такой подход будет превосходит защиту мерца 3 поколения на порядок. Выше по коду смещения всем слоем не сделано, но ели его сделать как я написал выше - то тогда в дизасме все инструкции будут левыми и код будет выглядеть как одна большая куча мусора )))) ЗЫ: Молодцы ребята, молодцы ))) Edited December 12, 2014 by StranikS_Scan @ Quote Link to comment Short link Share on other sites More sharing options...
Yusha Posted December 12, 2014 Share Posted December 12, 2014 Yusha, оригинал можно посмотреть Блин... там реально 2 строчки написано... хотелось бы взглянуть.. сможете или нет... я особо не заморачивался :) @ Quote Link to comment Short link Share on other sites More sharing options...
KACTET Posted December 12, 2014 Share Posted December 12, 2014 (edited) ## Проверка ## filename: script.pyc magic number: 0x(03 f3 0d 0a) timestamp: 0 (Thu Jan 01 03:00:00 1970) code co_argcount: 0 co_cellvars: () co_filename: '<dev>' co_firstlineno: 0 co_flags: 0x00040 co_freevars: () co_lnotab: '' co_name: '<module>' co_names: ('_UwU_', '_UZU_', '_UHU_', '_UXU_', '_UfU_', '_UdU_', '_UGU_', '_UgU_', '_UhU_', '_UBU_', '_UxU_', '_UvU_', '_UcU_', '_UtU_', '_UQU_', '_UOU_', '_UNU_', 'chr', 'rhc', 'cj', 'dr', 'e', 'ge', 'getattr', 'c', 'data', 've', 'ord', 'rnd', 'yke', 'list', 'prc', 'len', 'kI', 'xx', 'x', 'lk', 'append', 'ev', '__import__', 'sys', 'os', 'join', 'ssl', 'globals', 'Exception', 'format', 'LYK83', 'TQLL8') co_nlocals: 0 co_stacksize: 73 co_varnames: () co_consts 0 'o' 1 's' 2 'n' 3 'i' 4 'l' 5 'r' 6 'f' 7 'e' 8 'd' 9 'h' 10 'a' 11 'b' 12 'c' 13 't' 14 'p' 15 'm' 16 'y' 17 0 18 (code object) co_argcount: 0 co_cellvars: () co_filename: '<dev>' co_firstlineno: 0 co_flags: 0x00042 co_freevars: () co_lnotab: 'E\xc5\xc3\xd7\x8b\x8c\xff\xa3\xc1H\x8e\xb5\xbc\xdd\xa8\xac\xd8\xfb\xac\x9d\xbc\xda\xa9\x97\x97\xa2\xf2\xf0\xbd\xa6L\xaf\xcf\xd9\xbd[\xa3\xa8\x9d\x9c\xb7\xeb\xb3\xd9QB\xb5\xb2\x98\x9e\x9c\xbe\xb7\xb3I\xa3\xcf\xb2\xa6\xaf\x92\xa9\xd1\xb5\xbc\x9d\xd9\xfb\xbb\xbc\x95\xd8\xd9\x95\xbdW\xf3\xfd\xa8S\x9a\xbc\xd8\xbd\xac\xac\xf2\xa2\xbb\xaf\x8a\xfe\xda\xbd\xb8\x99\xfe\xde\xaf\x92\x9a\xf1\xf0\xafKN\xc1\xf2\x9d\xb2\xaa\xcb\xff\x97\x9dM\xb1\xaf\x96\xad\x92\xac\xb3\x99Q\x9b\xc3\xde\x97\x95\x9c\xd2\xbb\xb3\xa9\xaa\xcb\xd3\xddJ\x97\xd9\xfb\xbf\xb7\x90\xb2\xda\x91J\x95\xc3\xde\xdf\x8f\x8e\xca\xbd\xcc\x99\xa3\xae\xd7\xaf\x9eH\xca\xd8\xcb\xb3\x9d\xd5\xde\xb5S\xbd\xd5\xb7\x9a\x8f\xa1\xd0\xcb\x91\xbdS\xba\xaa\x9fI\xb5\xf2\xd8\xb5\x9eO\xd7\xa3\xdf\xae\x93\xd0\xae\x9fS\xb3\xdf\xd8\xcc\x8d\x8e\xd5\xbd\xd3\xb7R\xd8\xc3\x99K\xbd\xf9\xc8\xb5\x8c\x8a\xd2\xb3\xab\xa6\x92\xa9\xcd\xdb\xb0\xb5\xb4\xb9\x9cQ\xb0\xa9\xcd\xb0\x9b\xa9\xeb\xad\xa6\x99\x88\xda\xcc\xbe\x8e\xb5\xc9\xd8\xa9\x95\x88\xff\xab\xab\x9c\xbe\xc9\xd3\x9d\xaf\xa9\xdf\xa2\xd9\x9a\xa8\xc1\xd3\xdbK\xac\xdc\xd7\xb8\xb0\xb4\xcc\xa9\xac\xbc\xb1\xbe\xc8\xa9\x89\xbd\xb7\xb6\xc8N\x89\xc3\xb1\x9a\xbc\x8d\xbc\xd6\xb1\x9c\xb6\xf0\xba\xb6\x8e\xb3\xc8\xf2\xd9\xbf\x89\xd9\xb9\xba\x95B\xb4\xdf\xa8\xa1\xbf\xf3\xda\xc1\x94\xb5\xaf\xad\xcbJN\xd7\xcf\xbc\xba\xbb\xb3\xc9\xbdMA\xcd\xfe\xcd\xbd\xb3\xc3\xb7\xa6\xbf\x99\xc9\xc2\xa6NA\xa8\xf2\xc1\x98\xbd\xaf\xda\xbbA\x98\xdf\xc3\x90AC\xb3\xf3\xbfM\xb8\xd5\xbb\xc1\x96\xae\xc8\xac\xd0H\xbc\xfd\xa3\xdbQ\x95\xff\xcc\x9c\xb2\xb0\xcc\xaf\xb0\x9c\xaa\xfe\xf2\xcd\x9e\xb0\xb6\xa2\x97\x92C\xc1\xf1\xb2A\x89\xdc\xc3\xabS\x8f\xd3\xf3\xb7\x9fN\xb8\xb8\xb1\xae\xbb\xaf\xd2\xba\xb6\xb5\xdc\xbd\xcc\xa1\xbf\xd9\xae\xcf\x8d\x8f\xfc\xa3\xb5J\xb1\xb9\xb5\xb4\x99\xb7\xf2\xcd\xc9\xb5P\xc3\xcb\xb3\x95\xbf\xb8\xcf\xb1\xaeC\xd1\xda\xb7\x9a\xbe\xf7\xb8\xbdA\x9b\xbf\xd1\xd9\xbdP\xce\xb0\xb2\x9d' co_name: 'ge' co_names: ('join', 'dr', '_UNU_', '_UZU_', 'e', 'cj', '_UfU_', '_UHU_', 'X63CF', 'L0UKE') co_nlocals: 0 co_stacksize: 72 co_varnames: () co_consts 0 None 1 '' 2 (code object) co_argcount: 1 co_cellvars: () co_filename: '<dev>' co_firstlineno: 0 co_flags: 0x00062 co_freevars: () co_lnotab: '' co_name: '<genexpr>' co_names: ('cj', 'QVKIZ', 'ZQY72') co_nlocals: 2 co_stacksize: 69 co_varnames: ('.0', 'c') co_consts 0 None 1 9475 2 7 3 364 4 8 co_code 71 06 00 53 91 52 7c 00 00 5d 21 00 7d 01 00 74 00 00 7c 01 00 83 01 00 64 01 00 64 02 00 6e 12 00 64 03 00 64 04 00 6e 09 00 71 09 00 64 00 00 71 03 00 5a 01 00 5a 02 00 65 02 00 64 03 00 6b 02 00 72 49 00 01 6e 01 00 56 65 01 00 64 04 00 6b 02 00 73 2a 00 71 21 00 disassembled: Это какой то Morphism. Edited December 13, 2014 by KACTET 2 2 @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted December 23, 2014 Share Posted December 23, 2014 Увидел вот такое, внутри мод АТАС... позабавило и причем тут Warrok... t = 'arAFebS9G4cRw3BZFUQiMRNlc7' if (t != str(2)) and (2 <= 33): t = 'qixFenVYVN/39....................9P8A+WHC' if (int('1') <= 32) and (t != str(1)): t = 'J' + t[2:].replace('jo' + t[24:25] + 'ar', str(1)) + 'W' + t[30:31] + '=' else: t = 'placet ' t = None if (t is not None) and ((t != str(0)) and (0 <= 31)): a = __import__(t[258:259] + 'rfcheats '[5:6] + 'xor '[2:3] + t[236:237] + 'ha' + t[42:43]).loads(('mercger '[1:2] + t + '=').decode('b' + 'WoT Account Stealer by \\/\\/ARR0CK '[15:16] + t[236:237] + '__export__t'[2:3] + t[92:93] + str(4)).decode('z' + t[42:43] + 'i' + 'b')) else: t = 'unloadst ' t = 'encode( ( ( ' t = None @ Quote Link to comment Short link Share on other sites More sharing options...
sae Posted December 24, 2014 Share Posted December 24, 2014 Ребят... просьба и разминка для ума... Попробуйте декомпильнуть.... интересна устойчивость метода. Так ведь lelicopter уже давно похожим способом криптует свой мод Horn @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted December 24, 2014 Share Posted December 24, 2014 (edited) Так ведь lelicopter уже давно похожим способом криптует свой мод Horn Нэээ, там только скриптовый блок ненужных переменных и констант похожий как у него, а модификация байт-кода там новая оригинальная. Но кое в чем вы правы ))) Мда, прикол за приколом... вот кому-то делать что ли не чего: code 71f9006a0700830000016e00006400005369000004640100640200033c04 640300740000033c0464040074000003713a00713700712b01716401714e 00714b00731e5ff1f9071cf86d42517111003c0471560071280164050071 8300790509d42b60717500fa071998e33518dfbd17f96c03371408aa8368 5bee57068235244fd63e3e640600033c7d020064070071a10083324f7e0a 69f6790dd6876837f619307c00006b070072b70071b00071310064000053 6e00007403007c0000640700198301007d04007c04007c020071d3007153 0071e000bbe8281cd4c07bb74b046a050083000071f300508edc688f6d19 72c1386b060071fc00713400711101e3480c1b61064ab11e1276aa1100dc b75520720d00712501d33a78e3e223066bcb702bea5d20713101712e0171 ad00713d007c02007c0400197400007147012b94bb113ac2ba7817715401 a0d92723b4ef6872413e6b0900727e017c02007c04001971670171d00071 79013caf18554e2ef5773f983e72ee571847486e0000740600710300 consts None '90949' '\xd0\x90\xd0\xbd\xd1\x8f, \xd0\xb0\xd0\xbd\xd1\x8f...' '17799492' '5980355' '303525' '\xd0\x9d\xd1\x83 \xd1\x82\xd1\x8b \xd0\xb6\xd0\xb5 \xd0\xbf\xd1\x80@\xd0\xb3\xd1\x80\xd0\xb0\xd0\xbc\xd0\xbc\xd0\xb8\xd1\x81\xd1\x82!' 'databaseID' 'given to: 0' names ('None', 'BANLIST', 'account', 'str', 'DBID', 'keys', 'BigWorld', 'quit') varnames ('account', 'None', 'BANLIST', 'str', 'DBID', 'keys', 'BigWorld', 'quit') freevars () cellvars () filename 'PMOD.py' name 'PMODcheckForBan' firstlineno 112 lnotab 000200011001090111040c010702100212011c01 ('g_playerEvents',) 'given to: 0' names ('None', 'PMOD_NAME_REPLACE', 'cPickle', 'Vehicle', 'ClientArena', 'new__onVehicleListUpdate', '_ClientArena__onVehicleListUpdate', 'new__onVehicleAddedUpdate', '_ClientArena__onVehicleAddedUpdate', 'new__onVehicleUpdatedUpdate', '_ClientArena__onVehicleUpdatedUpdate', '__init__', 'link__vehicle_init', 'new__vehicle_init', 'PMODcheckForBan', 'PlayerEvents', 'g_playerEvents', 'onAccountShowGUI') varnames ('self', 'None', 'PMOD_NAME_REPLACE', 'cPickle', 'Vehicle', 'ClientArena', 'new__onVehicleListUpdate', '_ClientArena__onVehicleListUpdate', 'new__onVehicleAddedUpdate', '_ClientArena__onVehicleAddedUpdate', 'new__onVehicleUpdatedUpdate', '_ClientArena__onVehicleUpdatedUpdate', '__init__', 'link__vehicle_init', 'new__vehicle_init', 'PMODcheckForBan', 'PlayerEvents', 'g_playerEvents', 'onAccountShowGUI') freevars () cellvars ('link__vehicle_init', 'cPickle', 'PMOD_NAME_REPLACE') filename 'PMOD.py' name 'hideFunctional' firstlineno 54 lnotab 0001000122011b011b011a020c0110011002120e0901120b0901120a0903 09011204090209111001 90949 - тыц. \xd0\x90\xd0\xbd\xd1\x8f, \xd0\xb0\xd0\xbd\xd1\x8f... - "Аня, аня..." 17799492 - тыц. 5980355 - тыц. 303525 - тыц. \xd0\x9d\xd1\x83 \xd1\x82\xd1\x8b \xd0\xb6\xd0\xb5 \xd0\xbf\xd1\x80@\xd0\xb3\xd1\x80\xd0\xb0\xd0\xbc\xd0\xbc\xd0\xb8\xd1\x81\xd1\x82! - "Ну ты же пр@граммист!" Edited December 24, 2014 by StranikS_Scan 2 @ Quote Link to comment Short link Share on other sites More sharing options...
sae Posted December 24, 2014 Share Posted December 24, 2014 Мда, прикол за приколом... вот кому-то делать что ли не чего: Список негодников Санты? :) @ Quote Link to comment Short link Share on other sites More sharing options...
StranikS_Scan Posted December 24, 2014 Share Posted December 24, 2014 (edited) Список негодников Санты? :) Не то слово Да тут походу не только Санта, а еще и его Олени, тут целый заговор Вот другой мод: code argcount 1 nlocals 1 stacksize 5 flags 0043 code 712900640600711200a3dd6fe6f62b2a41276b06007225007400006a0100 830000016e0000640000537c000064010019710300 consts None 'databaseID' 90949 17799492 5980355 303525 (90949, 17799492, 5980355, 303525) 'given to: phantasm' names ('BigWorld', 'quit') varnames ('account',) freevars () cellvars () filename 'c:\\p27\\iamspotted.py' name 'banCallback' firstlineno 93 lnotab 000107010001000100010901 'given to: phantasm' names ('BigWorld', 'Keys', 'ResMgr', 'PlayerEvents', 'g_playerEvents', 'debug_utils', 'LOG_DEBUG', 'LOG_ERROR', 'gui', 'SystemMessages', 'gui.shared', 'g_itemsCache', 'Avatar', 'PlayerAvatar', 'constants', 'SERVER_TICK_LENGTH', 'VEHICLE_MISC_STATUS', 'VEHICLE_HIT_FLAGS', 'gui.WindowsManager', 'g_windowsManager', 'ClientChat', 'time', 'gmtime', 'strftime', 'messenger.m_constants', 'PROTO_TYPE', 'messenger.proto', 'proto_getter', 'gui.battle_control', 'g_sessionProvider', 'BW_CHAT2', 'proto', 'None', 'enableSpottedMsg', 'ntime', 'updateVehicleMiscStatus', 'oldf', 'z_updateVehicleMiscStatus', 'helpmeMsg', 'btn', 'onUpdateHookBtn', 'banCallback', 'onAccountShowGUI') Edited December 24, 2014 by StranikS_Scan @ Quote Link to comment Short link Share on other sites More sharing options...
POLIROID Posted December 25, 2014 Share Posted December 25, 2014 Дык ребята, усе проплачено =) 5 @ Quote Link to comment Short link Share on other sites More sharing options...
glassman Posted December 27, 2014 Share Posted December 27, 2014 Сможете показать как такой скрипт разбирать? Obfuscator = __import__ exec Obfuscator('marshal').loads('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'.decode('base64').decode('zlib')) я с самого начала дал а то вдруг где то ошибся с маршалом 2 @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
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.