ELF ԉ4dLDtK%PW ^eksP{Ĉ* }$ ԈfE(0$V4l DT+d t p"6*e /xE[Jĉ.O libc.so.4warnxpopenprintfpclosesnprintf_DYNAMICgetenvfgetsperrorerrxmallocoptargfflush_initstrrchrenvironfprintf__deregister_frame_infooptind__progname___runetypestrlcpystrncmpunlink_CurrentRuneLocalefdopen__sFstrdupfopengetopterrfclosestrcmp_finiatexitmkstempstat_GLOBAL_OFFSET_TABLE_exitwarn__register_frame_info_edata__bss_start_endend  $(0$(,048<@ D H L PTX\`dhlpt x!|"#%&'+,!5% %$h%(h%,h%0h%4h %8h(%<h0%@h8p%Dh@`%HhHP%LhP@%PhX0%Th` %Xhh%\hp%`hx%dh%hh%lh%ph%th%xh%|h%hp%h`%hP%h@%h0%h U WVSҍu^|=P~)}t#E8t8/u H @8u츘t RVhFWVSP]U=u@v@С8ut hcuÍvUUth8h+uÐUUWVu} `h0t8uP2$l$h5 hjv5 fuslvh5 h.vh5 hvh5 hv`hWV $)ƍ<th7hdj/h% th@Phhh)j.htƿ)u=uhh/hh8=uhh5hh=uhh:hhhh=hhhhFthFMPhShh0j=t5 v 5 Uh8h`hh̫hh jvUhuhhj*h;=t+hthÉU `WVSuVh!h@SzS5 hVhh,h9Ã u$hh: vrhPPP<.u ̑6u <v<u \v?u cD u CƿNt#P5hh` SX2h5hh̬  P҃Sh@PoC @thh: Sm[^_ÉU WVSu }]vRv(4%@tCύv;to;#tb9>} U;tWvvRPv(4%@u ;#tC;uǀ;t;#t C`;te[^_U WVS}u 9}N4!t4h"45hh C9|e[^_ÉU WVSu} 9}4C9|e[^_ÐU WVS1t%vEPsދuރj4Ãt"1 EPOCuu CC CCC,CC(C$C0=tMQh e[^_ÐU WVS} wƃu$w5hh p @;]}6=t4h _4F,PC;]|̍e[^_U WVSu} 9}4hC9|e[^_U WVSu} 9}4h LC9|e[^_U WVSE pEu/=U r5hh`cE pu!}7p PUBE pu!}p UB gE pu!}p UB/E pu=UB;]փE 4VC;]|vU r u=E@ ;]iƃ U 4VC;]|GvE pu=UB(;]փ(E 4VYC;]|vU ru1}r UBE pD u5UB$;]}}փ$E 4VC;]|^U r5hh 5vE pp}P5hh  e[^_UVSut!vVs u u1e[^ÐUStvSGuph[=hh`h]ÐU DWVS}whh@S4S uw G uw8 G w hh@Vh,VÃ uVhjƅShPS{ tPhjuw hӮjP!G=$udu^ tXw5hh@S StSGu  vGGwhhSS t-wShh@S S@! tw hhPYu) t)S;t SWz u)u#=`twhh hIu=`twhh` tu uG0[^_U @WVShuhjvhP2ǃuhh:AvExtX=thhWu hW= t hWn5 W_ ShWMShW> hW-ShW Ephh WEX$tshUWuhYWWg hh`h@S)h,Sǃ 3h ojhSt#Sh vvR$v(4%@Cˍvހ;t>vRv(4%@uC;ù;tCVEPk vRv(4%@tCύv;kWh@PWtPh] hC[^_UVS1t={0u-shht uÍe[^U@VShhh@SS hhƃu#hh:A hhhhV h7V{ ts sh9V{tsshOV{t sheVsV { t shuV~s Vr eV[^ÉU@VShhh@SSe hh|ƃu#hh: hhhhV =thhVVtvSVuh˱VgV[^U @WVShhh@SSh hhǃu"hh:  hhhhW hhW,=,t3h W;u5tvvh@Wg6uhWP5t?vvvhW/^,tvshWu6uăhWhW W|[^_ÐU WVSuǃu1]v?tLv;-u_8;_t-vR (4%tFC;ue[^_ÉU WVS}tUWshhV VQtVUÃu vu1[^_ÐUVSuhV5V =$t(5hVh@Vv htVb= t hVH5 V9 hV(tvshVuh7VhV tshVuhVtvsh³Vuh̳VthVf hhVPhhhV; hhh@V#hhtV hVhhV hVe[^U WVS}u vhWvhW ~tvh: vh W{h7Wj~ 1~'v vhFWBvvhTW1 vhfWvW ~$t vhoWv$W vhyWvhW =$thWhWvhW hWyFPPhWi h7WXvh.WG vh@W3'vhyWvhW vhW~ tv W3v^tsvhWuh7WvhĶWvvhW vFPPh`Wn vFPPhWU vhWA^(tvshW#uvh W e[^_ÐUVSu] tshUVuh7Ve[^ÐUWU=`tSװЍx()hPPRhhl h<=(}ÐU5hh jvU WVS} 1EtWstGދujÃtW;Cu|uEe[^_ÉUhEPutE%f=@%1UhEPuKu1'1ҋE%f=u}u }vÐUS=tvЃ;u[ÐUMAKEOBJDIRPREFIX/usr/objlh:m:c:e:p:foq.conf%s.mk%s.c%s%s.cacheTMPDIR/tmp/%s/crunchgen_%sXXXXXX8888888888888888888888888888888888888x8ԋ888$8*[-p ] [-c ] [-e ] [-h ] [-m ]usage: crunchgen [-foq] %s%s %s%s fatal: input file "%s" not foundreading %srsrcdirsprogslnlibsbuildoptsspecial%s:%d: skipping unknown command `%s'command needs at least 1 argument, skipping%s:%d: %s %s%s:%d: `%s' is not a directory, skipping it%s %s:%d: no prog %s previously declared, skipping link%s:%d: no prog %s previously declared, skipping specialidentsrcdirobjdirobjsobjpathskeepobjvar%s:%d: bad parameter name `%s', skipping linefewmany%s:%d: too %s arguments, expected "special %s %s "Run "make -f %s" to build crunched binary. filling in parms for %scd %s && echo -n `/bin/pwd`Can't execute: %s Can't perform pwd on: %s %s/%sMakefile.%sUsing %s for %s%s/Makefilewarning: could not find source directory%s: %s: %s%s: %s: warning: could not find any .o filesOBJSw.include "%s" BUILDOPTS+=.if defined(PROG) && !defined(%s) %s=${PROG}.o .endif loop: @echo 'OBJS= '${%s} crunchgen_objs: @make -f %s $(BUILDOPTS) $(%s_OPTS) %s loop make -f %s crunchgen_objs 2>&1submake pipeOBJS= make error: %smake error: make returned %d%s: %s: ignoring program because of errorsgenerating %s0.2# %s - parm cache generated from %s by crunchgen %s special %s srcdir %s special %s objdir %s special %s objsspecial %s objpaths# %s - generated from %s by crunchgen %s # ======== /* %s - generated from %s by crunchgen %s */ #define EXECNAME "%s" extern int _crunched_%s_stub(); struct stub entry_points[] = { { "%s", _crunched_%s_stub }, { EXECNAME, crunched_main }, { NULL, NULL } }; LIBS+=MAKEOBJDIRPREFIX?=%s MAKE=env MAKEOBJDIRPREFIX=$(MAKEOBJDIRPREFIX) make MAKE=make CRUNCHED_OBJS= %s.loSUBMAKE_TARGETS= %s_make SUBCLEAN_TARGETS= %s_clean all: objs exe objs: $(SUBMAKE_TARGETS) exe: %s %s: %s.o $(CRUNCHED_OBJS) $(CC) -static -o %s %s.o $(CRUNCHED_OBJS) $(LIBS) strip %s realclean: clean subclean clean: rm -f %s *.lo *.o *_stub.c subclean: $(SUBCLEAN_TARGETS) # -------- %s %s_OBJDIR=$(MAKEOBJDIRPREFIX)/$(%s_REALSRCDIR) %s_SRCDIR=%s %s_REALSRCDIR=%s %s_OBJS=%s_OPTS+=%s_make: (cd $(%s_SRCDIR) && $(MAKE) obj && \ $(MAKE) $(BUILDOPTS) $(%s_OPTS) depend && $(MAKE) $(BUILDOPTS) $(%s_OPTS) $(%s_OBJS))%s_clean: (cd $(%s_SRCDIR) && $(MAKE) $(BUILDOPTS) clean cleandepend) @echo "** cannot make objs for %s" %s_OBJPATHS= $(%s_OBJDIR)/%s%s_stub.c: echo "int _crunched_%s_stub(int argc, char **argv, char **envp){return main(argc,argv,envp);}" >%s_stub.c %s.lo: %s_stub.o $(%s_OBJPATHS) ld -dc -r -o %s.lo %s_stub.o $(%s_OBJPATHS) crunchide -k _crunched_%s_stub -k _%s %s.lo [%s]%*.*s %s: %d: out of memory, stopping/* end of crunched_main.c */ exit(1); fprintf(stderr, "\n"); fprintf(stderr, " %s", ep->name); } columns = len; fprintf(stderr, "\n"); else { columns += len; if(columns+len < 80) len = strlen(ep->name) + 1; for(ep=entry_points; ep->name != NULL; ep++) { columns = 0; EXECNAME); fprintf(stderr, "usage: %s ..., where is one of:\n",int crunched_usage() return main(--argc, ++argv); if(argc <= 1) int columns, len;int crunched_main(int argc, char **argv) return 0; return 1; if(!strcmp(basename, ep->name)) basename = slash? slash+1 : path; slash = strrchr(path, '/');int crunched_here(char *path)} } fprintf(stderr, "%s: %s not compiled in\n", EXECNAME, basename); else { return ep->f(argc, argv); if(ep->name) if(!strcmp(basename, ep->name)) break; for(ep=entry_points; ep->name != NULL; ep++) basename = slash? slash+1 : argv[0]; slash = strrchr(argv[0], '/'); crunched_usage(); if(argv[0] == NULL || *argv[0] == '\0') struct stub *ep; char *slash, *basename;{int main(int argc, char **argv)extern struct stub entry_points[];}; int (*f)(); char *name;struct stub {#include #include * the crunched binary without creating all the links. * or calls one of them based on argv[1]. This allows the testing of * its EXECNAME. This one prints out the list of compiled-in binaries, * is a little program invoked when the crunched binary is called via * particular subprogram based on the value of argv[0]. Also included * crunched_main.c - main program for crunched binaries, it branches to a */ * University of Maryland at College Park * Computer Science Department * Author: James da Silva, Systems Design and Analysis Group * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M. * U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL * without express or implied warranty. * suitability of this software for any purpose. It is provided "as is" * written prior permission. U.M. makes no representations about the * publicity pertaining to distribution of the software without specific, * documentation, and that the name of U.M. not be used in advertising or * copyright notice and this permission notice appear in supporting * the above copyright notice appear in all copies and that both that * documentation for any purpose is hereby granted without fee, provided that * Permission to use, copy, modify, distribute, and sell this software and its * * All Rights Reserved. * Copyright (c) 1994 University of Maryland/*@ ``@@j ``jI54&444`C4 4`4H-"C444@4׺ɺ44s4aC4@44s4`)ڸƸøj]4@4 *:JZjzʈڈ *:JZjzʉ  (\|   GCC: (GNU) c 2.95.3 20010315 (release) [FreeBSD]GCC: (GNU) c 2.95.3 20010315 (release) [FreeBSD]GCC: (GNU) c 2.95.3 20010315 (release) [FreeBSD]GCC: (GNU) c 2.95.3 20010315 (release) [FreeBSD]GCC: (GNU) c 2.95.3 20010315 (release) [FreeBSD]01.0101.0101.0101.0101.01.symtab.strtab.shstrtab.interp.note.ABI-tag.hash.dynsym.dynstr.rel.bss.rel.plt.init.plt.text.fini.rodata.data.eh_frame.ctors.dtors.got.dynamic.sbss.bss.comment.note#1((T7 ||?\\G  P  Y _dԉ j)p)  xG~IIIII  J  J%  JKd~K