The SWF Disassembler tab and AS3 Navigator tab are currently only for viewing the SWF content. Any changes made in those tabs will not affect the original SWF. Changes made in the Hex Editor can be saved into a new SWF. Keep in mind that the SWF file format maintains length records for the overall SWF and for the individual tags. Therefore, if you insert or delete any new bytes from the SWF, then the respective length values will also need to be adjusted.
The Inspector tab will have slightly different behavior depending on whether the SWF is local or remote and whether the SWF is AS2 or AS3. With remote AS2 content, you can currently only view the values for existing variables in the SWF as it is running. For AS3 content, you can call functions and assign variables as the SWF is running. This requires you to already know the names of the variables or functions that you want to interact with. It is a three step process for AS3 content:
Step 1. Provide the function or variable name that you want to interact with (e.g. myTextField.text)
Step 2. Provide the parameters that will be supplied to the variable or function. If you are planning to assign the variable, then you would provide the new value along with it's data type (string, int, uint, etc.) and click "Add Parameter". If you plan to call a function, then you would provide the parameters for that function. For multiple parameters, you can specify each parameter one at a time. They will be shown in the data grid above the text entry box.
Step 3. Choose the action that you wish to perform (assign a variable, call a function, or retrieve the value for the variable). Then click "Execute". This will perform the action using the information from steps 1 and 2.
In some cases, the Inspector will incur a stage conflict between the AIR app and the target SWF when working with local content. I have not resolved that issue yet.
I plan to make a video that will demonstrate SWF Investigator functionality within the next few weeks.
Thank you Puhley for responding,
It will be great if you make a tutorial video about all tabs of this app.
I need to know more about inspector, can this tab SAVE changes ? because I tested it and added a value and it showed "VALUE ASSIGNED" and I save a new swf by selecting FILE> SAVE SWF . but after checking swf again in sothink ,nothing changed. my swf was based on AS3 .
so this tab is for show again ? or can affect ? there is a box for flashvars, it needs for REMOTE file, right?
which tabs can AFFECT on codes except HEX EDITOR?
The Inspector tab can alter the values of variables as the application is running but it will not change the original SWF file. Overall, SWF Investigator is not designed to be an authoring tool. The Hex Editor is the only tab that can alter the bytes of the SWF.
The FlashVars box can be used with either local or remote content. If your SWF needs FlashVars in order to run, then you can supply them in the text field using the 'a=b&c=d' format. When you click the Update button, the SWF will be reloaded using the new FlashVar values.
If you use SWF Investigator to load a remote SWF using File->Open URL, then you can use File->Save SWF to save a local copy. The "Save SWF" functionality will currently only save the original copy of the SWF to the local file system. In the Hex Editor, you will save whatever is shown in the Hex Editor view (which may or may not have edits).