⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jaw.hin

📁 1984-1993模糊 C 源代码竞赛.zip 非常的好,不过这是DOS格式,要用UE去打开.
💻 HIN
字号:
Best Entropy-reducer: <see below> Woods, Fox & Eggert	James A. Woods					 jaw@riacs.edu	Research Institute for Advanced Computer Science	MS 230-5	NASA Ames Research Center	Moffett Field, CA 94131	USA	Karl F. Fox					 karl@MorningStar.com	Morning Star Technologies, Inc.	1760 Zollinger Road	Columbus, OH 43221	USA	Paul Eggert					 eggert@twinsun.com	Twin Sun Inc.	360 N. Sepulveda Blvd. #2055	El Segundo, CA 90245	USAJudges' comments:    The program, in its base form, implements two useful utilities:	atob - ascii to binary conversion	zcat - decompression filter    To test the official C entry, one might try:	echo "Quartz glyph jocks vend, fix, BMW." | compress | btoa | jaw    which should apply the identity transformation to a minimal    holoalphabetic sentence.    Included with this entry is a shell script (with comments edited down    to reduce it to 1530 bytes) which implements the complete    shark utility.  The script, shark.sh, contains a 'jaw.c' embedded    within it!    The sender must have 'compress' and 'btoa'.  To send, try:	sh shark.sh jaw.* > receive    The resulting file, 'receive', unpacks the input files    even if the receiver lacks 'uncompress' and 'atob':	mkdir test	cd test	sh ../receive	cmp ../jaw.c jaw.c	cmp ../jaw.hint jaw.hintSelected notes from the authors:			     ABSTRACT		   Minimal, Universal File Bundling     (or, Functional Obfuscation in a Self-Decoding Unix Shell Archive)			   James A. Woods	       Universities Space Research Association		      NASA Ames Research Center		   "Use an algorithm, go to jail."				[anon., circa 1988, pre-Morris worm era]	  Myriad formats have been proposed for  network-mailable     data.  A major difficulty undermining the popularity of most     file/message bundlers  is  that  the  sender  assumes  prior     installation  of  the  computational  dual  of such bundling     software by the receiver.  Command shell archives  alleviate     this problem somewhat, but still require standardization for     the  function  of  data  compression  and  mail-transparency     encoding.  On Unix, these coding format quandaries are over-     come by planting a novel Trojan Horse in the archive  header     to perform negotiationless decoding.	  Specifically, we outline the development of an extraor-     dinarily   compact  portable  (un)bundler  to  (dis)assemble     data-compressed,  binary-to-ASCII-converted,   length-split,     and  checksummed  directory  structures  using standard Unix     tools.  Miniature versions of counterparts to  a  Lempel-Ziv     coder ('compress' or 'squeeze') and an efficient bit packet-     izer ('btoa') are compiled on-the-fly  at  mail  destination     sites  where  they may not already exist.  These are written     in purposefully obfuscated-C to  accompany  similarly-shrunk     shell command glue.  This resulting shell archiver is dubbed     'shark'.	   'Shark' procedure overhead consumes as  few  as  three     dozen  shell  lines  (or ~1100 bytes), commensurate with the     size of many Internet mail headers; it  amortizes  favorably     with  message  size.   'Shark' is portable across Unix vari-     ants, while the underlying technique is inherently  general-     izable to other encoding schemes.	  In   the   function-theoretic    sense    of    minimal     Chaitin/Kolmogorov complexity, and within a modified Shannon     model of communication, the 'shark' effort aims to construct     a  "shortest  program"  for  source  decoding in the Turing-     universal Unix environment.     ----------------------------------------------       Oh, the shark has pretty teeth, dear--       And he shows them pearly white       Just a jackknife has Macheath, dear--       And he keeps it out of sight.			[Bertolt Brecht, Threepenny Opera]     ----------------------------------------------    We have ported this program to a wide variety of systems.  Among    these are:	SunOS 4.1 / Sun Sparcstation 1 (using both 'cc' and 'gcc 1.37.1')	SunOS 4.0.3 / Sun 3	BSD 4.3 / VAX 8650	SEIUX / Sumitomo Electric Ustation/S	Sony NEWS-OS 3.3 / Sony NEWS (fairly vanilla 4.3BSD)	System V.? / Hitachi 2050	System V.? / NEC EWS 4800	UNIOS-B / Omron Luna	Dynix / Sequent Balance ('cc' for Natl. Semi. base + 'gcc 1.36')	Unicos / Cray 2     We (the authors) feel this program is obfuscated for the     following reasons:     (0) This is one of the few programs you'll see WHOSE VERY UTILITY	 DEPENDS ON ITS OBFUSCATION!     (1) The contest entry may be used to send its wonderful self to	 anyone in the Unix world!  Virus writers need not apply...     (2) The basic idea is twisted enough to be patentable, but is,	 out of the kindness of our hearts (as well as to maintain	 eligibility for the large IOCCC prize fund), dedicated to	 the public domain.  Claude Shannon, meet Alan Turing.     (3) Meta-obfuscation is via obfuscated description (see ABSTRACT).     (4) "Literary" allusion.  Production code contains a reference to	 self-reference, preserved at amazing cost for sheer perversity.     (5) Many, many micro obfuscations below, honed over three years	 time, in shell as well as C.  Ask about the 'tar' pit escape,	 the argv[0] flip, Paul's &4294967295 portability hack, the	 "void where prohibited by flaw" fix, the scanf() spacesaver,	 shift shenanigans, signal madness, exit()ing stage left, and	 source-to-source transformations galore.     For extra credit:	Construct 'sharkmail', to auto-split sharkives into mailable	segments and mail them.  Here's a simple one, which could be	extended to enable auto-reassembly with one shell cmd at the	far end.     ------------------------ cut here for sharkmail -----------------------     #!/bin/sh     m=$1; shift     shark $* | split -800 - /tmp/shark$$     n=`ls /tmp/shark$$* | wc -l | sed 's/  *//'`     p=0     for f in `ls /tmp/shark$$*`     do	 p=`expr $p + 1`	 mail -s "bundle ($p of $n) from '`whoami`'" $m < $f     done     rm /tmp/shark$$*     ------------------------ end of sharkmail -----------------------------Shark history:       May 1987: Karl Fox introduces 1023-byte zcat.c to USENET.		 It's too late for the 4th IOCCC.       May 21, 1987: James A. Woods extends idea to construct self		 decompressing shar Trojan horse, utilizing 'cc', 'shar',		 'zcat', & 'atob'; size: 2303 bytes.       May 23, 1987: 'jaw' trims 250 bytes without much thought.       June 2, 1987: 52 lines of shell, 1991 bytes, now made with 'tar',		 short-circuit C-compile at far end, dual-use main.c,		 portability mods. (jaw)       Mar-May 1988: abortive run at 5th IOCCC.		 jaw.c - 1529 bytes.  compile line: 152 bytes.		 generated funny code with execvp() to invoke shell.       Aug 29, 1988: production version, now at 1830 bytes.       Jan 1990: Paul Eggert does tour-de-force shark re-engineering.       May 24, 1990: collaboration yields 999-byte jaw.c core (see above)		 and 1530-byte production shell code (w/comments).		 Eggert comes through with lion's share of improvements.		 7th IOCCC code now faster than the atob/zcat it replaces.       May 1990: 'jaw' develops experimental replacement using		 Dan Bernstein's high-compression 'squeeze'.To which we add:       June 1990: 'shark' wins the IOCCC, finally!  :-)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -