Имеем страничку, где логика по вводу данных зашита во флеш _http:// l 2 t o p . r u /vote/3577/ сам флеш /StrongCap t cha.swf флеш с обфускацией пробовал воостановить исходники ac3 декомпилерами Flash Decompiler Trillix отвалился AC3 Sorcerer декомпильнул, но код выдал запутаный, вида Code: private function do (_arg1:BitmapData, _arg2:int):ByteArray{ var _local9:uint; trace(("offset: " + _arg2)); var _local3:uint = _arg1.width; var _local4:uint = _arg1.height; var _local5:ByteArray = _arg1.getPixels(new Rectangle(0, 0, _local3, _local4)); var _local6:uint = _arg2; var _local7:ByteArray = new ByteArray(); var _local8:int; //unresolved jump return (_local7); if (_local8 >= 800){ trace( do.byteArrayToString(_local7)); //unresolved jump _local8 = (_local8 + 100); //unresolved jump trace(("=" + _local9)); //unresolved jump _local7.writeByte(_local9); //unresolved jump //unresolved jump }; _local9 = _local5[(_local6 + _local8)]; //unresolved jump } вопрос следующий каким средством можно воспользоваться чтобы в какомто виде получить исходник более менее читаемый (без нерасгаданых //unresolved jump , покаверканых циклов и условных операторов и тому подобных прелестей) , хотябы на уровне опкодов? или есть ли какието способы внедрить код в флешку (swf) и посмотреть состояние переменной , чтото типа trace(_local7) только без исходника) на уровне кодов? а задача в следующем, нужно определить 8 байтный ключ которым расшифровывается входящий трафик(во флеше выполняется GET запрос, потом расшифровывается) и ключ которым криптуется исходящий (формируется POST запрос, часть переменных в котором закриптована) оба ключа формируются следующим образом Code: package { import flash.display.*; public dynamic class EraseMeBitmap extends BitmapData { public function EraseMeBitmap(_arg1:int=173, _arg2:int=63){ super(_arg1, _arg2); } } }//package ... private var ?%:ByteArray; private var `$:ByteArray; this.`$ = this.do (new EraseMeBitmap(), 7463); //unresolved jump this.?% = this.do (new EraseMeBitmap(), 2325); где процедура do описана выше в каком направлении копать? какие средства использовать для получения исходника на уровне опкодов, может там получится понять алгоритм формирования ключа? или как можно протрассировать флеш и посмотреть состояние переменных в определенной точке? к сожалению опыта работы с флешем мало или если есть желающие, которые готовы взяться за эту работу, естественно не бесплатно, пишите в аську 190шесть66131 , обсудим
пробовал, при по пытке посмотреть секции с кодом на этом флеше sothink swf decompiler завершает работу вобщем вопрос решен, добился нужного результата используя утилиты отсюда _https://github.com/CyberShadow/RABCDAsm/blob/master/README.md?locale=ru
Я предварительно проверил работу тулзы на предлагаемом файле, все было ок. Чего попало не стал бы советовать. Впрочем, рад что сами все решили