getDefinitionNames v. 2.1

Очередной обновление getDefinitionNames (скачать исходники сразу) до версии 2.1. Появилась совместимость с Flash 10, изменен режим «только классы» на действительно только классы (без интерфейсов), а также в расширенном режиме находятся ещё и Vector.

Большое спасибо Даниелю за доскональное выяснение причин, по которым getDefinitionNames не работал с swf, скомпилированном с использованием Vector — оказалось, Adobe «забыла» задокументировать новый тип multiname для Vector.

Ожидается обновление ClassExplorer с теми же правками (поддержка Vector, но не уверен, что они будут перечислены в результирующем XML, т. к. на текущий момент generic-и в ABC реализованы кривовато), а также внесение в FontLoader поддержки тега DefineFont4 для совместимости с FTE. Следите за новостями!

6 Responses to getDefinitionNames v. 2.1

  1. Thomas Jung

    Denis, I got your message on the related Flash Player bug tracking system and will check out your new code shortly. Thanks for putting so much effort into this. By the way, have you seen this library: http://code.google.com/p/flemit/ ?

  2. Hi, Thomas! :)
    Looked flemit — another piece of crazy code :) I saw such libraries 1-2 years ago. I wanted to write the same, but didn’t find the time :(

  3. Спасибо за обновление, как раз понадобилось для редактора тайлов =)

  4. Hi, very nice work you done! One question: swfByteArray has method writeBytesFromString, i understand this can be used to modify the swf bytearray, but you have to have the correct bytes to inject… is it simple to change a variable in a swf from bytecode? like the one in your example download package example var testVariable?

  5. It’s not simple, because you need to parse bytecode to the tables (see swf bytecode file format reference at adobe: http://www.adobe.com/content/dam/Adobe/en/devnet/actionscript/articles/avm2overview.pdf ), change the value at one of the tables, then build bytecode back from tables.

  6. Thank you! This is an awesome tool for debugging loaded SWFs.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>