1370 lines
62 KiB
C
1370 lines
62 KiB
C
#if 0
|
|
shc Version 4.0.3, Generic Shell Script Compiler
|
|
GNU GPL Version 3 Md Jahidul Hamid <jahidulhamid@yahoo.com>
|
|
|
|
shc -f helium_launcher_update.sh -o launcher-update-helium_stable
|
|
#endif
|
|
|
|
static char data [] =
|
|
#define chk2_z 19
|
|
#define chk2 ((&data[1]))
|
|
"\035\262\072\366\231\043\210\264\371\216\145\124\071\052\161\245"
|
|
"\007\263\277\130\161\325"
|
|
#define rlax_z 1
|
|
#define rlax ((&data[22]))
|
|
"\026"
|
|
#define lsto_z 1
|
|
#define lsto ((&data[23]))
|
|
"\260"
|
|
#define text_z 8600
|
|
#define text ((&data[383]))
|
|
"\156\317\233\245\173\044\144\135\265\000\013\354\003\124\262\173"
|
|
"\115\367\013\153\150\341\037\220\325\225\153\107\151\226\054\330"
|
|
"\146\310\175\341\354\342\077\242\342\113\216\346\237\100\141\354"
|
|
"\070\154\130\240\116\167\061\043\015\235\152\167\063\227\117\231"
|
|
"\137\315\173\114\257\272\356\222\005\174\170\245\275\331\222\366"
|
|
"\106\352\226\224\142\310\267\160\145\042\347\231\271\067\063\031"
|
|
"\005\256\145\264\151\124\106\157\320\277\024\216\230\246\204\336"
|
|
"\220\033\162\363\343\052\143\111\114\113\342\005\203\025\037\210"
|
|
"\304\204\075\055\330\204\235\251\103\261\070\333\127\275\272\350"
|
|
"\330\055\334\274\127\100\006\243\213\350\250\016\376\307\226\302"
|
|
"\114\324\360\045\130\215\317\233\076\007\167\226\304\061\177\235"
|
|
"\137\133\131\266\233\137\131\047\110\002\066\106\312\314\011\027"
|
|
"\241\371\074\371\207\013\224\306\023\014\135\327\075\334\164\234"
|
|
"\070\316\123\324\056\254\373\166\257\061\274\172\376\306\221\237"
|
|
"\300\316\231\107\332\055\016\355\071\153\305\167\110\072\024\201"
|
|
"\010\150\125\066\024\121\255\304\203\152\076\202\060\317\042\360"
|
|
"\236\273\070\170\351\107\145\043\263\052\233\374\145\257\175\155"
|
|
"\027\323\244\054\044\121\361\250\274\057\052\354\377\114\335\235"
|
|
"\010\026\025\361\135\173\024\021\246\257\015\013\137\212\170\167"
|
|
"\135\035\244\202\157\225\052\053\305\125\030\305\241\365\143\252"
|
|
"\014\170\233\151\364\260\173\232\140\210\245\277\022\036\067\160"
|
|
"\074\334\362\253\162\034\327\067\162\357\375\024\345\140\276\361"
|
|
"\331\131\133\315\012\326\147\327\017\264\313\362\003\043\051\115"
|
|
"\255\376\004\267\166\263\161\361\352\160\062\214\224\155\011\373"
|
|
"\221\066\046\042\026\375\154\265\170\125\322\034\037\312\172\303"
|
|
"\122\133\320\245\255\317\104\140\260\345\235\242\371\260\123\061"
|
|
"\260\173\146\045\060\164\016\043\006\275\362\257\127\271\046\335"
|
|
"\236\212\073\367\343\073\055\310\154\250\043\020\342\030\144\112"
|
|
"\052\104\044\027\057\263\170\162\062\060\174\063\066\175\206\214"
|
|
"\351\226\015\353\321\333\145\024\131\153\317\314\123\012\266\137"
|
|
"\365\217\014\336\143\042\104\161\366\210\376\256\204\213\352\151"
|
|
"\220\046\063\006\320\004\042\220\025\015\170\137\225\074\213\220"
|
|
"\172\326\077\336\222\063\005\341\104\314\332\017\361\365\373\124"
|
|
"\042\004\142\200\053\367\240\367\035\120\147\277\233\355\025\132"
|
|
"\307\052\024\107\045\242\065\072\043\045\002\204\264\024\341\376"
|
|
"\047\003\117\175\062\275\304\032\265\365\251\106\330\032\122\355"
|
|
"\003\127\231\160\270\234\025\114\120\043\020\031\244\123\071\071"
|
|
"\134\377\166\136\320\252\356\164\311\153\244\224\203\215\276\107"
|
|
"\125\175\072\056\334\226\370\066\357\026\073\171\361\045\101\272"
|
|
"\313\003\157\063\356\132\022\106\254\072\151\203\033\062\223\100"
|
|
"\112\155\354\077\232\276\060\135\166\031\223\302\024\376\262\300"
|
|
"\323\246\205\206\367\132\216\020\242\245\317\216\016\153\202\351"
|
|
"\253\252\366\305\052\201\201\075\161\064\313\271\210\330\205\135"
|
|
"\203\217\157\063\266\171\333\113\353\273\042\234\233\262\361\142"
|
|
"\055\320\111\351\306\250\106\217\354\274\254\322\105\130\121\261"
|
|
"\007\362\236\232\036\322\053\361\114\033\146\322\126\145\064\324"
|
|
"\302\046\233\244\026\140\326\173\155\172\166\304\004\371\163\020"
|
|
"\316\047\131\143\061\370\230\225\122\051\137\206\127\231\003\262"
|
|
"\034\250\235\003\341\075\073\134\377\241\251\357\074\114\351\367"
|
|
"\122\302\153\074\371\216\115\311\264\216\266\024\032\207\076\301"
|
|
"\367\377\263\256\227\150\033\154\056\245\157\112\075\217\342\373"
|
|
"\072\065\050\112\245\324\237\046\107\201\156\160\307\162\111\240"
|
|
"\330\034\376\323\020\167\244\336\133\313\036\322\034\004\241\256"
|
|
"\235\043\006\307\105\077\307\015\374\110\152\122\344\215\253\030"
|
|
"\371\127\020\160\005\302\125\031\064\145\245\341\265\013\000\161"
|
|
"\044\077\072\173\321\317\135\225\174\104\215\003\263\154\023\144"
|
|
"\262\337\144\074\155\017\167\312\115\354\221\073\255\271\236\254"
|
|
"\243\372\050\221\271\355\167\001\135\061\013\301\232\103\177\132"
|
|
"\167\331\110\115\123\220\217\237\060\056\016\202\337\262\224\111"
|
|
"\162\216\021\260\113\107\353\036\064\003\137\325\264\351\111\223"
|
|
"\164\370\162\074\170\331\040\271\062\324\346\123\074\361\266\254"
|
|
"\210\300\122\332\267\101\052\176\327\271\016\235\307\205\066\125"
|
|
"\140\161\220\307\366\035\224\130\003\263\026\361\071\162\373\372"
|
|
"\056\000\345\111\306\175\370\352\373\071\245\141\310\261\116\371"
|
|
"\346\011\367\312\101\142\366\257\151\122\233\257\353\312\163\177"
|
|
"\366\160\343\165\046\007\243\127\202\353\214\067\353\373\175\171"
|
|
"\300\167\113\306\171\063\226\167\240\324\235\075\001\202\071\136"
|
|
"\115\135\214\151\236\156\352\077\370\027\114\052\054\241\111\103"
|
|
"\342\046\274\150\150\246\101\171\264\055\036\161\203\122\046\352"
|
|
"\374\065\004\146\160\142\105\110\247\034\307\373\017\274\116\072"
|
|
"\304\100\332\061\364\071\244\262\166\335\352\072\236\172\150\353"
|
|
"\013\365\164\307\341\155\133\266\173\271\207\257\104\173\101\310"
|
|
"\346\374\366\017\105\341\164\000\244\075\377\344\132\250\100\317"
|
|
"\240\306\032\252\276\320\212\151\107\324\172\006\122\360\023\346"
|
|
"\353\045\076\331\363\165\124\152\103\327\217\302\177\247\054\205"
|
|
"\071\343\361\247\173\067\057\051\216\130\045\026\021\234\272\256"
|
|
"\232\317\275\301\367\254\200\230\235\230\145\372\047\145\003\132"
|
|
"\340\223\006\060\305\103\222\303\016\053\144\326\343\070\341\206"
|
|
"\266\111\275\203\367\312\126\034\042\041\124\060\226\110\362\374"
|
|
"\162\035\166\220\004\232\146\261\255\241\173\027\004\372\353\111"
|
|
"\334\222\216\071\253\332\015\262\203\217\342\067\202\121\022\037"
|
|
"\261\257\050\142\351\107\206\067\165\355\130\375\124\030\122\150"
|
|
"\237\277\113\057\042\020\100\016\355\226\117\054\310\324\365\213"
|
|
"\056\156\040\317\103\317\066\071\244\131\006\321\016\225\021\327"
|
|
"\114\026\071\100\175\332\320\344\274\307\335\265\213\217\113\051"
|
|
"\364\330\133\213\112\077\337\014\330\275\165\334\302\267\347\375"
|
|
"\325\022\152\364\272\150\335\315\346\357\016\241\276\043\025\342"
|
|
"\257\336\100\352\134\060\042\021\031\371\227\352\047\321\226\112"
|
|
"\375\144\035\311\307\116\102\136\331\272\247\306\224\207\036\343"
|
|
"\163\143\037\113\056\200\177\231\337\364\274\114\237\010\346\252"
|
|
"\030\001\252\052\264\147\362\264\204\073\222\032\152\353\212\207"
|
|
"\355\362\007\002\246\337\245\313\047\213\360\154\127\056\045\324"
|
|
"\304\317\271\313\207\107\023\265\314\333\275\051\276\137\122\150"
|
|
"\352\143\160\253\236\132\012\301\013\150\336\061\124\053\215\320"
|
|
"\164\203\102\217\013\107\375\077\261\367\107\317\347\076\221\322"
|
|
"\246\046\316\262\026\330\325\305\147\247\144\047\334\120\354\155"
|
|
"\077\007\203\257\076\032\016\213\350\007\354\113\055\275\206\206"
|
|
"\055\247\254\231\226\215\024\342\223\272\171\315\243\252\331\365"
|
|
"\220\031\063\346\006\320\327\317\033\221\352\206\333\350\241\373"
|
|
"\245\230\321\141\135\155\352\337\113\237\307\233\044\352\056\125"
|
|
"\331\312\035\264\215\136\021\237\340\333\036\105\202\237\375\133"
|
|
"\356\065\053\321\120\364\040\344\364\136\162\270\213\324\126\367"
|
|
"\070\344\221\343\200\100\100\206\276\226\016\166\064\260\110\010"
|
|
"\171\142\115\273\066\263\125\140\002\117\116\042\373\341\010\070"
|
|
"\173\026\142\342\322\140\131\075\175\102\376\370\051\336\205\213"
|
|
"\011\301\110\142\146\133\371\250\321\173\202\234\016\321\103\003"
|
|
"\013\214\034\324\242\012\136\064\121\334\237\157\011\164\203\043"
|
|
"\112\001\352\010\112\170\267\326\351\273\145\370\360\246\020\274"
|
|
"\225\302\005\215\354\312\116\346\055\174\031\003\143\056\005\042"
|
|
"\346\253\112\344\270\241\227\243\020\302\057\166\132\047\366\136"
|
|
"\137\063\050\004\231\021\361\361\005\317\304\114\003\116\252\346"
|
|
"\335\061\153\220\104\134\261\066\254\106\132\024\120\004\305\233"
|
|
"\143\174\235\335\331\147\361\130\031\201\365\120\073\273\076\046"
|
|
"\075\310\077\301\013\063\316\142\161\320\024\107\361\206\322\366"
|
|
"\112\074\045\337\110\337\150\310\356\270\227\331\117\103\254\005"
|
|
"\114\030\140\304\060\327\207\137\171\067\113\122\160\050\220\172"
|
|
"\226\305\276\302\204\331\311\341\305\237\204\011\056\200\053\011"
|
|
"\104\022\141\214\367\101\367\134\250\153\107\107\257\055\226\025"
|
|
"\004\216\140\346\133\127\050\247\136\003\060\124\273\230\360\045"
|
|
"\340\300\221\040\031\216\234\333\355\051\023\261\174\073\062\035"
|
|
"\035\070\101\073\335\241\354\133\163\220\064\016\065\007\171\001"
|
|
"\155\331\214\135\346\365\070\163\025\306\166\001\211\205\125\207"
|
|
"\234\032\234\152\100\102\330\337\355\202\352\107\102\014\003\257"
|
|
"\155\004\072\346\001\237\031\172\176\015\340\050\162\145\074\052"
|
|
"\065\335\223\267\054\217\131\166\042\302\343\276\354\047\232\256"
|
|
"\340\141\122\120\231\174\350\041\116\146\245\116\133\130\201\047"
|
|
"\011\352\211\140\211\340\074\264\312\172\134\321\043\175\276\204"
|
|
"\376\216\315\313\336\341\112\147\301\317\337\304\063\333\146\245"
|
|
"\167\027\253\100\237\253\037\350\330\315\141\241\225\277\217\375"
|
|
"\324\215\022\366\103\073\015\111\057\327\313\344\174\245\223\052"
|
|
"\310\254\257\044\241\227\247\307\375\355\105\061\211\005\026\150"
|
|
"\153\314\066\267\166\174\327\107\142\012\230\217\337\304\164\146"
|
|
"\323\254\214\213\341\126\221\115\111\227\006\115\160\247\231\104"
|
|
"\273\140\162\322\027\242\043\325\226\362\300\151\220\365\235\110"
|
|
"\173\320\104\062\320\375\051\132\070\104\237\077\210\125\002\220"
|
|
"\016\227\316\327\364\106\026\155\246\152\241\100\347\335\102\033"
|
|
"\157\143\160\127\245\274\174\212\203\142\354\053\372\275\341\312"
|
|
"\216\345\115\164\105\033\313\024\002\307\360\055\075\335\032\247"
|
|
"\376\322\146\313\276\162\164\312\055\217\162\233\363\331\224\133"
|
|
"\373\112\343\047\055\373\145\317\077\076\240\044\121\330\221\210"
|
|
"\146\010\153\145\172\073\014\007\376\221\164\166\336\110\073\345"
|
|
"\220\067\366\353\203\024\010\247\227\052\122\071\210\264\376\171"
|
|
"\373\315\077\270\073\066\041\110\215\365\370\222\236\165\267\267"
|
|
"\356\051\124\045\031\207\052\361\221\074\125\003\027\020\260\025"
|
|
"\161\046\077\004\275\211\235\171\174\306\023\122\247\212\116\254"
|
|
"\015\364\340\050\301\163\241\013\000\320\043\164\116\232\011\040"
|
|
"\107\343\061\070\163\007\033\120\052\104\045\020\220\033\307\207"
|
|
"\305\134\302\201\076\171\332\360\206\011\164\261\077\251\374\145"
|
|
"\021\255\145\351\026\060\274\322\377\231\350\205\017\223\070\127"
|
|
"\212\336\036\164\305\070\012\255\167\100\277\005\053\022\056\013"
|
|
"\151\221\123\125\174\376\041\307\234\006\012\101\315\133\160\240"
|
|
"\022\115\346\253\330\175\307\332\160\257\202\312\363\025\130\343"
|
|
"\355\161\177\036\041\204\062\350\320\375\313\366\303\235\360\177"
|
|
"\073\134\264\204\353\351\227\356\204\213\022\001\110\011\331\005"
|
|
"\245\376\201\073\130\205\361\025\017\261\133\021\347\363\064\104"
|
|
"\004\017\310\071\311\246\372\146\101\164\147\003\312\122\030\307"
|
|
"\237\022\143\360\311\364\052\047\171\041\255\066\007\064\334\326"
|
|
"\300\001\143\051\224\202\115\201\206\013\152\027\073\142\272\270"
|
|
"\354\104\135\235\305\257\313\345\050\131\255\241\101\274\130\266"
|
|
"\343\037\107\015\014\330\137\073\215\315\325\240\145\112\356\071"
|
|
"\123\120\250\351\216\376\026\060\110\332\307\072\074\273\265\133"
|
|
"\065\213\222\267\262\062\347\275\155\224\320\004\333\327\320\317"
|
|
"\374\256\354\207\300\347\151\045\353\116\101\261\353\344\113\317"
|
|
"\273\241\335\321\026\030\346\054\316\211\002\003\226\110\024\145"
|
|
"\271\137\266\244\056\124\252\263\253\034\154\217\172\145\231\033"
|
|
"\065\201\004\051\037\105\007\323\063\240\074\316\235\252\363\174"
|
|
"\270\323\064\246\025\222\372\301\045\200\063\243\042\367\216\243"
|
|
"\313\027\327\126\330\006\361\202\041\032\216\337\352\331\227\123"
|
|
"\250\224\145\031\277\044\037\060\177\336\045\320\317\052\053\132"
|
|
"\301\162\266\156\151\273\026\172\200\341\006\144\077\173\375\223"
|
|
"\312\126\356\164\054\161\222\065\341\040\143\275\114\375\332\342"
|
|
"\334\277\176\043\051\352\315\100\003\244\103\246\074\352\074\003"
|
|
"\056\267\313\123\362\101\163\106\041\153\013\041\050\130\317\233"
|
|
"\262\273\153\374\024\276\256\215\310\362\314\313\375\204\075\041"
|
|
"\333\135\217\205\156\262\313\347\345\210\101\147\032\317\305\215"
|
|
"\214\036\351\016\337\114\135\362\365\207\207\025\107\035\306\222"
|
|
"\360\243\311\235\111\270\054\055\157\232\162\124\327\205\010\260"
|
|
"\125\150\144\263\274\210\113\063\021\231\222\213\164\362\021\320"
|
|
"\002\337\364\057\372\350\036\357\155\245\311\121\270\162\165\203"
|
|
"\343\011\140\164\220\324\015\047\262\220\216\366\061\107\072\007"
|
|
"\166\075\023\135\373\345\006\002\323\261\241\372\147\314\317\262"
|
|
"\015\303\170\204\227\175\346\344\146\240\326\112\136\166\243\110"
|
|
"\225\264\165\170\177\006\344\363\043\272\053\204\051\247\015\161"
|
|
"\143\132\166\067\232\211\351\220\324\117\110\120\003\357\324\206"
|
|
"\123\214\105\012\221\243\326\115\207\057\257\361\165\170\130\125"
|
|
"\034\072\127\045\217\137\274\126\071\227\040\175\356\376\334\126"
|
|
"\121\215\114\347\160\316\321\125\137\363\203\106\357\143\255\250"
|
|
"\354\126\005\331\005\155\110\344\244\135\035\150\323\256\313\336"
|
|
"\072\366\250\103\065\053\160\323\151\102\254\353\007\123\142\313"
|
|
"\373\161\377\160\120\157\355\265\154\245\245\260\146\022\015\121"
|
|
"\322\134\264\133\323\007\214\321\030\051\036\313\134\236\114\164"
|
|
"\233\273\042\254\063\027\373\230\245\022\341\213\145\242\120\073"
|
|
"\061\252\175\041\322\030\262\166\213\017\301\143\234\350\334\302"
|
|
"\355\340\043\140\056\223\324\323\350\266\035\376\161\042\223\257"
|
|
"\371\350\173\273\342\302\304\023\263\345\145\170\301\332\347\053"
|
|
"\244\174\316\160\170\166\276\070\361\305\144\207\340\022\333\330"
|
|
"\335\173\121\074\010\120\260\156\067\306\237\032\211\314\203\161"
|
|
"\214\003\305\274\050\042\252\237\336\164\141\044\346\014\300\072"
|
|
"\205\377\364\321\035\101\272\062\353\376\034\010\222\146\350\265"
|
|
"\057\201\330\142\166\216\303\267\043\212\066\360\227\163\123\367"
|
|
"\055\125\020\103\162\057\170\202\141\306\276\123\021\265\201\177"
|
|
"\064\354\126\362\062\326\063\006\126\252\154\041\101\375\373\241"
|
|
"\224\326\005\175\007\335\124\172\171\234\334\211\163\132\137\103"
|
|
"\231\073\176\356\240\321\216\027\005\350\154\245\305\122\121\033"
|
|
"\312\316\072\205\006\264\126\006\060\132\204\065\123\042\012\237"
|
|
"\332\062\015\104\050\175\132\052\155\341\167\271\312\224\025\006"
|
|
"\011\310\374\250\016\147\066\146\276\143\310\253\273\214\012\267"
|
|
"\316\307\273\326\212\064\172\166\360\104\100\360\041\024\206\365"
|
|
"\375\010\073\013\057\067\055\360\371\012\300\020\356\276\136\273"
|
|
"\074\010\145\260\234\261\036\076\215\310\171\016\057\235\377\227"
|
|
"\100\075\205\273\204\113\354\272\025\106\073\007\035\131\370\111"
|
|
"\020\202\170\136\112\062\121\061\301\366\114\115\001\113\360\217"
|
|
"\312\064\243\305\127\135\354\222\042\253\144\233\222\001\227\012"
|
|
"\052\031\204\362\057\066\100\351\177\112\060\323\213\027\130\126"
|
|
"\210\332\311\337\043\241\161\367\275\107\070\254\126\313\342\330"
|
|
"\057\064\201\006\250\373\142\267\316\276\046\076\152\005\200\224"
|
|
"\214\117\057\361\266\054\375\311\006\210\076\347\155\346\340\166"
|
|
"\130\313\362\162\347\244\053\254\224\220\170\170\047\053\101\367"
|
|
"\140\377\215\272\062\361\175\033\126\360\237\017\270\012\141\005"
|
|
"\144\045\242\051\060\337\101\334\011\136\027\125\334\276\145\074"
|
|
"\301\016\252\100\002\266\372\222\142\116\034\153\051\373\250\230"
|
|
"\350\157\362\057\074\150\157\331\201\145\256\300\334\204\151\037"
|
|
"\141\024\031\227\367\314\253\232\307\062\045\177\371\310\165\240"
|
|
"\123\164\106\357\007\101\342\206\244\344\140\266\212\226\143\265"
|
|
"\144\277\245\301\166\216\057\264\220\217\034\037\356\164\357\323"
|
|
"\134\266\306\065\346\170\156\034\072\042\234\360\021\115\266\165"
|
|
"\234\150\331\114\241\132\027\155\003\152\235\360\071\061\112\356"
|
|
"\131\115\100\325\160\335\057\076\075\152\114\060\331\235\016\101"
|
|
"\362\116\100\260\122\102\032\370\157\001\226\364\303\023\172\033"
|
|
"\265\033\145\370\246\115\212\024\232\376\264\330\107\037\003\106"
|
|
"\352\155\101\315\326\202\035\347\011\111\314\371\123\327\070\360"
|
|
"\313\201\110\014\212\335\020\003\011\007\375\047\116\300\145\301"
|
|
"\346\055\022\217\212\071\370\352\346\066\175\311\320\124\351\365"
|
|
"\264\075\010\170\363\151\221\260\042\320\044\175\257\232\235\067"
|
|
"\007\260\354\056\132\372\072\151\125\225\050\031\357\316\011\124"
|
|
"\210\011\102\052\154\207\163\234\240\364\066\307\225\112\072\205"
|
|
"\242\112\263\023\040\026\352\023\135\157\052\325\240\222\023\046"
|
|
"\337\121\246\351\173\220\132\376\204\171\120\255\246\123\163\030"
|
|
"\072\044\353\163\177\271\377\170\041\227\217\314\235\130\373\271"
|
|
"\255\144\322\224\246\074\073\056\114\214\055\233\001\015\366\055"
|
|
"\257\073\133\216\106\012\322\011\325\332\366\103\110\101\240\127"
|
|
"\030\152\216\144\036\142\033\204\343\244\242\053\247\136\324\322"
|
|
"\233\146\213\274\022\106\154\236\273\006\244\032\004\044\107\132"
|
|
"\101\016\347\206\302\012\200\364\100\315\215\371\171\171\370\346"
|
|
"\045\374\035\057\050\037\121\045\024\017\051\245\155\277\374\105"
|
|
"\037\032\260\227\035\035\010\270\342\271\026\064\203\153\120\237"
|
|
"\327\310\011\165\231\173\011\245\307\260\145\232\334\330\016\155"
|
|
"\115\155\160\340\322\307\040\163\210\042\063\032\205\055\225\126"
|
|
"\157\372\302\162\231\345\334\357\267\322\276\253\342\147\050\112"
|
|
"\045\310\273\012\374\347\167\162\217\320\144\366\023\253\061\306"
|
|
"\147\025\001\332\062\030\102\316\211\020\002\045\167\255\050\326"
|
|
"\374\155\352\100\133\321\221\357\206\115\020\077\026\031\060\374"
|
|
"\214\011\347\302\155\367\366\140\020\303\165\371\136\364\234\025"
|
|
"\101\154\354\122\242\304\234\032\002\262\171\131\052\234\174\061"
|
|
"\021\335\215\277\032\260\353\121\060\276\124\121\141\111\224\356"
|
|
"\321\114\163\016\032\333\247\360\275\104\050\266\024\150\230\113"
|
|
"\316\164\277\333\032\103\161\307\023\106\210\041\115\374\372\152"
|
|
"\235\115\216\143\012\374\231\333\214\316\365\235\320\134\373\375"
|
|
"\116\275\074\152\072\214\276\214\077\104\232\262\230\101\120\077"
|
|
"\277\025\246\120\373\277\376\222\306\220\027\140\373\106\067\220"
|
|
"\173\155\304\050\016\046\101\310\305\011\067\333\325\152\341\026"
|
|
"\326\123\014\243\103\314\174\027\037\173\203\021\100\107\215\133"
|
|
"\155\014\146\073\057\200\007\324\213\063\213\066\366\041\254\262"
|
|
"\226\350\113\023\057\240\011\174\106\333\140\202\051\230\364\370"
|
|
"\110\004\013\314\035\061\156\301\057\236\012\343\137\163\166\362"
|
|
"\204\157\370\120\250\237\111\142\156\010\002\125\305\167\356\130"
|
|
"\212\344\052\166\323\042\053\231\240\120\311\165\323\141\125\314"
|
|
"\221\311\336\210\123\366\227\063\215\011\145\246\260\244\334\301"
|
|
"\260\064\123\261\351\074\217\177\334\137\006\315\112\110\304\112"
|
|
"\040\324\032\122\307\264\370\330\042\107\354\322\051\117\303\206"
|
|
"\044\036\357\224\311\041\126\172\306\077\124\155\216\050\046\333"
|
|
"\026\161\033\363\107\213\315\206\275\200\276\332\247\161\271\270"
|
|
"\027\312\274\220\146\174\003\161\110\145\374\121\015\350\065\213"
|
|
"\347\023\001\053\333\027\302\155\327\214\370\114\164\055\024\031"
|
|
"\024\056\050\131\046\352\360\237\241\154\135\216\156\342\130\167"
|
|
"\003\107\310\213\157\341\360\317\135\156\150\341\137\311\041\031"
|
|
"\316\357\013\100\343\256\165\270\336\056\123\224\254\166\056\241"
|
|
"\134\047\125\322\006\067\353\143\261\017\332\066\104\040\050\323"
|
|
"\257\313\244\006\235\216\264\306\151\142\274\234\356\066\031\161"
|
|
"\117\147\072\054\027\330\305\170\160\231\145\214\170\252\212\221"
|
|
"\077\325\164\032\103\271\271\331\323\120\213\362\251\137\022\322"
|
|
"\343\200\241\022\044\364\021\213\032\201\367\203\230\200\161\016"
|
|
"\071\232\264\125\227\266\305\134\005\027\151\277\033\333\221\121"
|
|
"\044\110\351\333\247\332\012\030\152\342\151\051\212\054\121\106"
|
|
"\350\075\254\154\301\050\102\074\152\307\255\120\031\274\037\064"
|
|
"\266\061\130\342\036\265\000\075\024\144\002\310\162\257\065\246"
|
|
"\151\033\070\066\012\024\314\163\025\001\162\330\360\177\370\235"
|
|
"\321\232\072\356\213\153\106\110\076\015\224\050\367\204\245\012"
|
|
"\342\253\302\023\247\160\201\001\376\170\161\237\025\345\031\251"
|
|
"\174\065\257\072\273\365\234\265\062\352\373\002\154\201\343\267"
|
|
"\045\117\111\275\367\067\217\346\341\341\365\157\055\371\161\266"
|
|
"\222\016\233\006\057\005\361\254\370\003\176\223\327\100\366\375"
|
|
"\347\042\300\034\130\121\012\043\212\226\006\247\360\203\231\175"
|
|
"\360\244\136\137\156\141\035\102\357\330\221\126\377\300\166\270"
|
|
"\362\361\144\037\115\351\341\236\226\236\304\364\176\116\006\127"
|
|
"\062\124\114\374\316\267\064\357\227\365\104\127\002\340\245\124"
|
|
"\327\006\155\371\035\301\170\250\264\101\313\342\034\306\175\173"
|
|
"\163\310\047\041\334\233\203\016\272\271\325\206\377\337\271\017"
|
|
"\362\272\116\030\177\275\344\007\032\255\017\030\071\065\260\337"
|
|
"\203\050\243\044\231\255\064\362\103\302\253\312\311\055\253\310"
|
|
"\024\226\053\207\276\120\216\003\016\317\354\037\224\312\065\146"
|
|
"\213\052\105\316\024\334\071\363\165\060\316\201\257\273\314\040"
|
|
"\111\164\172\003\013\261\207\042\365\014\376\343\065\052\241\247"
|
|
"\021\261\215\340\356\311\114\025\376\044\121\061\126\034\150\313"
|
|
"\312\362\345\144\317\143\235\261\104\070\321\326\166\172\355\203"
|
|
"\155\362\144\177\144\160\001\221\017\211\322\217\010\113\366\055"
|
|
"\245\235\137\114\150\303\130\300\142\111\157\052\345\253\133\253"
|
|
"\225\204\301\057\326\367\073\147\231\307\313\263\234\241\040\347"
|
|
"\327\017\045\121\353\107\052\306\137\135\040\346\377\374\052\066"
|
|
"\073\043\243\334\341\354\232\070\157\375\365\115\027\050\015\277"
|
|
"\135\007\341\062\171\162\054\056\222\206\202\050\362\156\314\056"
|
|
"\311\165\073\336\132\214\373\213\263\032\056\220\204\266\255\167"
|
|
"\233\374\245\177\244\155\070\070\004\263\025\370\101\130\222\351"
|
|
"\017\276\144\275\065\273\356\314\172\360\310\050\204\207\321\201"
|
|
"\007\041\176\126\104\236\301\022\163\251\363\367\161\003\020\126"
|
|
"\230\020\132\104\101\254\064\267\227\232\171\102\041\067\277\317"
|
|
"\320\335\247\050\143\325\327\333\015\153\132\320\340\237\157\352"
|
|
"\041\251\303\170\276\251\231\102\056\061\357\153\044\113\250\063"
|
|
"\000\236\322\035\335\312\322\261\355\073\114\340\205\207\121\103"
|
|
"\256\125\363\266\164\150\037\257\077\322\016\125\275\224\227\035"
|
|
"\373\121\056\320\203\325\202\135\000\171\050\336\272\054\346\174"
|
|
"\102\101\203\327\261\234\274\044\370\130\023\003\357\343\301\316"
|
|
"\240\326\352\100\317\222\101\077\253\345\214\275\266\243\067\357"
|
|
"\057\111\017\257\031\001\271\030\205\064\302\074\166\365\027\333"
|
|
"\117\174\354\000\174\162\317\312\205\302\355\351\255\134\276\035"
|
|
"\253\371\137\165\221\003\120\275\354\356\330\342\113\271\160\350"
|
|
"\217\062\003\154\074\176\157\353\117\032\255\073\157\176\140\213"
|
|
"\273\200\236\275\043\344\012\215\242\374\317\301\374\174\015\132"
|
|
"\115\075\010\337\245\375\116\315\175\334\225\062\063\240\140\313"
|
|
"\060\313\037\027\352\131\362\124\001\011\017\260\044\006\056\272"
|
|
"\135\075\074\107\170\343\171\372\101\230\300\346\277\354\036\207"
|
|
"\134\004\124\263\304\035\112\227\041\056\204\204\310\162\261\344"
|
|
"\007\172\146\141\065\273\270\324\133\354\046\041\075\365\014\353"
|
|
"\337\015\273\007\173\310\263\067\255\141\313\017\366\053\357\102"
|
|
"\034\264\225\032\365\302\272\304\141\372\167\046\057\231\247\061"
|
|
"\270\054\061\145\177\010\360\330\100\032\161\114\277\142\006\370"
|
|
"\324\155\032\140\334\354\030\045\126\015\102\143\012\266\262\164"
|
|
"\110\221\147\027\215\017\230\054\063\015\150\135\020\060\165\252"
|
|
"\343\235\156\267\164\110\210\306\117\205\314\043\300\077\117\344"
|
|
"\273\003\103\344\204\146\003\045\221\065\354\077\215\156\026\160"
|
|
"\035\332\362\124\271\044\302\132\260\273\030\373\150\102\027\227"
|
|
"\052\001\202\267\215\057\257\351\136\235\132\144\052\212\341\160"
|
|
"\226\033\014\014\322\105\030\044\137\002\202\305\324\351\246\250"
|
|
"\273\105\333\340\320\114\154\077\343\225\037\074\052\310\370\200"
|
|
"\346\237\040\341\027\074\227\067\204\332\221\151\226\017\277\021"
|
|
"\140\047\033\375\223\050\061\233\200\044\307\040\061\222\141\162"
|
|
"\357\145\033\073\215\105\357\363\327\220\122\153\210\001\105\042"
|
|
"\232\223\040\020\243\112\161\027\151\151\122\343\344\144\267\160"
|
|
"\153\200\115\033\002\330\115\231\310\267\274\133\232\007\311\232"
|
|
"\247\072\340\357\217\242\301\025\177\275\033\315\226\306\205\345"
|
|
"\243\253\062\101\146\167\057\154\004\267\317\222\022\062\115\360"
|
|
"\252\326\052\016\030\024\012\123\156\154\173\104\263\041\076\155"
|
|
"\051\203\140\336\060\336\307\300\234\025\140\327\126\252\066\127"
|
|
"\346\006\252\321\202\151\301\267\274\347\330\327\044\315\042\376"
|
|
"\024\130\034\131\341\167\071\055\020\023\061\326\031\355\134\241"
|
|
"\105\160\056\333\134\361\371\263\035\155\374\251\230\312\215\345"
|
|
"\041\173\315\302\136\213\000\077\237\167\040\315\101\305\115\042"
|
|
"\253\065\010\117\323\136\203\000\173\276\276\344\356\154\026\325"
|
|
"\071\331\316\375\366\327\274\001\060\266\061\133\051\177\242\321"
|
|
"\157\050\327\011\200\053\135\057\021\110\021\121\322\021\107\072"
|
|
"\074\271\147\314\364\141\164\013\111\217\115\275\274\151\275\222"
|
|
"\274\350\156\236\014\321\156\376\316\245\103\151\002\065\073\237"
|
|
"\115\020\046\305\305\006\300\335\254\047\323\315\223\115\240\134"
|
|
"\327\166\363\215\365\350\001\024\142\324\232\332\317\124\051\354"
|
|
"\121\232\202\032\227\267\007\160\026\220\365\016\020\351\122\002"
|
|
"\217\030\115\225\166\311\107\345\146\304\130\015\336\053\175\264"
|
|
"\234\231\256\033\314\037\030\370\347\212\224\055\203\034\351\374"
|
|
"\102\056\002\140\246\204\371\235\363\335\132\274\222\346\011\237"
|
|
"\142\312\026\052\321\303\370\171\117\203\232\255\112\070\312\150"
|
|
"\352\270\224\235\076\365\314\140\053\211\130\377\105\103\106\237"
|
|
"\372\036\156\155\344\257\025\315\310\210\326\073\005\341\137\275"
|
|
"\154\121\331\154\034\225\345\132\370\252\113\243\045\163\214\342"
|
|
"\246\022\067\307\040\264\073\034\120\006\050\000\052\253\051\041"
|
|
"\051\145\321\151\240\247\060\301\144\042\035\245\005\262\260\220"
|
|
"\023\050\274\174\332\214\214\245\142\231\266\224\226\350\105\242"
|
|
"\040\001\364\043\276\355\113\130\205\044\007\117\322\134\152\372"
|
|
"\010\252\025\115\151\360\270\322\002\107\117\370\017\140\205\161"
|
|
"\051\223\137\236\332\165\111\053\137\042\066\203\003\112\303\341"
|
|
"\031\345\172\114\045\001\007\141\327\071\044\354\330\045\373\245"
|
|
"\224\332\021\055\334\013\103\162\300\263\342\166\366\352\051\132"
|
|
"\247\215\245\123\036\234\102\302\320\021\225\217\354\351\361\124"
|
|
"\111\020\120\370\110\356\113\005\147\133\341\003\202\200\333\200"
|
|
"\167\030\255\301\024\272\344\176\270\033\246\072\213\107\146\244"
|
|
"\176\165\312\144\352\304\134\171\003\156\250\006\304\004\342\241"
|
|
"\154\130\216\357\143\376\327\046\226\212\274\063\360\262\042\034"
|
|
"\045\200\030\266\377\277\213\210\106\140\011\216\240\117\055\202"
|
|
"\374\020\133\015\175\320\256\063\306\366\305\230\010\232\161\362"
|
|
"\207\236\330\147\355\361\071\340\065\117\055\360\272\256\364\220"
|
|
"\356\065\026\047\225\233\026\162\200\031\212\211\004\001\322\231"
|
|
"\220\103\200\235\107\021\220\122\147\101\264\105\016\334\260\226"
|
|
"\150\041\131\135\005\070\315\355\256\247\370\360\341\044\140\307"
|
|
"\346\044\352\126\023\372\334\073\021\110\120\021\227\067\335\143"
|
|
"\116\261\226\130\207\067\175\344\111\053\140\106\372\324\267\015"
|
|
"\173\161\304\133\240\334\123\044\035\005\103\306\036\132\310\014"
|
|
"\323\376\334\110\166\212\204\162\366\303\371\354\260\237\335\364"
|
|
"\106\126\105\305\131\334\007\266\033\123\233\113\263\375\232\176"
|
|
"\131\006\174\344\220\263\334\261\123\111\220\333\375\350\211\240"
|
|
"\234\315\202\052\020\125\242\141\263\363\013\174\340\233\200\102"
|
|
"\332\074\213\015\175\265\237\307\371\220\340\202\021\301\142\016"
|
|
"\240\332\300\347\255\353\056\114\063\205\056\133\322\043\220\241"
|
|
"\342\156\307\272\067\112\371\057\000\312\065\044\251\233\377\345"
|
|
"\224\153\153\311\374\220\277\362\323\304\002\034\075\057\043\351"
|
|
"\244\210\106\235\053\145\175\034\314\076\310\270\311\167\015\104"
|
|
"\041\140\377\002\201\216\112\117\114\024\226\311\034\124\260\313"
|
|
"\366\057\026\152\355\057\143\106\332\312\263\144\251\267\253\125"
|
|
"\150\377\041\035\000\022\151\267\223\325\164\046\136\256\341\115"
|
|
"\064\157\210\057\344\253\206\005\240\376\236\266\173\375\020\027"
|
|
"\374\064\061\006\101\327\147\176\373\050\177\156\246\152\062\134"
|
|
"\043\252\216\340\361\060\265\077\176\107\376\122\131\355\176\346"
|
|
"\026\006\145\102\376\065\027\177\150\100\210\063\005\377\012\061"
|
|
"\310\120\225\220\377\350\030\276\055\121\157\331\036\372\060\154"
|
|
"\276\047\162\260\267\360\030\252\315\241\027\052\376\321\315\070"
|
|
"\030\047\204\162\206\147\120\366\253\314\361\373\072\163\277\044"
|
|
"\261\351\256\153\352\005\011\135\222\150\122\065\032\027\234\242"
|
|
"\171\263\101\353\070\067\321\223\224\067\324\130\064\357\333\063"
|
|
"\337\064\155\131\212\237\020\213\303\067\056\015\177\024\041\265"
|
|
"\317\132\054\342\363\233\247\056\345\245\346\354\035\341\212\075"
|
|
"\252\160\041\110\273\114\033\100\223\367\023\263\070\142\116\157"
|
|
"\332\040\253\062\065\041\046\374\164\112\363\043\365\131\016\307"
|
|
"\026\164\173\364\271\165\343\134\144\245\133\117\217\162\070\325"
|
|
"\112\341\136\273\224\016\351\065\075\261\113\332\330\252\326\227"
|
|
"\364\107\226\301\345\062\321\035\324\201\157\376\052\332\234\150"
|
|
"\337\045\224\377\141\035\303\254\374\333\105\055\236\042\046\362"
|
|
"\154\250\271\355\053\076\137\053\355\255\347\101\045\357\324\104"
|
|
"\351\372\124\235\072\275\125\133\170\253\041\062\144\225\131\007"
|
|
"\205\215\364\100\327\307\215\173\167\035\246\240\017\044\065\226"
|
|
"\176\115\154\013\057\154\071\262\305\230\164\267\356\105\034\370"
|
|
"\013\366\026\065\162\073\253\205\053\206\007\142\156\126\022\122"
|
|
"\215\016\242\144\330\017\002\100\077\361\206\277\167\012\247\325"
|
|
"\366\261\102\072\227\252\340\030\160\076\375\053\116\070\004\321"
|
|
"\137\227\350\256\134\027\045\302\263\343\343\133\206\105\040\211"
|
|
"\135\025\350\031\111\333\214\007\312\010\235\162\247\267\044\142"
|
|
"\353\013\003\274\245\250\046\041\015\165\063\344\046\102\324\211"
|
|
"\241\261\057\145\120\131\232\072\127\144\054\164\117\316\272\330"
|
|
"\360\022\062\076\034\217\347\321\236\057\254\220\115\016\231\170"
|
|
"\316\255\223\060\362\356\212\313\100\005\034\147\171\052\024\227"
|
|
"\077\241\040\177\177\214\047\367\170\314\120\354\237\174\223\162"
|
|
"\222\000\106\013\335\070\146\356\055\030\157\326\103\226\233\155"
|
|
"\077\014\243\365\052\272\265\053\352\241\157\376\114\332\362\120"
|
|
"\163\061\243\122\171\122\207\030\037\037\160\022\070\056\302\300"
|
|
"\120\171\175\151\217\056\227\200\351\364\132\211\270\374\132\302"
|
|
"\124\065\376\031\263\036\107\136\134\145\210\210\026\135\355\206"
|
|
"\105\156\020\132\042\200\227\221\177\247\324\130\203\335\101\271"
|
|
"\207\276\320\063\240\226\233\323\173\031\367\077\230\333\006\263"
|
|
"\305\136\143\000\066\026\003\050\103\076\132\235\362\150\144\230"
|
|
"\236\310\225\376\266\353\255\307\166\376\263\031\321\221\326\032"
|
|
"\217\347\265\005\246\003\301\147\243\131\030\150\360\170\164\024"
|
|
"\105\224\344\266\173\050\036\227\202\121\377\301\104\266\171\215"
|
|
"\334\216\020\213\320\310\142\102\110\054\123\026\327\217\020\075"
|
|
"\277\152\360\073\330\203\144\044\012\021\264\222\111\030\055\324"
|
|
"\233\275\120\206\056\207\332\211\306\145\074\144\014\324\262\034"
|
|
"\215\227\331\116\343\163\314\101\304\200\101\060\171\371\214\317"
|
|
"\360\177\137\060\017\336\110\274\277\034\373\371\000\003\334\113"
|
|
"\350\036\062\104\306\352\241\221\065\203\147\304\063\356\166\357"
|
|
"\154\315\102\014\340\053\304\331\366\273\114\311\336\273\254\305"
|
|
"\235\075\213\121\073\273\041\166\335\047\137\246\164\102\236\347"
|
|
"\260\274\123\110\132\274\300\137\050\335\016\332\074\340\102\221"
|
|
"\126\127\265\013\173\146\076\224\071\216\117\263\042\317\104\156"
|
|
"\022\062\046\267\241\067\216\201\124\354\264\075\343\153\343\244"
|
|
"\125\152\076\302\170\350\265\047\041\133\202\067\320\222\355\372"
|
|
"\261\333\152\200\312\275\174\267\356\042\165\315\257\174\061\023"
|
|
"\240\141\056\325\176\034\115\212\164\033\040\105\024\104\136\306"
|
|
"\034\352\015\374\203\221\323\314\204\144\235\055\105\342\054\066"
|
|
"\046\270\175\266\304\321\147\327\037\070\323\356\056\317\200\136"
|
|
"\252\166\367\047\352\167\304\335\234\113\356\205\321\330\203\374"
|
|
"\231\265\005\162\043\154\356\002\326\135\326\033\027\377\232\161"
|
|
"\165\207\236\270\011\317\034\332\135\164\220\142\142\252\362\235"
|
|
"\102\052\301\114\345\226\241\177\370\351\375\001\133\027\007\156"
|
|
"\216\305\040\002\227\232\057\211\065\356\046\331\060\032\322\126"
|
|
"\270\070\317\334\252\023\131\232\037\377\050\066\223\167\026\021"
|
|
"\165\123\021\177\315\305\266\314\123\373\154\114\004\004\211\102"
|
|
"\161\346\343\064\031\077\012\010\006\101\175\046\352\231\213\351"
|
|
"\237\226\262\372\370\132\130\022\253\304\203\156\220\364\255\343"
|
|
"\053\256\021\115\323\267\362\174\346\357\264\165\273\171\133\362"
|
|
"\241\163\074\365\071\310\057\377\314\356\017\060\100\262\350\350"
|
|
"\213\207\132\242\041\240\337\113\357\071\056\237\134\121\043\071"
|
|
"\206\161\365\154\354\124\057\125\263\121\241\241\334\333\065\301"
|
|
"\214\112\045\107\235\171\025\123\321\237\345\351\150\247\345\217"
|
|
"\102\170\032\303\124\111\057\120\324\303\250\307\047\120\301\165"
|
|
"\337\003\014\313\216\335\252\204\245\165\346\011\017\327\137\140"
|
|
"\341\110\112\257\134\103\071\257\306\172\304\315\337\353\324\170"
|
|
"\137\067\061\176\047\263\153\261\063\353\140\070\075\207\275\135"
|
|
"\001\253\263\006\346\156\145\247\027\256\052\370\013\350\215\112"
|
|
"\240\310\105\116\376\153\057\210\006\117\030\127\156\113\037\225"
|
|
"\141\116\322\056\224\352\160\145\000\003\235\146\302\036\162\134"
|
|
"\015\152\213\253\100\142\167\072\117\247\326\045\344\250\077\212"
|
|
"\072\043\012\004\173\364\365\163\070\156\243\016\071\102\033\221"
|
|
"\240\131\321\111\252\210\113\235\010\206\161\235\147\352\171\114"
|
|
"\123\366\316\021\336\244\365\155\266\274\150\224\001\323\064\203"
|
|
"\301\247\161\337\373\322\356\100\120\122\274\024\017\114\163\013"
|
|
"\025\111\016\025\316\345\076\155\077\212\161\274\315\220\133\333"
|
|
"\111\175\307\245\324\055\330\103\054\250\370\360\166\271\155\135"
|
|
"\315\011\054\210\202\256\331\374\007\046\030\342\006\327\152\331"
|
|
"\120\022\037\304\373\230\236\276\255\026\336\000\230\012\063\105"
|
|
"\116\367\344\255\174\350\377\343\040\132\242\343\136\136\005\231"
|
|
"\125\132\200\246\034\333\043\201\220\027\010\360\237\303\247\305"
|
|
"\377\013\050\265\262\231\263\057\130\232\153\025\131\377\225\173"
|
|
"\131\077\216\132\223\115\307\142\260\331\145\311\342\123\351\123"
|
|
"\114\371\264\265\123\060\342\123\301\120\057\046\115\166\202\125"
|
|
"\311\102\171\254\060\373\101\112\351\360\155\073\113\306\340\360"
|
|
"\070\113\237\117\112\175\256\074\226\226\107\047\357\241\216\050"
|
|
"\241\105\137\351\156\004\116\241\053\107\202\237\325\215\314\053"
|
|
"\235\003\224\363\265\320\016\153\214\300\032\215\100\106\333\147"
|
|
"\010\107\337\333\176\213\051\217\346\175\312\345\272\021\241\177"
|
|
"\111\370\251\255\106\053\134\336\027\153\134\361\044\034\252\222"
|
|
"\341\136\213\221\321\010\077\217\126\065\064\350\225\272\021\166"
|
|
"\142\060\134\223\341\233\365\121\256\327\360\043\213\237\250\161"
|
|
"\341\352\216\205\065\112\306\336\057\330\346\325\116\075\146\130"
|
|
"\136\051\143\305\276\364\213\102\107\021\303\030\334\303\014\252"
|
|
"\136\376\134\014\134\001\207\244\033\364\030\075\144\233\327\064"
|
|
"\122\156\243\253\114\116\106\140\361\323\075\140\312\267\167\034"
|
|
"\035\067\201\171\246\310\344\271\176\016\027\145\030\012\372\374"
|
|
"\167\077\134\110\355\211\043\210\207\073\055\010\071\340\156\050"
|
|
"\002\200\150\122\065\041\122\071\007\104\306\253\052\312\005\141"
|
|
"\247\245\353\223\133\315\217\256\255\043\206\277\027\003\226\146"
|
|
"\070\372\171\262\062\016\066\054\250\145\374\252\270\263\330\350"
|
|
"\065\127\360\370\217\156\252\041\330\204\115\147\324\045\153\302"
|
|
"\073\116\374\206\133\225\214\312\115\344\066\221\044\052\214\120"
|
|
"\006\212\124\373\204\150\126\352\136\050\106\372\326\343\310\146"
|
|
"\226\103\171\227\130\324\221\114\274\377\274\132\055\320\260\266"
|
|
"\147\131\337\030\241\356\245\127\030\267\042\030\235\243\327\221"
|
|
"\161\314\270\172\176\132\074\230\255\373\124\103\071\072\261\336"
|
|
"\056\017\046\242\252\246\352\336\154\220\265\124\370\066\142\070"
|
|
"\335\043\214\075\375\146\345\144\376\167\270\315\265\216\114\264"
|
|
"\305\115\312\234\020\126\034\316\205\313\213\026\216\275\123\372"
|
|
"\130\026\311\201\323\172\356\153\077\265\257\110\262\154\336\047"
|
|
"\003\174\263\200\316\012\257\374\246\150\130\241\145\113\073\057"
|
|
"\033\143\307\107\073\255\165\301\145\017\144\174\254\221\101\375"
|
|
"\325\245\161\071\301\244\366\227\166\135\303\170\321\075\164\300"
|
|
"\343\036\150\302\134\070\231\352\371\273\174\102\055\311\351\031"
|
|
"\074\060\040\341\135\227\120\150\233\111\017\234\223\330\122\043"
|
|
"\063\036\311\341\235\076\354\372\372\173\001\317\363\200\210\314"
|
|
"\220\143\276\230\040\370\104\054\211\200\025\327\374\174\237\310"
|
|
"\266\330\372\347\140\053\107\356\042\267\345\200\327\002\237\330"
|
|
"\156\107\252\056\072\310\006\376\103\210\270\155\325\324\046\154"
|
|
"\100\012\212\023\307\355\015\157\065\210\223\125\311\030\123\011"
|
|
"\202\242\321\021\131\106\153\067\220\123\011\255\301\024\343\110"
|
|
"\266\072\144\074\337\006\120\263\020\354\302\070\127\240\142\140"
|
|
"\225\351\222\373\027\151\100\146\345\201\150\006\270\155\142\234"
|
|
"\241\044\105\315\071\111\261\374\332\302\140\234\020\213\376\332"
|
|
"\245\026\111\275\162\071\326\314\101\022\144\367\147\323\210\275"
|
|
"\215\120\144\300\375\363\042\354\222\041\060\214\060\207\000\130"
|
|
"\274\022\024\117\070\265\166\111\352\337\312\143\040\323\072\300"
|
|
"\363\224\201\301\037\361\066\305\036\004\010\107\331\272\077\241"
|
|
"\064\053\166\056\227\106\306\254\202\024\324\235\225\300\300\031"
|
|
"\324\003\350\360\264\164\064\177\010\173\341\306\154\365\300\031"
|
|
"\005\255\110\376\173\304\222\310\075\064\303\025\246\225\131\327"
|
|
"\042\071\177\327\353\177\242\202\207\042\073\124\350\202\307\250"
|
|
"\267\341\310\240\004\157\163\232\011\173\171\305\143\057\032\216"
|
|
"\325\073\073\064\113\063\045\133\373\341\344\165\226\364\244\264"
|
|
"\120\024\264\345\370\002\254\007\051\065\116\040\324\035\312\260"
|
|
"\302\003\245\112\105\041\303\302\337\147\254\051\315\334\322\327"
|
|
"\063\061\010\214\132\321\076\317\103\062\023\344\120\150\030\322"
|
|
"\206\004\305\125\101\253\072\252\156\001\012\071\130\121\373\112"
|
|
"\331\054\004\254\024\374\072\041\050\102\354\063\305\114\351\054"
|
|
"\032\170\056\063\330\062\347\126\324\040\366\173\315\363\064\254"
|
|
"\334\072\325\157\170\242\322\375\055\116\111\271\255\032\255\370"
|
|
"\102\332\017\162\337\052\171\245\160\000\037\126\107\126\245\166"
|
|
"\011\232\064\100\044\054\066\014\157\343\256\075\370\141\245\372"
|
|
"\254\135\314\317\102\140\227\132\371\067\130\216\123\030\010\152"
|
|
"\136\015\052\160\053\142\341\147\076\323\023\260\360\352\350\142"
|
|
"\332\346\166\277\106\065\260\040\216\013\355\231\341\125\003\077"
|
|
"\143\056\260\216\220\222\366\316\145\011\177\126\364\150\271\316"
|
|
"\116\060\215\224\145\076\265\364\111\242\215\053\370\221\153\133"
|
|
"\277\034\352\117\256\340\036\024\352\236\152\337\006\044\255\124"
|
|
"\124\073\351\271\171\236\255\302\101\073\355\071\314\131\225\213"
|
|
"\165\177\333\043\140\371\067\113\227\242\052\236\306\327\362\033"
|
|
"\023\334\324\214\172\202\117\273\276\075\365\212\226\212\026\013"
|
|
"\012\361\056\152\353\146\266\203\010\340\041\317\270\023\352\313"
|
|
"\357\277\130\152\102\247\046\000\344\033\213\172\246\241\206\261"
|
|
"\223\264\034\176\033\322\002\044\262\043\363\152\067\336\066\047"
|
|
"\236\216\221\340\065\267\341\032\323\154\224\172\016\032\053\241"
|
|
"\317\107\040\353\031\042\017\314\105\003\067\175\341\155\244\177"
|
|
"\373\066\140\061\356\101\113\302\255\340\074\274\373\150\135\313"
|
|
"\257\175\266\311\240\305\225\346\311\314\143\252\071\010\052\065"
|
|
"\077\212\147\055\314\262\360\172\223\054\066\216\224\223\131\104"
|
|
"\021\017\016\261\325\243\230\236\160\373\111\252\004\163\337\103"
|
|
"\376\107\161\313\372\141\105\215\216\173\034\043\017\165\150\041"
|
|
"\205\166\323\132\031\153\371\211\147\102\063\154\266\023\257\265"
|
|
"\133\041\201\125\202\306\342\020\102\377\064\122\164\234\163\372"
|
|
"\022\107\125\054\262\116\265\032\221\351\206\110\375\066\375\130"
|
|
"\127\176\256\332\105\221\353\210\220\037\332\005\273\116\377\316"
|
|
"\225\124\372\110\242\260\142\063\231\350\174\227\037\172\360\166"
|
|
"\370\236\121\076\060\074\306\300\133\241\305\027\357\304\345\204"
|
|
"\030\337\314\273\220\056\357\051\027\153\301\067\345\262\256\336"
|
|
"\121\377\035\201\073\343\102\227\204\007\256\163\314\224\370\345"
|
|
"\164\305\241\004\364\220\056\013\374\360\103\341\242\361\300\363"
|
|
"\360\335\165\053\300\267\303\105\277\162\271\214\006\262\162\173"
|
|
"\167\023\200\153\243\256\167\240\236\272\201\101\253\102\065\233"
|
|
"\037\252\307\340\142\213\046\041\375\337\256\004\221\040\177\011"
|
|
"\063\377\164\327\256\353\167\115\245\371\216\121\073\303\355\132"
|
|
"\155\265\073\320\100\141\361\075\101\237\101\323\300\301\334\363"
|
|
"\301\120\312\157\073\101\274\341\073\113\062\166\016\040\321\174"
|
|
"\325\014\114\025\155\076\123\256\336\224\201\236\126\136\222\030"
|
|
"\256\134\207\352\236\104\314\331\220\377\120\237\037\041\033\364"
|
|
"\055\150\011\233\246\134\112\205\361\314\043\110\052\265\140\330"
|
|
"\022\350\303\261\055\217\212\275\217\333\134\256\374\170\243\051"
|
|
"\340\255\305\207\011\017\015\373\333\061\104\005\347\244\336\371"
|
|
"\215\241\253\273\061\065\170\301\021\325\157\015\116\023\067\056"
|
|
"\300\374\266\312\013\304\305\347\365\012\354\334\257\313\326\074"
|
|
"\155\201\367\237\267\160\140\310\106\320\325\224\343\014\303\243"
|
|
"\011\171\155\025\075\063\374\063\075\351\017\354\264\345\051\041"
|
|
"\146\041\300\035\221\041\346\327\361\273\153\324\310\056\170\321"
|
|
"\250\345\346\346\031\343\032\127\314\051\104\201\017\156\242\166"
|
|
"\217\143\224\041\204\172\370\165\065\144\112\376\223\302\317\074"
|
|
"\250\266\043\302\231\075\031\146\147\136\347\166\314\212\354\133"
|
|
"\355\201\174\162\373\165\350\061\332\062\057\155\365\377\252\236"
|
|
"\266\315\141\120\012\173\266\161\331\236\350\245\050\324\001\026"
|
|
"\125\176\210\121\364\160\202\316\243\262\073\231\262\345\067\150"
|
|
"\263\230\271\275\023\157\057\355\016\027\223\067\354\224\115\102"
|
|
"\023\326\223\007\106\026\325\352\311\021\203\173\367\273\344\252"
|
|
"\124\235\150\150\015\227\125\033\257\350\122\233\175\240\335\221"
|
|
"\166\161\230\274\207\156\247\121\200\052\314\167\345\260\042\071"
|
|
"\115\212\241\133\042\367\166\321\340\311\155\135\151\113\357\337"
|
|
"\274\207\234\104\366\103\225\166\155\142\356\123\022\020\215\140"
|
|
"\232\057\273\275\046\062\217\006\373\374\144\144\107\123\104\004"
|
|
"\333\340\110\322\043\336\110\221\100\066\344\123\107\162\263\342"
|
|
"\241\157\237\310\241\056\316\235\053\063\002\163\207\106\167\143"
|
|
"\046\300\065\112\236\176\334\337\265\301\062\375\063\345\337\324"
|
|
"\125\177\234\366\255\153\223\331\237\226\114\047\334\303\212\003"
|
|
"\204\300\116\042\077\052\001\365\353\063\362\037\031\322\364\156"
|
|
"\121\220\145\376\374\371\330\234\217\044\303\154\350\116\157\154"
|
|
"\017\276\217\117\350\220\104\324\304\067\363\336\011\347\115\132"
|
|
"\170\262\131\165\254\061\021\074\125\324\250\076\043\030\252\062"
|
|
"\326\071\201\277\312\306\223\217\375\207\155\006\157\273\141\350"
|
|
"\156\272\135\032\353\157\126\101\104\377\177\147\027\052\231\355"
|
|
"\144\033\254\056\341\100\276\337\307\054\345\067\347\107\037\125"
|
|
"\001\175\160\355\354\307\057\060\306\257\227\335\331\061\313\075"
|
|
"\115\167\154\056\270\053\015\200\127\363\267\077\072\327\224\074"
|
|
"\124\005\052\101\314\131\162\222\011\012\157\342\073\072\040\210"
|
|
"\262\215\267\152\270\305\352\020\270\242\117\363\171\343\060\316"
|
|
"\350\132\020\264\264\202\107\275\214\266\240\310\361\300\121\244"
|
|
"\116\010\016\006\315\371\026\206\234\146\172\025\111\252\344\062"
|
|
"\004\364\347\271\167\056\166\003\345\026\314\326\327\035\173\045"
|
|
"\046\211\054\364\203\103\173\037\251\365\065\363\237\031\046\244"
|
|
"\016\015\135\205\074\324\211\041\353\126\370\302\163\163\350\232"
|
|
"\375\025\217\200\130\012\240\002\000\325\366\240\357\034\105\376"
|
|
"\052\243\203\146\167\015\210\142\143\201\045\327\364\015\161\361"
|
|
"\042\001\162\173\014\023\176\014\351\164\254\330\221\361\326\274"
|
|
"\225\132\042\014\147\253\157\313\054\224\242\040\241\024\022\304"
|
|
"\025\205\100\042\231\276\056\202\063\333\133\304\315\061\200\142"
|
|
"\214\243\157\364\117\336\277\173\162\142\234\024\167\257\330\214"
|
|
"\065\030\257\316\326\335\120\011\271\254\316\207\336\117\351\152"
|
|
"\362\130\137\101\066\036\275\251\201\131\275\370\011\225\205\076"
|
|
"\256\064\014\204\022\135\216\313\011\135\122\347\254\074\122\237"
|
|
"\225\261\341\313\320\237\165\122\371\062\112\002\310\320\100\166"
|
|
"\004\115\373\027\253\212\342\265\347\065\235\224\162\360\064\007"
|
|
"\241\026\323\162\265\110\304\256\172\017\260\102\337\361\270\344"
|
|
"\077\264\373\352\076\336\240\045\023\075\272\205\055\356\215\317"
|
|
"\005\140\101\272\250\006\151\043\025\031\146\364\013\036\330\112"
|
|
"\323\323\065\021\261\326\066\305\023\361\113\101\337\330\021\344"
|
|
"\070\122\237\341\131\010\004\156\042\152\142\056\211\073\170\134"
|
|
"\017\256\155\300\204\244\206\230\225\321\332\165\252\353\132\342"
|
|
"\076\372\303\227\002\310\005\045\062\150\123\274\244\314\030\263"
|
|
"\173\206\164\377\053\372\230\301\314\162\066\167\136\221\131\234"
|
|
"\213\035\064\216\346\072\263\031\243\007\325\107\323\356\372\116"
|
|
"\164\157\116\240\152\347\141\067\132\230\256\270\051\010\125\265"
|
|
"\045\211\103\014\303\367\045\146\377\372\256\322\350\251\041\135"
|
|
"\030\160\376\202\130\137\272\262\367\150\152\041\160\277\326\226"
|
|
"\111\032\242\014\022\307\163\021\302\041\344\253\312\006\011\342"
|
|
"\166\007\145\316\146\040\201\136\210\353\177\371\253\125\217\364"
|
|
"\160\061\000\202\371\164\223\273\225\170\146\140\176\157\102\365"
|
|
"\166\250\304\335\310\105\073\121\060\272\112\334\020\331\320\201"
|
|
"\013\321\003\005\105\227\301\333\017\047\073\216\227\176\203\016"
|
|
"\047\107\354\357\214\047\101\275\342\213\231\363\145\151\165\161"
|
|
"\073\171\167\201\020\070\134\040\140\227\257\367\025\062\006\074"
|
|
"\171\362\054\006\032\156\303\375\372\134\361\137\306\146\321\002"
|
|
"\337\110\203\360\200\337\021\340\167\300\330\215\362\337\312\154"
|
|
"\322\367\162\355\145\066\353\137\223\334\277\132\103\220\134\043"
|
|
"\331\340\024\131\277\045\072\067\346\023\304\331\362\217\105\304"
|
|
"\206\270\261\354\356\234\113\201\171\013\333\275\233\070\340\164"
|
|
"\030\364\316\330\032\011\017\001\034\324\332\016\143\040\323\352"
|
|
"\330\205\326\307\041\041\111\233\055\045\130\310\135\071\075\165"
|
|
"\056\014\116\110\025\135\111\061\062\044\100\225\104\023\177\035"
|
|
"\230\126\344\272\170\056\126\245\123\256\155\260\347\253\046\025"
|
|
"\270\164\136\316\322\250\000\004\315\100\231\021\124\031\057\354"
|
|
"\157\023\247\347\101\375\215\225\254\373\105\224\246\153\252\137"
|
|
"\337\010\055\262\261\055\266\176\156\120\220\302\152\277\257\332"
|
|
"\323\127\302\025\124\117\252\000\112\357\224\361\133\076\120\073"
|
|
"\107\176\355\371\253\243\167\032\363\007\334\136\307\214\070\232"
|
|
"\343"
|
|
#define pswd_z 256
|
|
#define pswd ((&data[10949]))
|
|
"\111\131\070\223\111\315\204\245\014\325\340\123\123\315\115\377"
|
|
"\161\304\031\145\314\365\303\223\201\373\055\145\365\335\234\077"
|
|
"\067\325\322\200\243\127\045\257\054\006\003\177\305\212\373\062"
|
|
"\374\324\163\016\350\037\214\256\322\243\143\302\320\032\101\255"
|
|
"\157\236\337\113\365\032\320\210\053\323\011\360\136\004\043\132"
|
|
"\330\227\150\301\266\365\160\211\231\323\113\151\356\215\027\135"
|
|
"\053\367\251\040\022\171\250\075\115\261\056\253\266\122\005\217"
|
|
"\351\156\120\240\144\300\051\375\224\164\146\202\001\176\340\054"
|
|
"\165\211\115\210\003\365\306\121\247\365\374\136\107\002\355\060"
|
|
"\160\076\321\324\377\372\321\223\156\070\026\157\267\367\234\055"
|
|
"\201\351\265\205\337\173\326\207\160\323\345\270\325\323\351\105"
|
|
"\021\272\032\020\264\354\244\042\045\273\222\334\263\057\011\064"
|
|
"\030\277\272\370\072\221\177\253\144\145\143\071\070\115\177\112"
|
|
"\007\232\132\273\206\377\336\254\272\161\210\156\240\222\242\270"
|
|
"\121\135\260\214\356\060\070\122\225\234\214\315\351\013\027\360"
|
|
"\245\162\254\054\161\213\330\054\374\141\232\234\363\075\125\104"
|
|
"\233\006\321\211\066\011\334\314\245\150\231\216\163\261\177\031"
|
|
"\044\053\105\225\266\035\302\263\176\135\117\162\233\245\267\066"
|
|
"\253\210\277\342\221\233\256\066\003\110\305\167\324\120\176\105"
|
|
"\025\227\253\341\215\157\164\017\152\242"
|
|
#define tst1_z 22
|
|
#define tst1 ((&data[11221]))
|
|
"\021\240\314\126\362\222\175\063\176\274\035\332\157\212\146\337"
|
|
"\161\237\342\151\312\106\026\170\267\347"
|
|
#define chk1_z 22
|
|
#define chk1 ((&data[11246]))
|
|
"\311\255\337\014\311\255\146\121\076\310\007\232\177\063\305\030"
|
|
"\077\204\042\070\273\201\112\135\071\366"
|
|
#define xecc_z 15
|
|
#define xecc ((&data[11271]))
|
|
"\027\206\216\301\353\264\055\250\045\361\067\165\221\027\144\070"
|
|
#define msg2_z 19
|
|
#define msg2 ((&data[11291]))
|
|
"\242\214\052\203\335\277\354\246\002\070\253\325\226\121\116\177"
|
|
"\165\032\255\131\060\352\247\031\231"
|
|
#define msg1_z 65
|
|
#define msg1 ((&data[11314]))
|
|
"\233\235\155\267\066\012\113\147\261\335\154\246\232\364\034\013"
|
|
"\313\272\340\213\173\202\005\066\242\004\344\316\312\257\305\141"
|
|
"\064\352\054\022\046\320\173\272\303\073\157\023\237\273\170\101"
|
|
"\104\340\122\302\341\334\326\020\162\204\213\330\171\032\102\217"
|
|
"\317\307\122"
|
|
#define opts_z 1
|
|
#define opts ((&data[11379]))
|
|
"\121"
|
|
#define date_z 1
|
|
#define date ((&data[11380]))
|
|
"\073"
|
|
#define tst2_z 19
|
|
#define tst2 ((&data[11381]))
|
|
"\054\136\230\127\366\156\203\105\053\107\044\260\213\070\237\043"
|
|
"\005\033\137"
|
|
#define shll_z 10
|
|
#define shll ((&data[11401]))
|
|
"\070\116\076\016\245\015\102\067\375\237\173\314"
|
|
#define inlo_z 3
|
|
#define inlo ((&data[11412]))
|
|
"\277\066\023"/* End of data[] */;
|
|
#define hide_z 4096
|
|
#define SETUID 0 /* Define as 1 to call setuid(0) at start of script */
|
|
#define DEBUGEXEC 0 /* Define as 1 to debug execvp calls */
|
|
#define TRACEABLE 1 /* Define as 1 to enable ptrace the executable */
|
|
#define HARDENING 0 /* Define as 1 to disable ptrace/dump the executable */
|
|
#define BUSYBOXON 0 /* Define as 1 to enable work with busybox */
|
|
#define MMAP2 0 /* Define as 1 to use syscall mmap2 */
|
|
|
|
#if HARDENING
|
|
static const char * shc_x[] = {
|
|
"/*",
|
|
" * Copyright 2019 - Intika <intika@librefox.org>",
|
|
" * Replace ******** with secret read from fd 21",
|
|
" * Also change arguments location of sub commands (sh script commands)",
|
|
" * gcc -Wall -fpic -shared -o shc_secret.so shc_secret.c -ldl",
|
|
" */",
|
|
"",
|
|
"#define _GNU_SOURCE /* needed to get RTLD_NEXT defined in dlfcn.h */",
|
|
"#define PLACEHOLDER \"********\"",
|
|
"#include <dlfcn.h>",
|
|
"#include <stdlib.h>",
|
|
"#include <string.h>",
|
|
"#include <unistd.h>",
|
|
"#include <stdio.h>",
|
|
"#include <signal.h>",
|
|
"",
|
|
"static char secret[128000]; //max size",
|
|
"typedef int (*pfi)(int, char **, char **);",
|
|
"static pfi real_main;",
|
|
"",
|
|
"// copy argv to new location",
|
|
"char **copyargs(int argc, char** argv){",
|
|
" char **newargv = malloc((argc+1)*sizeof(*argv));",
|
|
" char *from,*to;",
|
|
" int i,len;",
|
|
"",
|
|
" for(i = 0; i<argc; i++){",
|
|
" from = argv[i];",
|
|
" len = strlen(from)+1;",
|
|
" to = malloc(len);",
|
|
" memcpy(to,from,len);",
|
|
" // zap old argv space",
|
|
" memset(from,'\\0',len);",
|
|
" newargv[i] = to;",
|
|
" argv[i] = 0;",
|
|
" }",
|
|
" newargv[argc] = 0;",
|
|
" return newargv;",
|
|
"}",
|
|
"",
|
|
"static int mymain(int argc, char** argv, char** env) {",
|
|
" //fprintf(stderr, \"Inject main argc = %d\\n\", argc);",
|
|
" return real_main(argc, copyargs(argc,argv), env);",
|
|
"}",
|
|
"",
|
|
"int __libc_start_main(int (*main) (int, char**, char**),",
|
|
" int argc,",
|
|
" char **argv,",
|
|
" void (*init) (void),",
|
|
" void (*fini)(void),",
|
|
" void (*rtld_fini)(void),",
|
|
" void (*stack_end)){",
|
|
" static int (*real___libc_start_main)() = NULL;",
|
|
" int n;",
|
|
"",
|
|
" if (!real___libc_start_main) {",
|
|
" real___libc_start_main = dlsym(RTLD_NEXT, \"__libc_start_main\");",
|
|
" if (!real___libc_start_main) abort();",
|
|
" }",
|
|
"",
|
|
" n = read(21, secret, sizeof(secret));",
|
|
" if (n > 0) {",
|
|
" int i;",
|
|
"",
|
|
" if (secret[n - 1] == '\\n') secret[--n] = '\\0';",
|
|
" for (i = 1; i < argc; i++)",
|
|
" if (strcmp(argv[i], PLACEHOLDER) == 0)",
|
|
" argv[i] = secret;",
|
|
" }",
|
|
"",
|
|
" real_main = main;",
|
|
"",
|
|
" return real___libc_start_main(mymain, argc, argv, init, fini, rtld_fini, stack_end);",
|
|
"}",
|
|
"",
|
|
0};
|
|
#endif /* HARDENING */
|
|
|
|
/* rtc.c */
|
|
|
|
#include <sys/stat.h>
|
|
#include <sys/types.h>
|
|
|
|
#include <errno.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <time.h>
|
|
#include <unistd.h>
|
|
|
|
/* 'Alleged RC4' */
|
|
|
|
static unsigned char stte[256], indx, jndx, kndx;
|
|
|
|
/*
|
|
* Reset arc4 stte.
|
|
*/
|
|
void stte_0(void)
|
|
{
|
|
indx = jndx = kndx = 0;
|
|
do {
|
|
stte[indx] = indx;
|
|
} while (++indx);
|
|
}
|
|
|
|
/*
|
|
* Set key. Can be used more than once.
|
|
*/
|
|
void key(void * str, int len)
|
|
{
|
|
unsigned char tmp, * ptr = (unsigned char *)str;
|
|
while (len > 0) {
|
|
do {
|
|
tmp = stte[indx];
|
|
kndx += tmp;
|
|
kndx += ptr[(int)indx % len];
|
|
stte[indx] = stte[kndx];
|
|
stte[kndx] = tmp;
|
|
} while (++indx);
|
|
ptr += 256;
|
|
len -= 256;
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Crypt data.
|
|
*/
|
|
void arc4(void * str, int len)
|
|
{
|
|
unsigned char tmp, * ptr = (unsigned char *)str;
|
|
while (len > 0) {
|
|
indx++;
|
|
tmp = stte[indx];
|
|
jndx += tmp;
|
|
stte[indx] = stte[jndx];
|
|
stte[jndx] = tmp;
|
|
tmp += stte[indx];
|
|
*ptr ^= stte[tmp];
|
|
ptr++;
|
|
len--;
|
|
}
|
|
}
|
|
|
|
/* End of ARC4 */
|
|
|
|
#if HARDENING
|
|
|
|
#include <sys/ptrace.h>
|
|
#include <sys/wait.h>
|
|
#include <signal.h>
|
|
#include <sys/prctl.h>
|
|
#define PR_SET_PTRACER 0x59616d61
|
|
|
|
/* Seccomp Sandboxing Init */
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <stddef.h>
|
|
#include <string.h>
|
|
#include <unistd.h>
|
|
#include <errno.h>
|
|
|
|
#include <sys/types.h>
|
|
#include <sys/prctl.h>
|
|
#include <sys/syscall.h>
|
|
#include <sys/socket.h>
|
|
|
|
#include <linux/filter.h>
|
|
#include <linux/seccomp.h>
|
|
#include <linux/audit.h>
|
|
|
|
#define ArchField offsetof(struct seccomp_data, arch)
|
|
|
|
#define Allow(syscall) \
|
|
BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, SYS_##syscall, 0, 1), \
|
|
BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_ALLOW)
|
|
|
|
struct sock_filter filter[] = {
|
|
/* validate arch */
|
|
BPF_STMT(BPF_LD+BPF_W+BPF_ABS, ArchField),
|
|
BPF_JUMP( BPF_JMP+BPF_JEQ+BPF_K, AUDIT_ARCH_X86_64, 1, 0),
|
|
BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_KILL),
|
|
|
|
/* load syscall */
|
|
BPF_STMT(BPF_LD+BPF_W+BPF_ABS, offsetof(struct seccomp_data, nr)),
|
|
|
|
/* list of allowed syscalls */
|
|
Allow(exit_group), /* exits a process */
|
|
Allow(brk), /* for malloc(), inside libc */
|
|
#if MMAP2
|
|
Allow(mmap2), /* also for malloc() */
|
|
#else
|
|
Allow(mmap), /* also for malloc() */
|
|
#endif
|
|
Allow(munmap), /* for free(), inside libc */
|
|
|
|
/* and if we don't match above, die */
|
|
BPF_STMT(BPF_RET+BPF_K, SECCOMP_RET_KILL),
|
|
};
|
|
struct sock_fprog filterprog = {
|
|
.len = sizeof(filter)/sizeof(filter[0]),
|
|
.filter = filter
|
|
};
|
|
|
|
/* Seccomp Sandboxing - Set up the restricted environment */
|
|
void seccomp_hardening() {
|
|
if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)) {
|
|
perror("Could not start seccomp:");
|
|
exit(1);
|
|
}
|
|
if (prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, &filterprog) == -1) {
|
|
perror("Could not start seccomp:");
|
|
exit(1);
|
|
}
|
|
}
|
|
/* End Seccomp Sandboxing Init */
|
|
|
|
void shc_x_file() {
|
|
FILE *fp;
|
|
int line = 0;
|
|
|
|
if ((fp = fopen("/tmp/shc_x.c", "w")) == NULL ) {exit(1); exit(1);}
|
|
for (line = 0; shc_x[line]; line++) fprintf(fp, "%s\n", shc_x[line]);
|
|
fflush(fp);fclose(fp);
|
|
}
|
|
|
|
int make() {
|
|
char * cc, * cflags, * ldflags;
|
|
char cmd[4096];
|
|
|
|
cc = getenv("CC");
|
|
if (!cc) cc = "cc";
|
|
|
|
sprintf(cmd, "%s %s -o %s %s", cc, "-Wall -fpic -shared", "/tmp/shc_x.so", "/tmp/shc_x.c -ldl");
|
|
if (system(cmd)) {remove("/tmp/shc_x.c"); return -1;}
|
|
remove("/tmp/shc_x.c"); return 0;
|
|
}
|
|
|
|
void arc4_hardrun(void * str, int len) {
|
|
//Decode locally
|
|
char tmp2[len];
|
|
char tmp3[len+1024];
|
|
memcpy(tmp2, str, len);
|
|
|
|
unsigned char tmp, * ptr = (unsigned char *)tmp2;
|
|
int lentmp = len;
|
|
int pid, status;
|
|
pid = fork();
|
|
|
|
shc_x_file();
|
|
if (make()) {exit(1);}
|
|
|
|
setenv("LD_PRELOAD","/tmp/shc_x.so",1);
|
|
|
|
if(pid==0) {
|
|
|
|
//Start tracing to protect from dump & trace
|
|
if (ptrace(PTRACE_TRACEME, 0, 0, 0) < 0) {
|
|
kill(getpid(), SIGKILL);
|
|
_exit(1);
|
|
}
|
|
|
|
//Decode Bash
|
|
while (len > 0) {
|
|
indx++;
|
|
tmp = stte[indx];
|
|
jndx += tmp;
|
|
stte[indx] = stte[jndx];
|
|
stte[jndx] = tmp;
|
|
tmp += stte[indx];
|
|
*ptr ^= stte[tmp];
|
|
ptr++;
|
|
len--;
|
|
}
|
|
|
|
//Do the magic
|
|
sprintf(tmp3, "%s %s", "'********' 21<<<", tmp2);
|
|
|
|
//Exec bash script //fork execl with 'sh -c'
|
|
system(tmp2);
|
|
|
|
//Empty script variable
|
|
memcpy(tmp2, str, lentmp);
|
|
|
|
//Clean temp
|
|
remove("/tmp/shc_x.so");
|
|
|
|
//Sinal to detach ptrace
|
|
ptrace(PTRACE_DETACH, 0, 0, 0);
|
|
exit(0);
|
|
}
|
|
else {wait(&status);}
|
|
|
|
/* Seccomp Sandboxing - Start */
|
|
seccomp_hardening();
|
|
|
|
exit(0);
|
|
}
|
|
#endif /* HARDENING */
|
|
|
|
/*
|
|
* Key with file invariants.
|
|
*/
|
|
int key_with_file(char * file)
|
|
{
|
|
struct stat statf[1];
|
|
struct stat control[1];
|
|
|
|
if (stat(file, statf) < 0)
|
|
return -1;
|
|
|
|
/* Turn on stable fields */
|
|
memset(control, 0, sizeof(control));
|
|
control->st_ino = statf->st_ino;
|
|
control->st_dev = statf->st_dev;
|
|
control->st_rdev = statf->st_rdev;
|
|
control->st_uid = statf->st_uid;
|
|
control->st_gid = statf->st_gid;
|
|
control->st_size = statf->st_size;
|
|
control->st_mtime = statf->st_mtime;
|
|
control->st_ctime = statf->st_ctime;
|
|
key(control, sizeof(control));
|
|
return 0;
|
|
}
|
|
|
|
#if DEBUGEXEC
|
|
void debugexec(char * sh11, int argc, char ** argv)
|
|
{
|
|
int i;
|
|
fprintf(stderr, "shll=%s\n", sh11 ? sh11 : "<null>");
|
|
fprintf(stderr, "argc=%d\n", argc);
|
|
if (!argv) {
|
|
fprintf(stderr, "argv=<null>\n");
|
|
} else {
|
|
for (i = 0; i <= argc ; i++)
|
|
fprintf(stderr, "argv[%d]=%.60s\n", i, argv[i] ? argv[i] : "<null>");
|
|
}
|
|
}
|
|
#endif /* DEBUGEXEC */
|
|
|
|
void rmarg(char ** argv, char * arg)
|
|
{
|
|
for (; argv && *argv && *argv != arg; argv++);
|
|
for (; argv && *argv; argv++)
|
|
*argv = argv[1];
|
|
}
|
|
|
|
void chkenv_end(void);
|
|
|
|
int chkenv(int argc)
|
|
{
|
|
char buff[512];
|
|
unsigned long mask, m;
|
|
int l, a, c;
|
|
char * string;
|
|
extern char ** environ;
|
|
|
|
mask = (unsigned long)getpid();
|
|
stte_0();
|
|
key(&chkenv, (void*)&chkenv_end - (void*)&chkenv);
|
|
key(&data, sizeof(data));
|
|
key(&mask, sizeof(mask));
|
|
arc4(&mask, sizeof(mask));
|
|
sprintf(buff, "x%lx", mask);
|
|
string = getenv(buff);
|
|
#if DEBUGEXEC
|
|
fprintf(stderr, "getenv(%s)=%s\n", buff, string ? string : "<null>");
|
|
#endif
|
|
l = strlen(buff);
|
|
if (!string) {
|
|
/* 1st */
|
|
sprintf(&buff[l], "=%lu %d", mask, argc);
|
|
putenv(strdup(buff));
|
|
return 0;
|
|
}
|
|
c = sscanf(string, "%lu %d%c", &m, &a, buff);
|
|
if (c == 2 && m == mask) {
|
|
/* 3rd */
|
|
rmarg(environ, &string[-l - 1]);
|
|
return 1 + (argc - a);
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
void chkenv_end(void){}
|
|
|
|
#if HARDENING
|
|
|
|
static void gets_process_name(const pid_t pid, char * name) {
|
|
char procfile[BUFSIZ];
|
|
sprintf(procfile, "/proc/%d/cmdline", pid);
|
|
FILE* f = fopen(procfile, "r");
|
|
if (f) {
|
|
size_t size;
|
|
size = fread(name, sizeof (char), sizeof (procfile), f);
|
|
if (size > 0) {
|
|
if ('\n' == name[size - 1])
|
|
name[size - 1] = '\0';
|
|
}
|
|
fclose(f);
|
|
}
|
|
}
|
|
|
|
void hardening() {
|
|
prctl(PR_SET_DUMPABLE, 0);
|
|
prctl(PR_SET_PTRACER, -1);
|
|
|
|
int pid = getppid();
|
|
char name[256] = {0};
|
|
gets_process_name(pid, name);
|
|
|
|
if ( (strcmp(name, "bash") != 0)
|
|
&& (strcmp(name, "/bin/bash") != 0)
|
|
&& (strcmp(name, "sh") != 0)
|
|
&& (strcmp(name, "/bin/sh") != 0)
|
|
&& (strcmp(name, "sudo") != 0)
|
|
&& (strcmp(name, "/bin/sudo") != 0)
|
|
&& (strcmp(name, "/usr/bin/sudo") != 0)
|
|
&& (strcmp(name, "gksudo") != 0)
|
|
&& (strcmp(name, "/bin/gksudo") != 0)
|
|
&& (strcmp(name, "/usr/bin/gksudo") != 0)
|
|
&& (strcmp(name, "kdesu") != 0)
|
|
&& (strcmp(name, "/bin/kdesu") != 0)
|
|
&& (strcmp(name, "/usr/bin/kdesu") != 0)
|
|
)
|
|
{
|
|
printf("Operation not permitted\n");
|
|
kill(getpid(), SIGKILL);
|
|
exit(1);
|
|
}
|
|
}
|
|
|
|
#endif /* HARDENING */
|
|
|
|
#if !TRACEABLE
|
|
|
|
#define _LINUX_SOURCE_COMPAT
|
|
#include <sys/ptrace.h>
|
|
#include <sys/types.h>
|
|
#include <sys/wait.h>
|
|
#include <fcntl.h>
|
|
#include <signal.h>
|
|
#include <stdio.h>
|
|
#include <unistd.h>
|
|
|
|
#if !defined(PT_ATTACHEXC) /* New replacement for PT_ATTACH */
|
|
#if !defined(PTRACE_ATTACH) && defined(PT_ATTACH)
|
|
#define PT_ATTACHEXC PT_ATTACH
|
|
#elif defined(PTRACE_ATTACH)
|
|
#define PT_ATTACHEXC PTRACE_ATTACH
|
|
#endif
|
|
#endif
|
|
|
|
void untraceable(char * argv0)
|
|
{
|
|
char proc[80];
|
|
int pid, mine;
|
|
|
|
switch(pid = fork()) {
|
|
case 0:
|
|
pid = getppid();
|
|
/* For problematic SunOS ptrace */
|
|
#if defined(__FreeBSD__)
|
|
sprintf(proc, "/proc/%d/mem", (int)pid);
|
|
#else
|
|
sprintf(proc, "/proc/%d/as", (int)pid);
|
|
#endif
|
|
close(0);
|
|
mine = !open(proc, O_RDWR|O_EXCL);
|
|
if (!mine && errno != EBUSY)
|
|
mine = !ptrace(PT_ATTACHEXC, pid, 0, 0);
|
|
if (mine) {
|
|
kill(pid, SIGCONT);
|
|
} else {
|
|
perror(argv0);
|
|
kill(pid, SIGKILL);
|
|
}
|
|
_exit(mine);
|
|
case -1:
|
|
break;
|
|
default:
|
|
if (pid == waitpid(pid, 0, 0))
|
|
return;
|
|
}
|
|
perror(argv0);
|
|
_exit(1);
|
|
}
|
|
#endif /* !TRACEABLE */
|
|
|
|
char * xsh(int argc, char ** argv)
|
|
{
|
|
char * scrpt;
|
|
int ret, i, j;
|
|
char ** varg;
|
|
char * me = argv[0];
|
|
if (me == NULL) { me = getenv("_"); }
|
|
if (me == 0) { fprintf(stderr, "E: neither argv[0] nor $_ works."); exit(1); }
|
|
|
|
ret = chkenv(argc);
|
|
stte_0();
|
|
key(pswd, pswd_z);
|
|
arc4(msg1, msg1_z);
|
|
arc4(date, date_z);
|
|
if (date[0] && (atoll(date)<time(NULL)))
|
|
return msg1;
|
|
arc4(shll, shll_z);
|
|
arc4(inlo, inlo_z);
|
|
arc4(xecc, xecc_z);
|
|
arc4(lsto, lsto_z);
|
|
arc4(tst1, tst1_z);
|
|
key(tst1, tst1_z);
|
|
arc4(chk1, chk1_z);
|
|
if ((chk1_z != tst1_z) || memcmp(tst1, chk1, tst1_z))
|
|
return tst1;
|
|
arc4(msg2, msg2_z);
|
|
if (ret < 0)
|
|
return msg2;
|
|
varg = (char **)calloc(argc + 10, sizeof(char *));
|
|
if (!varg)
|
|
return 0;
|
|
if (ret) {
|
|
arc4(rlax, rlax_z);
|
|
if (!rlax[0] && key_with_file(shll))
|
|
return shll;
|
|
arc4(opts, opts_z);
|
|
#if HARDENING
|
|
arc4_hardrun(text, text_z);
|
|
exit(0);
|
|
/* Seccomp Sandboxing - Start */
|
|
seccomp_hardening();
|
|
#endif
|
|
arc4(text, text_z);
|
|
arc4(tst2, tst2_z);
|
|
key(tst2, tst2_z);
|
|
arc4(chk2, chk2_z);
|
|
if ((chk2_z != tst2_z) || memcmp(tst2, chk2, tst2_z))
|
|
return tst2;
|
|
/* Prepend hide_z spaces to script text to hide it. */
|
|
scrpt = malloc(hide_z + text_z);
|
|
if (!scrpt)
|
|
return 0;
|
|
memset(scrpt, (int) ' ', hide_z);
|
|
memcpy(&scrpt[hide_z], text, text_z);
|
|
} else { /* Reexecute */
|
|
if (*xecc) {
|
|
scrpt = malloc(512);
|
|
if (!scrpt)
|
|
return 0;
|
|
sprintf(scrpt, xecc, me);
|
|
} else {
|
|
scrpt = me;
|
|
}
|
|
}
|
|
j = 0;
|
|
#if BUSYBOXON
|
|
varg[j++] = "busybox";
|
|
varg[j++] = "sh";
|
|
#else
|
|
varg[j++] = argv[0]; /* My own name at execution */
|
|
#endif
|
|
if (ret && *opts)
|
|
varg[j++] = opts; /* Options on 1st line of code */
|
|
if (*inlo)
|
|
varg[j++] = inlo; /* Option introducing inline code */
|
|
varg[j++] = scrpt; /* The script itself */
|
|
if (*lsto)
|
|
varg[j++] = lsto; /* Option meaning last option */
|
|
i = (ret > 1) ? ret : 0; /* Args numbering correction */
|
|
while (i < argc)
|
|
varg[j++] = argv[i++]; /* Main run-time arguments */
|
|
varg[j] = 0; /* NULL terminated array */
|
|
#if DEBUGEXEC
|
|
debugexec(shll, j, varg);
|
|
#endif
|
|
execvp(shll, varg);
|
|
return shll;
|
|
}
|
|
|
|
int main(int argc, char ** argv)
|
|
{
|
|
#if SETUID
|
|
setuid(0);
|
|
#endif
|
|
#if DEBUGEXEC
|
|
debugexec("main", argc, argv);
|
|
#endif
|
|
#if HARDENING
|
|
hardening();
|
|
#endif
|
|
#if !TRACEABLE
|
|
untraceable(argv[0]);
|
|
#endif
|
|
argv[1] = xsh(argc, argv);
|
|
fprintf(stderr, "%s%s%s: %s\n", argv[0],
|
|
errno ? ": " : "",
|
|
errno ? strerror(errno) : "",
|
|
argv[1] ? argv[1] : "<null>"
|
|
);
|
|
return 1;
|
|
}
|