Есть и под Линукс - увы, не помню названия (больше года назад пользовался, выдирал звук из флешки). Но Гугол тебе сто процентов поможет - как мне помог тогда.
Олололол, один знакомый так сдавал экзамен на заочке. Там выдавали на дом, тест, программку на на быдлофлеше, который, по ответам, генерировал некое число, которое нужно было отдать экзаменаторам в обмен на оценку. Расковырял, причём, он не программист, нашёл формулу... Учился на пятёрки ничего не делая...
Сам флеш -- это стековая виртуальная машина с байткодом. Поскольку проприетарное, есть
несколько совместимых сверху вниз версий, обычно v7 понимают все, с более свежими могут быть
проблемы. В новых версиях расширен язык (ActionScript v1/2/3), байткод, сама виртуальная
машина. Соответственно, нужно подбирать декомпиляторы.
Для логики, можно пользоваться, например, flasm: flasm -a x.flm -- собрать x.swf, flasm -d
x.swf -- разобрать в *.flm (ассемблер байткода), *.flr (ActionScript код).
Тут надо понимать, что мы декомпилируем в ассемблер байткода, в одной куче и данные ресурсов
и скрипты в виде байткода. Чтобы поправить пару байт оно подойдёт, а чтобы декомпилировать
до ActionScript-кода, выдрать ресурсы в виде отдельных файлов -- надо поискать что-нибудь
другое, тот же swftools, xml2swf/swf2xml.
Также см. примеры по ссылкам.
Виртуальная машина флеша довольно неплохая по возможностям: был допилен JIT (Tamarin), в AS3
фортоподобная. Сейчас стало модно компилировать в эту целевую виртуальную машину другие
языки (кроме JavaScript-подобного ActionScript).
Есть также Vista Smalltalk: http://vistasmalltalk.wordpress.com/ -- виртуальная
смоллток-машина с синтаксисом смоллтока или лиспа, исполняется в своей среде или чужой
(.NET/Silverlight/Flash/...)
Есть haxe: http://haxe.org/ своя виртуальная машина/язык, компилируемая в том числе, и в
флеш