ELF >@@@j@8@@@@@@@@@@4Z4Z `````8`= (`(``(``@@PtdTT@T@Qtd/libexec/ld-elf.so.1FreeBSDX %1# ,+-"% 0$!(*& /.   ')&EN&,.Ҟ< Yaݣk bd|Q6HPvE2<!RJ }-r/CG_uegenUYK`2kE; Tyt/L ~%`g`w`*x`* x`@```x`c`QDg`@@g`dx`Gx`_Jv_RegisterClasseslibc.so.7__prognameenvironsnprintferrxoptindwarnfopenperrorgetoptstrlenferrorstrdup_init_tls_ThreadRuneLocalefprintffwritepclosewarnxfclosememsetstrrchr_CurrentRuneLocalefgetsfputcfputsstrlcpyfflushmkstemp__isthreadedstrcmppopen__stack_chk_fail__stack_chk_guardmallocerr__stderrp__mb_sb_limitstatoptargfdopenatexitgetenvunlink_DefaultRuneLocale_endFBSD_1.3FBSD_1.0(z(za`@g`.Dg`-`g`&w`'x`/ x`)`x`+x`0a`a`a`b`b`b`b` b` (b` 0b` 8b` @b` Hb`Pb`Xb``b`hb`pb`xb`b`b`b`b`b`b`b`b`b`b`b` b`!b`"b`#b`$b`%HW*H5R %R @%R h%R h%R h%R h%R h%R h%R h%R hp%R h`%R h P%R h @%R h 0%~R h %vR h %nR h%fR h%^R h%VR h%NR h%FR h%>R h%6R h%.R h%&R hp%R h`%R hP%R h@%R h0%Q h %Q h%Q h%Q h%Q h %Q h!%Q h"UHAULoATSHH=mg HcLdH^g IDąHQg ~:HWHt1HwQ t#HH{uHKJ 1``(:@HD9L` u[]A\fDH\$Hl$Ld$Ll$H(H~HLnHItuLC9B@LM:J MEkB@gB@HOȾ``:@1`_ H\$Hl$Ld$Ll$ H(Ës uHKI ``X:@1b_ ?B@Lu;bH{xHID$uOH{@_HID$k2FB@Lu=H{+HID$(7H\$Hl$Ld$Ll$ H(,D@Lu9H@8AI8HsLAH A9uD@ Lu9H@@AI@HsLAHA9uMB@Lu9H@PaAIPHsLAHuA9u9RB@Lu)H{HID$0@YB@ Lu9H@HAIHHsLAHA9ucB@Lu1AI`HsLAHA9uptG L``:@1\ GfHl$H\$H i HtKD \ HH=\ AC@HpB@)N1AH=U\ d\ H\$Hl$HDfDUHSHHHu (HHt HS:t1E@HHHuHH []fAT1IUHSHV|B@JIT$H1B@6I|$(HRHH SIT$B@1HIt$@HH5IL$HzI|$8nIT$B@H1IL$ IT$B@H1IT$B@H1It$8HI|$Ht!IT$B@H1eIt$HHIT$B@H1DIT$B@1H05Z 0HC@kIT$(;@H1HC@@IT$`;@H1HH IT$"C@H1IT$;@H1I|$`t!IT$-C@H1xIt$`HIT$6C@H1WIL$IT$<@H1>IT$MD$1x<@HH"I|$`tIT$BC@H1H 9IT$MD$1<@HHI|$`tIT$BC@H1H IT$1<@HI\$PHtfHS1NC@HHHu[HIT$VC@]A\1aIT$HB@1MIT$;@H19I\$8Ht&fDHKIT$1B@H HHuH 7 H C@;IT$;@H1fUHH]C@SHx`x`1HfC@H5W HH mC@H5W H}=W Hc wC@H1 H10=@VHh=@?H=cW t&C@H H5CW HHC@H=W HtHS1C@HyHHuH HC@HV HtHS1C@H.HHuHC@oHV HtHS1C@HHHuHB@1H'=@H|`C@1|`Hᄚ=@H1H(=@|`H>@H1aH8>@H X>@HD@||`Hタ>@H1H D@NH|`D@1HD@#H|`>@1HH[]>@HC@H;<@fDATIUSHHT HTT H$1Hu IHHt>HKM8D@H1AHtHHHu 1H$H3S Hu H[]A\7AT `>D@@USH@HS H$@1HHEiB@ `ZHIFHALD@x` `?@1?|`1PD@L+H@> Ht"11E@LH(c`HHuHS HtHS10?@LHHuL X?@H-dS HtHHMHU1?@LH]XHtHSHM1?@L|HHuHmHuL?@gD@LLH$@H3BR u)H@[]A\þ `E@1R vfU`>D@@SH@HQ H$@1HHiB@`HHHALD@1x``?@=j uaHHR HtHHHHuD@H HH$@H3?Q u=H@[]ú@`{D@H1뉾`E@1Q _DfDU`>D@@SH@HP H$@1HHgiB@`|HHHALD@1x``?@aHQ HH HKHtHSD@H1(HK(HtHSD@H1 H{8tHSD@H1Hs8H2H{@tHSD@H1Hs@H HHcH|H$@H3O u'H@[]þ`E@1 *P DfDHH=O AD@A(@@`@@D@ E@17 fAWAVAUIATI@`USH(@HO H$@1iB@-HHI\$0E@HHD؀=g 7L{D@H1HE@H=O t&C@H H5N HH%E@Hھ8E@H11H D@zHھGE@H1IT$ML$1H ^ A@`@@HI\$HHtHS1E@HHHuHcE@L|$HiIL$L^ A@`@@@L1WB@LHIIGMl$8HD$L@LH|wE@LHD$DQ< Ht$D9}`dH%H6 L IM Ht$H<HcDA@t-HD9}%HHuMɺ`g`HcIEDA@u@PdL$%H-P6 H ; LL I<,@9}HHtrHDA@u~HuL5; 9}>I ,H=L HDA@t(H9}HHuH`g`HHEDA@uHOM`g`HIEDA@tHL~E@1&pL kLuF@`/H$@H3K u{H(@[]A\A]A^A_ú@`{D@H1hE@1L 뢿jE@1K 딾@`E@1K t@`fDAUE@@ATUHSHDHOHJ H$D1HHH}HMHSE@@H1WB@HHHL$@H¾Ƅ$@LHxa$@lLHE DJ EHM F@L1>LHMHt'F@L1HMH}8H H}8:H}DH}(DtuH$DH3I HD[]A\A]H}(NH}CLE H *V 8D@@H1zHHE HE(H}8uEpxfDLELF@@H1)HH}8HMHtLaHMHH}(D U EHMx`@@3F@1fDQU EHUx`(A@1H}HHHEL$@H}HEhHHHE(@LH"HE@1;FHUE@1!fDSHHH HtHHHu{{B@1[HYX H=G `XA@1EAUAATUSHHH~HtBA~aL`XHH3LH;D9t;D/d EtH;HK1 ``A@1)sG H[]A\A]ATE1UHSHOG Hu #HHtHH{Hu[]A\IܿxoHH1xHHF@@ATUSHH(H$@HdE H$1HvHH޺``"$(MAKEOBJDIRPREFIX)/$(%s_REALSRCDIR) $(CRUNCHMAKE) $(BUILDOPTS) $(%s_OPTS) depend && $(CRUNCHMAKE) $(BUILDOPTS) $(%s_OPTS) $(%s_OBJS)) (cd $(%s_SRCDIR) && $(CRUNCHMAKE) $(BUILDOPTS) clean cleandepend) @echo "** cannot make objs for %s" 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 # NOTE: Some LIBS declarations below overridden by LIBS_SO MAKEENV=env MAKEOBJDIRPREFIX=$(MAKEOBJDIRPREFIX) CRUNCHMAKE=$(MAKEENV) $(MAKE) all: objs exe objs: $(SUBMAKE_TARGETS) %s: %s.o $(CRUNCHED_OBJS) $(SUBMAKE_TARGETS) .if defined(LIBS_SO) && !empty(LIBS_SO) $(CC) -o %s %s.o $(CRUNCHED_OBJS) \ -Xlinker -Bstatic $(LIBS) \ -Xlinker -Bdynamic $(LIBS_SO) $(CC) -static -o %s %s.o $(CRUNCHED_OBJS) $(LIBS) clean: rm -f %s *.lo *.o *_stub.c subclean: $(SUBCLEAN_TARGETS) /* %s - generated from %s by crunchgen %s */ extern int _crunched_%s_stub(); struct stub entry_points[] = { { "%s", _crunched_%s_stub }, { EXECNAME, crunched_main }, # %s - generated from %s by crunchgen %s # %s - parm cache generated from %s by crunchgen %s [-p ] [-c ] [-e ] [-h ] [-m ]crunchgen_objs: @cd %s && %s -f %s $(BUILDOPTS) $(%s_OPTS)cd %s && %s -f %s -B crunchgen_objswarning: could not find source directory%s: %s: warning: could not find any .o filesRun "%s -f %s" to build crunched binary. %s:%d: no prog %s previously declared, skipping link%s:%d: skipping unknown command `%s'command needs at least 1 argument, skippingfatal: input file "%s" not foundidentsrcdirobjdirkeepobjvarbuildoptslibfewmany [%s]%*.*s # -------- %s %s_OBJDIR=%s_OBJPATHS= $(%s_OBJDIR)/%s%s_SRCDIR=%s %s_REALSRCDIR=%s %s_OBJS=%s_OPTS+=%s_make: (cd $(%s_SRCDIR) && $(CRUNCHMAKE) obj && \ %s_clean: %s_LIBS=%s_stub.c: $(%s_LIBS)-k _%s %s.lo LD?= ld LIBS+=LIBS_SO+=MAKEOBJDIRPREFIX?=%s CRUNCHMAKE=$(MAKE) BUILDOPTS+=CRUNCHED_OBJS= %s.loSUBMAKE_TARGETS= %s_make SUBCLEAN_TARGETS= %s_cleanexe: %s .else .endif strip %s realclean: clean subclean %s/%sgenerating %s0.2#define EXECNAME "%s" { NULL, NULL } }; .include "%s" # ======== special %s srcdir %s special %s objdir %s special %s objsspecial %s objpathsusage: crunchgen [-foq] %s%s %s%s OBJS.POSIX: .if defined(PROG) %s?=${PROG}.o loop: @echo 'OBJS= '${%s} loop submake pipeOBJS= make error: %smake error: make returned %dfilling in parms for %scd %s && echo -n `/bin/pwd`Can't execute: %s Can't perform pwd on: %s Makefile.%sUsing %s for %s%s/Makefile%s: %s: %sreading %ssrcdirsprogslnlibslibs_sospecial%s:%d: %s %sMAKEMAKEOBJDIRPREFIX/usr/objlh:m:c:e:p:foq.conf%s.mk%s.c%s.cacheTMPDIR/tmp/%s/crunchgen_%sXXXXXX6@@6@6@6@@6@6@@6@@6@@6@]6@6@@6@6@p6@d6@/* * All Rights Reserved. *#include #include #include #include struct stub { char *name; int (*f)();};extern char *__progname;int char *slash, *basename; struct stub *ep; crunched_usage(); if(ep->name) else { }crunched_here(char *path) return 1; return 0; char *slash; int columns, len; if(argc <= 1)crunched_usage() EXECNAME); columns = 0; len = strlen(ep->name) + 1; if(columns+len < 80) columns += len; else { fprintf(stderr, "\n"); columns = len; } exit(1);/* end of crunched_main.c */ * Copyright (c) 1994 University of Maryland * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of U.M. not be used in advertising or * publicity pertaining to distribution of the software without specific, * written prior permission. U.M. makes no representations about the * suitability of this software for any purpose. It is provided "as is" * without express or implied warranty. * U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M. * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * Author: James da Silva, Systems Design and Analysis Group * Computer Science Department * University of Maryland at College Park * crunched_main.c - main program for crunched binaries, it branches to a * particular subprogram based on the value of argv[0]. Also included * is a little program invoked when the crunched binary is called via * its EXECNAME. This one prints out the list of compiled-in binaries, * or calls one of them based on argv[1]. This allows the testing of * the crunched binary without creating all the links.__FBSDID("$FreeBSD: releng/9.3/usr.sbin/crunch/crunchgen/crunched_main.c 246576 2013-02-09 01:08:49Z pfg $");extern struct stub entry_points[];main(int argc, char **argv, char **envp) if(argv[0] == NULL || *argv[0] == '\0') slash = strrchr(argv[0], '/'); basename = slash? slash+1 : argv[0]; for(ep=entry_points; ep->name != NULL; ep++) if(!strcmp(basename, ep->name)) break; return ep->f(argc, argv, envp); fprintf(stderr, "%s: %s not compiled in\n", EXECNAME, basename); slash = strrchr(path, '/'); basename = slash? slash+1 : path; if(!strcmp(basename, ep->name))crunched_main(int argc, char **argv, char **envp) slash = strrchr(argv[1], '/'); __progname = slash? slash+1 : argv[1]; return main(--argc, ++argv, envp); fprintf(stderr, "usage: %s ..., where is one of:\n", for(ep=entry_points; ep->name != NULL; ep++) { fprintf(stderr, " %s", ep->name);;"8н`xPп`(@X@`0 8Xxp(@@px (XpzRx $@@AC BKDp@.A\@FGt@4G0@=ADD p@9ADD @PBDD @dAAD  p@D$ @ D$<@@BED D(D0d@3BGA  @nBGA @nBGA @sBGA @GJP0@uN P@NADG <@BFD \P @ZAVD $|#@BDA G$P$@BPA G&@APG0'@eAPG (@7D4$(@*BBB E(I0A8G,\-@CBLA D(G`0@_A$0@BEA A(G0P1@ BDD `2@.BGA , 2@BOA A(JЀ<@5@jDT5@GB_V  @ 49@0@o@x@@  a`H @ @ o @oo* @(`` @@*@:@J@Z@j@z@@@@@@@@@ @@*@:@J@Z@j@z@@@@@@@@@ @@*@B@```G@I@cG@{G@J@XJ@J@J@8K@K@K@ L@pL@{G@L@L@8M@M@M@(N@{G@hN@N@N@I@`G@O@PO@O@O@(P@pP@I@B@~G@P@B@G@G@G@B@G@G@G@G@B@H@Q@B@H@@Q@G@H@:H@B@pQ@OH@B@Q@Q@B@Q@0R@B@bH@XR@sH@R@OH@~H@I@B@B@H@H@G@H@:H@B@R@R@B@Q@S@H@H@I@B@B@H@8S@G@H@:H@H@B@H@OH@B@pS@S@B@S@I@B@B@H@H@G@H@:H@B@S@I@I@@T@&I@CI@YI@nI@vI@I@I@xT@~H@wI@I@I@B@I@$FreeBSD: releng/9.3/lib/csu/amd64/crt1.c 245777 2013-01-22 07:32:26Z kib $$FreeBSD: releng/9.3/lib/csu/common/crtbrand.c 268511 2014-07-10 21:52:31Z gjb $GCC: (GNU) 4.2.1 20070831 patched [FreeBSD]$FreeBSD: releng/9.3/lib/csu/amd64/crti.S 217105 2011-01-07 16:07:51Z kib $GCC: (GNU) 4.2.1 20070831 patched [FreeBSD]$FreeBSD: releng/9.3/usr.sbin/crunch/crunchgen/crunchgen.c 246895 2013-02-17 03:33:13Z pfg $GCC: (GNU) 4.2.1 20070831 patched [FreeBSD]GCC: (GNU) 4.2.1 20070831 patched [FreeBSD]GCC: (GNU) 4.2.1 20070831 patched [FreeBSD]$FreeBSD: releng/9.3/lib/csu/amd64/crtn.S 217105 2011-01-07 16:07:51Z kib $.shstrtab.interp.note.ABI-tag.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.ctors.dtors.jcr.dynamic.got.got.plt.data.bss.comment @@%0@0`!o@P+ @3x@x;o* @* bHo @ 0W @ a @ H k@f@@q@@@'w49@49}H9@H9XT@TU@Ut`````` `` `(``(`a`aa`a0c`c8 @g`8g 6 8gui