Просмотр полной версии : нужно как бы удалённо изменить ActionScript
sanyasanya
12.08.2010, 19:43
привет всем!
подскажите.. мне нужно поменять одну строчку кода в swf файле.
есть такая программа? чтоб зайти через программу внутрь swf, изменить код и выйти. чтоб никаких перекомпеляций во ФЛА и разных страшных слов:)
как бы нельзя. Если только через хаки, дизассемблеры и тому подобное...
Если только через хаки, дизассемблеры и тому подобное... - про это даже и речи быть не может
ищи исходник и меняй
про это даже и речи быть не может
Если это его собственная SWF, то почему бы и нет? Если чужая, то да - взлом и т.п.
sanyasanya
12.08.2010, 21:18
флешка моя. долго использовалась, а теперь нужно совсем чуть-чуть поменять, а фла уже давно удалён.. фла искать негде, потому что его нет :)
а что такое хаки и диссасемблер?
ты можешь в таком случае воспользоваться гугл поиском чтоб узнать как получить исходный файл, имея в наличии только SWF
sanyasanya
12.08.2010, 21:31
если бы мне нужно было получить исходный файл - я бы так и написал..
а я хочу поменять кое-что прямо в свф
без исходного файла никак, нужен только исходник
Alex Lexcuk
12.08.2010, 22:45
Строчку заменить можно, спецификация флешфайлов открытая.
Немного кривой пост получился, зато быстро
http://murmadillo.blogspot.com/2010/04/swf.html#more
В общем суть, надо декомпрессировать ролик, он сам декомпрессируется по загрузке его лоадером, затем, ну тут от уровня развития флешера, можно найти само упоминание переменной строки и прочитать ее длину, прочитать строку и при желании заменить строку, затем заменить длину строки и длину кадра и длину ролика, тк. длина строки поменялась, а можно тупо найти строку по ее содержимому, и подменить содержимое, больше ничего не меняя в ролике, так работать будет 100%
PS: Я имею ввиду заменить именно переменную с типом String, а не строчку программного кода, если что.
Смотря что конкретно Вам нужно заменить, есть несколько библиотек которые по своему могут справится с задачей, есть софт позволяющий что то менять на уровне байткода, можно и "ручками". Но такого инструмента чтоб прям выдал строчку кода для редактирования и потом эту строчку правильно втулил обратно скорее всего нет.
КАК ОТРЕДАКТИРОВАТЬ .SWF-ФАЙЛ, НЕ ИМЕЯ ИСХОДНОГО ФАЙЛА .FLA (http://flash-ripper.com/content/how-to-edit-flash-swf-without-source-fla-file)
Строчку заменить можно, спецификация флешфайлов открытая.
Немного кривой пост получился, зато быстро
http://murmadillo.blogspot.com/2010/04/swf.html#more
Вот это шедеврально:
public function readUI32(b:ByteArray):int{
var _0:int = b.readUnsignedByte();
var _1:int = b.readUnsignedByte();
var _2:int = b.readUnsignedByte();
var _3:int = b.readUnsignedByte();
var i:int;
i = ((_3 & 0xFF) << 32) | ((_2 & 0xFF) << 16) | ((_1 & 0xFF) << 8) | (_0 & 0xFF);
return i;
}
Учимся прибавлять по восемь, 0 + 8 = 8, 8 + 8 = 16, 16 + 8 = (внимание) 32!
Нет бы просто return b.readUnsignedInt(); с нужным endian и не заморачиваться.
Дальше читать не стал, похоже на удаление гландов через пятую точку.
sanyasanya
13.08.2010, 20:01
Смотря что конкретно Вам нужно заменить, есть несколько библиотек которые по своему могут справится с задачей, есть софт позволяющий что то менять на уровне байткода, можно и "ручками". Но такого инструмента чтоб прям выдал строчку кода для редактирования и потом эту строчку правильно втулил обратно скорее всего нет.
24963
вот файл. там в правом верхнем углу есть несколько кнопок. при наведении пишется "next page", "next photo" и т.д.
а мне нужно чтоб эти всплывающие подсказки были на русском. всего-то :)
ну на AS3 ты пожалуй сам пытайся восстановить, проще такое написать ручками и самому, чем ломать и что-то исправлять, был бы AS2 с ним проще, ты воспользуйся этой ссылкой: http://flash-ripper.com/content/how-to-edit-flash-swf-without-source-fla-file
а вообще не хорошо ломать чужое
2006-2008 Copyright by Carlos Ulloa | John Grden | Ralph Hauwert | Tim Knip | Andy Zupko
sanyasanya
14.08.2010, 00:18
я за это деньги платил, значит моё :)
ну раз платил деньги, значит у тебя должен быть и исходник, а обманывать тут людей ненадо да и вариантов тебе уже целую кучу сказали, выбирать тебе
Неее... Есть самый лучший вариант: дать бабла.
sanyasanya просто если с AS2 приложениями раньше всякими дизассемблерами можно было что либо поменять и внедрить, то с AS3 приложениями дела обстоят немного иначе, поэтому проще либо попытаться получить исходник, раз уж платил за него, либо самому написать, либо дать кому-то еще раз денег, чтоб тебе написали такое-же
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.