![]() |
eXeL@B —› Вопросы новичков —› Скопилировать обратно swf |
Посл.ответ | Сообщение |
|
Создано: 22 июня 2011 02:43 · Личное сообщение · #1 Добрый вечер! Подскажите в чем проблема и как ее решить. Суть в том что имеют swf файл. Декомпилировал его с помощью Sothink SWF Decompiler последней версии. ActionScript и другие ресурсы просматриваются очень хорошо. В итоге получил fla c кучей других файлов as с кодом. Поправил одно значение а именно изменил this.user_id = int(this.par.user_id); на this.user_id = 1; в файле FightConfig.as попробовал собрать но в итоге ошибка. Но ошибка не в данном месте где изменил. Решил попробовать пересобрать без изменений, но результат тот же. Я так понимаю что сверху наложена какая то обфускация других идей почему не собирается у меня просто нет. Если так то подскажите как ее снять. Исходный файл с декомпилированной версией прилагаю. С уважением cardon. ![]() ![]() |
|
Создано: 22 июня 2011 03:15 · Личное сообщение · #2 используй rabcdasm. это флеш дизассемблер для action script 3 для as2 используй flasm ![]() |
|
Создано: 22 июня 2011 11:21 · Поправил: cardon · Личное сообщение · #3 FanRa3 Спасибо попробовал разобрать с помощью rabcdasm вроде удачно. Теперь пытаюсь понять как изменить его значение открыл файл FightConfig.class.asasm. Нашел определение типа переменной trait slot QName(PackageNamespace(""), "user_id") type QName(PackageNamespace(""), "int") end Я так понимаю то что было this.user_id = int(this.par.user_id); в программе Sothink SWF Decompiler стало debugline 201 getlocal0 findpropstrict QName(PackageNamespace(""), "int") getlocal0 getproperty QName(PrivateNamespace("FightConfig", "FightConfig#0"), "par") getproperty Multiname("user_id", [PrivateNamespace("FightConfig", "FightConfig#0"), PackageNamespace(""), PrivateNamespace("FightConfig.as$82", "FightConfig#1"), PackageInternalNs(""), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("FightConfig"), StaticProtectedNs("FightConfig"), StaticProtectedNs("ru.technomagic.config:ConfigBase"), StaticProtectedNs("Object")]) callproperty QName(PackageNamespace(""), "int"), 1 initproperty QName(PackageNamespace(""), "user_id") Но к сожалению не могу понять как заменить тут данный параметр на 1 Мне кажеться что надо изменить строку getproperty Multiname("user_id", [PrivateNamespace("FightConfig", "FightConfig#0"), PackageNamespace(""), PrivateNamespace("FightConfig.as$82", "FightConfig#1"), PackageInternalNs(""), Namespace("http://adobe.com/AS3/2006/builtin"), ProtectedNamespace("FightConfig"), StaticProtectedNs("FightConfig"), StaticProtectedNs("ru.technomagic.config:ConfigBase"), StaticProtectedNs("Object")]) на getproperty Multiname("user_id", "1") Но я точно не уверен. Подскажите кому не сложно. Буду очень благодарен. ![]() |
|
Создано: 22 июня 2011 14:21 · Личное сообщение · #4 |
|
Создано: 24 июня 2011 13:11 · Поправил: [HEX] · Личное сообщение · #5 Всё верно Code:
менять на Code:
Если лень доки читать, то делай по образцу: Находишь аналогичные строчки в скриптах декомпилированых сочником и смотришь как выглядят в asasm файле и пишешь по аналогии. Если ничего похожего нет, то берешь и сам пишешь на флеше пару строк, компилируешь, прогоняешь через rabcdasm и видишь что тебе нужно. ![]() ----- Computer Security Laboratory ![]() |
|
Создано: 10 июля 2011 19:19 · Личное сообщение · #6 |
|
Создано: 11 июля 2011 14:57 · Личное сообщение · #7 |
|
Создано: 11 июля 2011 21:59 · Личное сообщение · #8 |
|
Создано: 12 июля 2011 01:04 · Личное сообщение · #9 |
![]() |
eXeL@B —› Вопросы новичков —› Скопилировать обратно swf |