ganado / redtamarin

Automatically exported from code.google.com/p/redtamarin
Other
2 stars 0 forks source link

create tools #16

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
we need tooling to manipulate abc, swf, swc etc.

Original issue reported on code.google.com by zwetan on 26 Apr 2009 at 8:32

GoogleCodeExporter commented 9 years ago
add tool to build executable from multiple *.abc and/or from a *.swf

the default usage of asc.jar with -exe <avmplus path>
only allow to generate an exe from an *.as file

this is OK, but force us to structure a whole program with *.as files and 
includes

what we want is to be able to generate a library.abc

compile/test it with
$ java -jar asc.jar -import library.abc program.as
to generate program.abc

and then stitch together library.abc + program.abc into program.exe

to do that, we basically copy what is done in
static void createProjector(String avmplus_exe, String pathspec, String 
scriptname, ByteList bytes)

see:
http://opensource.adobe.com/svn/opensource/flex/sdk/trunk/modules/asc/src/java/m
acromedia/asc/embedding/Compiler.java

...
            exe_out = new BufferedOutputStream(new FileOutputStream(new File(pathspec, scriptname + ".exe")));

            exe_out.write(avmplus_exe_bytes);
            bytesWritten += avmplus_exe_bytes.length;

            exe_out.write(bytes.toByteArray());
            bytesWritten += abc_length;

            byte header[] = new byte[8];
            header[0] = 0x56;
            header[1] = 0x34;
            header[2] = 0x12;
            header[3] = (byte) 0xFA;
            header[4] = (byte) (abc_length & 0xFF);
            header[5] = (byte) ((abc_length>>8) & 0xFF);
            header[6] = (byte) ((abc_length>>16) & 0xFF);
            header[7] = (byte) ((abc_length>>24) & 0xFF);
            exe_out.write(header);

            bytesWritten += 8;

            exe_out.flush();
...

Original comment by zwetan on 13 Sep 2010 at 6:21

GoogleCodeExporter commented 9 years ago
suggestion for the tool
 * need to combine swfmake
 * etc.

name: abcmake

usage ex:
abcmake -swf test.swf lib.abc prog.abc //output: test.swf
abcmake -exe redshell -o prog.exe lib.abc prog.abc  //output: prog.exe
abcmake -exe redshell prog.swf //output: prog.exe

Original comment by zwetan on 13 Sep 2010 at 6:26

GoogleCodeExporter commented 9 years ago
suggestion: basic encryption tool

name: swfcrypt

usage ex:
swfcrypt -o locked.swf -key 1234 test.swf //output: locked.swf

note:
reuse RRX (random rotation XOR)

Original comment by zwetan on 13 Sep 2010 at 4:58

GoogleCodeExporter commented 9 years ago
tools to manipulate *.mxi and *.mxp

name: mxpc

usage ex:
mxpc -dump file.mxp
mxpc -build file.mxi -o otherfile.mxp

Original comment by zwetan on 15 Sep 2010 at 7:08

GoogleCodeExporter commented 9 years ago
tool to get informations about a *.swf file

name: swfinfos

usage ex:
swfinfos file.swf
swfinfos -format=xml file.swf

Original comment by zwetan on 25 Sep 2010 at 8:04

GoogleCodeExporter commented 9 years ago

Original comment by zwetan on 3 Feb 2011 at 3:15

GoogleCodeExporter commented 9 years ago
we keep the suggestions
but let consider what we have in redtamarin-toosl as good enuff

see
http://code.google.com/p/redtamarin/wiki/GettingStarted#Build_the_tools

Original comment by zwetan on 19 Apr 2011 at 2:00