У меня есть некоторый код AS3, который встраивает SWF (который сам содержит AS3):
[Embed(source="/assets/myas3libswf.swf", mimeType="application/octet-stream")]
protected static const MyAs3LibSwfClass : Class;
...
var loader:Loader= new Loader();
loader.loadBytes(new MySwfClass() as ByteArray);
...
Если посмотреть, как это видят флэш-декомпиляторы (Trillix, So-Think и т. Д.), Они просто показывают:
//MyClass_MyAs3LibSwfClass
package mypackage
{
import mx.core.*;
public class MyClass_MyAs3LibSwfClass extends mx.core.ByteArrayAsset
{
public function MyClass_MyAs3LibSwfClass()
{
super();
return;
}
}
}
Похоже, что они также не предлагают никакого способа извлечения ByteArray.
Конечно, не так просто запутать код AS3.Но куда ушел SWF?Глядя на него с помощью шестнадцатеричного редактора, я даже не могу найти начальный заголовок («CWS») встроенного SWF-файла.
Мой вопрос: что происходит с SWF-файлом, когда он встроен в виде ByteArray?И поддерживает ли какой-либо декомпилятор извлечение внедренного массива ByteArray?
Примечание.Я просто заинтересован в последствиях декомпиляции встраивания.