Skip to content

Instantly share code, notes, and snippets.

@zwetan
Created May 10, 2015 14:13
Show Gist options
  • Save zwetan/a33104df2cf44346effa to your computer and use it in GitHub Desktop.
Save zwetan/a33104df2cf44346effa to your computer and use it in GitHub Desktop.
how to embed an ABC library as string into a shell script
#!/usr/bin/as3shebang --
import flash.utils.*;
import shell.*;
function ansilib():*
{
var hex:String = "10002e00000000990100054172726179066c656e6774680c616e73696c69622e617324310d656e636f";
hex += "64696e672e616e736921687474703a2f2f61646f62652e636f6d2f4153332f323030362f6275696c74";
hex += "696e05726573657406537472696e6716656e636f64696e672e616e73693a636f6e74726f6c73041b5b";
hex += "306d04626f6c64041b5b316d09756e6465726c696e65041b5b346d05666c617368041b5b356d06696e";
hex += "76657274041b5b376d07636f6e6365616c041b5b386d08636f6e74726f6c73064f626a65637414656e";
hex += "636f64696e672e616e73693a636f6c6f727305626c61636b051b5b33306d03726564051b5b33316d05";
hex += "677265656e051b5b33326d0679656c6c6f77051b5b33336d04626c7565051b5b33346d076d6167656e";
hex += "7461051b5b33356d046379616e051b5b33366d057768697465051b5b33376d0b627269676874426c61";
hex += "636b051b5b39306d09627269676874526564051b5b39316d0b627269676874477265656e051b5b3932";
hex += "6d0c62726967687459656c6c6f77051b5b39336d0a627269676874426c7565051b5b39346d0d627269";
hex += "6768744d6167656e7461051b5b39356d0a6272696768744379616e051b5b39366d0b62726967687457";
hex += "68697465051b5b39376d03584d4c0c6465736372696265547970650b666c6173682e7574696c730876";
hex += "61726961626c65046e616d6504707573680750726f6772616d057368656c6c0a646973706f7365584d";
hex += "4c03616c6c06636f6c6f727319656e636f64696e672e616e73693a6261636b67726f756e6473051b5b";
hex += "34306d051b5b34316d051b5b34326d051b5b34336d051b5b34346d051b5b34356d051b5b34366d051b";
hex += "5b34376d061b5b3130306d061b5b3130316d061b5b3130326d061b5b3130336d061b5b3130346d061b";
hex += "5b3130356d061b5b3130366d061b5b3130376d0b6261636b67726f756e647318656e636f64696e672e";
hex += "616e73693a416e7369537472696e67066265666f726503e3808c05616674657203e3808d036d617001";
hex += "21015f012a0169013f016b0172016701790162016d01630177014b0152014701590142014d01430157";
hex += "013001310132013301340135013601370773796d626f6c7306736f75726365065265674578700d283f";
hex += "503c776f72643e2e2a3f29015c0d283f503c616e73693e2e2a3f2904616e73690b69676e6f72655370";
hex += "616365012007696e6465784f660573706c6974046a6f696e04776f72640b6c617374496e6465784f66";
hex += "067375627374720c636f6c6f72697a65576974680b5f67657453796d626f6c730465786563010a0e5f";
hex += "7472616e736c6174654c696e6506636861724174010d04766f69640a5f7472616e736c61746508746f";
hex += "537472696e6707426f6f6c65616e09616c744c657474657207616c74576f726407616c744c696e6507";
hex += "76616c75654f660a416e7369537472696e670b616e73696c696220312e3008636f6c6f72697a651416";
hex += "010504160517050806050918090517163a18171a171a16163f054318431a43055518551a5505050102";
hex += "030405090102030405080a0b0c0901020304050c0e0f100901020304050c1112134a0701020701031b";
hex += "0107010707010807010b07010d07010f07011107011307031507011607011807011a07011c07011e07";
hex += "012007012207012407012607012807012a07012c07012e070130070132070134070136070138070939";
hex += "093b020e3c0207053d070d3e070140070141070342093b030e3c0307035407015607015807015a1b04";
hex += "07017807017907017a097e0407017f0981010409820104098301040984010409850104098601040703";
hex += "87010711880107058901070581010705820107118b010705830107058c0107018e0107118f01070190";
hex += "010701910107019201070193010701940107019501070396010703980115020505010108010c0c0105";
hex += "0501040000010000000100000001000001010000000100000001000001010000000100000001000100";
hex += "0501000101010100010505010001050501000240050501000240050501000240050501000005010000";
hex += "0501000000010000040b0c0907000300250c090a000600280c090f000900480c0912000b0b2e000005";
hex += "002d00000c00310000430b0b3901000c3d01000d4101000e4401000f45010010460100114201001247";
hex += "0100130206040001050a01060002050c01070003050e010800040510010900050512010a0006051401";
hex += "04110d00010519010e0002051b010f0003051d01100004051f01110005052101120006052301130007";
hex += "05250114000805270115000905290116000a052b0117000b052d0118000c052f0119000d0531011a00";
hex += "0e0533011b000f0535011c00100537012411030507110d00010544010e00020545010f000305460110";
hex += "0004054701110005054801120006054901130007054a01140008054b01150009054c0116000a054d01";
hex += "17000b054e0118000c054f0119000d0550011a000e0551011b000f0552011c0010055301241103080a";
hex += "032900010557012a00020559012b00030c000114060b04010025040201280403024901ab02013801ac";
hex += "0200480404031500030501025fd03024007463042c0185d7d2961205000056008001d6d2660224000e";
hex += "3e000024007463041022000009d3d26204660376120a0000d26204660382100300002c0182a085d762";
hex += "04917463046204d2660215d5ffffd3d1a0646c016604a048d1480000010305010254d0302400746304";
hex += "2c0185d7d2660224000e3e000024007463041022000009d3d26204660376120a0000d2620466038210";
hex += "0300002c0182a085d76204917463046204d2660215d5ffffd3d1a0646c016604a048d1480000020201";
hex += "030427d0305e042c0a61045e062c0c61065e072c0e61075e082c1061085e092c1261095e0a2c14610a";
hex += "470000030101040506d030d04900470000040201030463d0305e0d2c19610d5e0e2c1b610e5e0f2c1d";
hex += "610f5e102c1f61105e112c2161115e122c2361125e132c2561135e142c2761145e152c2961155e162c";
hex += "2b61165e172c2d61175e182c2f61185e192c3161195e1a2c33611a5e1b2c35611b5e1c2c37611c4700";
hex += "0005020603044bd03020801dd75d1e646c02461e01801dd556008001d624006304d1661f8263051011";
hex += "0000096205620423801dd7d2d366204621012932050411e8ffff080508045d226622d146230129d248";
hex += "0000060101040506d030d04900470000070201030463d0305e0d2c44610d5e0e2c45610e5e0f2c4661";
hex += "0f5e102c4761105e112c4861115e122c4961125e132c4a61135e142c4b61145e152c4c61155e162c4d";
hex += "61165e172c4e61175e182c4f61185e192c5061195e1a2c51611a5e1b2c52611b5e1c2c53611c470000";
hex += "08020603044bd03020801dd75d1e646c03461e01801dd556008001d624006304d16626826305101100";
hex += "00096205620423801dd7d2d366274621012932050411e8ffff080508045d226622d146230129d24800";
hex += "00090101040506d030d049004700000a030103049103d0305e292c5761295e2a2c59612a5e2b5d0c4a";
hex += "0c00612b5d2b662b2c5b646c016606612c5d2b662b2c5c646c016607612c5d2b662b2c5d646c016608";
hex += "612c5d2b662b2c5e646c016609612c5d2b662b2c5f646c01660a612c5d2b662b2c60646c02660d612c";
hex += "5d2b662b2c61646c02660e612c5d2b662b2c62646c02660f612c5d2b662b2c63646c026610612c5d2b";
hex += "662b2c64646c026611612c5d2b662b2c65646c026612612c5d2b662b2c66646c026613612c5d2b662b";
hex += "2c67646c026614612c5d2b662b2c68646c026615612c5d2b662b2c69646c026616612c5d2b662b2c6a";
hex += "646c026617612c5d2b662b2c6b646c026618612c5d2b662b2c6c646c026619612c5d2b662b2c6d646c";
hex += "02661a612c5d2b662b2c6e646c02661b612c5d2b662b2c6f646c02661c612c5d2b662b2c70646c0366";
hex += "0d612c5d2b662b2c71646c03660e612c5d2b662b2c72646c03660f612c5d2b662b2c73646c03661061";
hex += "2c5d2b662b2c74646c036611612c5d2b662b2c75646c036612612c5d2b662b2c76646c036613612c5d";
hex += "2b662b2c77646c036614612c4700000b0202040512d030d0646c04662b682dd04900d0d1682e470000";
hex += "0c0405040535d030240074d756008001d6d16602746304240074d71013000009d2d0662dd1d3662c66";
hex += "2c46210129d39174d7d3620415e6ffffd24800000d050904059202d030218263042763052080016306";
hex += "24006307d15d2966295d2a662aa0a085d52c0185d65d2f2c7b2c7ca05d296629a02c7da02c7ca05d2a";
hex += "662aa02c624a2f02802fd710b6000009620466302c0113a30000d06631766305620466302c80014632";
hex += "0124ff0e170000277663056204620466302c80014633012c014634016130620466302c014633018001";
hex += "6306620466352c80014636017363076205762a761207000029620724ffaf7612310000d26204663524";
hex += "0062072401a0463702a085d6d25d386204663562072401a0463701d06206463901463802a085d61013";
hex += "0000d25d3862046635d06206463901463802a085d610080000d262046635a085d6d3d1463a012a6308";
hex += "82630462080808761136ffffd24800000e050504055ed030208001d6240074d72400746304d12c8a01";
hex += "463b0124ff0e3c0000d12c8a01463c018001d6d26602746304240074d71011000009d2d3d0d2d3662c";
hex += "463d01612cd39174d7d3620415e8ffffd22c8a01463e014810060000d0d1463d014800000f030b0405";
hex += "e501d0302400746306208563095d296629d1a05d2a662aa085d75d296629d2a05d2a662aa08563042c";
hex += "01856305d0662e6602746307d385630824007463061097000009d0662e6206463f0185630910300000";
hex += "0962056209a08563051074000009620562096208a0a08563056208d31407000062048510020000d385";
hex += "856308105100006209630a2c8001620a1a0600002500102b00002c8a01620a1a0600002501101c0000";
hex += "2c8d01620a1a0600002502100d000027120600002503100200002503080a1b9dffff0390ffff90ffff";
hex += "90ffff9dffff620691746306620662071561ffffd06205612e47000010030c04058402d03024007463";
hex += "06208563092085630a5d296629d1a05d2a662aa085d75d296629d2a05d2a662aa08563042c01856305";
hex += "d0662e6602746307d3856308240074630610b2000009d0662e6206463f018563091046000009620562";
hex += "09a0856305108a00000962056209a0856305107d000009620a2c8001141300006208d3140700006204";
hex += "8510020000d385856308620562096208a0a0856305105100006209630b2c8a01620b1a060000250010";
hex += "2b00002c8d01620b1a0600002501101c00002c8001620b1a0600002502100d00002712060000250310";
hex += "0200002503080b1b94ffff037affff7affff87ffff94ffff620985630a620691746306620662071546";
hex += "ffffd06205612e47000011030c0405b502d030240074630620856309d12c8001463b0124000c070000";
hex += "d12c8001a085d5d22c8001463b0124000c070000d22c8001a085d65d296629d1a05d2a662aa085d75d";
hex += "296629d2a05d2a662aa08563042c01856305d0662e6602746307d38563082c0185630a240074630610";
hex += "a4000009d0662e6206463f01856309103d00000962056209a085630510810000096208d31407000062";
hex += "048510020000d385856308620562086209a0a0856305105e00000962056209a0856305105100006209";
hex += "630b2c8001620b1a0600002500102b00002c8d01620b1a0600002501101c00002c8a01620b1a060000";
hex += "2502100d000027120600002503100200002503080b1bb3ffff0383ffff83ffff90ffffb3ffff620691";
hex += "746306620662071554ffff6208d31407000062048510020000d385856308d062056208a0612e470000";
hex += "120302040513d0302c0185d5d1d0d0662e464101a085d5d1480000130101040507d030d04642004800";
hex += "0014020201034bd03065005d0c660c305d0c660c58001d680b65005d0c660c305d0c660c58011d6825";
hex += "65005d0c660c305d0c660c58021d682865005d0c660c305d0c660c58031d68482c970182d5d1480801";
hex += "0000";
var bytes:* = new ByteArray();
var i:uint;
var len:uint = hex.length;
for( i = 0; i < len; i += 2 )
{
var b:String = hex.substr( i , 2 );
var result:uint = uint( "0x" + b );
bytes.writeByte( result );
}
bytes.position = 0;
return bytes;
}
//var binary:* = ansilib();
//var result:* = Domain.currentDomain.loadBytes( binary );
var result:* = Domain.currentDomain.loadBytes( ansilib() );
trace( "result = " + result );
import encoding.ansi.*;
var logo:String = "";
logo += "\n";
logo += " █ \n";
logo += " █████ █ ██ █ █ ██ █ \n";
logo += " ██ ██ █ ██ ███████ ██ █ █ █ ██ \n";
logo += " █ ██ ██ █████ █████ ███████ ██████ █ ████ ██████ █ ████ ██ ████ \n";
logo += " ███ █ ██ ██ ██ ███ █ ██ ███ █████ █ █ ██ ████ █ ████ ██ \n";
logo += " ███████ ███████ █ ██ █ ██ ██ ██ ███ ████ ██ ██ █ ██ █ \n";
logo += " ████ ████ █ ██ █ ██ ██ ██ █ ████ ██ ██ █ ██ █ ██ \n";
logo += " ██ ███ ████ █ ██████ ██ ███████ ██ █ █ ██ ██████ █ █ ██ ██ \n";
logo += " █ ██ ████ █████ █ ██ ████ █ █ █ ██ ███ █ █ █ █ ██ \n";
logo += " █ ";
var ansi_logo:* = new AnsiString( logo );
ansi_logo.altLine( "R!", "r" );
trace( ansi_logo );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment