Извличането на ресурси от флаш-файл, trolsoft
Вероятно, много програмисти са изправени пред такава ситуация, когато програмата е записано и отстраняването на грешките, както и изходния код се губи. Т.е. готова програма там, но източникът на нейния шибан вдигна и загубени. Като цяло, код, когато сте razderbanit някого да се възстанови изгубеното изходния код на програмата изведнъж извършено от месеци и години. В случай на програми, написани на Flash, има няколко търговски решения за изваждане на различни ресурси (изображения и звук) на SWF-файл. Има и безплатен пакет swftools различни платформи конзола програма, предназначена за създаване на Flash елементи, както и за тяхното декомпилацията.
По-специално, този пакет включва инструменти и swfextract swfdump, за извличане на отделните средства от SWF-файл и да декомпилира файловете да се изброят на съдържанието им на сметището. Недостатъкът на тези инструменти е, че първият не е в състояние да извлича автоматично, след като всички ресурси, от файла (въпреки че някъде в интернет попаднах на една кръпка, която добавя тази функция, но това се отнася за най-новата версия swftools аз не успяха), и а вторият не е в състояние да спаси изсере на двоичен файл.
За да се отговори на тези недостатъци, сценарият е написан на Python, който
- Използването swfextract получава списък на всички podresursov в SWF-файл
- в списъка, и премахва всички под-файлове с тези ресурси (отново чрез swfextract)
- Той преминава през всички извлечени файлове, подбуждане към тях swfdump, и извлича ресурсите (JPG и MP3 - файлове)
Освен това, всички тези операции са извършени в една операция, и резултатите, получени от оригиналния SWF големия брой ресурсни файлове. Част от извлечените файлове могат да бъдат едни и същи и за премахване на дубликати, можете да използвате този пример Програмата
Синтаксисът да се позове на:
swf-extract.py
питон swf-extract.py
Filename.swf където първият аргумент е името на SWF файла и втори незадължителен параметър outdir определя пътя до директорията, в която ще бъдат подредени ресурсни файлове намерени. Ако не е посочен този път, извлечените файлове ще бъдат сгънати в същата директория като файлът е разопакован.
Сценарият може да бъде изтеглен от линка по-долу.
swftools пакет се търси тук.
А Python среда живее тук.