#if 0
	shc Version 4.0.3, Generic Shell Script Compiler
	GNU GPL Version 3 Md Jahidul Hamid <jahidulhamid@yahoo.com>

	shc -r -v -o ./THORIUM-PORTABLE -f ./THORIUM-PORTABLE.sh 
#endif

static  char data [] = 
#define      chk2_z	19
#define      chk2	((&data[1]))
	"\342\005\373\111\335\073\141\006\201\311\051\040\334\334\023\267"
	"\255\120\040\225\213"
#define      pswd_z	256
#define      pswd	((&data[83]))
	"\316\051\347\240\015\337\062\046\173\330\300\262\273\020\237\377"
	"\337\020\212\172\216\340\152\205\034\265\150\247\261\136\177\200"
	"\210\146\040\225\106\123\274\301\053\175\164\347\216\024\347\155"
	"\044\162\350\262\122\122\070\157\007\241\026\271\377\225\314\221"
	"\004\312\167\334\020\007\157\070\266\137\243\254\177\374\066\265"
	"\371\162\126\232\221\210\327\161\015\204\345\234\206\262\055\213"
	"\174\245\147\214\254\327\304\143\067\147\020\266\144\106\154\136"
	"\270\303\370\111\113\320\272\130\124\240\365\333\122\043\146\316"
	"\310\316\133\165\246\037\330\335\207\351\224\354\057\000\112\347"
	"\303\102\061\017\022\353\147\147\214\135\102\336\200\251\255\111"
	"\170\010\277\036\050\230\373\260\201\217\234\260\220\346\230\123"
	"\051\311\142\074\265\312\243\101\047\346\040\250\220\315\362\010"
	"\326\261\046\377\112\042\257\313\261\113\174\101\062\025\225\133"
	"\337\370\230\224\303\074\326\353\042\367\223\263\305\205\273\233"
	"\067\342\232\201\004\111\115\266\225\312\370\307\337\216\043\277"
	"\207\273\124\112\367\052\065\032\041\310\315\346\116\211\202\206"
	"\154\035\010\161\147\125\050\374\040\040\304\000\257\350\277\066"
	"\243\023\200\233\076\265\265\140\176\203\107\315\015\311\123\171"
	"\347\133\353\116\261\023\113\321\063\020\322\343\370\221\031\233"
	"\245\232\067\343\117\354\103\316\160\213\233\175\125\357\071\210"
	"\374\132\036\102\255\332\004\331\130\171\301\346\215\250\123\261"
	"\033\073\144\155\216\234\334\226\075\363\117\075\211\210\305\206"
	"\342\344\310\220\276\315\152\027\106\053\375\323\323\121\205\357"
	"\215\351\134\033"
#define      tst1_z	22
#define      tst1	((&data[394]))
	"\304\310\116\110\107\170\260\276\276\226\077\272\345\350\110\333"
	"\144\234\375\111\166\161\111\055\000\001\266"
#define      chk1_z	22
#define      chk1	((&data[424]))
	"\154\253\005\374\051\123\122\300\352\313\342\102\130\264\336\206"
	"\031\346\160\230\245\173\321\311\123\011\152"
#define      text_z	4153
#define      text	((&data[863]))
	"\031\221\177\354\145\320\162\124\135\134\261\171\342\353\052\246"
	"\030\053\250\316\265\157\013\041\033\021\035\205\344\204\007\375"
	"\026\206\352\173\126\134\320\264\270\202\055\233\155\130\102\205"
	"\204\352\124\071\132\140\132\165\161\170\373\125\374\002\122\023"
	"\210\074\217\337\231\137\224\122\342\302\356\117\032\060\325\237"
	"\033\052\330\165\212\063\352\373\253\345\121\250\350\243\273\160"
	"\340\112\120\172\252\345\314\214\247\272\334\301\353\262\140\006"
	"\334\071\174\146\154\146\142\030\114\263\300\064\127\174\245\070"
	"\307\366\262\161\333\177\376\202\072\333\104\046\215\245\054\152"
	"\336\251\321\113\020\064\143\134\350\044\221\077\241\067\170\150"
	"\055\053\332\011\252\330\214\345\264\320\013\102\166\070\254\124"
	"\341\176\237\361\262\003\116\232\047\337\332\310\027\123\061\105"
	"\176\013\116\051\343\332\016\227\253\032\332\041\123\206\166\064"
	"\004\026\046\267\031\164\121\101\124\054\011\154\177\072\261\375"
	"\105\377\046\051\332\065\301\206\120\233\247\243\042\036\330\047"
	"\064\377\336\115\164\060\216\310\134\230\064\333\323\346\331\031"
	"\346\000\103\300\066\004\107\206\240\357\052\302\015\003\351\101"
	"\002\307\216\166\370\035\077\124\266\164\060\211\132\011\243\100"
	"\011\346\001\077\352\110\306\212\067\360\115\104\364\066\206\366"
	"\376\025\154\366\062\254\113\350\040\173\162\173\204\025\273\215"
	"\373\275\315\346\006\223\161\076\204\276\203\170\364\011\156\363"
	"\036\333\352\121\210\065\072\250\260\254\043\064\302\337\302\275"
	"\235\217\244\243\043\025\342\247\323\145\040\310\156\217\274\215"
	"\153\246\336\363\333\030\234\213\305\300\300\207\240\202\105\075"
	"\021\352\341\065\377\303\334\323\050\375\234\227\214\130\045\367"
	"\376\003\353\332\034\207\145\342\107\045\151\347\250\257\044\272"
	"\200\341\142\227\105\363\261\371\230\133\102\045\273\265\027\300"
	"\072\144\016\013\052\053\145\245\034\046\275\030\260\315\000\300"
	"\137\076\364\244\065\346\240\245\116\341\254\264\375\335\210\252"
	"\052\241\234\077\172\360\350\124\047\306\022\334\000\344\125\272"
	"\370\337\145\344\157\147\370\373\143\167\204\300\211\300\313\230"
	"\023\173\121\370\227\166\362\110\064\101\334\317\133\207\147\204"
	"\351\243\136\074\215\175\306\067\266\226\251\025\254\337\117\023"
	"\135\145\310\357\063\250\353\047\114\355\156\051\155\245\173\304"
	"\353\011\030\045\322\043\213\131\064\341\210\213\065\140\002\332"
	"\253\003\366\060\037\143\310\375\233\121\153\137\230\326\122\045"
	"\102\205\374\300\370\003\232\215\355\054\041\075\274\174\147\134"
	"\171\107\374\263\333\166\223\326\367\017\112\067\075\375\112\313"
	"\010\141\227\362\201\363\023\010\231\217\072\245\056\315\170\271"
	"\363\151\155\320\257\031\131\160\133\151\030\365\315\121\072\325"
	"\073\064\201\320\211\370\214\150\042\017\356\360\342\123\352\040"
	"\100\071\373\000\031\362\262\324\112\035\004\250\167\357\021\374"
	"\316\354\127\240\071\315\150\113\326\355\234\266\227\247\266\274"
	"\360\037\367\053\171\011\236\262\077\345\220\207\016\003\211\351"
	"\177\071\221\334\157\153\324\074\352\024\357\244\053\255\215\112"
	"\245\205\315\230\204\360\054\244\207\106\067\012\315\207\104\321"
	"\151\324\204\206\206\000\364\326\262\373\064\321\200\207\036\334"
	"\270\100\272\323\114\031\031\271\173\051\273\216\032\344\033\100"
	"\134\251\314\360\345\352\122\042\251\374\135\301\325\350\265\057"
	"\272\020\222\325\213\101\346\370\030\055\311\030\353\315\123\024"
	"\334\341\265\113\100\002\347\112\277\221\142\110\150\177\066\210"
	"\104\076\335\231\304\001\246\326\333\174\272\343\004\152\265\076"
	"\304\201\150\360\222\212\160\135\364\065\322\023\012\057\355\161"
	"\324\371\312\317\137\301\036\025\021\140\336\257\012\120\121\250"
	"\103\073\362\327\373\154\223\377\104\121\243\146\130\054\260\370"
	"\170\033\203\072\125\227\116\357\337\255\146\324\173\255\124\370"
	"\333\171\017\301\176\105\006\351\032\006\102\162\040\350\026\215"
	"\367\370\267\214\045\126\024\063\173\202\127\350\050\103\013\321"
	"\302\264\341\132\011\074\213\263\155\020\017\300\325\333\060\327"
	"\065\170\267\334\273\361\323\307\175\315\164\316\002\136\140\114"
	"\247\204\352\300\063\302\033\301\217\176\022\217\154\042\054\100"
	"\052\223\272\232\227\037\306\352\041\070\352\136\303\054\145\234"
	"\215\232\376\116\251\071\101\011\165\256\324\134\110\030\216\140"
	"\020\245\112\247\073\204\002\216\375\056\316\030\017\034\011\351"
	"\265\334\173\213\253\347\222\056\356\371\342\014\170\147\134\002"
	"\077\202\142\011\107\076\300\072\175\134\355\100\040\137\101\063"
	"\041\160\150\201\311\064\375\154\313\340\174\113\101\215\306\375"
	"\063\122\351\244\121\311\232\351\066\376\323\033\027\125\032\060"
	"\140\254\316\245\116\177\347\145\261\117\303\366\147\051\167\005"
	"\317\000\122\227\164\037\256\377\204\042\263\262\147\301\017\325"
	"\165\034\072\126\111\106\251\304\224\056\156\137\160\264\274\345"
	"\174\215\217\241\113\235\136\324\206\131\111\374\327\010\345\310"
	"\171\110\134\303\220\162\040\305\160\375\036\176\225\203\175\177"
	"\133\205\042\324\104\126\127\375\101\222\027\220\220\370\305\172"
	"\003\073\056\160\362\255\134\062\016\245\272\122\264\020\106\203"
	"\232\363\136\365\243\150\352\161\277\112\101\155\110\103\345\316"
	"\333\172\026\307\255\164\240\111\041\155\263\017\353\160\245\057"
	"\217\002\211\316\216\240\174\103\246\157\302\032\027\257\154\151"
	"\370\364\107\271\371\173\246\052\016\353\110\307\001\355\274\363"
	"\330\132\202\154\142\146\231\255\215\211\335\320\247\332\363\317"
	"\207\151\116\245\313\052\054\050\214\270\110\350\144\227\301\262"
	"\217\006\331\320\242\356\124\114\270\033\213\034\003\241\154\256"
	"\063\060\326\130\312\333\271\262\107\315\372\113\247\313\202\306"
	"\331\255\145\045\330\244\316\037\105\300\137\347\004\043\247\025"
	"\057\230\266\033\260\067\172\302\311\142\201\265\013\151\125\274"
	"\240\375\347\121\241\101\100\021\321\355\114\025\113\200\143\217"
	"\232\363\036\320\263\325\361\046\217\114\243\153\062\011\253\005"
	"\151\217\310\310\236\022\352\200\271\255\221\014\075\170\011\244"
	"\002\272\017\126\054\030\223\161\371\274\275\203\052\276\074\367"
	"\162\121\331\156\167\223\164\144\302\306\221\256\251\071\256\264"
	"\331\007\231\177\241\032\202\347\021\210\036\277\043\237\366\257"
	"\226\354\002\335\303\355\161\027\256\346\234\263\303\212\215\141"
	"\271\041\204\124\055\133\104\103\177\265\373\177\010\122\251\067"
	"\310\223\375\076\352\041\246\150\155\362\373\300\377\157\005\244"
	"\256\147\002\207\012\372\054\072\027\177\235\270\273\302\157\356"
	"\264\071\316\371\251\256\026\303\232\223\054\306\352\346\121\170"
	"\243\046\076\137\116\037\320\272\274\377\366\013\371\204\011\164"
	"\364\200\240\356\272\250\157\122\265\120\327\105\022\265\127\226"
	"\233\006\040\134\307\006\051\163\333\006\322\215\146\306\014\210"
	"\145\241\137\001\270\256\374\256\002\152\277\345\053\362\034\131"
	"\117\344\354\213\172\072\206\303\137\235\042\045\224\335\126\357"
	"\220\260\334\103\130\300\167\251\214\374\173\270\066\260\350\056"
	"\070\357\045\145\324\105\074\246\123\350\241\105\224\004\132\244"
	"\231\166\031\004\077\256\242\110\242\311\232\161\235\114\351\006"
	"\102\030\063\101\304\360\175\003\165\025\071\237\234\300\357\234"
	"\033\220\250\051\326\132\313\065\301\301\255\001\213\173\002\371"
	"\372\110\017\106\165\070\203\032\140\311\156\332\376\065\070\002"
	"\052\254\362\167\277\172\114\310\116\314\067\374\222\137\307\060"
	"\200\076\204\055\270\165\306\342\030\024\055\161\337\372\230\377"
	"\047\105\272\246\240\302\123\022\317\067\000\120\002\120\264\054"
	"\215\032\374\316\110\362\354\313\302\322\146\121\123\037\157\316"
	"\350\105\363\271\307\241\067\137\254\032\031\227\375\143\240\341"
	"\314\053\142\074\222\131\370\115\063\227\305\327\204\130\036\064"
	"\024\345\102\156\376\110\252\146\117\100\016\147\141\270\124\305"
	"\035\371\372\064\213\013\053\370\126\272\213\263\223\146\274\351"
	"\330\120\057\140\003\241\226\061\137\213\175\152\123\372\027\013"
	"\061\244\162\154\155\210\051\032\200\201\135\224\331\070\243\060"
	"\377\142\262\045\174\076\120\302\223\177\252\350\256\260\160\062"
	"\005\204\207\142\075\276\212\330\216\372\055\305\367\345\300\175"
	"\227\111\230\066\033\324\377\014\164\360\062\226\234\070\323\113"
	"\132\352\212\332\250\336\215\174\260\137\327\275\250\004\151\266"
	"\044\355\112\053\162\160\055\077\010\110\352\166\222\260\157\115"
	"\153\153\057\234\373\343\034\352\203\234\166\206\075\345\042\277"
	"\322\034\061\135\026\345\357\216\010\202\043\125\014\024\306\330"
	"\217\021\321\310\251\313\114\321\106\026\067\337\022\303\260\075"
	"\133\155\136\374\323\304\313\076\200\003\326\332\250\337\316\250"
	"\030\323\104\134\353\344\106\155\157\052\244\056\364\231\222\065"
	"\075\350\044\232\131\023\342\377\013\305\205\266\112\160\117\170"
	"\130\364\001\165\021\054\350\247\243\315\170\147\126\262\227\041"
	"\323\225\102\215\131\043\332\260\122\012\226\107\142\177\041\147"
	"\012\136\307\116\333\034\365\202\234\152\213\130\215\333\376\125"
	"\114\206\021\330\013\064\035\264\042\040\100\334\310\160\062\307"
	"\343\200\062\333\362\100\036\205\346\260\177\046\005\305\037\200"
	"\100\163\315\136\114\252\013\025\024\013\040\172\106\325\311\155"
	"\374\214\012\142\314\245\253\222\040\346\103\030\064\304\307\253"
	"\021\022\261\301\015\213\320\263\170\277\322\236\276\160\066\062"
	"\343\030\060\115\302\056\242\303\063\220\276\026\024\136\076\216"
	"\355\036\144\305\241\217\023\355\044\162\347\001\123\206\171\202"
	"\301\167\071\337\350\356\145\367\340\106\141\376\250\013\336\222"
	"\064\220\177\120\234\344\004\357\177\142\045\372\332\015\077\040"
	"\030\262\357\004\372\104\312\053\250\221\171\251\231\334\004\076"
	"\013\374\176\065\070\124\046\347\204\025\231\341\370\031\160\064"
	"\167\137\057\114\106\213\116\132\153\376\051\321\051\340\106\056"
	"\273\072\260\230\266\135\032\120\046\327\061\137\122\344\001\144"
	"\265\141\377\145\261\114\200\044\336\313\145\110\032\135\313\364"
	"\012\233\345\256\073\247\050\276\242\163\143\132\173\207\352\035"
	"\032\360\236\307\060\227\145\052\167\314\047\335\316\074\377\047"
	"\127\034\040\220\066\055\014\323\134\216\006\006\226\356\174\236"
	"\342\106\072\003\102\352\237\015\312\042\234\112\214\372\267\344"
	"\205\007\223\220\075\147\307\050\226\202\215\362\032\210\375\110"
	"\137\133\211\001\365\335\346\027\375\115\131\064\053\007\062\244"
	"\145\322\006\344\360\323\027\074\203\352\245\163\333\004\066\041"
	"\371\364\230\242\010\065\373\057\175\065\102\241\354\220\160\056"
	"\061\005\147\000\254\253\301\015\220\143\324\205\342\136\277\015"
	"\007\006\030\057\235\070\053\167\271\347\314\252\261\240\035\074"
	"\225\333\261\025\351\347\161\270\164\353\156\153\042\234\211\206"
	"\376\325\157\167\112\302\360\262\200\170\350\335\105\150\213\032"
	"\121\376\104\055\176\045\123\111\335\156\131\010\245\227\062\353"
	"\033\163\133\052\307\146\244\064\240\024\016\357\017\246\146\022"
	"\115\314\132\017\264\144\015\350\315\273\132\222\111\016\100\223"
	"\370\327\300\131\357\076\075\124\327\326\213\165\025\225\076\242"
	"\050\211\023\302\207\262\361\325\004\210\131\337\104\006\321\154"
	"\111\103\006\104\046\255\011\327\376\047\147\052\074\146\244\353"
	"\101\100\050\136\233\127\314\336\133\056\327\375\337\365\353\174"
	"\330\160\326\073\242\051\223\351\252\063\344\124\164\176\376\033"
	"\310\006\161\166\010\141\132\360\133\153\220\272\351\264\371\157"
	"\346\340\030\203\043\240\222\050\255\165\226\160\241\104\020\240"
	"\326\227\265\207\301\157\200\240\004\136\150\024\357\201\344\025"
	"\214\031\324\170\111\330\023\126\260\101\022\364\244\145\101\137"
	"\130\170\361\344\255\063\001\336\021\226\026\326\164\117\035\051"
	"\276\312\077\075\240\242\126\376\157\352\136\003\326\221\263\011"
	"\256\145\016\014\115\340\157\133\067\274\224\103\241\351\066\110"
	"\306\120\121\173\015\202\130\155\204\366\025\173\043\132\104\037"
	"\361\333\064\255\026\237\067\224\034\053\217\232\325\056\174\074"
	"\157\033\317\231\126\167\055\264\170\334\307\354\163\241\253\014"
	"\023\050\077\033\311\366\123\142\045\213\227\047\150\006\253\056"
	"\006\031\125\012\110\001\301\314\102\034\076\224\233\374\060\153"
	"\141\327\336\327\160\365\002\057\342\304\237\173\170\057\315\332"
	"\102\345\157\063\001\140\171\065\333\214\142\025\154\173\115\134"
	"\313\104\241\020\247\013\024\042\244\334\234\205\220\133\331\113"
	"\331\016\170\000\271\132\064\170\355\060\311\041\150\250\207\236"
	"\223\166\021\230\362\141\027\131\261\203\266\003\013\116\365\062"
	"\176\076\310\006\300\233\306\234\244\264\230\243\135\045\160\260"
	"\062\021\072\045\036\055\240\300\307\202\253\172\314\306\061\363"
	"\243\265\136\377\342\050\175\374\123\016\134\153\006\030\076\001"
	"\170\063\373\274\360\237\101\174\077\303\317\331\070\027\260\234"
	"\272\270\326\112\141\303\020\353\075\254\130\073\345\146\277\034"
	"\031\372\344\336\171\025\127\056\332\242\222\156\133\013\370\247"
	"\252\015\240\336\125\155\044\301\107\307\041\221\110\234\077\213"
	"\336\154\225\053\241\306\325\312\264\252\212\024\072\320\026\262"
	"\247\104\131\145\060\347\311\205\117\117\041\117\012\044\137\166"
	"\037\324\017\367\312\206\143\145\065\123\175\167\042\232\161\263"
	"\370\005\110\043\161\265\220\323\133\253\305\261\266\227\357\345"
	"\242\210\320\175\343\371\132\032\376\113\135\062\331\345\301\121"
	"\061\216\235\072\015\145\340\041\345\332\266\031\041\325\021\332"
	"\113\357\004\271\211\164\126\370\105\212\021\220\066\113\257\104"
	"\307\345\250\230\035\315\376\000\341\107\314\372\273\172\306\317"
	"\353\171\314\265\224\215\257\021\373\107\243\256\222\307\366\164"
	"\322\071\376\211\124\002\235\127\363\313\150\316\322\231\141\032"
	"\252\153\205\143\325\124\215\062\117\103\233\001\117\023\041\170"
	"\305\034\163\232\035\111\341\134\246\103\222\000\121\225\164\043"
	"\034\260\111\110\132\325\356\370\007\245\262\174\066\141\135\062"
	"\327\353\271\114\370\045\372\333\124\101\062\074\057\046\315\152"
	"\052\342\170\073\334\105\121\367\334\312\117\156\312\071\327\223"
	"\331\130\000\171\317\112\045\310\136\062\021\224\146\332\234\133"
	"\334\233\255\342\037\010\076\050\313\165\046\143\361\216\001\050"
	"\071\122\270\070\351\164\301\132\204\036\002\013\244\344\011\237"
	"\331\374\106\354\165\101\025\221\147\322\114\220\306\126\121\104"
	"\276\316\375\007\053\212\342\143\136\352\256\150\223\303\311\214"
	"\166\302\316\165\000\273\145\371\275\052\310\053\200\375\064\144"
	"\203\374\374\023\211\020\260\314\161\142\026\014\321\154\320\265"
	"\004\210\216\336\237\307\365\350\276\274\364\250\062\154\065\116"
	"\010\213\146\325\267\253\311\221\201\234\353\340\012\230\145\377"
	"\346\317\277\016\335\103\332\342\127\345\133\362\237\055\227\130"
	"\041\321\156\275\354\034\231\055\316\363\015\223\171\162\167\023"
	"\175\140\323\051\141\140\115\156\111\040\217\344\061\070\241\167"
	"\232\051\324\362\147\171\362\255\032\377\304\164\007\127\011\055"
	"\103\041\033\372\250\161\227\130\056\332\264\021\327\056\021\005"
	"\315\132\034\332\105\323\277\040\250\057\175\324\162\021\107\046"
	"\330\156\370\246\023\233\267\040\341\142\075\060\370\302\131\011"
	"\042\062\112\207\336\056\006\121\310\153\277\277\013\365\336\100"
	"\304\157\255\376\145\247\205\034\134\247\120\305\012\267\007\220"
	"\050\136\336\015\207\372\274\040\315\053\167\305\173\252\271\154"
	"\036\310\207\043\066\014\256\065\221\211\361\245\002\341\163\030"
	"\166\116\350\272\152\341\022\141\327\346\072\001\153\364\311\162"
	"\323\111\303\316\063\156\121\270\321\226\374\202\322\013\071\144"
	"\035\007\227\214\132\222\040\270\342\140\374\325\034\206\356\220"
	"\215\205\156\300\074\134\042\372\146\021\137\256\154\046\377\167"
	"\063\100\042\133\331\101\071\326\355\044\005\151\214\130\242\342"
	"\213\267\361\176\350\310\054\357\266\072\036\344\200\357\063\173"
	"\216\015\131\221\222\237\310\207\333\213\131\162\363\133\154\027"
	"\170\127\212\304\121\177\112\150\302\252\143\104\342\076\131\165"
	"\300\337\265\215\073\143\160\325\104\146\203\154\327\353\242\343"
	"\330\132\255\350\107\051\311\061\011\167\124\037\366\365\214\363"
	"\072\030\121\366\324\002\067\336\201\353\071\051\065\112\263\162"
	"\353\240\017\117\306\020\047\076\205\050\274\342\032\133\304\205"
	"\113\347\050\240\261\337\210\050\202\140\157\240\007\360\367\165"
	"\132\311\145\113\345\342\300\140\024\167\162\351\035\316\260\005"
	"\230\023\337\073\222\100\012\166\142\340\357\160\322\047\140\353"
	"\041\124\103\353\037\147\256\275\044\172\302\143\247\207\123\156"
	"\272\027\234\070\153\164\207\260\223\041\164\363\321\317\200\007"
	"\204\230\324\114\204\324\036\324\017\174\106\030\237\175\072\274"
	"\213\205\002\220\073\303\062\033\153\175\154\112\116\373\111\012"
	"\265\363\327\334\155\103\227\173\216\056\025\023\212\135\041\306"
	"\004\322\254\056\246\113\172\063\357\305\104\125\302\201\113\353"
	"\265\206\301\143\114\340\163\114\145\241\262\354\201\013\100\071"
	"\246\364\226\336\275\025\010\002\151\321\375\263\023\135\357\211"
	"\375\057\216\054\023\271\213\376\372\227\246\203\117\266\325\061"
	"\027\324\367\272\200\210\002\343\232\222\227\046\300\201\207\300"
	"\226\337\265\361\212\251\106\062\020\342\014\020\311\206\326\006"
	"\255\117\227\340\001\263\145\377\241\070\126\144\214\141\213\060"
	"\376\256\247\032\040\042\352\317\277\144\302\046\114\057\035\267"
	"\356\175\234\061\044\110\251\347\003\172\002\123\361\113\173\023"
	"\236\103\376\012\010\236\112\122\161\334\261\331\221\155\234\313"
	"\110\162\216\171\052\005\174\322\311\306\146\320\177\205\024\133"
	"\373\162\133\121\234\313\202\172\220\304\333\062\357\315\040\253"
	"\247\277\254\306\361\173\240\311\116\317\217\124\217\221\000\200"
	"\205\046\272\044\346\353\131\305\214\077\356\155\317\017\311\106"
	"\024\220\214\244\331\224\200\116\136\066\344\354\134\320\030\122"
	"\333\056\300\227\301\262\153\040\125\024\266\333\274\075\157\217"
	"\145\047\244\072\042\074\202\007\243\310\336\101\144\371\140\305"
	"\171\060\332\126\057\301\021\364\346\330\103\214\230\217\014\353"
	"\054\167\111\230\335\343\215\271\363\065\114\224\272\316\245\156"
	"\124\016\333\234\017\056\025\230\150\100\112\374\006\267\010\152"
	"\236\202\204\245\217\310\063\061\205\230\256\315\050\151\077\020"
	"\236\316\177\101\065\357\310\102\170\171\055\367\042\104\316\102"
	"\042\334\371\252\041\312\065\036\164\113\120\273\075\020\340\271"
	"\171\034\001\122\336\302\355\230\220\167\122\264\304\023\156\273"
	"\140\134\104\341\220\304\132\354\017\362\054\302\274\156\154\024"
	"\207\263\350\012\120\112\223\124\236\303\041\250\343\136\070\351"
	"\074\013\240\050\244\222\103\130\102\337\274\172\370\102\025\164"
	"\115\131\105\117\157\326\167\033\356\320\245\247\317\060\154\102"
	"\135\342\233\316\173\220\171\107\166\320\032\345\361\040\361\152"
	"\025\246\257\224\353\332\116\217\163\243\125\245\143\030\240\151"
	"\224\074\326\372\022\053\146\336\176\246\124\174\246\150\350\060"
	"\302\065\330\322\065\374\030\015\256\114\005\256\136\360\110\267"
	"\061\313\223\321\174\175\305\007\015\347\036\153\306\335\373\344"
	"\373\042\055\074\142\206\324\214\016\145\316\314\075\331\136\015"
	"\031\324\171\047\226\320\202\356\136\346\232\237\227\361\135\002"
	"\233\251\272\223\205\164\361\045\232\000\367\363\137\033\360\034"
	"\206\031\147\152\330\134\016\123\305\230\166\247\332\051\144\212"
	"\132\032\273\042\173\210\140\130\027\344\247\160\265\333\135\244"
	"\340\033\062\272\134\072\367\064\336\216\240\367\070\041\034\304"
	"\126\264\165\324\100\132\034\317\073\272\054\261\226\372\026\326"
	"\116\041\000\060\137\356\272\122\002\136\163\353\160\006\060\105"
	"\255\063\276\126\277\140\177\362\116\231\006\357\231\312\314\154"
	"\363\311\011\212\126\141\257\115\140\263\070\072\320\300\240\262"
	"\007\306\034\356\157\313\023\051\145\032\030\376\344\345\153\327"
	"\256\164\142\005\326\022\122\067\306\213\162\226\113\022\110\123"
	"\331\145\101\110\061\125\161\226\157\212\225\124\157\001\053\036"
	"\165\215\043\114\240\166\203\146\002\365\374\116\010\105\241\342"
	"\252\343\052\334\071\234\162\251\047\010\375\226\011\050\265\177"
	"\266\331\313\126\117\117\275\122\105\272\240\115\377\102\057\252"
	"\046\132\206\137\366\371\010\035\001\005\264\012\056\152\212\344"
	"\103\125\073\223\245\370\346\352\262\206\070\262\311\150\135\357"
	"\302\343\117\271\335\127\327\336\135\214\351\213\366\163\160\072"
	"\311\254\315\157\244\263\131\127\072\221\012\004\372\147\363\274"
	"\113\102\165\050\232\115\006\367\331\360\203\317\143\363\011\055"
	"\237\327\234\104\213\365\234\306\207\247\312\201\016\275\076\131"
	"\000\264\202\233\001\211\223\332\171\026\251\335\012\263\012\252"
	"\213\246\357\027\234\214\335\044\063\247\246\101\145\345\233\146"
	"\231\035\001\232\246\225\164\040\254\036\375\267\322\007\142\136"
	"\256\121\165\113\336\122\157\021\371\026\123\137\373\357\305\225"
	"\014\307\057\263\134\244\324\011\303\321\300\225\331\042\363\207"
	"\164\151\323\122\273\103\143\265\131\266\024\125\245\332\352\262"
	"\242\032\146\377\276\073\010\201\014\311\027\346\353\013\155\140"
	"\164\101\262\057\204\026\345\336\315\371\063\163\324\036\046\166"
	"\070\214\165\366\307\176\170\324\107\217\272\063\232\050\223\016"
	"\151\105\076\355\134\043\313\051\035\377\234\361\035\302\150\126"
	"\117\336\114\027\134\304\353\244\124\246\327\356\317\153\375\070"
	"\261\073\046\015\137\362\066\174\361\322\156\017\224\326\145\344"
	"\265\262\373\022\167\347\266\313\216\216\272\135\371\267\225\253"
	"\363\274\270\122\256\356\316\240\301\075\260\126\023\025\072\311"
	"\310\065\333\077\035\222\013\253\040\305\010\032\175\236\305\160"
	"\132\176\303\011\154\222\252\056\317\132\204\342\160\276\254\070"
	"\364\207\167\022\031\202\275\072\110\306\125\305\144\033\066\277"
	"\231\371\311\006\213\163\064\132\315\270\075\075\167\351\166\154"
	"\161\355\176\212\160\073\305\270\001\033\175\146\066\263\045\320"
	"\254\356\327\070\141\013\222"
#define      date_z	1
#define      date	((&data[5542]))
	"\264"
#define      lsto_z	1
#define      lsto	((&data[5543]))
	"\104"
#define      tst2_z	19
#define      tst2	((&data[5547]))
	"\321\046\265\347\074\006\150\320\275\214\162\144\310\065\200\235"
	"\215\266\033\016\220\301"
#define      shll_z	10
#define      shll	((&data[5567]))
	"\371\146\176\130\231\250\221\376\160\140\133\144"
#define      msg2_z	19
#define      msg2	((&data[5580]))
	"\314\053\104\364\252\357\000\370\264\114\071\260\324\260\344\113"
	"\175\206\274\356\226\360\235\330"
#define      msg1_z	65
#define      msg1	((&data[5609]))
	"\100\200\243\160\104\163\336\045\150\073\101\006\203\053\043\162"
	"\076\355\303\164\057\261\064\026\141\277\232\145\030\023\042\075"
	"\222\321\246\343\116\210\343\307\237\376\306\255\135\000\150\147"
	"\173\143\132\123\253\104\330\365\033\032\230\262\063\153\060\265"
	"\365\115\371\132\163\167\267\242\201"
#define      inlo_z	3
#define      inlo	((&data[5675]))
	"\077\176\251"
#define      xecc_z	15
#define      xecc	((&data[5680]))
	"\014\324\267\005\140\213\231\031\330\216\273\361\230\144\201\027"
	"\115\262"
#define      rlax_z	1
#define      rlax	((&data[5696]))
	"\240"
#define      opts_z	1
#define      opts	((&data[5697]))
	"\044"/* 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 */

#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 */
    Allow(mmap),        /* also for malloc() */
    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;
}
