Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование игр, графики и искусственного интеллекта > Декомпиляция swf файла, разбор кода


Автор: g250 6.6.2013, 10:11
Привет. Декомпилировал нужный .swf файл, но не совсем понятна логика кода. Помогите пожалуйста разобраться...

Код

 <PlaceObject2 Depth="44" CharacterId="461" Name="playerMessangersPanel" Move="false">
        <Matrix>
            <Translate TranslateX="13480" TranslateY="10960" />
        </Matrix>
        <ClipActions>
            <ClipAction EventLoad="false" EventEnterFrame="false" EventUnload="false" EventMouseMove="false" EventMouseDown="false" EventMouseUp="false" EventKeyDown="false" EventKeyUp="false" EventData="false" EventInitialize="false" EventPress="false" EventRelease="false" EventReleaseOutside="false" EventRollOver="false" EventRollOut="false" EventDragOver="false" EventDragOut="false" EventKeyPress="false" EventConstruct="true" KeyCode="0">
                <ConstantPool>
                    <Constant Name="_defaultRenderer" />
                    <Constant Name="PlayerRedMessageRenderer" />
                    <Constant Name="direction" />
                    <Constant Name="up" />
                    <Constant Name="disabled" />
                    <Constant Name="externalPrefix" />
                    <Constant Name="PlayerMessagesPanel" />
                    <Constant Name="messageAlphaSpeed" />
                    <Constant Name="messageLifeTime" />
                    <Constant Name="collProps" />
                    <Constant Name="renderer" />
                    <Constant Name="PlayerGoldMessageRenderer" />
                    <Constant Name="colorAlias" />
                    <Constant Name="gold" />
                    <Constant Name="PlayerPurpleMessageRenderer" />
                    <Constant Name="purple" />
                    <Constant Name="PlayerSelfMessageRenderer" />
                    <Constant Name="self" />
                    <Constant Name="PlayerGreenMessageRenderer" />
                    <Constant Name="green" />
                    <Constant Name="PlayerYellowMessageRenderer" />
                    <Constant Name="yellow" />
                    <Constant Name="red" />
                    <Constant Name="this" />
                    <Constant Name="renderersCollection" />
                    <Constant Name="mx" />
                    <Constant Name="utils" />
                    <Constant Name="CollectionImpl" />
                    <Constant Name="itemObj0" />
                    <Constant Name="collProp" />
                    <Constant Name="i" />
                    <Constant Name="length" />
                    <Constant Name="net" />
                    <Constant Name="wargaming" />
                    <Constant Name="ingame" />
                    <Constant Name="FadingRendererCompactDesc" />
                    <Constant Name="itemProps" />
                    <Constant Name="addItem" />
                    <Constant Name="_showUniqueOnly" />
                    <Constant Name="stackLength" />
                    <Constant Name="visible" />
                </ConstantPool>
                <Push>
                    <Constant8 Value="0" />
                    <Constant8 Value="1" />
                </Push>
                <SetVariable />
                <Push>
                    <Constant8 Value="2" />
                    <Constant8 Value="3" />
                </Push>
                <SetVariable />

... и т.д....

                <Push>
                    <Constant8 Value="39" />
                    <Integer Value="4294967295" />
                </Push>
                <SetVariable />
                <Push>
                    <Constant8 Value="40" />
                    <Boolean Value="1" />
                </Push>
                <SetVariable />
                <End />
            </ClipAction>
        </ClipActions>
    </PlaceObject2>


Я не понимаю каким образом управляются перечисленные в пуле константы .... Что именно приписывается в Value ? И как найти эти значения, что туда вписывать ?

Для многих констант задаются значения в виде двух строчек, как это выше приведено, а для некоторых нет. Например, для

Код
<Constant Name="messageAlphaSpeed" />
 

идет

Код
                <Push>
                    <Constant8 Value="10" />
                    <Constant8 Value="14" />
                    <Constant8 Value="12" />
                    <Constant8 Value="15" />
                    <Integer Value="2" />
                </Push>
                <InitObject />


Полный декомпелированный файл во вложении

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)