Поскольку я не силен в actionScript, я делал так:
1. Установил MacroMedia Flash и Adobe Flash, по скольку хз на чем из них изначально писалась игра.
2. Взял пример флешки где есть вывод результата в дебаг по нажатию на кнопку какую-нибудь.
3. Повесил на эту кнопку функцию генерации сигнатуры без MD5.
4. Скомпилировал Флешку, - если скомпилировалось, значит угадал со средой разработки флешки, если нет, делаем проект в другой среде (так я определял где писалась флешка, - в какой скомпилировалось с той и работал)
4. Поняв из чего происходит генерация, подал на вход нужные параметры запроса. (запрос брал посланный игрой, что бы была истинная sig).
5. Получил в дебаге строку из которой генерируется MD5.
6. Сгенерировал MD5 и сравнил с sig ... и у меня совпало.
Дальше все стало понятно. По мне это было проще, чем ломать голову со скриптом. Попробуй повторить мои шаги.
Тебе надо будет вставить функцию генерации сигнатуры, но изменить в ней генерацию МД5 от результата в вывод в дебаг результата без генерации МД5.
а так же на кнопку повесить использование этой функции, прямо куском кода.
Код:
var rndGet:* = (Math.round(Math.random() * 65000) + 1);
var aData:* = new URLVariables();
if (!aData["uid"])
{
aData["uid"] = uid;
}
aData["api"] = aApiName;
aData["app"] = app;
var _loc_5:int = 0;
var _loc_6:* = aMyParams;
while (_loc_6 in _loc_5)
{
i = _loc_6[_loc_5];
aData[i] = aMyParams[i];
}
aData["sig"] = generateSignature(aData, rndGet.toString());
Что то типа такого, и соответственно заполнив системные переменные (aApiName, app, uid - руками присвоить значения), которые потребуются. Вот как-то так.