Closed Bug 509070 Opened 15 years ago Closed 6 years ago

We need a tool to strip metadata from ABC/SWF

Categories

(Tamarin Graveyard :: Tools, enhancement, P3)

enhancement

Tracking

(Not tracked)

RESOLVED WONTFIX
Q1 12 - Brannan

People

(Reporter: stejohns, Assigned: wmaddox)

References

Details

The "native" metadata used by nativegen.py isn't needed at runtime and can (should) be stripped from the ABC/SWF data embedded in the runtime. We don't have a convenient tool to do this, but it would probably be straightforward to write one from abcdump.
Target Milestone: --- → Future
Component: Virtual Machine → Tools
QA Contact: vm → tools
Blocks: 578405
Blocks: 557688
Tentatively targeting for Serrano because there's a real chance that some of the nativegen.py / exact GC changes will entail a greater use of 'native' metadata.
Priority: -- → P3
Target Milestone: Future → flash10.x - Serrano
No longer blocks: 578405
Assignee: nobody → wmaddox
Moving to Brannan.
Flags: flashplayer-qrb+
Flags: flashplayer-injection-
Flags: flashplayer-bug-
Target Milestone: Q3 11 - Serrano → Q1 12 - Brannan
I don't have a lot of confidence that abcdump internalizes the ABC completely enough to enable reliable bit-for-bit reconstruction, at least I had to add exception table parsing to it at one point in order to see the effect of fuzzing.  Some simplification is possible, since the transformation is essentially just relocation, but a careful review of what is being parsed will be needed in addition to reconstructing the stripped binary output.

I suggest that a somewhat simpler and more easily verifiable approach would be to simply compile the builtins twice -- once producing the metadata for the benefit of nativegen.py, and again with metadata output suppressed for inclusion in the runtime.  This would require a compiler switch to suppress metadata output.

In any case, such a modified compiler would be needed to properly test a stripping tool, as the stripped output should be bit-for-bit identical to code that is otherwise generated by the same compiler from the same source, but with the metadata omitted.
(In reply to comment #3)
> I suggest that a somewhat simpler and more easily verifiable approach would
> be to simply compile the builtins twice

I like it.
Do we have any data on the size added by the additional "native" metadata for the built-ins?
Tamarin is a dead project now. Mass WONTFIX.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
Tamarin isn't maintained anymore. WONTFIX remaining bugs.
You need to log in before you can comment on or make changes to this bug.