[Gllug] Hacker Attack, and a wild aside about version-controlled filesystems
Nix
nix at esperi.org.uk
Fri Jan 13 19:42:26 UTC 2006
On Fri, 13 Jan 2006, ccooke announced authoritatively:
> This, of course, pales in horror beside the guy I met who used a very
> specialised emacs in place of /sbin/init. Every single utility on the
> system was rewritten inside emacs...
Was he a Lisp machine user? :)
> *shudder*
*cheer*
(but yes, even I think it's somewhat nuts and I hardly ever leave my
XEmacs except for web browsing)
>> > --
>> > d=(1 0 6 0 1 0 5 5 41 5 3 12 4 5 15 1 4 -2 5 5 0 5 4 24 3 5 27 1 3 -2 1 3 6)
>> > a=0;while :;do ((v=(c=a)+3));((x=d[d[a]]-d[d[a+1]]));d[d[a]]=$x;((a=d[d[a]]\
>> > <0?${d[a+2]}:v));case $a in -1)read d[d[c]];a=$v;;-2)echo ${d[d[c+1]]};a=$v\
>> > ;;0)exit;;esac;done 2>&- # Charles Cooke, Sysadmin.
>>
>> Neat. Crashes bash, too. :)
>
> It's an emultion of a single-instruction CPU plus a program... there
> wasn't really enough space to either add a limit to the program or
> overflow detection to the code :-)
And another one.
> Z=$[(X=`tput cols`)*(Y=`tput lines`)];O=(X+1 X X-1 1);a(){ for((p=0;p<Z;p++));\
> do z=$[y=p/X+1,x=p%X+1,0];q=${B[p]};[ $i ]||B[p]=$[RANDOM%3];for e in ${O[@]} \
> ${O[@]//#/-};do(((j=p-e)>0))&&((0${B[j]}&&z++));done;c=\ ;((z==3))&&c=1;((z==2\
> ))&&c=$q;echo -ne "\E[$y;${x}H$c";A[p]=$c;done;i=1;B=("${A[@]}");a;};a # ccooke
I swear that I shall decrypt these.
In exchange: look at Greg Ubben's wonderful dc.sed. Work out how it
works. (Hint: it too is an interpreter for a small subset of dc, only
before it can implement one of those it has to implement variables,
symbol tables, a stack, and function calls...)
--
`I must caution that dipping fingers into molten lead
presents several serious dangers.' --- Jearl Walker
--
Gllug mailing list - Gllug at gllug.org.uk
http://lists.gllug.org.uk/mailman/listinfo/gllug
More information about the GLLUG
mailing list