Вытащил из флэшки функцию генерирующую hash. Запускаю функцию в Flash Builder получаю хэш отличный от создаваемого флэшкой. У меня получается - 6bb671486a1f2990ac5bbe25904dd11a У фэлехи - 33008d1daab632d3b2324d2b3db0b805 Проект для Flash Builder http://narod.ru/disk/41874077001.54d3290d45ae3ae8fa8ae45733e3327b/funcsig.zip.html Функция: Code: //данные var rdata:Object = {sk:"0",dn:"0",uid:"0",c:"load"}; public static function getSig(param1:Object) : URLRequest { var i:String; var request4:URLRequest; var j:int; var aa:int; var bb:int; var cc:int; var dd:int; var param:* = param1; var transform:* = function (param1:Function, param2:int, param3:int, param4:int, param5:int, param6:int, param7:int, param8:int) : int { var _loc_9:* = param2 + int(null.param1(param3, param4, param5)) + param6 + param8; return IntUtil.rol(_loc_9, param7) + param3; }// end function ; var request:* = new URLRequest(); var $44$:Array; var $33$:String; request.data = param; request.method = URLRequestMethod.POST; var _loc_3:int = 0; var _loc_4:* = request.data; while (_loc_4 in _loc_3) { i = _loc_4[_loc_3]; $44$.push({field:i, value:request.data[i]}); } request4 = new URLRequest(); $44$.sortOn("field"); $44$.reverse(); $33$; $44$.reverse(); j; while (j < $44$.length) { $33$ = $33$ + ($44$[j].field + "=" + $44$[j].value + ","); j = (j + 1); } $44$.reverse(); $44$.reverse(); if (param.t) { } if (param.t % 2) { $33$ = $33$ + "j9rfOvopijmlear3"; } else { $33$ = $33$ + "gf65hgh78h5emvvq"; } var a:int; var b:int; var c:int; var d:int; var md5:* = MD5.hash($33$); $44$.reverse(); $44$.reverse(); j; while (j < 32) { j = (j + 1); } request.data.x = md5; var digest:* = new ByteArray(); digest.writeInt(a); digest.writeInt(b); digest.writeInt(c); digest.writeInt(d); digest.position = 0; return request; }
А оригинал флэшки можете вылить? И сказать где именно эта функция там находится - может декомпилятор что вы использовали напортачил? Ну и то что вы передаёте в эту функцию совпадает с тем, что туда передаётся в оригинальной swf?