Major refactoring of src/stub directory.
This commit is contained in:
parent
72906cdc6a
commit
d3323d6550
@ -29,13 +29,8 @@ src/compress_nrv*
|
||||
src/*.rc
|
||||
|
||||
stub/MMakefile
|
||||
stub/l_t_*.i
|
||||
stub/stamp-h
|
||||
stub/*.ash
|
||||
stub/*.asx
|
||||
stub/*.asy
|
||||
stub/*.bin
|
||||
stub/*.lst
|
||||
stub/tmp
|
||||
stub/.*stamp
|
||||
|
||||
stub/util/armpe/armpe_tester
|
||||
|
||||
|
||||
@ -34,9 +34,9 @@
|
||||
#include "linker.h"
|
||||
|
||||
static const
|
||||
#include "stub/l_armpea.h"
|
||||
#include "stub/arm.v4a-wince.pe.h"
|
||||
static const
|
||||
#include "stub/l_armpet.h"
|
||||
#include "stub/arm.v4t-wince.pe.h"
|
||||
|
||||
#define IDSIZE(x) ih.ddirs[x].size
|
||||
#define IDADDR(x) ih.ddirs[x].vaddr
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
#include "p_com.h"
|
||||
|
||||
static const
|
||||
#include "stub/l_com.h"
|
||||
#include "stub/i086-dos16.com.h"
|
||||
|
||||
//#define TESTING
|
||||
|
||||
|
||||
@ -33,9 +33,9 @@
|
||||
#include "p_djgpp2.h"
|
||||
|
||||
static const
|
||||
#include "stub/l_djgpp2.h"
|
||||
#include "stub/i386-dos32.djgpp2.h"
|
||||
static const
|
||||
#include "stub/stubify.h"
|
||||
#include "stub/i386-dos32.djgpp2-stubify.h"
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
#include "p_exe.h"
|
||||
|
||||
static const
|
||||
#include "stub/l_exe.h"
|
||||
#include "stub/i086-dos16.exe.h"
|
||||
|
||||
#define RSFCRI 4096 // Reserved Space For Compressed Relocation Info
|
||||
#define MAXMATCH 0x2000
|
||||
|
||||
@ -531,9 +531,9 @@ PackLinuxElf64::buildLinuxLoader(
|
||||
}
|
||||
|
||||
static const
|
||||
#include "stub/l_lx_elf86.h"
|
||||
#include "stub/i386-linux.elf-entry.h"
|
||||
static const
|
||||
#include "stub/fold_elf86.h"
|
||||
#include "stub/i386-linux.elf-fold.h"
|
||||
|
||||
int
|
||||
PackLinuxElf32x86::buildLoader(const Filter *ft)
|
||||
@ -559,9 +559,9 @@ PackLinuxElf32x86::buildLoader(const Filter *ft)
|
||||
}
|
||||
|
||||
static const
|
||||
#include "stub/l_lx_elf32arm.h"
|
||||
#include "stub/arm-linux.elf-entry.h"
|
||||
static const
|
||||
#include "stub/fold_elf32arm.h"
|
||||
#include "stub/arm-linux.elf-fold.h"
|
||||
|
||||
#include "mem.h"
|
||||
|
||||
@ -640,9 +640,9 @@ PackLinuxElf32armBe::buildLoader(const Filter *ft) // FIXME
|
||||
}
|
||||
|
||||
static const
|
||||
#include "stub/l_lx_elfppc32.h"
|
||||
#include "stub/powerpc-linux.elf-entry.h"
|
||||
static const
|
||||
#include "stub/fold_elfppc32.h"
|
||||
#include "stub/powerpc-linux.elf-fold.h"
|
||||
|
||||
int
|
||||
PackLinuxElf32ppc::buildLoader(const Filter *ft)
|
||||
@ -653,9 +653,9 @@ PackLinuxElf32ppc::buildLoader(const Filter *ft)
|
||||
}
|
||||
|
||||
static const
|
||||
#include "stub/l_lx_elf64amd.h"
|
||||
#include "stub/amd64-linux.elf-entry.h"
|
||||
static const
|
||||
#include "stub/fold_elf64amd.h"
|
||||
#include "stub/amd64-linux.elf-fold.h"
|
||||
|
||||
int
|
||||
PackLinuxElf64amd::buildLoader(const Filter *ft)
|
||||
|
||||
@ -55,9 +55,9 @@
|
||||
**************************************************************************/
|
||||
|
||||
static const
|
||||
#include "stub/l_lx_exec86.h"
|
||||
#include "stub/i386-linux.elf.execve-entry.h"
|
||||
static const
|
||||
#include "stub/fold_exec86.h"
|
||||
#include "stub/i386-linux.elf.execve-fold.h"
|
||||
|
||||
|
||||
const int *PackLinuxI386::getCompressionMethods(int method, int level) const
|
||||
|
||||
@ -51,9 +51,9 @@
|
||||
**************************************************************************/
|
||||
|
||||
static const
|
||||
#include "stub/l_lx_pti86.h"
|
||||
#include "stub/i386-linux.elf.interp-entry.h"
|
||||
static const
|
||||
#include "stub/fold_pti86.h"
|
||||
#include "stub/i386-linux.elf.interp-fold.h"
|
||||
|
||||
PackLinuxElf32x86interp::PackLinuxElf32x86interp(InputFile *f) :
|
||||
super(f)
|
||||
|
||||
@ -1,94 +0,0 @@
|
||||
/* p_lx_sep.cpp --
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#include "conf.h"
|
||||
|
||||
#include "file.h"
|
||||
#include "packer.h"
|
||||
#include "p_elf.h"
|
||||
#include "p_unix.h"
|
||||
#include "p_lx_exc.h"
|
||||
#include "p_lx_elf.h"
|
||||
#include "p_lx_sep.h"
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
//
|
||||
**************************************************************************/
|
||||
|
||||
//#define SCRIPT_SIZE (opt->o_unix.SCRIPT_MAX + sizeof(l_info))
|
||||
#define SCRIPT_SIZE (32 + sizeof(l_info))
|
||||
|
||||
const upx_byte *PackLinuxI386sep::getLoader() const
|
||||
{
|
||||
static char script[SCRIPT_SIZE];
|
||||
|
||||
memset(script, 0, sizeof(script));
|
||||
char const *name = opt->o_unix.script_name;
|
||||
if (0==name) {
|
||||
name = "/usr/local/lib/upxX";
|
||||
}
|
||||
upx_snprintf(script, sizeof(script), "#!%s\n", name);
|
||||
if (M_IS_NRV2B(ph.method)) {
|
||||
script[strlen(script)-2] = 'b';
|
||||
return (upx_byte const *)script;
|
||||
}
|
||||
if (M_IS_NRV2D(ph.method)) {
|
||||
script[strlen(script)-2] = 'd';
|
||||
return (upx_byte const *)script;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int PackLinuxI386sep::getLoaderSize() const
|
||||
{
|
||||
if (M_IS_NRV2B(ph.method))
|
||||
return SCRIPT_SIZE;
|
||||
if (M_IS_NRV2D(ph.method))
|
||||
return SCRIPT_SIZE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int PackLinuxI386sep::getLoaderPrefixSize() const
|
||||
{
|
||||
return opt->o_unix.SCRIPT_MAX;
|
||||
}
|
||||
|
||||
void PackLinuxI386sep::patchLoader()
|
||||
{
|
||||
patchLoaderChecksum();
|
||||
}
|
||||
|
||||
/*
|
||||
vi:ts=4:et
|
||||
*/
|
||||
|
||||
@ -48,9 +48,9 @@
|
||||
**************************************************************************/
|
||||
|
||||
static const
|
||||
#include "stub/l_lx_sh86.h"
|
||||
#include "stub/i386-linux.elf.shell-entry.h"
|
||||
static const
|
||||
#include "stub/fold_sh86.h"
|
||||
#include "stub/i386-linux.elf.shell-fold.h"
|
||||
|
||||
|
||||
PackLinuxI386sh::PackLinuxI386sh(InputFile *f) :
|
||||
|
||||
@ -34,10 +34,9 @@
|
||||
#include "p_mach.h"
|
||||
|
||||
static const
|
||||
#include "stub/l_mac_ppc32.h"
|
||||
|
||||
#include "stub/powerpc-darwin.macho-entry.h"
|
||||
static const
|
||||
#include "stub/fold_machppc32.h"
|
||||
#include "stub/powerpc-darwin.macho-fold.h"
|
||||
|
||||
PackMachPPC32::PackMachPPC32(InputFile *f) :
|
||||
super(f), n_segment(0), rawmseg(0), msegcmd(0)
|
||||
|
||||
@ -37,9 +37,9 @@
|
||||
#include "p_ps1.h"
|
||||
|
||||
static const
|
||||
#include "stub/l_ps1b.h"
|
||||
#include "stub/mipsel.r3000-ps1-boot.h"
|
||||
static const
|
||||
#include "stub/l_ps1c.h"
|
||||
#include "stub/mipsel.r3000-ps1-console.h"
|
||||
|
||||
|
||||
#define MIPS_HI(a) ((a) >> 16)
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
#include "p_sys.h"
|
||||
|
||||
static const
|
||||
#include "stub/l_sys.h"
|
||||
#include "stub/i086-dos16.sys.h"
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
#include "p_tmt.h"
|
||||
|
||||
static const
|
||||
#include "stub/l_tmt.h"
|
||||
#include "stub/i386-dos32.tmt.h"
|
||||
|
||||
#define EXTRA_INFO 4 // original entry point
|
||||
|
||||
|
||||
@ -34,17 +34,17 @@
|
||||
#include "p_tos.h"
|
||||
|
||||
static const
|
||||
#include "stub/l_t_n2b.h"
|
||||
#include "stub/m68k-atari.tos-nrv2b.h"
|
||||
static const
|
||||
#include "stub/l_t_n2bs.h"
|
||||
#include "stub/m68k-atari.tos-nrv2b.small.h"
|
||||
static const
|
||||
#include "stub/l_t_n2d.h"
|
||||
#include "stub/m68k-atari.tos-nrv2d.h"
|
||||
static const
|
||||
#include "stub/l_t_n2ds.h"
|
||||
#include "stub/m68k-atari.tos-nrv2d.small.h"
|
||||
static const
|
||||
#include "stub/l_t_n2e.h"
|
||||
#include "stub/m68k-atari.tos-nrv2e.h"
|
||||
static const
|
||||
#include "stub/l_t_n2es.h"
|
||||
#include "stub/m68k-atari.tos-nrv2e.small.h"
|
||||
|
||||
// #define TESTING
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
#include "p_vmlinx.h"
|
||||
|
||||
static const
|
||||
#include "stub/l_vmlinx.h"
|
||||
#include "stub/i386-linux.kernel.vmlinux.h"
|
||||
|
||||
/*************************************************************************
|
||||
//
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
#include <zlib.h>
|
||||
|
||||
static const
|
||||
#include "stub/l_vmlinz.h"
|
||||
#include "stub/i386-linux.kernel.vmlinuz.h"
|
||||
|
||||
static const unsigned kernel_entry = 0x100000;
|
||||
static const unsigned stack_offset_during_uncompression = 0x9000;
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
#include "p_w32pe.h"
|
||||
|
||||
static const
|
||||
#include "stub/l_w32pe.h"
|
||||
#include "stub/i386-win32.pe.h"
|
||||
|
||||
#define IDSIZE(x) ih.ddirs[x].size
|
||||
#define IDADDR(x) ih.ddirs[x].vaddr
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
#include "p_wcle.h"
|
||||
|
||||
static const
|
||||
#include "stub/l_wcle.h"
|
||||
#include "stub/i386-dos32.watcom.le.h"
|
||||
|
||||
#define LEOF_READ (1<<0)
|
||||
#define LEOF_WRITE (1<<1)
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
#include "p_unix.h"
|
||||
#include "p_lx_exc.h"
|
||||
#include "p_lx_elf.h"
|
||||
#include "p_lx_sep.h"
|
||||
//#include "p_lx_sep.h"
|
||||
#include "p_lx_sh.h"
|
||||
#include "p_lx_interp.h"
|
||||
#include "p_sys.h"
|
||||
|
||||
625
src/stub/Makefile
Normal file
625
src/stub/Makefile
Normal file
@ -0,0 +1,625 @@
|
||||
#
|
||||
# UPX stub Makefile (needs GNU make 3.81 or better)
|
||||
#
|
||||
# see http://upx.sourceforge.net/download/tools/
|
||||
# for required build tools
|
||||
#
|
||||
|
||||
MAKEFLAGS += -rR
|
||||
.SUFFIXES:
|
||||
export SHELL = /bin/sh
|
||||
|
||||
# GNU make 3.81
|
||||
.SECONDEXPANSION:
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# //
|
||||
# ************************************************************************/
|
||||
|
||||
srcdir = .
|
||||
top_srcdir = ../..
|
||||
|
||||
STUBS += amd64-linux.elf-entry.h
|
||||
STUBS += amd64-linux.elf-fold.h
|
||||
STUBS += arm-linux.elf-entry.h
|
||||
STUBS += arm-linux.elf-fold.h
|
||||
STUBS += arm.v4a-wince.pe.h
|
||||
STUBS += arm.v4t-wince.pe.h
|
||||
STUBS += i086-dos16.com.h
|
||||
STUBS += i086-dos16.exe.h
|
||||
STUBS += i086-dos16.sys.h
|
||||
STUBS += i386-dos32.djgpp2.h
|
||||
STUBS += i386-dos32.djgpp2-stubify.h
|
||||
STUBS += i386-dos32.tmt.h
|
||||
STUBS += i386-dos32.watcom.le.h
|
||||
STUBS += i386-linux.elf-entry.h
|
||||
STUBS += i386-linux.elf-fold.h
|
||||
STUBS += i386-linux.elf.execve-entry.h
|
||||
STUBS += i386-linux.elf.execve-fold.h
|
||||
STUBS += i386-linux.elf.interp-entry.h
|
||||
STUBS += i386-linux.elf.interp-fold.h
|
||||
STUBS += i386-linux.elf.shell-entry.h
|
||||
STUBS += i386-linux.elf.shell-fold.h
|
||||
STUBS += i386-linux.kernel.vmlinux.h
|
||||
STUBS += i386-linux.kernel.vmlinuz.h
|
||||
STUBS += i386-win32.pe.h
|
||||
STUBS += m68k-atari.tos-nrv2b.h
|
||||
STUBS += m68k-atari.tos-nrv2b.small.h
|
||||
STUBS += m68k-atari.tos-nrv2d.h
|
||||
STUBS += m68k-atari.tos-nrv2d.small.h
|
||||
STUBS += m68k-atari.tos-nrv2e.h
|
||||
STUBS += m68k-atari.tos-nrv2e.small.h
|
||||
STUBS += mipsel.r3000-ps1-boot.h
|
||||
STUBS += mipsel.r3000-ps1-console.h
|
||||
STUBS += powerpc-darwin.macho-entry.h
|
||||
STUBS += powerpc-darwin.macho-fold.h
|
||||
STUBS += powerpc-linux.elf-entry.h
|
||||
STUBS += powerpc-linux.elf-fold.h
|
||||
|
||||
|
||||
ifeq ($(wildcard .all-stamp),)
|
||||
default:
|
||||
@echo "UPX info: type 'make all' if you have all the required build tools."
|
||||
else
|
||||
default: all
|
||||
endif
|
||||
|
||||
all: tmp/.tmp-stamp .all-stamp
|
||||
tmp/.tmp-stamp:
|
||||
@mkdir -p tmp
|
||||
@echo "timestamp" > $@
|
||||
.all-stamp: $(STUBS)
|
||||
@echo "timestamp" > $@
|
||||
|
||||
distclean:
|
||||
rm -f .*-stamp
|
||||
rm -rf tmp
|
||||
maintainer-clean:
|
||||
rm -f *.h
|
||||
rm -rf tmp
|
||||
ifeq ($(wildcard .all-stamp),)
|
||||
mostlyclean clean: distclean
|
||||
else
|
||||
mostlyclean clean: maintainer-clean
|
||||
endif
|
||||
|
||||
.PHONY: default all stubs mostlyclean clean distclean maintainer-clean
|
||||
|
||||
|
||||
# util var for use in the rules - basename of the current target
|
||||
override T = $(basename $(notdir $@))
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // setup toolchain globals
|
||||
# ************************************************************************/
|
||||
|
||||
# update path for our special stub build tools
|
||||
ifneq ($(wildcard $(HOME)/local/bin/bin-upx),)
|
||||
export PATH := $(HOME)/local/bin/bin-upx:$(PATH)
|
||||
endif
|
||||
|
||||
# default settings for $(tc_list)
|
||||
tc.default.bin2h = python $(srcdir)/scripts/bin2h.py
|
||||
tc.default.brandelf = perl -w $(srcdir)/scripts/brandelf.pl
|
||||
tc.default.djasm = djasm
|
||||
tc.default.gpp_inc = python $(srcdir)/scripts/gpp_inc.py
|
||||
tc.default.o2bin = perl $(srcdir)/scripts/o2bin.pl
|
||||
tc.default.nasm = nasm
|
||||
tc.default.nasm += -I$(srcdir)/ -I$(srcdir)/src/
|
||||
tc.default.nasm += -O99 -w+macro-params -w+macro-selfref -w+number-overflow -w+orphan-labels
|
||||
tc.default.pp-asm = i386-linux-gcc-2.95.3 -E -nostdinc -x assembler-with-cpp -Wall -Wp,-P,-C,-traditional
|
||||
tc.default.pp-nasm = $(tc.default.gpp_inc) --mode=nasm -I$(srcdir)/ -I$(srcdir)/src/
|
||||
tc.default.stripelf = i386-linux-sstrip
|
||||
|
||||
# some common settings for $(tc_list)
|
||||
tc.i086.app-nasm = perl -w $(srcdir)/src/arch/i086/app-nasm.pl
|
||||
tc.i386.app-nasm = perl -w $(srcdir)/src/arch/i386/app-nasm.pl
|
||||
|
||||
|
||||
# slightly tricky make stuff follows
|
||||
|
||||
# error sentinel for missing commands
|
||||
__tc_FALSE = false tc_FALSE: '$@' '$<'
|
||||
# enumerate all variables that will get tested (from basename and $tc_list)
|
||||
__tc_varlist = tc.$(basename $@).$1 $(foreach __tc_tmp,$(tc_list),tc.$(__tc_tmp).$1)
|
||||
# return the _name_ of the first variable that is not empty
|
||||
__tc_varname = $(firstword $(foreach __tc_vn,$2,$(if $($(__tc_vn)),$(__tc_vn),)) __tc_FALSE)
|
||||
# expand the first variable that is not empty
|
||||
tc = $($(call __tc_varname,$1,$(call __tc_varlist,$1)))
|
||||
|
||||
|
||||
# clear some vars, just in case
|
||||
CPPFLAGS =
|
||||
CPLAGS =
|
||||
PP_FLAGS =
|
||||
IDENT_NAME =
|
||||
IDENT_PREFIX =
|
||||
IDENT_SUFFIX =
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // amd64-linux.elf
|
||||
# ************************************************************************/
|
||||
|
||||
amd64-linux.elf% : tc_list = amd64-linux.elf default
|
||||
|
||||
tc.amd64-linux.elf.gcc = x86_64-unknown-linux-gnu-gcc-3.4.4 -m64 -nostdinc -MMD
|
||||
tc.amd64-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wwrite-strings -Werror
|
||||
tc.amd64-linux.elf.ld = x86_64-unknown-linux-gnu-ld -m elf_x86_64
|
||||
tc.amd64-linux.elf.objcopy = x86_64-unknown-linux-gnu-objcopy
|
||||
tc.amd64-linux.elf.objstrip = $(tc.amd64-linux.elf.objcopy) -R .comment -R .note
|
||||
|
||||
amd64-linux.elf-entry.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o tmp/$T.o
|
||||
$(call tc,objstrip) tmp/$T.o
|
||||
$(call tc,ld) --oformat binary tmp/$T.o -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_elf64amd_loader tmp/$T.bin $@
|
||||
|
||||
amd64-linux.elf-fold.h : tmp/$$T.o tmp/amd64-linux.elf-main.o
|
||||
$(call tc,ld) -T $(srcdir)/src/$T.lds -Map tmp/$T.map -o tmp/$T.bin --strip-all $(filter %.o,$^)
|
||||
$(call tc,stripelf) tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_elf64amd_fold tmp/$T.bin $@
|
||||
|
||||
tmp/amd64-linux.elf-fold.o : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
tmp/amd64-linux.elf-main.o : $(srcdir)/src/$$T.c
|
||||
$(call tc,gcc) -c -Os -fno-exceptions -fno-asynchronous-unwind-tables $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // arm-linux.elf
|
||||
# ************************************************************************/
|
||||
|
||||
arm-linux.elf% : tc_list = arm-linux.elf default
|
||||
|
||||
tc.arm-linux.elf.gcc = arm-9tdmi-linux-gnu-gcc-3.4.5 -march=armv4 -nostdinc -MMD
|
||||
tc.arm-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wwrite-strings -Werror
|
||||
tc.arm-linux.elf.ld = arm-9tdmi-linux-gnu-ld
|
||||
tc.arm-linux.elf.objcopy = arm-9tdmi-linux-gnu-objcopy
|
||||
tc.arm-linux.elf.objstrip = $(tc.arm-linux.elf.objcopy) -R .comment -R .note
|
||||
|
||||
arm-linux.elf-entry.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -nostdlib $< -o tmp/$T.out
|
||||
$(call tc,objcopy) --only-section .text -O binary tmp/$T.out tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_elf32arm_loader tmp/$T.bin $@
|
||||
|
||||
arm-linux.elf-fold.h : tmp/$$T.o tmp/arm-linux.elf-main.o
|
||||
$(call tc,ld) -T $(srcdir)/src/$T.lds -Map tmp/$T.map -o tmp/$T.bin --strip-all $(filter %.o,$^)
|
||||
$(call tc,stripelf) tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_elf32arm_fold tmp/$T.bin $@
|
||||
|
||||
tmp/arm-linux.elf-fold.o : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
tmp/arm-linux.elf-main.o : $(srcdir)/src/$$T.c
|
||||
$(call tc,gcc) -c -Os -fno-exceptions -fno-asynchronous-unwind-tables $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // arm.v4a-wince.pe
|
||||
# // arm.v4t-wince.pe
|
||||
# ************************************************************************/
|
||||
|
||||
arm.v4a-wince.pe% : tc_list = arm.v4a-wince.pe arm-wince.pe default
|
||||
arm.v4t-wince.pe% : tc_list = arm.v4t-wince.pe arm-wince.pe default
|
||||
|
||||
tc.arm-wince.pe.gcc = arm-9tdmi-linux-gnu-gcc-3.4.5 -nostdinc -MMD
|
||||
tc.arm-wince.pe.gcc += -Wall -W -Wcast-align -Wcast-qual -Wwrite-strings -Werror
|
||||
tc.arm-wince.pe.objcopy = arm-9tdmi-linux-gnu-objcopy
|
||||
|
||||
arm.v4a-wince.pe.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -march=armv4 -nostdlib $< -o tmp/$T.out
|
||||
$(call tc,objcopy) --only-section .text -O binary tmp/$T.out tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv_loader_arm tmp/$T.bin $@
|
||||
|
||||
arm.v4t-wince.pe.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -march=armv4t -nostdlib $< -o tmp/$T.out
|
||||
$(call tc,objcopy) --only-section .text -O binary tmp/$T.out tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv_loader_thumb tmp/$T.bin $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // i086-dos16.com
|
||||
# ************************************************************************/
|
||||
|
||||
i086-dos16.com% : tc_list = i086 default
|
||||
|
||||
i086-dos16.com.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv2b_loader tmp/$T.bin $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // i086-dos16.exe
|
||||
# ************************************************************************/
|
||||
|
||||
i086-dos16.exe% : tc_list = i086 default
|
||||
|
||||
i086-dos16.exe.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv_loader tmp/$T.bin $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // i086-dos16.sys
|
||||
# ************************************************************************/
|
||||
|
||||
i086-dos16.sys% : tc_list = i086 default
|
||||
|
||||
i086-dos16.sys.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv2b_loader tmp/$T.bin $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // i386-dos32.djgpp2
|
||||
# ************************************************************************/
|
||||
|
||||
i386-dos32.djgpp2% : tc_list = i386 default
|
||||
|
||||
i386-dos32.djgpp2.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv_loader tmp/$T.bin $@
|
||||
|
||||
i386-dos32.djgpp2-stubify.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,djasm) --outtype=exe --gmtime=1070220810 --inname=stub.asm --outname=stub.h $< tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=stubify_stub -q tmp/$T.bin $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // i386-dos32.tmt
|
||||
# ************************************************************************/
|
||||
|
||||
i386-dos32.tmt% : tc_list = i386 default
|
||||
|
||||
i386-dos32.tmt.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv_loader tmp/$T.bin $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // i386-dos32.watcom.le
|
||||
# ************************************************************************/
|
||||
|
||||
i386-dos32.watcom.le% : tc_list = i386 default
|
||||
|
||||
i386-dos32.watcom.le.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv_loader tmp/$T.bin $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // i386-linux.elf
|
||||
# ************************************************************************/
|
||||
|
||||
i386-linux.elf% : tc_list = i386-linux.elf i386 default
|
||||
|
||||
tc.i386-linux.elf.gcc = i386-linux-gcc-3.4.6 -m32 -nostdinc -MMD
|
||||
tc.i386-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wwrite-strings -Werror
|
||||
tc.i386-linux.elf.gcc += -march=i386 -mtune=k6
|
||||
tc.i386-linux.elf.gcc += -Os -fno-omit-frame-pointer
|
||||
tc.i386-linux.elf.gcc += -momit-leaf-frame-pointer
|
||||
tc.i386-linux.elf.gcc += -fno-align-functions -fno-align-jumps -fno-align-labels -fno-align-loops
|
||||
tc.i386-linux.elf.gcc += -mpreferred-stack-boundary=2
|
||||
tc.i386-linux.elf.gcc += -fweb
|
||||
tc.i386-linux.elf.ld = i386-linux-ld-2.16.1
|
||||
tc.i386-linux.elf.objcopy = i386-linux-objcopy-2.16.1
|
||||
tc.i386-linux.elf.objstrip = $(tc.i386-linux.elf.objcopy) -R .comment -R .note
|
||||
|
||||
i386-linux.elf-entry.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_i386elf_loader tmp/$T.bin $@
|
||||
|
||||
i386-linux.elf-fold.h : tmp/$$T.o tmp/i386-linux.elf-main.o
|
||||
$(call tc,ld) -T $(srcdir)/src/$T.lds -Map tmp/$T.map -o tmp/$T.bin --strip-all $(filter %.o,$^)
|
||||
$(call tc,objstrip) tmp/$T.bin
|
||||
$(call tc,stripelf) tmp/$T.bin
|
||||
$(call tc,brandelf) tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_i386elf_fold tmp/$T.bin $@
|
||||
|
||||
tmp/i386-linux.elf-fold.o : $(srcdir)/src/$$T.asm
|
||||
$(call tc,nasm) -f elf $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
tmp/i386-linux.elf-main.o : $(srcdir)/src/$$T.c
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // i386-linux.elf.execve
|
||||
# ************************************************************************/
|
||||
|
||||
# tc settings are shared with i386-linux.elf
|
||||
|
||||
i386-linux.elf.execve-entry.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_i386exec_loader tmp/$T.bin $@
|
||||
|
||||
i386-linux.elf.execve-fold.h : tmp/$$T.o tmp/i386-linux.elf.execve-main.o tmp/i386-linux.elf.execve-upx_itoa.o
|
||||
$(call tc,ld) -T $(srcdir)/src/$T.lds -Map tmp/$T.map -o tmp/$T.bin --strip-all $(filter %.o,$^)
|
||||
$(call tc,objstrip) tmp/$T.bin
|
||||
$(call tc,stripelf) tmp/$T.bin
|
||||
$(call tc,brandelf) tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_i386exec_fold tmp/$T.bin $@
|
||||
|
||||
tmp/i386-linux.elf.execve-fold.o : $(srcdir)/src/$$T.asm
|
||||
$(call tc,nasm) -f elf $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
tmp/i386-linux.elf.execve-main.o : $(srcdir)/src/$$T.c
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
tmp/i386-linux.elf.execve-upx_itoa.o: $(srcdir)/src/$$T.asm
|
||||
$(call tc,nasm) -f elf $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // i386-linux.elf.interp
|
||||
# ************************************************************************/
|
||||
|
||||
# tc settings are shared with i386-linux.elf
|
||||
|
||||
i386-linux.elf.interp-entry.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_i386pti_loader tmp/$T.bin $@
|
||||
|
||||
i386-linux.elf.interp-fold.h : tmp/$$T.o tmp/i386-linux.elf.interp-main.o
|
||||
$(call tc,ld) -T $(srcdir)/src/$T.lds -Map tmp/$T.map -o tmp/$T.bin --strip-all $(filter %.o,$^)
|
||||
$(call tc,objstrip) tmp/$T.bin
|
||||
$(call tc,stripelf) tmp/$T.bin
|
||||
$(call tc,brandelf) tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_i386pti_fold tmp/$T.bin $@
|
||||
|
||||
tmp/i386-linux.elf.interp-fold.o : $(srcdir)/src/$$T.asm
|
||||
$(call tc,nasm) -f elf $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
tmp/i386-linux.elf.interp-main.o : $(srcdir)/src/$$T.c
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // i386-linux.elf.shell
|
||||
# ************************************************************************/
|
||||
|
||||
# tc settings are shared with i386-linux.elf
|
||||
|
||||
i386-linux.elf.shell-entry.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_i386sh_loader tmp/$T.bin $@
|
||||
|
||||
i386-linux.elf.shell-fold.h : tmp/$$T.o tmp/i386-linux.elf.shell-main.o
|
||||
$(call tc,ld) -T $(srcdir)/src/$T.lds -Map tmp/$T.map -o tmp/$T.bin --strip-all $(filter %.o,$^)
|
||||
$(call tc,objstrip) tmp/$T.bin
|
||||
$(call tc,stripelf) tmp/$T.bin
|
||||
$(call tc,brandelf) tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_i386sh_fold tmp/$T.bin $@
|
||||
|
||||
tmp/i386-linux.elf.shell-fold.o : $(srcdir)/src/$$T.asm
|
||||
$(call tc,nasm) -f elf $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
tmp/i386-linux.elf.shell-main.o : $(srcdir)/src/$$T.c
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // i386-linux.kernel.vmlinux
|
||||
# // i386-linux.kernel.vmlinuz
|
||||
# ************************************************************************/
|
||||
|
||||
i386-linux.kernel.vmlin% : tc_list = i386 default
|
||||
|
||||
i386-linux.kernel%.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv_loader tmp/$T.bin $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // i386-win32.pe
|
||||
# ************************************************************************/
|
||||
|
||||
i386-win32.pe% : tc_list = i386 default
|
||||
|
||||
i386-win32.pe.h : $(srcdir)/src/$$T.asm
|
||||
$(call tc,pp-nasm) $< -o tmp/$T.tmp1
|
||||
$(call tc,app-nasm) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,nasm) -f bin tmp/$T.tmp2 -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=nrv_loader tmp/$T.bin $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // m68k-atari.tos
|
||||
# ************************************************************************/
|
||||
|
||||
m68k-atari.tos-%.h : tc_list = m68k-atari.tos default
|
||||
|
||||
tc.m68k-atari.tos.app-a68k = perl -w $(srcdir)/src/arch/m68k/app-a68k.pl
|
||||
tc.m68k-atari.tos.asm-a68k = a68k
|
||||
|
||||
m68k-atari.tos-nrv%.h : $(srcdir)/src/m68k-atari.tos.asm
|
||||
$(call tc,pp-asm) -D__A68K__ $(PP_FLAGS) $< -o tmp/$T.i
|
||||
$(call tc,asm-a68k) -q -ltmp/$T.o.lst tmp/$T.i -otmp/$T.o
|
||||
$(call tc,o2bin) tmp/$T.o tmp/$T.bin 'UPX1' 'UPX9'
|
||||
$(call tc,bin2h) --ident=$(IDENT_PREFIX)loader$(IDENT_SUFFIX) tmp/$T.bin $@
|
||||
|
||||
m68k-atari.tos-nrv2b% : PP_FLAGS = -DNRV2B
|
||||
m68k-atari.tos-nrv2d% : PP_FLAGS = -DNRV2D
|
||||
m68k-atari.tos-nrv2e% : PP_FLAGS = -DNRV2E
|
||||
m68k-atari.tos-nrv2%.small.h : PP_FLAGS += -DSMALL
|
||||
m68k-atari.tos-nrv2b% : IDENT_PREFIX = nrv2b_
|
||||
m68k-atari.tos-nrv2d% : IDENT_PREFIX = nrv2d_
|
||||
m68k-atari.tos-nrv2e% : IDENT_PREFIX = nrv2e_
|
||||
m68k-atari.tos-nrv2%.small.h : IDENT_SUFFIX = _small
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // mipsel.r3000-ps1-boot
|
||||
# // mipsel.r3000-ps1-console
|
||||
# ************************************************************************/
|
||||
|
||||
mipsel.r3000-ps1-%.h : tc_list = mipsel.r3000-ps1 default
|
||||
|
||||
tc.mipsel.r3000-ps1.app-asm5900 = perl -w $(srcdir)/src/arch/mips/mipsel.r3000/app-asm5900.pl
|
||||
tc.mipsel.r3000-ps1.asm5900 = asm5900
|
||||
|
||||
mipsel.r3000-ps1-%.h : $(srcdir)/src/mipsel.r3000-ps1.asm
|
||||
$(call tc,pp-asm) $(PP_FLAGS) $< -o tmp/$T.tmp1
|
||||
$(call tc,app-asm5900) tmp/$T.tmp1 tmp/$T.tmp2
|
||||
$(call tc,asm5900) --nologo -q -ltmp/$T.bin.lst tmp/$T.tmp2 -otmp/$T.bin
|
||||
$(call tc,bin2h) --ident=$(IDENT_NAME) tmp/$T.bin $@
|
||||
|
||||
mipsel.r3000-ps1-boot.h: PP_FLAGS += -DCDBOOT
|
||||
mipsel.r3000-ps1-boot.h: IDENT_NAME = nrv_boot_loader
|
||||
mipsel.r3000-ps1-console.h: IDENT_NAME = nrv_con_loader
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // powerpc-linux.elf
|
||||
# ************************************************************************/
|
||||
|
||||
powerpc-linux.elf% : tc_list = powerpc-linux.elf default
|
||||
|
||||
tc.powerpc-linux.elf.gcc = powerpc-750-linux-gnu-gcc-3.4.4 -nostdinc -MMD
|
||||
tc.powerpc-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wwrite-strings -Werror
|
||||
tc.powerpc-linux.elf.ld = powerpc-750-linux-gnu-ld
|
||||
tc.powerpc-linux.elf.objcopy = powerpc-750-linux-gnu-objcopy
|
||||
tc.powerpc-linux.elf.objstrip = $(tc.powerpc-linux.elf.objcopy) -R .comment -R .note
|
||||
|
||||
powerpc-linux.elf-entry.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o tmp/$T.o
|
||||
$(call tc,objstrip) tmp/$T.o
|
||||
$(call tc,ld) --oformat binary tmp/$T.o -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_elfppc32_loader tmp/$T.bin $@
|
||||
|
||||
powerpc-linux.elf-fold.h : tmp/$$T.o tmp/powerpc-linux.elf-main.o
|
||||
$(call tc,ld) -T $(srcdir)/src/$T.lds -Map tmp/$T.map -o tmp/$T.bin --strip-all $(filter %.o,$^)
|
||||
## $(call tc,stripelf) tmp/$T.bin ## FIXME / TODO
|
||||
$(call tc,bin2h) --ident=linux_elfppc32_fold tmp/$T.bin $@
|
||||
|
||||
tmp/powerpc-linux.elf-fold.o : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
tmp/powerpc-linux.elf-main.o : $(srcdir)/src/$$T.c
|
||||
$(call tc,gcc) -c -Os -fno-exceptions -fno-asynchronous-unwind-tables $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // powerpc-darwin.macho
|
||||
# ************************************************************************/
|
||||
|
||||
powerpc-darwin.macho% : tc_list = powerpc-linux.elf default
|
||||
|
||||
powerpc-darwin.macho-entry.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o tmp/$T.o
|
||||
$(call tc,objstrip) tmp/$T.o
|
||||
$(call tc,ld) --oformat binary tmp/$T.o -o tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=l_mac_ppc32_loader tmp/$T.bin $@
|
||||
|
||||
powerpc-darwin.macho-fold.h : tmp/$$T.o tmp/powerpc-darwin.macho-main.o
|
||||
$(call tc,ld) --oformat binary -Map tmp/$T.map -o tmp/$T.bin --strip-all $(filter %.o,$^)
|
||||
## $(call tc,stripelf) tmp/$T.bin ## FIXME / TODO
|
||||
$(call tc,bin2h) --ident=fold_machppc32 tmp/$T.bin $@
|
||||
|
||||
tmp/powerpc-darwin.macho-fold.o : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
tmp/powerpc-darwin.macho-main.o : $(srcdir)/src/$$T.c
|
||||
$(call tc,gcc) -c -Os -fno-exceptions -fno-asynchronous-unwind-tables $< -o $@
|
||||
$(call tc,objstrip) $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // dependencies
|
||||
# ************************************************************************/
|
||||
|
||||
##$(STUBS): tmp/.tmp-stamp
|
||||
##$(STUBS): $(MAKEFILE_LIST)
|
||||
-include *.d tmp/*.d
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // debug
|
||||
# ************************************************************************/
|
||||
|
||||
define debug-diff
|
||||
-diff $(HOME)/p/compress/upx/680c27309177-upx.hg/src/stub/$2 $1
|
||||
endef
|
||||
|
||||
debug-diff: $(STUBS)
|
||||
$(call debug-diff,amd64-linux.elf-entry.h,l_lx_elf64amd.h)
|
||||
$(call debug-diff,amd64-linux.elf-fold.h,fold_elf64amd.h)
|
||||
$(call debug-diff,arm-linux.elf-entry.h,l_lx_elf32arm.h)
|
||||
$(call debug-diff,arm-linux.elf-fold.h,fold_elf32arm.h)
|
||||
$(call debug-diff,arm.v4a-wince.pe.h,l_armpea.h)
|
||||
$(call debug-diff,arm.v4t-wince.pe.h,l_armpet.h)
|
||||
$(call debug-diff,i086-dos16.com.h,l_com.h)
|
||||
$(call debug-diff,i086-dos16.exe.h,l_exe.h)
|
||||
$(call debug-diff,i086-dos16.sys.h,l_sys.h)
|
||||
$(call debug-diff,i386-dos32.djgpp2.h,l_djgpp2.h)
|
||||
$(call debug-diff,i386-dos32.djgpp2-stubify.h,stubify.h)
|
||||
$(call debug-diff,i386-dos32.tmt.h,l_tmt.h)
|
||||
$(call debug-diff,i386-dos32.watcom.le.h,l_wcle.h)
|
||||
$(call debug-diff,i386-linux.elf-entry.h,l_lx_elf86.h)
|
||||
$(call debug-diff,i386-linux.elf-fold.h,fold_elf86.h)
|
||||
$(call debug-diff,i386-linux.elf.execve-entry.h,l_lx_exec86.h)
|
||||
$(call debug-diff,i386-linux.elf.execve-fold.h,fold_exec86.h)
|
||||
$(call debug-diff,i386-linux.elf.interp-entry.h,l_lx_pti86.h)
|
||||
$(call debug-diff,i386-linux.elf.interp-fold.h,fold_pti86.h)
|
||||
$(call debug-diff,i386-linux.elf.shell-entry.h,l_lx_sh86.h)
|
||||
$(call debug-diff,i386-linux.elf.shell-fold.h,fold_sh86.h)
|
||||
$(call debug-diff,i386-linux.kernel.vmlinux.h,l_vmlinx.h)
|
||||
$(call debug-diff,i386-linux.kernel.vmlinuz.h,l_vmlinz.h)
|
||||
$(call debug-diff,i386-win32.pe.h,l_w32pe.h)
|
||||
$(call debug-diff,m68k-atari.tos-nrv2b.h,l_t_n2b.h)
|
||||
$(call debug-diff,m68k-atari.tos-nrv2b.small.h,l_t_n2bs.h)
|
||||
$(call debug-diff,m68k-atari.tos-nrv2d.h,l_t_n2d.h)
|
||||
$(call debug-diff,m68k-atari.tos-nrv2d.small.h,l_t_n2ds.h)
|
||||
$(call debug-diff,m68k-atari.tos-nrv2e.h,l_t_n2e.h)
|
||||
$(call debug-diff,m68k-atari.tos-nrv2e.small.h,l_t_n2es.h)
|
||||
$(call debug-diff,mipsel.r3000-ps1-boot.h,l_ps1b.h)
|
||||
$(call debug-diff,mipsel.r3000-ps1-console.h,l_ps1c.h)
|
||||
$(call debug-diff,powerpc-darwin.macho-entry.h,l_mac_ppc32.h)
|
||||
$(call debug-diff,powerpc-darwin.macho-fold.h,fold_machppc32.h)
|
||||
$(call debug-diff,powerpc-linux.elf-entry.h,l_lx_elfppc32.h)
|
||||
$(call debug-diff,powerpc-linux.elf-fold.h,fold_elfppc32.h)
|
||||
|
||||
|
||||
# vi:nowrap
|
||||
79
src/stub/amd64-linux.elf-entry.h
Normal file
79
src/stub/amd64-linux.elf-entry.h
Normal file
@ -0,0 +1,79 @@
|
||||
/* amd64-linux.elf-entry.h -- created from amd64-linux.elf-entry.bin, 701 (0x2bd) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define LINUX_ELF64AMD_LOADER_SIZE 701
|
||||
#define LINUX_ELF64AMD_LOADER_ADLER32 0xf7af3eba
|
||||
#define LINUX_ELF64AMD_LOADER_CRC32 0x8ec9e668
|
||||
|
||||
unsigned char linux_elf64amd_loader[701] = {
|
||||
232,178, 2, 0, 0, 85, 83, 81, 82, 72, 1,254, 86, 72,137,254, /* 0x 0 */
|
||||
72,137,215, 49,219, 49,201, 72,131,205,255,232,129, 1, 0, 0, /* 0x 10 */
|
||||
1,219,116, 2,243,195,139, 30, 72,131,238,252, 17,219,138, 22, /* 0x 20 */
|
||||
243,195, 72,141, 4, 47,131,249, 5,138, 16,118, 33, 72,131,253, /* 0x 30 */
|
||||
252,119, 27,131,233, 4,139, 16, 72,131,192, 4,131,233, 4,137, /* 0x 40 */
|
||||
23, 72,141,127, 4,115,239,131,193, 4,138, 16,116, 16, 72,255, /* 0x 50 */
|
||||
192,136, 23,131,233, 1,138, 16, 72,141,127, 1,117,240,243,195, /* 0x 60 */
|
||||
72,255,198,136, 23, 72,255,199,138, 22, 1,219,117, 10,139, 30, /* 0x 70 */
|
||||
72,131,238,252, 17,219,138, 22,114,230,141, 65, 1,235, 7,255, /* 0x 80 */
|
||||
200, 65,255,211, 17,192, 65,255,211, 17,192, 1,219,117, 10,139, /* 0x 90 */
|
||||
30, 72,131,238,252, 17,219,138, 22,115,228,131,232, 3,114, 29, /* 0x a0 */
|
||||
193,224, 8, 15,182,210, 9,208, 72,255,198,131,240,255, 15,132, /* 0x b0 */
|
||||
244, 0, 0, 0,209,248, 72, 99,232,114, 56,235, 14, 1,219,117, /* 0x c0 */
|
||||
8,139, 30, 72,131,238,252, 17,219,114, 40,255,193, 1,219,117, /* 0x d0 */
|
||||
8,139, 30, 72,131,238,252, 17,219,114, 24, 65,255,211, 17,201, /* 0x e0 */
|
||||
1,219,117, 8,139, 30, 72,131,238,252, 17,219,115,237,131,193, /* 0x f0 */
|
||||
2,235, 5, 65,255,211, 17,201, 72,129,253, 0,251,255,255,131, /* 0x 100 */
|
||||
209, 2,232, 27,255,255,255,233, 92,255,255,255,102,102,102,144, /* 0x 110 */
|
||||
72,255,198,136, 23, 72,255,199,138, 22, 1,219,117, 10,139, 30, /* 0x 120 */
|
||||
72,131,238,252, 17,219,138, 22,114,230,141, 65, 1, 65,255,211, /* 0x 130 */
|
||||
17,192, 1,219,117, 10,139, 30, 72,131,238,252, 17,219,138, 22, /* 0x 140 */
|
||||
115,235,131,232, 3,114, 19,193,224, 8, 15,182,210, 9,208, 72, /* 0x 150 */
|
||||
255,198,131,240,255,116, 81, 72, 99,232,141, 65, 1, 65,255,211, /* 0x 160 */
|
||||
17,201, 65,255,211, 17,201,117, 24,137,193,131,192, 2, 65,255, /* 0x 170 */
|
||||
211, 17,201, 1,219,117, 8,139, 30, 72,131,238,252, 17,219,115, /* 0x 180 */
|
||||
237, 72,129,253, 0,243,255,255, 17,193,232,147,254,255,255,235, /* 0x 190 */
|
||||
135,252, 65, 91, 65,131,248, 8, 15,132,202,254,255,255, 65,131, /* 0x 1a0 */
|
||||
248, 2, 15,132,112,255,255,255, 89, 72,137,240, 72, 41,200, 90, /* 0x 1b0 */
|
||||
72, 41,215, 89,137, 57, 91, 93,195, 10, 36, 73,100, 58, 32, 85, /* 0x 1c0 */
|
||||
80, 88, 32, 40, 67, 41, 32, 49, 57, 57, 54, 45, 50, 48, 48, 54, /* 0x 1d0 */
|
||||
32,116,104,101, 32, 85, 80, 88, 32, 84,101, 97,109, 46, 32, 65, /* 0x 1e0 */
|
||||
108,108, 32, 82,105,103,104,116,115, 32, 82,101,115,101,114,118, /* 0x 1f0 */
|
||||
101,100, 46, 32,104,116,116,112, 58, 47, 47,117,112,120, 46,115, /* 0x 200 */
|
||||
102, 46,110,101,116, 32, 36, 10, 0,104, 30, 0, 0, 0, 90,232, /* 0x 210 */
|
||||
30, 0, 0, 0, 80, 82, 79, 84, 95, 69, 88, 69, 67,124, 80, 82, /* 0x 220 */
|
||||
79, 84, 95, 87, 82, 73, 84, 69, 32,102, 97,105,108,101,100, 46, /* 0x 230 */
|
||||
10, 0, 94,106, 2, 95,106, 1, 88, 15, 5,106,127, 95,106, 60, /* 0x 240 */
|
||||
88, 15, 5, 91,191, 65, 68, 82, 77,106, 7, 90,190, 76, 69, 78, /* 0x 250 */
|
||||
77,106, 50, 65, 90, 69, 41,192,106, 9, 88, 15, 5, 57,199,117, /* 0x 260 */
|
||||
168,104, 74, 77, 80, 85,104, 65, 68, 82, 85,190, 65, 68, 82, 67, /* 0x 270 */
|
||||
104, 76, 69, 78, 85,185, 67, 78, 84, 67,104, 65, 68, 82, 88,104, /* 0x 280 */
|
||||
76, 69, 78, 88,137,250, 41,242, 1,213, 1,211,252,243, 72,165, /* 0x 290 */
|
||||
151,137,222, 80,146,173, 80, 72,137,225,173,151,173, 68, 15,182, /* 0x 2a0 */
|
||||
192,135,254,255,213, 89,195, 93,232,150,255,255,255 /* 0x 2b0 */
|
||||
};
|
||||
141
src/stub/amd64-linux.elf-fold.h
Normal file
141
src/stub/amd64-linux.elf-fold.h
Normal file
@ -0,0 +1,141 @@
|
||||
/* amd64-linux.elf-fold.h -- created from amd64-linux.elf-fold.bin, 1696 (0x6a0) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define LINUX_ELF64AMD_FOLD_SIZE 1696
|
||||
#define LINUX_ELF64AMD_FOLD_ADLER32 0x8e868b92
|
||||
#define LINUX_ELF64AMD_FOLD_CRC32 0xfc2cafa4
|
||||
|
||||
unsigned char linux_elf64amd_fold[1696] = {
|
||||
127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 0 */
|
||||
2, 0, 62, 0, 1, 0, 0, 0,188, 0, 16, 0, 0, 0, 0, 0, /* 0x 10 */
|
||||
64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 20 */
|
||||
0, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0, /* 0x 30 */
|
||||
1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 40 */
|
||||
0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, /* 0x 50 */
|
||||
160, 6, 0, 0, 0, 0, 0, 0,160, 6, 0, 0, 0, 0, 0, 0, /* 0x 60 */
|
||||
0, 0, 16, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, /* 0x 70 */
|
||||
160, 6, 0, 0, 0, 0, 0, 0,160, 6, 16, 0, 0, 0, 0, 0, /* 0x 80 */
|
||||
160, 6, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 90 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, /* 0x a0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 80, 0, 0, /* 0x b0 */
|
||||
0,131,249, 73,117, 74, 72,137,241, 72,137,254,235, 44,138, 7, /* 0x c0 */
|
||||
72,131,199, 1, 60,128,114, 10, 60,143,119, 6,128,127,254, 15, /* 0x d0 */
|
||||
116, 6, 44,232, 60, 1,119, 35, 56, 23,117, 31,139, 7, 37, 0, /* 0x e0 */
|
||||
255,255,255, 15,200, 41,248, 1,240,171, 72,131,233, 4,138, 7, /* 0x f0 */
|
||||
72,131,199, 1, 72,255,201,117,217,235, 5, 72,255,201,117,190, /* 0x 100 */
|
||||
195, 72,141,116, 36, 56, 72,173, 72,133,192,117,249, 72,173, 72, /* 0x 110 */
|
||||
133,192,117,249, 65, 89, 72,137,241, 94, 95, 72,129,236, 0, 8, /* 0x 120 */
|
||||
0, 0, 72,137,226, 73,137,232,232, 65, 4, 0, 0, 72,129,196, /* 0x 130 */
|
||||
0, 8, 0, 0, 94, 95, 89, 80,106, 11, 88,255,225,176, 11,235, /* 0x 140 */
|
||||
13,176, 10,235, 9,176, 12,235, 5,176, 9, 73,137,202, 15,182, /* 0x 150 */
|
||||
192, 15, 5, 72, 61, 0,240,255,255,114, 4, 72,131,200,255,195, /* 0x 160 */
|
||||
176, 0,235,234,176, 2,235,230,176, 3,235,226,176, 60,235,222, /* 0x 170 */
|
||||
81, 72, 57, 23, 76,139, 71, 8, 72,141, 74,255,115, 10,191,127, /* 0x 180 */
|
||||
0, 0, 0,232,228,255,255,255, 72,131,249,255,116, 17, 65, 15, /* 0x 190 */
|
||||
182, 0, 72,255,201, 73,255,192,136, 6, 72,255,198,235,233, 72, /* 0x 1a0 */
|
||||
1, 87, 8, 72, 41, 23, 88,195, 65, 85, 73,137,213, 65, 84, 73, /* 0x 1b0 */
|
||||
137,204, 85, 72,137,253, 83, 72,137,243, 72,131,236, 40, 72,131, /* 0x 1c0 */
|
||||
62, 0, 15,132,223, 0, 0, 0, 72,141,116, 36, 16,186, 12, 0, /* 0x 1d0 */
|
||||
0, 0, 72,137,239,232,150,255,255,255,139, 84, 36, 16,139,116, /* 0x 1e0 */
|
||||
36, 20,133,210,117, 21,129,254, 85, 80, 88, 33,117, 17, 72,131, /* 0x 1f0 */
|
||||
125, 0, 0, 15,132,174, 0, 0, 0,235, 4,133,246,117, 10,191, /* 0x 200 */
|
||||
127, 0, 0, 0,232, 99,255,255,255, 57,214,119,242,137,208, 72, /* 0x 210 */
|
||||
59, 3,119,235, 57,214, 72,139, 67, 8,115,101, 68, 15,182, 68, /* 0x 220 */
|
||||
36, 24, 72,139,125, 8, 72,141, 76, 36, 12, 72,137,194, 65,255, /* 0x 230 */
|
||||
213,133,192,117,202,139,116, 36, 12, 59,116, 36, 16,117,192, 15, /* 0x 240 */
|
||||
182, 76, 36, 25,132,201, 15,149,194, 49,192, 77,133,228, 15,149, /* 0x 250 */
|
||||
192,133,194,116, 30,129,254, 0, 2, 0, 0,119, 7,137,240, 72, /* 0x 260 */
|
||||
57, 3,117, 15, 15,182, 84, 36, 26, 15,182,201, 72,139,123, 8, /* 0x 270 */
|
||||
65,255,212,139, 68, 36, 20, 72, 1, 69, 8, 72, 41, 69, 0,235, /* 0x 280 */
|
||||
13,137,242, 72,137,239, 72,137,198,232,226,254,255,255,139, 84, /* 0x 290 */
|
||||
36, 16, 72,139, 3, 72, 1, 83, 8, 72, 41,208, 72,133,192, 72, /* 0x 2a0 */
|
||||
137, 3,233, 27,255,255,255, 72,131,196, 40, 91, 93, 65, 92, 65, /* 0x 2b0 */
|
||||
93,195, 72,133,255, 73,137,208,116, 41, 72,139, 7,137,241, 72, /* 0x 2c0 */
|
||||
57,200,116, 17, 72,255,200, 15,148,194, 49,192,133,246, 15,149, /* 0x 2d0 */
|
||||
192,133,194,116, 8, 72,137, 15, 76,137, 71, 8,195, 72,131,199, /* 0x 2e0 */
|
||||
16,235,215,195, 65, 87,184, 0, 0, 0, 0, 73,137,255, 65, 86, /* 0x 2f0 */
|
||||
65, 85, 65, 84, 73,137,252, 85, 83, 72,131,236,104, 76, 3,103, /* 0x 300 */
|
||||
32,102,131,127, 16, 3,137, 84, 36, 60, 15,183, 87, 56, 72,137, /* 0x 310 */
|
||||
76, 36, 48,185, 16, 0, 0, 0, 72,137,116, 36, 64, 76,137, 68, /* 0x 320 */
|
||||
36, 40, 76,137, 76, 36, 32, 15, 68,200, 76,137,230, 72,131,205, /* 0x 330 */
|
||||
255, 49,219,131,193, 34,255,202,120, 33,131, 62, 1,117, 22, 72, /* 0x 340 */
|
||||
139, 70, 16, 72, 57,232, 72, 15, 66,232, 72, 3, 70, 40, 72, 57, /* 0x 350 */
|
||||
195, 72, 15, 66,216, 72,131,198, 56,235,219, 72,129,229, 0,240, /* 0x 360 */
|
||||
255,255, 49,210, 69, 49,201, 72, 41,235, 65,131,200,255, 72,137, /* 0x 370 */
|
||||
239, 72,129,195,255, 15, 0, 0, 72,129,227, 0,240,255,255, 72, /* 0x 380 */
|
||||
137,222,232,194,253,255,255, 72,141, 20, 24, 72, 41,232,102, 65, /* 0x 390 */
|
||||
131,127, 56, 0, 72,137, 68, 36, 24,199, 68, 36, 20, 0, 0, 0, /* 0x 3a0 */
|
||||
0, 72,137, 84, 36, 72, 15,132,139, 1, 0, 0, 72,131,124, 36, /* 0x 3b0 */
|
||||
64, 0,116, 37, 65,131, 60, 36, 6,117, 30, 72,139, 84, 36, 24, /* 0x 3c0 */
|
||||
73, 3, 84, 36, 16,190, 3, 0, 0, 0, 72,139,124, 36, 48,232, /* 0x 3d0 */
|
||||
222,254,255,255,233, 71, 1, 0, 0, 65,131, 60, 36, 1, 15,133, /* 0x 3e0 */
|
||||
60, 1, 0, 0, 72,139, 68, 36, 24, 73, 3, 68, 36, 16, 65,190, /* 0x 3f0 */
|
||||
64, 98, 81,115, 65,139, 76, 36, 4, 65,131,200,255, 73,139, 84, /* 0x 400 */
|
||||
36, 32, 72,137,197, 72,137, 68, 36, 88, 73,139, 68, 36, 40,131, /* 0x 410 */
|
||||
225, 7, 72,137,235, 72,137, 84, 36, 80,193,225, 2,129,227,255, /* 0x 420 */
|
||||
15, 0, 0, 72, 1,232, 65,211,238, 72, 41,221, 72,137, 68, 36, /* 0x 430 */
|
||||
8, 73,139, 68, 36, 8, 65,131,230, 7, 76,141, 44, 26,185, 50, /* 0x 440 */
|
||||
0, 0, 0, 72, 41,216, 72,131,124, 36, 64, 0,117, 7, 68,139, /* 0x 450 */
|
||||
68, 36, 60,177, 18, 68,137,242, 73,137,193, 76,137,238,131,202, /* 0x 460 */
|
||||
2, 72,131,124, 36, 64, 0, 72,137,239, 65, 15, 68,214,232,214, /* 0x 470 */
|
||||
252,255,255, 72, 57,197,117,105, 72,131,124, 36, 64, 0,116, 25, /* 0x 480 */
|
||||
72,139, 76, 36, 32, 72,139, 84, 36, 40, 72,141,116, 36, 80, 72, /* 0x 490 */
|
||||
139,124, 36, 64,232, 15,253,255,255, 76,137,235, 72,247,219,129, /* 0x 4a0 */
|
||||
227,255, 15, 0, 0, 65,246,198, 2,116, 13, 74,141,124, 45, 0, /* 0x 4b0 */
|
||||
49,192, 72,137,217,252,243,170, 72,131,124, 36, 64, 0,116, 43, /* 0x 4c0 */
|
||||
73,131,124, 36, 8, 0,117, 7,199, 69, 12, 15, 5,195,144, 68, /* 0x 4d0 */
|
||||
137,242, 76,137,238, 72,137,239,232,100,252,255,255,133,192,116, /* 0x 4e0 */
|
||||
10,191,127, 0, 0, 0,232,129,252,255,255, 73,141, 68, 29, 0, /* 0x 4f0 */
|
||||
72, 1,197, 72, 59,108, 36, 8,115, 38, 72, 41,108, 36, 8, 69, /* 0x 500 */
|
||||
49,201, 65,131,200,255, 72,139,116, 36, 8,185, 50, 0, 0, 0, /* 0x 510 */
|
||||
68,137,242, 72,137,239,232, 46,252,255,255, 72, 57,197,117,193, /* 0x 520 */
|
||||
255, 68, 36, 20, 65, 15,183, 71, 56, 73,131,196, 56, 57, 68, 36, /* 0x 530 */
|
||||
20, 15,140,117,254,255,255, 72,131,124, 36, 64, 0,116, 18,102, /* 0x 540 */
|
||||
65,131,127, 16, 3,116, 10, 72,139,124, 36, 72,232,244,251,255, /* 0x 550 */
|
||||
255, 73,139, 71, 24, 72, 1, 68, 36, 24, 72,139, 68, 36, 24, 72, /* 0x 560 */
|
||||
131,196,104, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95,195, 65, 86, /* 0x 570 */
|
||||
76,141,114, 64, 65, 85, 77,137,205, 65, 84, 77,137,196, 85, 72, /* 0x 580 */
|
||||
137,213, 83, 72,137,203, 49,201, 72,131,236, 48,139, 7, 72,137, /* 0x 590 */
|
||||
52, 36, 72,137,116, 36, 16, 72,141,116, 36, 32, 72,137, 84, 36, /* 0x 5a0 */
|
||||
40, 72,137,124, 36, 8, 76,137,194, 72,137,124, 36, 24, 72,137, /* 0x 5b0 */
|
||||
231, 72,137, 68, 36, 32,232,237,251,255,255, 73,139, 86, 16,190, /* 0x 5c0 */
|
||||
3, 0, 0, 0, 72,137,223, 72,131,194, 64,232,226,252,255,255, /* 0x 5d0 */
|
||||
72, 15,183, 85, 56,190, 5, 0, 0, 0, 72,137,223,232,208,252, /* 0x 5e0 */
|
||||
255,255, 72,139, 85, 24,190, 9, 0, 0, 0, 72,137,223,232,191, /* 0x 5f0 */
|
||||
252,255,255, 72,141,116, 36, 16, 77,137,233, 77,137,224, 49,210, /* 0x 600 */
|
||||
72,137,217, 72,137,239,232,217,252,255,255, 69, 49,237,102,131, /* 0x 610 */
|
||||
125, 56, 0, 73,137,196,116,104, 65,131, 62, 3,117, 82, 73,139, /* 0x 620 */
|
||||
126, 16, 49,210, 49,246,232, 57,251,255,255,133,192,137,195,120, /* 0x 630 */
|
||||
23,186, 0, 4, 0, 0, 72,137,238,137,199,232, 32,251,255,255, /* 0x 640 */
|
||||
72, 61, 0, 4, 0, 0,116, 10,191,127, 0, 0, 0,232, 26,251, /* 0x 650 */
|
||||
255,255, 72,137,239, 69, 49,201, 69, 49,192, 49,201,137,218, 49, /* 0x 660 */
|
||||
246,232,126,252,255,255,137,223, 73,137,196,232,248,250,255,255, /* 0x 670 */
|
||||
15,183, 69, 56, 65,255,197, 73,131,198, 56, 65, 57,197,124,152, /* 0x 680 */
|
||||
72,131,196, 48, 76,137,224, 91, 93, 65, 92, 65, 93, 65, 94,195 /* 0x 690 */
|
||||
};
|
||||
72
src/stub/arm-linux.elf-entry.h
Normal file
72
src/stub/arm-linux.elf-entry.h
Normal file
@ -0,0 +1,72 @@
|
||||
/* arm-linux.elf-entry.h -- created from arm-linux.elf-entry.bin, 584 (0x248) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define LINUX_ELF32ARM_LOADER_SIZE 584
|
||||
#define LINUX_ELF32ARM_LOADER_ADLER32 0xeb17f976
|
||||
#define LINUX_ELF32ARM_LOADER_CRC32 0xe6d5a92e
|
||||
|
||||
unsigned char linux_elf32arm_loader[584] = {
|
||||
112,192,143,226, 3, 5,188,232, 7, 0, 45,233, 7, 32,160,227, /* 0x 0 */
|
||||
50, 48,160,227, 0, 64,224,227,192, 0,144,239, 1, 10,112,227, /* 0x 10 */
|
||||
101, 0, 0, 42, 0,144,160,225,255, 0,184,232, 1,160, 90,226, /* 0x 20 */
|
||||
255, 0,169,232,251,255,255, 26, 9,224,160,225, 8,176, 73,224, /* 0x 30 */
|
||||
0, 6,188,232, 11, 80,140,224, 5, 0,160,225, 90, 31,143,226, /* 0x 40 */
|
||||
12, 16, 65,224, 0, 16,129,224, 0, 32,160,227, 2, 0,159,239, /* 0x 50 */
|
||||
232, 65,223,229, 8, 48,141,226, 14, 32,160,225,216, 17,159,229, /* 0x 60 */
|
||||
119, 15,143,226, 5,240,160,225, 65, 68, 82, 77, 76, 69, 78, 77, /* 0x 70 */
|
||||
65, 68, 82, 67, 67, 78, 84, 67, 76, 69, 78, 88, 65, 68, 82, 88, /* 0x 80 */
|
||||
252, 64, 45,233, 0,112,129,224, 0, 80,224,227, 2, 65,160,227, /* 0x 90 */
|
||||
16, 0, 0,234, 24, 0,189,232, 7, 0, 64,224, 3, 32, 66,224, /* 0x a0 */
|
||||
0, 32,132,229, 0, 64,160,225, 3, 0,160,225, 2, 16,131,224, /* 0x b0 */
|
||||
0, 32,160,227, 2, 0,159,239, 4, 0,160,225,240,128,189,232, /* 0x c0 */
|
||||
1, 64,208,228, 4, 64,164,224, 4, 76,176,225, 14,240,160,225, /* 0x d0 */
|
||||
1, 48,208,228, 1, 48,194,228, 4, 64,148,224,247,255,255, 11, /* 0x e0 */
|
||||
250,255,255, 42, 1, 16,160,227, 3, 0, 0,234, 1, 16, 65,226, /* 0x f0 */
|
||||
4, 64,148,224,241,255,255, 11, 1, 16,161,224, 4, 64,148,224, /* 0x 100 */
|
||||
238,255,255, 11, 1, 16,161,224, 4, 64,148,224,235,255,255, 11, /* 0x 110 */
|
||||
245,255,255, 58, 3, 48, 81,226, 0, 16,160,227, 6, 0, 0, 58, /* 0x 120 */
|
||||
1, 80,208,228, 3, 84,133,225, 5, 80,240,225,216,255,255, 10, /* 0x 130 */
|
||||
197, 80,176,225, 15, 0, 0, 42, 2, 0, 0,234, 4, 64,148,224, /* 0x 140 */
|
||||
222,255,255, 11, 11, 0, 0, 42, 1, 16,160,227, 4, 64,148,224, /* 0x 150 */
|
||||
218,255,255, 11, 7, 0, 0, 42, 4, 64,148,224,215,255,255, 11, /* 0x 160 */
|
||||
1, 16,161,224, 4, 64,148,224,212,255,255, 11,249,255,255, 58, /* 0x 170 */
|
||||
4, 16,129,226, 3, 0, 0,234, 4, 64,148,224,207,255,255, 11, /* 0x 180 */
|
||||
1, 16,161,224, 2, 16,129,226, 5, 12,117,227, 0, 0, 0, 42, /* 0x 190 */
|
||||
1, 16,129,226, 0, 48,210,229, 5, 48,210,231, 1, 48,194,228, /* 0x 1a0 */
|
||||
1, 16, 81,226,251,255,255, 26,202,255,255,234, 30, 32,160,227, /* 0x 1b0 */
|
||||
96, 16,143,226, 2, 0,160,227, 4, 0,144,239,127, 0,160,227, /* 0x 1c0 */
|
||||
1, 0,144,239,252,255,255,234, 10, 36, 73,100, 58, 32, 85, 80, /* 0x 1d0 */
|
||||
88, 32, 40, 67, 41, 32, 49, 57, 57, 54, 45, 50, 48, 48, 54, 32, /* 0x 1e0 */
|
||||
116,104,101, 32, 85, 80, 88, 32, 84,101, 97,109, 46, 32, 65,108, /* 0x 1f0 */
|
||||
108, 32, 82,105,103,104,116,115, 32, 82,101,115,101,114,118,101, /* 0x 200 */
|
||||
100, 46, 32,104,116,116,112, 58, 47, 47,117,112,120, 46,115,102, /* 0x 210 */
|
||||
46,110,101,116, 32, 36, 10, 0, 80, 82, 79, 84, 95, 69, 88, 69, /* 0x 220 */
|
||||
67,124, 80, 82, 79, 84, 95, 87, 82, 73, 84, 69, 32,102, 97,105, /* 0x 230 */
|
||||
108,101,100, 46, 10, 0, 0, 0 /* 0x 240 */
|
||||
};
|
||||
165
src/stub/arm-linux.elf-fold.h
Normal file
165
src/stub/arm-linux.elf-fold.h
Normal file
@ -0,0 +1,165 @@
|
||||
/* arm-linux.elf-fold.h -- created from arm-linux.elf-fold.bin, 2080 (0x820) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define LINUX_ELF32ARM_FOLD_SIZE 2080
|
||||
#define LINUX_ELF32ARM_FOLD_ADLER32 0x885d5313
|
||||
#define LINUX_ELF32ARM_FOLD_CRC32 0x744eec3f
|
||||
|
||||
unsigned char linux_elf32arm_fold[2080] = {
|
||||
127, 69, 76, 70, 1, 1, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 0 */
|
||||
2, 0, 40, 0, 1, 0, 0, 0,128,128, 0, 0, 52, 0, 0, 0, /* 0x 10 */
|
||||
0, 0, 0, 0, 2, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0, /* 0x 20 */
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, /* 0x 30 */
|
||||
0,128, 0, 0, 32, 8, 0, 0, 32, 8, 0, 0, 5, 0, 0, 0, /* 0x 40 */
|
||||
0,128, 0, 0, 1, 0, 0, 0, 32, 8, 0, 0, 32,136, 0, 0, /* 0x 50 */
|
||||
32,136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, /* 0x 60 */
|
||||
0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 70 */
|
||||
12, 48,157,229, 3, 49,141,224, 20, 48,131,226, 4, 0,147,228, /* 0x 80 */
|
||||
0, 0, 80,227,252,255,255, 26, 3, 32,160,225, 8, 0,146,228, /* 0x 90 */
|
||||
0, 0, 80,227,252,255,255, 26, 8, 32,141,229, 10,220, 77,226, /* 0x a0 */
|
||||
9, 64,160,225, 4,144,154,229, 13,128,160,225, 0,112,154,229, /* 0x b0 */
|
||||
36, 96,143,226, 12,144,137,226, 0,176,160,227,248, 15, 45,233, /* 0x c0 */
|
||||
15, 0,189,232,123, 1, 0,235, 0,224,160,225, 20,208,141,226, /* 0x d0 */
|
||||
10,220,141,226, 7, 0,189,232, 4,240, 18,229,255, 48, 3,226, /* 0x e0 */
|
||||
80, 0, 83,227, 14,240,160, 17, 33, 17,176,225, 0, 0, 80, 19, /* 0x f0 */
|
||||
14,240,160, 1, 1, 16, 65,226, 1, 33,144,231, 15, 52, 2,226, /* 0x 100 */
|
||||
11, 4, 83,227, 4, 0, 0, 26,255, 52, 2,226, 1, 32, 66,224, /* 0x 110 */
|
||||
255, 36,194,227, 3, 32,130,225, 1, 33,128,231, 0, 0, 81,227, /* 0x 120 */
|
||||
243,255,255, 26, 14,240,160,225, 1, 0,144,239, 3, 0,144,239, /* 0x 130 */
|
||||
14,240,160,225, 4, 0,144,239, 14,240,160,225, 5, 0,144,239, /* 0x 140 */
|
||||
14,240,160,225, 6, 0,144,239, 14,240,160,225, 45, 0,144,239, /* 0x 150 */
|
||||
14,240,160,225, 91, 0,144,239, 14,240,160,225,125, 0,144,239, /* 0x 160 */
|
||||
14,240,160,225, 4, 80, 45,229, 8, 80,157,229, 4, 64, 45,229, /* 0x 170 */
|
||||
8, 64,157,229, 37, 86,160,225,192, 0,144,239, 4, 64,157,228, /* 0x 180 */
|
||||
4, 80,157,228, 14,240,160,225, 4,224, 45,229, 0, 48,144,229, /* 0x 190 */
|
||||
2, 0, 83,225, 2,192,160,225, 4,224,144,229,127, 0,160, 51, /* 0x 1a0 */
|
||||
224,255,255, 59, 1, 32, 66,226, 1, 0,114,227, 4, 0, 0, 10, /* 0x 1b0 */
|
||||
1, 48,222,228, 1, 32, 66,226, 1, 48,193,228, 1, 0,114,227, /* 0x 1c0 */
|
||||
249,255,255,234, 4, 32,144,229, 0, 48,144,229, 12, 32,130,224, /* 0x 1d0 */
|
||||
3, 48,108,224, 0, 48,128,229, 4, 32,128,229, 4,240,157,228, /* 0x 1e0 */
|
||||
240, 64, 45,233, 1, 64,160,225, 0, 16,145,229, 20,208, 77,226, /* 0x 1f0 */
|
||||
0, 0, 81,227, 0, 80,160,225, 2,112,160,225, 3, 96,160,225, /* 0x 200 */
|
||||
70, 0, 0, 10, 8, 16,141,226, 12, 32,160,227, 5, 0,160,225, /* 0x 210 */
|
||||
220,255,255,235, 8, 16,157,229, 0, 0, 81,227, 12, 32,157,229, /* 0x 220 */
|
||||
6, 0, 0, 26,252, 48,159,229, 3, 0, 82,225, 5, 0, 0, 26, /* 0x 230 */
|
||||
0, 48,149,229, 0, 0, 83,227, 56, 0, 0, 10, 1, 0, 0,234, /* 0x 240 */
|
||||
0, 0, 82,227, 1, 0, 0, 26,127, 0,160,227,181,255,255,235, /* 0x 250 */
|
||||
1, 0, 82,225,251,255,255,138, 0, 48,148,229, 3, 0, 81,225, /* 0x 260 */
|
||||
248,255,255,138, 1, 0, 82,225, 4, 48,148,229, 33, 0, 0, 42, /* 0x 270 */
|
||||
16,192,221,229, 4, 0,149,229, 2, 16,160,225, 0,192,141,229, /* 0x 280 */
|
||||
3, 32,160,225, 4, 48,141,226, 15,224,160,225, 7,240,160,225, /* 0x 290 */
|
||||
0, 0, 80,227,235,255,255, 26, 10, 0,157,233, 3, 0, 81,225, /* 0x 2a0 */
|
||||
232,255,255, 26, 17, 32,221,229, 0, 0, 82,227, 0, 0, 86, 19, /* 0x 2b0 */
|
||||
9, 0, 0, 10, 2, 12, 81,227, 2, 0, 0,138, 0, 48,148,229, /* 0x 2c0 */
|
||||
1, 0, 83,225, 4, 0, 0, 26, 2, 48,160,225, 4, 0,148,229, /* 0x 2d0 */
|
||||
18, 32,221,229, 15,224,160,225, 6,240,160,225, 4, 48,149,229, /* 0x 2e0 */
|
||||
12, 16,157,229, 0, 32,149,229, 1, 48,131,224, 2, 32, 97,224, /* 0x 2f0 */
|
||||
12, 0,133,232, 2, 0, 0,234, 3, 16,160,225, 5, 0,160,225, /* 0x 300 */
|
||||
160,255,255,235, 8, 16,157,229, 12, 0,148,232, 2, 32, 97,224, /* 0x 310 */
|
||||
1, 48,131,224, 0, 0, 82,227, 12, 0,132,232,183,255,255,234, /* 0x 320 */
|
||||
20,208,141,226,240,128,189,232, 85, 80, 88, 33, 0, 0, 80,227, /* 0x 330 */
|
||||
14,240,160, 1, 0, 48,144,229, 1, 0, 83,225, 6, 0, 0, 10, /* 0x 340 */
|
||||
1, 0, 83,227, 0, 48,160, 19, 1, 48,160, 3, 0, 0, 81,227, /* 0x 350 */
|
||||
0, 48,160, 3, 0, 0, 83,227, 1, 0, 0, 10, 6, 0,128,232, /* 0x 360 */
|
||||
14,240,160,225, 8, 0,128,226,241,255,255,234,240, 79, 45,233, /* 0x 370 */
|
||||
40,208, 77,226, 1,144,160,225, 28,192,145,229, 2,176,160,225, /* 0x 380 */
|
||||
176, 17,209,225, 80, 32,157,229,188,226,217,225, 2, 0, 81,227, /* 0x 390 */
|
||||
12,112,137,224, 24, 0,141,229, 20, 48,141,229, 16, 32,141,229, /* 0x 3a0 */
|
||||
50,128,160, 3, 34,128,160, 19, 7, 16,160,225, 1,224, 94,226, /* 0x 3b0 */
|
||||
0, 96,224,227, 0, 80,160,227, 12, 0, 0, 74, 0, 48,145,229, /* 0x 3c0 */
|
||||
1, 0, 83,227, 6, 0, 0, 26, 8, 32,145,229, 20, 48,145,229, /* 0x 3d0 */
|
||||
2, 48,131,224, 3, 0, 85,225, 3, 80,160, 49, 2, 0, 86,225, /* 0x 3e0 */
|
||||
2, 96,160, 33, 1,224, 94,226, 32, 16,129,226,241,255,255,234, /* 0x 3f0 */
|
||||
255,110,198,227, 15, 96,198,227, 5, 48,102,224,255, 62,131,226, /* 0x 400 */
|
||||
15, 48,131,226,255, 94,195,227, 0, 64,160,227, 15, 80,197,227, /* 0x 410 */
|
||||
8, 48,160,225, 6, 0,160,225, 0,192,224,227, 5, 16,160,225, /* 0x 420 */
|
||||
4, 32,160,225, 0,192,141,229, 4, 64,141,229, 76,255,255,235, /* 0x 430 */
|
||||
188, 50,217,225, 3, 0, 84,225, 5, 48,128,224, 12, 64,141,229, /* 0x 440 */
|
||||
36, 48,141,229, 0, 96,102,224,133, 0, 0,170, 0, 48,151,229, /* 0x 450 */
|
||||
6, 0, 83,227, 5, 0, 0, 26, 8, 32,151,229, 20, 0,157,229, /* 0x 460 */
|
||||
6, 32,130,224, 3, 16,160,227,175,255,255,235,117, 0, 0,234, /* 0x 470 */
|
||||
1, 0, 83,227,115, 0, 0, 26, 24, 48,151,229, 8, 16,151,229, /* 0x 480 */
|
||||
7, 48, 3,226, 32, 34,159,229, 6, 16,129,224, 3, 49,160,225, /* 0x 490 */
|
||||
16, 0,151,229, 50, 35,160,225, 1, 74,160,225, 20, 48,151,229, /* 0x 4a0 */
|
||||
0, 0, 91,227, 4,192,151,229, 36, 74,160,225, 3, 48,129,224, /* 0x 4b0 */
|
||||
1, 80,100,224, 24,224,157, 5, 7,128, 2,226, 4,160,128,224, /* 0x 4c0 */
|
||||
2, 32,160, 19, 0, 32,160, 3, 8, 48,141,229, 0,224,224, 19, /* 0x 4d0 */
|
||||
28, 0,141,229, 32, 16,141,229, 18, 48,160, 3, 50, 48,160, 19, /* 0x 4e0 */
|
||||
12,192,100,224, 8, 32,130,225, 5, 0,160,225, 10, 16,160,225, /* 0x 4f0 */
|
||||
0,224,141,229, 4,192,141,229, 25,255,255,235, 0, 0, 85,225, /* 0x 500 */
|
||||
62, 0, 0, 26, 0, 0, 91,227, 6, 0, 0, 10, 16, 32,157,229, /* 0x 510 */
|
||||
4, 48, 24,226, 2, 48,160, 17, 28, 16,141,226, 11, 0,160,225, /* 0x 520 */
|
||||
24, 32,157,229, 45,255,255,235, 0, 48,106,226, 3, 74,160,225, /* 0x 530 */
|
||||
2, 0, 24,227, 36, 74,160,225, 7, 0, 0, 10, 0, 0, 84,227, /* 0x 540 */
|
||||
10, 16,133,224, 4, 32,160,225, 3, 0, 0, 10, 0, 48,160,227, /* 0x 550 */
|
||||
1, 32, 82,226, 1, 48,193,228,251,255,255, 26, 0, 0, 91,227, /* 0x 560 */
|
||||
40, 0, 0, 10, 0, 48,151,229, 1, 0, 83,227, 29, 0, 0, 26, /* 0x 570 */
|
||||
24, 48,151,229, 1, 0, 19,227, 26, 0, 0, 10, 16, 32,135,226, /* 0x 580 */
|
||||
12, 0,146,232, 8, 16,151,229, 2, 0, 83,225, 1, 48,131,224, /* 0x 590 */
|
||||
6, 32,131,224, 4, 0, 0, 26, 0, 48, 98,226, 3, 58,160,225, /* 0x 5a0 */
|
||||
35, 58,160,225, 7, 0, 83,227, 6, 0, 0,138, 4, 32,151,229, /* 0x 5b0 */
|
||||
134, 48,134,224, 3, 49,134,224, 3, 49,129,224, 0, 0, 82,227, /* 0x 5c0 */
|
||||
8, 32,131,226, 3, 0, 0, 26,224, 48,159,229, 0, 48,130,229, /* 0x 5d0 */
|
||||
220, 48,159,229, 4, 48,130,229, 0, 0, 82,227, 20, 0,157, 21, /* 0x 5e0 */
|
||||
0, 16,160, 19, 80,255,255, 27, 5, 0,160,225, 10, 16,160,225, /* 0x 5f0 */
|
||||
8, 32,160,225,216,254,255,235, 0, 0, 80,227, 1, 0, 0, 10, /* 0x 600 */
|
||||
127, 0,160,227,199,254,255,235, 4, 48,138,224, 3, 80,133,224, /* 0x 610 */
|
||||
8, 48,157,229, 3, 0, 85,225, 10, 0, 0, 42, 0,192,224,227, /* 0x 620 */
|
||||
3, 16,101,224, 0,192,141,229, 8, 32,160,225, 1,192,140,226, /* 0x 630 */
|
||||
5, 0,160,225, 50, 48,160,227, 4,192,141,229,200,254,255,235, /* 0x 640 */
|
||||
0, 0, 85,225,237,255,255, 26, 12, 32,157,229,188, 50,217,225, /* 0x 650 */
|
||||
1, 32,130,226, 3, 0, 82,225, 32,112,135,226, 12, 32,141,229, /* 0x 660 */
|
||||
120,255,255,234, 0, 0, 91,227, 4, 0, 0, 26, 24, 0,157,229, /* 0x 670 */
|
||||
179,254,255,235, 0, 0, 80,227, 4, 0, 0, 10,223,255,255,234, /* 0x 680 */
|
||||
176, 49,217,225, 3, 0, 83,227, 36, 0,157, 21,174,254,255, 27, /* 0x 690 */
|
||||
76, 48,157,229, 0, 0, 83,227, 0, 96,131, 21, 24, 0,153,229, /* 0x 6a0 */
|
||||
6, 0,128,224, 40,208,141,226,240,143,189,232, 64, 98, 81,115, /* 0x 6b0 */
|
||||
91, 0,144,239, 14,240,160,225,240, 71, 45,233, 12,208, 77,226, /* 0x 6c0 */
|
||||
44,192,141,226, 52,112,141,226, 0, 80,160,225, 1, 96,160,225, /* 0x 6d0 */
|
||||
3,160,160,225, 12, 16,160,225, 0, 48,160,227, 7, 0,160,225, /* 0x 6e0 */
|
||||
4,144,156,229, 2,128,160,225, 52, 64,157,229,187,254,255,235, /* 0x 6f0 */
|
||||
56, 48,157,229, 5, 0,160,225, 3, 48,100,224, 5, 16,160,227, /* 0x 700 */
|
||||
188, 34,217,225, 56, 48,141,229, 52, 96,141,229, 6,255,255,235, /* 0x 710 */
|
||||
52, 96,137,226, 5, 0,160,225, 4, 16,160,227,186, 34,217,225, /* 0x 720 */
|
||||
1,255,255,235, 8, 48,150,229, 60, 32,157,229, 3, 32,130,224, /* 0x 730 */
|
||||
52, 32,130,226, 5, 0,160,225, 3, 16,160,227,250,254,255,235, /* 0x 740 */
|
||||
8,192,141,226, 7, 32,160,225, 9, 16,160,225, 5, 48,160,225, /* 0x 750 */
|
||||
8, 0,160,225, 0,192,141,229, 4,160,141,229, 2,255,255,235, /* 0x 760 */
|
||||
0, 64,160,225, 9, 16,160,227, 4, 32,160,225, 5, 0,160,225, /* 0x 770 */
|
||||
237,254,255,235,188, 18,217,225, 0, 32,160,227, 1, 0, 82,225, /* 0x 780 */
|
||||
31, 0, 0,170, 0, 48,150,229, 3, 0, 83,227, 1, 32,130,226, /* 0x 790 */
|
||||
24, 0, 0, 26, 8, 48,150,229, 8, 0,157,229, 0, 16,160,227, /* 0x 7a0 */
|
||||
0, 0,131,224, 1, 32,160,225, 99,254,255,235, 0, 64, 80,226, /* 0x 7b0 */
|
||||
4, 0, 0,186, 9, 16,160,225, 2, 44,160,227, 90,254,255,235, /* 0x 7c0 */
|
||||
2, 12, 80,227, 1, 0, 0, 10,127, 0,160,227, 85,254,255,235, /* 0x 7d0 */
|
||||
0,192,160,227, 4, 0,160,225, 12, 32,160,225, 9, 16,160,225, /* 0x 7e0 */
|
||||
12, 48,160,225, 0,192,141,229, 4,192,141,229,222,254,255,235, /* 0x 7f0 */
|
||||
0, 64,160,225, 2, 0, 0,234, 1, 0, 82,225, 32, 96,134,226, /* 0x 800 */
|
||||
222,255,255,234, 4, 0,160,225, 12,208,141,226,240,135,189,232 /* 0x 810 */
|
||||
};
|
||||
95
src/stub/arm.v4a-wince.pe.h
Normal file
95
src/stub/arm.v4a-wince.pe.h
Normal file
@ -0,0 +1,95 @@
|
||||
/* arm.v4a-wince.pe.h -- created from arm.v4a-wince.pe.bin, 952 (0x3b8) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV_LOADER_ARM_SIZE 952
|
||||
#define NRV_LOADER_ARM_ADLER32 0xd6f275cf
|
||||
#define NRV_LOADER_ARM_CRC32 0x3a603f09
|
||||
|
||||
unsigned char nrv_loader_arm[952] = {
|
||||
1, 0, 81,227, 8, 0, 0, 26,255, 79, 45,233, 32, 48,143,226, /* 0x 0 */
|
||||
7, 0,179,232, 16, 12,147,232, 2,144,160,225, 13, 0, 0,235, /* 0x 10 */
|
||||
4, 0,160,227, 1, 0, 0,235,255, 79,189,232, 32,240,159,229, /* 0x 20 */
|
||||
20,240,159,229, 83, 82, 67, 48, 83, 82, 67, 76, 68, 83, 84, 48, /* 0x 30 */
|
||||
68, 83, 84, 76, 73, 65, 84, 84, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 40 */
|
||||
0, 0, 0, 0, 69, 78, 84, 82, 0, 64, 45,233, 0,128,189,232, /* 0x 50 */
|
||||
60, 0,159,229, 0, 32,160,227, 56,192,159,229, 12, 0, 80,225, /* 0x 60 */
|
||||
13, 0, 0, 10, 0, 48,144,229, 15, 20, 3,226, 11, 4, 81,227, /* 0x 70 */
|
||||
4, 0, 0, 26,255, 20, 3,226, 2, 48, 67,224,255, 52,195,227, /* 0x 80 */
|
||||
1, 48,131,225, 0, 48,128,229, 4, 0,128,226, 1, 32,130,226, /* 0x 90 */
|
||||
241,255,255,234, 70, 73, 66, 83, 70, 73, 66, 69, 84, 16,159,229, /* 0x a0 */
|
||||
4, 0, 73,226, 1, 48,209,228, 0, 0, 83,227, 18, 0, 0, 10, /* 0x b0 */
|
||||
240, 0, 83,227,240,192,195, 35, 1, 48,209, 37, 12,196,131, 32, /* 0x c0 */
|
||||
2, 48,209, 36, 12, 52,131, 32, 3, 0,128,224, 0, 48,208,229, /* 0x d0 */
|
||||
12,196,131,224, 1, 48,208,229, 12,196,131,224, 2, 48,208,229, /* 0x e0 */
|
||||
12,196,131,224, 3, 48,208,229, 12,196,131,224, 9,192,140,224, /* 0x f0 */
|
||||
0,192,128,229,234,255,255,234, 66, 82, 69, 76, 2,219, 77,226, /* 0x 100 */
|
||||
164, 64,159,229, 4, 0,160,225, 30, 0, 0,235, 40, 0, 0, 10, /* 0x 110 */
|
||||
152, 16,159,229, 1, 0,128,224, 13, 16,160,225, 1, 32,208,228, /* 0x 120 */
|
||||
178, 32,193,224, 0, 0, 82,227,251,255,255, 26, 13, 0,160,225, /* 0x 130 */
|
||||
27, 0, 0,235, 0, 96,160,225, 4, 0,132,226, 17, 0, 0,235, /* 0x 140 */
|
||||
0, 80,137,224, 8, 64,132,226, 1, 0,212,228, 1, 0, 80,227, /* 0x 150 */
|
||||
235,255,255, 74, 4, 0, 0, 26, 4, 16,160,225, 1, 0,212,228, /* 0x 160 */
|
||||
0, 0, 80,227,252,255,255, 26, 2, 0, 0,234, 1, 0,212,228, /* 0x 170 */
|
||||
1, 16,212,228, 1, 20,128,224, 6, 0,160,225, 9, 0, 0,235, /* 0x 180 */
|
||||
4, 0,133,228,239,255,255,234, 3, 32,160,227, 2, 48,208,231, /* 0x 190 */
|
||||
1, 32, 82,226, 1, 20,131,224,251,255,255, 90, 1, 0,176,225, /* 0x 1a0 */
|
||||
14,240,160,225, 10,240,160,225, 11,240,160,225, 66, 73, 77, 80, /* 0x 1b0 */
|
||||
79, 78, 65, 77, 2,219,141,226,252, 64, 45,233, 0,112,129,224, /* 0x 1c0 */
|
||||
0, 80,224,227, 2, 65,160,227, 10, 0, 0,234, 24, 0,189,232, /* 0x 1d0 */
|
||||
7, 0, 64,224, 3, 32, 66,224, 0, 32,132,229,240,128,189,232, /* 0x 1e0 */
|
||||
1, 64,208,228, 4, 64,164,224, 4, 76,176,225, 14,240,160,225, /* 0x 1f0 */
|
||||
1, 48,208,228, 1, 48,194,228, 4, 64,148,224,247,255,255, 11, /* 0x 200 */
|
||||
250,255,255, 42, 1, 16,160,227, 3, 0, 0,234, 1, 16, 65,226, /* 0x 210 */
|
||||
4, 64,148,224,241,255,255, 11, 1, 16,161,224, 4, 64,148,224, /* 0x 220 */
|
||||
238,255,255, 11, 1, 16,161,224, 4, 64,148,224,235,255,255, 11, /* 0x 230 */
|
||||
245,255,255, 58, 3, 48, 81,226, 0, 16,160,227, 6, 0, 0, 58, /* 0x 240 */
|
||||
1, 80,208,228, 3, 84,133,225, 5, 80,240,225,222,255,255, 10, /* 0x 250 */
|
||||
197, 80,176,225, 15, 0, 0, 42, 2, 0, 0,234, 4, 64,148,224, /* 0x 260 */
|
||||
222,255,255, 11, 11, 0, 0, 42, 1, 16,160,227, 4, 64,148,224, /* 0x 270 */
|
||||
218,255,255, 11, 7, 0, 0, 42, 4, 64,148,224,215,255,255, 11, /* 0x 280 */
|
||||
1, 16,161,224, 4, 64,148,224,212,255,255, 11,249,255,255, 58, /* 0x 290 */
|
||||
4, 16,129,226, 3, 0, 0,234, 4, 64,148,224,207,255,255, 11, /* 0x 2a0 */
|
||||
1, 16,161,224, 2, 16,129,226, 5, 12,117,227, 0, 0, 0, 42, /* 0x 2b0 */
|
||||
1, 16,129,226, 0, 48,210,229, 5, 48,210,231, 1, 48,194,228, /* 0x 2c0 */
|
||||
1, 16, 81,226,251,255,255, 26,202,255,255,234, 0, 0, 0,235, /* 0x 2d0 */
|
||||
85, 80, 88, 33,161,216,208,213, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 2e0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, /* 0x 2f0 */
|
||||
68,108,108, 83,116, 97,114,116, 0, 0, 0, 0, 0, 69,120,101, /* 0x 300 */
|
||||
83,116, 97,114,116, 0, 8, 0, 0, 0, 80,114,111, 99,101,115, /* 0x 310 */
|
||||
115, 69,110,100, 0, 92, 0, 0, 0, 85,110,102,105,108,116,101, /* 0x 320 */
|
||||
114, 95, 48,120, 53, 48, 0, 96, 0, 0, 0, 82,101,108,111, 99, /* 0x 330 */
|
||||
115, 0,172, 0, 0, 0, 73,109,112,111,114,116,115, 0, 12, 1, /* 0x 340 */
|
||||
0, 0,117, 99,108, 95,110,114,118, 50,101, 95,100,101, 99,111, /* 0x 350 */
|
||||
109,112,114,101,115,115, 95, 56, 0,200, 1, 0, 0, 67, 97,108, /* 0x 360 */
|
||||
108, 50, 69, 0,220, 2, 0, 0, 0, 0, 0, 0,223, 2, 0, 0, /* 0x 370 */
|
||||
117, 99,108, 95,110,114,118, 50,101, 95,100,101, 99,111,109,112, /* 0x 380 */
|
||||
114,101,115,115, 95, 56, 0, 0, 0, 0, 0, 85, 80, 88, 49, 72, /* 0x 390 */
|
||||
69, 65, 68, 0,224, 2, 0, 0,101,111,102, 0, 0, 3, 0, 0, /* 0x 3a0 */
|
||||
255,255,255,255, 0, 3, 0, 0 /* 0x 3b0 */
|
||||
};
|
||||
98
src/stub/arm.v4t-wince.pe.h
Normal file
98
src/stub/arm.v4t-wince.pe.h
Normal file
@ -0,0 +1,98 @@
|
||||
/* arm.v4t-wince.pe.h -- created from arm.v4t-wince.pe.bin, 1000 (0x3e8) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV_LOADER_THUMB_SIZE 1000
|
||||
#define NRV_LOADER_THUMB_ADLER32 0x4f344c3e
|
||||
#define NRV_LOADER_THUMB_CRC32 0xe1803a67
|
||||
|
||||
unsigned char nrv_loader_thumb[1000] = {
|
||||
1, 0, 81,227, 11, 0, 0, 26,255, 79, 45,233, 44, 48,143,226, /* 0x 0 */
|
||||
224, 30,147,232, 1, 90,143,226, 0, 96,151,229, 1,122,135,226, /* 0x 10 */
|
||||
5, 0, 87,225,251,255,255,154, 53, 64,143,226, 15,224,160,225, /* 0x 20 */
|
||||
20,255, 47,225,255, 79,189,232, 32,192,159,229, 28,255, 47,225, /* 0x 30 */
|
||||
83, 82, 67, 48, 83, 82, 67, 76, 68, 83, 84, 48, 68, 83, 84, 76, /* 0x 40 */
|
||||
73, 65, 84, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 50 */
|
||||
69, 78, 84, 82, 7,203,145, 70,100, 70, 16,181, 11, 72, 0, 34, /* 0x 60 */
|
||||
11, 76, 15, 37,255, 38, 54, 6,247, 67,160, 66, 18,208, 3,104, /* 0x 70 */
|
||||
25, 14, 41, 64, 11, 41, 5,209, 25, 28, 49, 64,155, 26, 59, 64, /* 0x 80 */
|
||||
11, 67, 3, 96, 4, 48, 1, 50,239,231, 0, 0, 70, 73, 66, 83, /* 0x 90 */
|
||||
70, 73, 66, 69, 14, 72, 74, 70, 17, 31, 3,120, 1, 48, 0, 43, /* 0x a0 */
|
||||
24,208,240, 43, 8,211, 15, 36, 28, 64, 67,120, 36, 2,228, 24, /* 0x b0 */
|
||||
3,120, 2, 48, 36, 2, 27, 25,201, 24, 0, 37, 75, 93, 36, 2, /* 0x c0 */
|
||||
228, 24, 1, 53, 4, 45,249,209,164, 24, 12, 96,229,231, 0, 0, /* 0x d0 */
|
||||
66, 82, 69, 76,111, 70,255,176,255,176,255,176,255,176, 27, 76, /* 0x e0 */
|
||||
32, 28, 0,240, 41,248, 53,208, 25, 73, 64, 24,105, 70, 2,120, /* 0x f0 */
|
||||
1, 48, 10,128, 2, 49, 0, 42,249,209,104, 70, 0,240, 36,248, /* 0x 100 */
|
||||
6, 28, 32, 29, 0,240, 24,248, 77, 70, 45, 24, 8, 52, 32,120, /* 0x 110 */
|
||||
1, 52, 1, 40,228,212, 5,209, 33, 28, 32,120, 1, 52, 0, 40, /* 0x 120 */
|
||||
251,209, 4,224, 32,120, 97,120, 2, 52, 9, 2, 9, 24, 48, 28, /* 0x 130 */
|
||||
0,240, 11,248, 1,197,234,231, 3, 33, 67, 92, 18, 2,210, 24, /* 0x 140 */
|
||||
1, 57,250,213, 16, 28,112, 71, 80, 71, 88, 71, 66, 73, 77, 80, /* 0x 150 */
|
||||
79, 78, 65, 77,189, 70, 6,188, 4, 32,150, 70, 8, 71, 0, 0, /* 0x 160 */
|
||||
1,192,143,226, 28,255, 47,225, 9, 24,254,181, 1, 36,101, 66, /* 0x 170 */
|
||||
228, 7, 13, 39, 63, 2, 15,224, 26,188, 64, 26,210, 26, 34, 96, /* 0x 180 */
|
||||
240,188, 2,188, 8, 71, 4,120,100, 65, 1, 48, 36, 6,247, 70, /* 0x 190 */
|
||||
3,120, 1, 48, 19,112, 1, 50, 36, 25,254, 70,243,208,247,210, /* 0x 1a0 */
|
||||
1, 33, 36, 25,254, 70,238,208, 73, 65, 36, 25,254, 70,234,208, /* 0x 1b0 */
|
||||
247,211,203, 30, 0, 33, 5,211, 27, 2, 5,120, 1, 48, 29, 67, /* 0x 1c0 */
|
||||
237, 67,217,208, 36, 25,254, 70,221,208, 73, 65, 36, 25,254, 70, /* 0x 1d0 */
|
||||
217,208, 73, 65, 9,209, 1, 33, 36, 25,254, 70,211,208, 73, 65, /* 0x 1e0 */
|
||||
36, 25,254, 70,207,208,247,211, 2, 49, 1, 49,253, 66, 0,210, /* 0x 1f0 */
|
||||
1, 49, 19,120, 83, 93, 19,112, 1, 50, 1, 57,250,209,203,231, /* 0x 200 */
|
||||
0, 0, 0,248, 1,192,143,226, 28,255, 47,225,252,181, 15, 24, /* 0x 210 */
|
||||
1, 36,101, 66,228, 7, 5, 38, 54, 2, 15,224, 24,188,192, 27, /* 0x 220 */
|
||||
210, 26, 34, 96,240,188, 2,188, 8, 71, 4,120,100, 65, 1, 48, /* 0x 230 */
|
||||
36, 6,247, 70, 3,120, 1, 48, 19,112, 1, 50, 36, 25,254, 70, /* 0x 240 */
|
||||
243,208,247,210, 1, 33, 4,224, 1, 57, 36, 25,254, 70,236,208, /* 0x 250 */
|
||||
73, 65, 36, 25,254, 70,232,208, 73, 65, 36, 25,254, 70,228,208, /* 0x 260 */
|
||||
242,211,203, 30, 0, 33, 8,211, 27, 2, 5,120, 1, 48, 29, 67, /* 0x 270 */
|
||||
237, 67,211,208,109, 16, 19,210, 3,224, 36, 25,254, 70,212,208, /* 0x 280 */
|
||||
14,210, 1, 33, 36, 25,254, 70,207,208, 9,210, 36, 25,254, 70, /* 0x 290 */
|
||||
203,208, 73, 65, 36, 25,254, 70,199,208,247,211, 4, 49, 4,224, /* 0x 2a0 */
|
||||
36, 25,254, 70,193,208, 73, 65, 2, 49,238, 66, 0,210, 1, 49, /* 0x 2b0 */
|
||||
19,120, 83, 93, 19,112, 1, 50, 1, 57,250,209,190,231, 0, 0, /* 0x 2c0 */
|
||||
0,248, 85, 80, 88, 33,161,216,208,213, 0, 0, 0, 0, 0, 0, /* 0x 2d0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 2e0 */
|
||||
0, 45, 0, 0, 68,108,108, 83,116, 97,114,116, 0, 0, 0, 0, /* 0x 2f0 */
|
||||
0, 69,120,101, 83,116, 97,114,116, 0, 8, 0, 0, 0, 85,110, /* 0x 300 */
|
||||
102,105,108,116,101,114, 95, 48,120, 53, 48, 0,108, 0, 0, 0, /* 0x 310 */
|
||||
82,101,108,111, 99,115, 0,164, 0, 0, 0, 73,109,112,111,114, /* 0x 320 */
|
||||
116,115, 0,228, 0, 0, 0, 80,114,111, 99,101,115,115, 69,110, /* 0x 330 */
|
||||
100, 0,102, 1, 0, 0,100,117,109,109,121, 48, 0,110, 1, 0, /* 0x 340 */
|
||||
0,103,111, 95,116,104,117,109, 98, 95,110, 50, 98, 0,120, 1, /* 0x 350 */
|
||||
0, 0, 67, 97,108,108, 50, 66, 0, 16, 2, 0, 0, 0, 0, 0, /* 0x 360 */
|
||||
0, 19, 2, 0, 0,103,111, 95,116,104,117,109, 98, 95,110, 50, /* 0x 370 */
|
||||
98, 0, 0, 0, 0, 0,100,117,109,109,121, 49, 0, 20, 2, 0, /* 0x 380 */
|
||||
0,116,104,117,109, 98, 95,110,114,118, 50,101, 95,100, 56, 0, /* 0x 390 */
|
||||
28, 2, 0, 0, 67, 97,108,108, 50, 69, 0,206, 2, 0, 0, 0, /* 0x 3a0 */
|
||||
0, 0, 0,209, 2, 0, 0,116,104,117,109, 98, 95,110,114,118, /* 0x 3b0 */
|
||||
50,101, 95,100, 56, 0, 0, 0, 0, 0, 85, 80, 88, 49, 72, 69, /* 0x 3c0 */
|
||||
65, 68, 0,210, 2, 0, 0,101,111,102, 0,244, 2, 0, 0,255, /* 0x 3d0 */
|
||||
255,255,255,244, 2, 0, 0, 0 /* 0x 3e0 */
|
||||
};
|
||||
92
src/stub/i086-dos16.com.h
Normal file
92
src/stub/i086-dos16.com.h
Normal file
@ -0,0 +1,92 @@
|
||||
/* i086-dos16.com.h -- created from i086-dos16.com.bin, 906 (0x38a) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV2B_LOADER_SIZE 906
|
||||
#define NRV2B_LOADER_ADLER32 0x1e09d469
|
||||
#define NRV2B_LOADER_CRC32 0x7de34e70
|
||||
|
||||
unsigned char nrv2b_loader[906] = {
|
||||
129,252, 83, 80,119, 2,205, 32,185, 67, 88,190, 83, 73,191, 68, /* 0x 0 */
|
||||
73,187, 0,128,253,243,164,252,135,247,131,238,198, 25,237, 87, /* 0x 10 */
|
||||
87,233, 74, 77, 85, 80, 88, 33,161,216,208,213, 0, 0, 0, 0, /* 0x 20 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 45,164,232, 0, 0,114,250, /* 0x 30 */
|
||||
65,232, 0, 0,227, 0,227, 0,115, 0,131,233, 3,114, 6,136, /* 0x 40 */
|
||||
204,172,247,208,149, 49,201,232, 0, 0, 17,201,117, 8, 65,232, /* 0x 50 */
|
||||
0, 0,115,251, 65, 65, 65,129,253, 0,243,131,209, 1,141, 3, /* 0x 60 */
|
||||
150,243,164,150,235, 0,232, 2, 0, 17,201, 1,219,117, 4,173, /* 0x 70 */
|
||||
17,192,147,195, 94,185, 67, 84,172, 44,232, 60, 1,119,249,193, /* 0x 80 */
|
||||
4, 8, 41, 52,139, 28,134,223, 41,243,137, 28,173,226, 0,176, /* 0x 90 */
|
||||
232,176,233, 95,185, 67, 84,242,174,117, 0,117, 0,193, 5, 8, /* 0x a0 */
|
||||
41, 61,139, 29,134,223, 41,251,137, 29,175,235, 0,195, 0, 0, /* 0x b0 */
|
||||
67, 79, 77, 77, 65, 73, 78, 49, 0, 0, 0, 0, 0, 67, 79, 77, /* 0x c0 */
|
||||
83, 85, 66, 83, 73, 0, 29, 0, 0, 0, 67, 79, 77, 83, 66, 66, /* 0x d0 */
|
||||
66, 80, 0, 29, 0, 0, 0, 67, 79, 77, 80, 83, 72, 68, 73, 0, /* 0x e0 */
|
||||
31, 0, 0, 0, 67, 79, 77, 67, 65, 76, 76, 84, 0, 32, 0, 0, /* 0x f0 */
|
||||
0, 67, 79, 77, 77, 65, 73, 78, 50, 0, 33, 0, 0, 0, 85, 80, /* 0x 100 */
|
||||
88, 49, 72, 69, 65, 68, 0, 36, 0, 0, 0, 67, 79, 77, 67, 85, /* 0x 110 */
|
||||
84, 80, 79, 0, 58, 0, 0, 0, 78, 82, 86, 50, 66, 49, 54, 48, /* 0x 120 */
|
||||
0, 58, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 78, 82, 86, /* 0x 130 */
|
||||
68, 69, 67, 79, 50, 0, 13, 0, 0, 0, 0, 0, 0, 0, 68, 0, /* 0x 140 */
|
||||
0, 0, 78, 82, 86, 68, 69, 67, 79, 50, 0, 8, 0, 0, 0, 78, /* 0x 150 */
|
||||
82, 86, 68, 68, 79, 78, 69, 0, 68, 0, 0, 0, 0, 0, 0, 0, /* 0x 160 */
|
||||
70, 0, 0, 0, 78, 82, 86, 68, 69, 67, 79, 50, 0, 22, 0, 0, /* 0x 170 */
|
||||
0, 78, 82, 86, 68, 82, 69, 84, 85, 0, 70, 0, 0, 0, 0, 0, /* 0x 180 */
|
||||
0, 0, 72, 0, 0, 0, 78, 82, 86, 68, 69, 67, 79, 50, 0, 21, /* 0x 190 */
|
||||
0, 0, 0, 78, 82, 86, 68, 69, 67, 79, 49, 0, 72, 0, 0, 0, /* 0x 1a0 */
|
||||
0, 0, 0, 0, 74, 0, 0, 0, 78, 82, 86, 50, 66, 49, 54, 48, /* 0x 1b0 */
|
||||
0, 7, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 78, 82, 86, /* 0x 1c0 */
|
||||
68, 69, 67, 79, 50, 0, 8, 0, 0, 0, 0, 0, 0, 0, 98, 0, /* 0x 1d0 */
|
||||
0, 0, 78, 82, 86, 68, 69, 67, 79, 50, 0, 8, 0, 0, 0, 78, /* 0x 1e0 */
|
||||
82, 86, 76, 69, 68, 48, 48, 0,102, 0, 0, 0, 78, 82, 86, 71, /* 0x 1f0 */
|
||||
84, 68, 48, 48, 0,103, 0, 0, 0, 78, 82, 86, 68, 69, 67, 79, /* 0x 200 */
|
||||
50, 0,110, 0, 0, 0, 0, 0, 0, 0,118, 0, 0, 0, 78, 82, /* 0x 210 */
|
||||
86, 50, 66, 49, 54, 48, 0, 1, 0, 0, 0, 78, 82, 86, 50, 66, /* 0x 220 */
|
||||
49, 54, 57, 0,132, 0, 0, 0, 67, 65, 76, 76, 84, 82, 49, 54, /* 0x 230 */
|
||||
0,132, 0, 0, 0, 67, 84, 49, 54, 73, 50, 56, 54, 0,143, 0, /* 0x 240 */
|
||||
0, 0, 67, 84, 49, 54, 83, 85, 66, 48, 0,146, 0, 0, 0, 67, /* 0x 250 */
|
||||
84, 49, 54, 73, 48, 56, 54, 0,148, 0, 0, 0, 67, 65, 76, 76, /* 0x 260 */
|
||||
84, 82, 73, 50, 0,156, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, /* 0x 270 */
|
||||
0, 67, 65, 76, 76, 84, 82, 49, 54, 0, 4, 0, 0, 0, 67, 84, /* 0x 280 */
|
||||
49, 54, 68, 85, 77, 49, 0,159, 0, 0, 0, 67, 84, 49, 54, 69, /* 0x 290 */
|
||||
56, 48, 48, 0,159, 0, 0, 0, 67, 84, 49, 54, 69, 57, 48, 48, /* 0x 2a0 */
|
||||
0,161, 0, 0, 0, 67, 65, 76, 76, 84, 82, 73, 53, 0,163, 0, /* 0x 2b0 */
|
||||
0, 0, 67, 84, 49, 54, 74, 69, 78, 68, 0,169, 0, 0, 0, 0, /* 0x 2c0 */
|
||||
0, 0, 0,171, 0, 0, 0, 78, 82, 86, 68, 69, 67, 79, 50, 0, /* 0x 2d0 */
|
||||
21, 0, 0, 0, 67, 84, 49, 54, 74, 85, 76, 50, 0,171, 0, 0, /* 0x 2e0 */
|
||||
0, 0, 0, 0, 0,173, 0, 0, 0, 67, 65, 76, 76, 84, 82, 73, /* 0x 2f0 */
|
||||
54, 0, 3, 0, 0, 0, 67, 84, 49, 54, 68, 85, 77, 50, 0,173, /* 0x 300 */
|
||||
0, 0, 0, 67, 84, 49, 54, 73, 50, 56, 55, 0,173, 0, 0, 0, /* 0x 310 */
|
||||
67, 84, 49, 54, 83, 85, 66, 49, 0,176, 0, 0, 0, 67, 84, 49, /* 0x 320 */
|
||||
54, 73, 48, 56, 55, 0,178, 0, 0, 0, 67, 65, 76, 76, 84, 82, /* 0x 330 */
|
||||
73, 54, 0,186, 0, 0, 0, 0, 0, 0, 0,189, 0, 0, 0, 67, /* 0x 340 */
|
||||
65, 76, 76, 84, 82, 73, 53, 0, 4, 0, 0, 0, 67, 84, 49, 54, /* 0x 350 */
|
||||
68, 85, 77, 77, 51, 0,189, 0, 0, 0, 67, 79, 82, 69, 84, 85, /* 0x 360 */
|
||||
82, 78, 0,189, 0, 0, 0, 67, 79, 77, 84, 72, 69, 78, 68, 0, /* 0x 370 */
|
||||
190, 0, 0, 0,255,255,255,255,190, 0 /* 0x 380 */
|
||||
};
|
||||
184
src/stub/i086-dos16.exe.h
Normal file
184
src/stub/i086-dos16.exe.h
Normal file
@ -0,0 +1,184 @@
|
||||
/* i086-dos16.exe.h -- created from i086-dos16.exe.bin, 2377 (0x949) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV_LOADER_SIZE 2377
|
||||
#define NRV_LOADER_ADLER32 0xe8176e1e
|
||||
#define NRV_LOADER_CRC32 0x723ae5c1
|
||||
|
||||
unsigned char nrv_loader[2377] = {
|
||||
255,255,255,255, 0, 0, 12, 0, 0, 0, 83, 84, 14, 46,255, 54, /* 0x 0 */
|
||||
10, 0, 80, 83, 81, 82,140,200, 5, 79, 83,187, 79, 80,140,209, /* 0x 10 */
|
||||
137,226,142,208,137,220, 81, 82, 86, 87, 85, 30, 6,114,249,156, /* 0x 20 */
|
||||
185, 67, 88,190, 83, 73,137,247, 30,169,181,128,140,200, 5, 68, /* 0x 30 */
|
||||
83,142,216, 5, 69, 83,142,192,253,243,165,252, 46,128,108, 66, /* 0x 40 */
|
||||
16, 46,128,108, 18, 16,115, 0,146,175,173, 14, 14, 14, 6, 31, /* 0x 50 */
|
||||
7, 22,189, 66, 80,187, 66, 88, 85,203, 85, 80, 88, 33,161,216, /* 0x 60 */
|
||||
208,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 70 */
|
||||
0, 0, 0, 0, 45,164, 0,255,117, 3,232, 0, 0,114,246, 65, /* 0x 80 */
|
||||
140,192, 1,255,115, 5,128,196, 8,142,192,209,239,232, 0, 0, /* 0x 90 */
|
||||
227, 0,115,249, 73, 73,116, 0, 1,201, 1,201, 1,201, 1,201, /* 0x a0 */
|
||||
193,225, 4,137,205,138, 28, 70,246,211, 49,201,232, 0, 0, 17, /* 0x b0 */
|
||||
201,117, 8, 65,232, 0, 0,115,251, 65, 65,129,253,209, 0,131, /* 0x c0 */
|
||||
217,254, 41,232,114, 14,142,216,141, 1, 40,252,150,243,164,150, /* 0x d0 */
|
||||
142,218,235, 0,209,224,209,224,209,224,209,224, 80, 49,192,142, /* 0x e0 */
|
||||
216, 88,193,224, 4,106, 0, 31, 1,216, 1,248,235, 0, 0,255, /* 0x f0 */
|
||||
117, 3,232, 6, 0, 17,201, 0,255,117, 0,138, 60, 17,246,115, /* 0x 100 */
|
||||
5,128,198, 8,142,218,209,238, 70, 16,255,195,164, 0,255,117, /* 0x 110 */
|
||||
3,232, 0, 0,114,246, 65,140,192, 1,255,115, 5,128,196, 8, /* 0x 120 */
|
||||
142,192,209,239,232, 0, 0,114, 10, 73,232, 0, 0, 17,201,121, /* 0x 130 */
|
||||
243,235, 0, 73, 73,116, 0, 1,201, 1,201, 1,201,193,225, 3, /* 0x 140 */
|
||||
137,205,138, 28, 70,246,211, 49,201,208,235,235, 3,232, 0, 0, /* 0x 150 */
|
||||
17,201,232, 0, 0, 17,201,117, 8, 65,232, 0, 0,115,251, 65, /* 0x 160 */
|
||||
65,131,253, 81,131,217,254, 41,232,114, 14,142,216,141, 1, 40, /* 0x 170 */
|
||||
252,150,243,164,150,142,218,235, 0,209,224,209,224,209,224,209, /* 0x 180 */
|
||||
224, 80, 49,192,142,216, 88,193,224, 4,106, 0, 31, 1,216, 1, /* 0x 190 */
|
||||
248,235, 0, 0,255,117, 3,232, 6, 0, 17,201, 0,255,117, 0, /* 0x 1a0 */
|
||||
138, 60, 17,246,115, 5,128,198, 8,142,218,209,238, 70, 16,255, /* 0x 1b0 */
|
||||
195,164, 0,255,117, 3,232, 0, 0,114,246, 65,140,192, 1,255, /* 0x 1c0 */
|
||||
115, 5,128,196, 8,142,192,209,239,232, 0, 0,114, 10, 73,232, /* 0x 1d0 */
|
||||
0, 0, 17,201,121,243,235, 0, 73, 73,116, 0, 1,201, 1,201, /* 0x 1e0 */
|
||||
1,201,193,225, 3,137,205,138, 28, 70,246,211, 49,201,208,235, /* 0x 1f0 */
|
||||
115, 12,232, 0, 0, 17,201,235, 18,232, 0, 0,114,244, 65,232, /* 0x 200 */
|
||||
0, 0,114,238,232, 0, 0,115,251, 65, 65,131,253, 81,131,217, /* 0x 210 */
|
||||
253, 41,232,114, 14,142,216,141, 1, 40,252,150,243,164,150,142, /* 0x 220 */
|
||||
218,235, 0,209,224,209,224,209,224,209,224, 80, 49,192,142,216, /* 0x 230 */
|
||||
88,193,224, 4,106, 0, 31, 1,216, 1,248,235, 0, 0,255,117, /* 0x 240 */
|
||||
3,232, 6, 0, 17,201, 0,255,117, 0,138, 60, 17,246,115, 5, /* 0x 250 */
|
||||
128,198, 8,142,218,209,238, 70, 16,255,195, 93,140,192,128,236, /* 0x 260 */
|
||||
6,142,216, 6, 31,141,181, 82, 83,173, 91,145,173,146,173,151, /* 0x 270 */
|
||||
173, 1,195,142,195, 49,192, 1,199, 38, 1, 45,172, 72,116, 0, /* 0x 280 */
|
||||
64,117,244, 71, 71, 38,128, 61,154,117,249, 38, 57, 85, 3,119, /* 0x 290 */
|
||||
243,176, 3,235, 0,129,199,254, 0,114, 0,226, 0, 7, 6, 31, /* 0x 2a0 */
|
||||
157,114, 16, 7, 31, 93, 95, 94, 91, 88,142,208,137,220, 90, 89, /* 0x 2b0 */
|
||||
91, 88,203,141,134, 83, 83,142,208,188, 83, 80,234, 73, 80, 67, /* 0x 2c0 */
|
||||
83,129,197, 67, 83, 85,184, 73, 80, 80,203, 0, 68, 69, 86, 73, /* 0x 2d0 */
|
||||
67, 69, 69, 78, 84, 82, 89, 0, 0, 0, 0, 0, 69, 88, 69, 69, /* 0x 2e0 */
|
||||
78, 84, 82, 89, 0, 48, 0, 0, 0, 68, 69, 86, 73, 67, 69, 83, /* 0x 2f0 */
|
||||
85, 66, 0, 76, 0, 0, 0, 69, 88, 69, 83, 85, 66, 0, 81, 0, /* 0x 300 */
|
||||
0, 0, 74, 78, 67, 68, 79, 67, 79, 80, 89, 0, 86, 0, 0, 0, /* 0x 310 */
|
||||
0, 0, 0, 0, 88, 0, 0, 0, 69, 88, 69, 69, 78, 84, 82, 89, /* 0x 320 */
|
||||
0, 10, 0, 0, 0, 69, 88, 69, 82, 69, 76, 80, 85, 0, 91, 0, /* 0x 330 */
|
||||
0, 0, 69, 88, 69, 77, 65, 73, 78, 52, 0, 92, 0, 0, 0, 85, /* 0x 340 */
|
||||
80, 88, 49, 72, 69, 65, 68, 0,106, 0, 0, 0, 69, 88, 69, 67, /* 0x 350 */
|
||||
85, 84, 80, 79, 0,133, 0, 0, 0, 78, 82, 86, 50, 66, 49, 54, /* 0x 360 */
|
||||
83, 0,133, 0, 0, 0, 0, 0, 0, 0,141, 0, 0, 0, 78, 82, /* 0x 370 */
|
||||
86, 50, 66, 69, 88, 51, 0, 19, 0, 0, 0, 78, 50, 66, 54, 52, /* 0x 380 */
|
||||
75, 48, 49, 0,146, 0, 0, 0, 78, 82, 86, 50, 66, 69, 88, 49, /* 0x 390 */
|
||||
0,157, 0, 0, 0, 0, 0, 0, 0,160, 0, 0, 0, 78, 82, 86, /* 0x 3a0 */
|
||||
50, 66, 69, 88, 51, 0, 6, 0, 0, 0, 0, 0, 0, 0,162, 0, /* 0x 3b0 */
|
||||
0, 0, 78, 82, 86, 50, 66, 69, 88, 57, 0, 4, 0, 0, 0, 0, /* 0x 3c0 */
|
||||
0, 0, 0,168, 0, 0, 0, 78, 82, 86, 50, 66, 69, 88, 50, 0, /* 0x 3d0 */
|
||||
9, 0, 0, 0, 78, 50, 66, 88, 56, 54, 48, 49, 0,168, 0, 0, /* 0x 3e0 */
|
||||
0, 78, 50, 66, 50, 56, 54, 48, 49, 0,176, 0, 0, 0, 78, 82, /* 0x 3f0 */
|
||||
86, 50, 66, 69, 88, 50, 0,179, 0, 0, 0, 0, 0, 0, 0,191, /* 0x 400 */
|
||||
0, 0, 0, 78, 82, 86, 50, 66, 69, 88, 51, 0, 6, 0, 0, 0, /* 0x 410 */
|
||||
0, 0, 0, 0,199, 0, 0, 0, 78, 82, 86, 50, 66, 69, 88, 51, /* 0x 420 */
|
||||
0, 6, 0, 0, 0, 0, 0, 0, 0,228, 0, 0, 0, 78, 82, 86, /* 0x 430 */
|
||||
50, 66, 49, 54, 83, 0, 1, 0, 0, 0, 78, 50, 66, 88, 56, 54, /* 0x 440 */
|
||||
48, 50, 0,228, 0, 0, 0, 78, 50, 66, 50, 56, 54, 48, 50, 0, /* 0x 450 */
|
||||
242, 0, 0, 0, 78, 82, 86, 50, 66, 69, 88, 51, 0,248, 0, 0, /* 0x 460 */
|
||||
0, 0, 0, 0, 0,254, 0, 0, 0, 78, 82, 86, 50, 66, 69, 88, /* 0x 470 */
|
||||
50, 0, 39, 0, 0, 0, 0, 0, 0, 0, 11, 1, 0, 0, 78, 82, /* 0x 480 */
|
||||
86, 50, 66, 69, 88, 57, 0, 3, 0, 0, 0, 78, 50, 66, 54, 52, /* 0x 490 */
|
||||
75, 48, 50, 0, 13, 1, 0, 0, 78, 82, 86, 50, 66, 69, 88, 57, /* 0x 4a0 */
|
||||
0, 24, 1, 0, 0, 78, 82, 86, 50, 66, 49, 54, 69, 0, 28, 1, /* 0x 4b0 */
|
||||
0, 0, 78, 82, 86, 50, 68, 49, 54, 83, 0, 28, 1, 0, 0, 0, /* 0x 4c0 */
|
||||
0, 0, 0, 36, 1, 0, 0, 78, 82, 86, 50, 68, 69, 88, 51, 0, /* 0x 4d0 */
|
||||
19, 0, 0, 0, 78, 50, 68, 54, 52, 75, 48, 49, 0, 41, 1, 0, /* 0x 4e0 */
|
||||
0, 78, 82, 86, 50, 68, 69, 88, 49, 0, 52, 1, 0, 0, 0, 0, /* 0x 4f0 */
|
||||
0, 0, 55, 1, 0, 0, 78, 82, 86, 50, 68, 69, 88, 51, 0, 6, /* 0x 500 */
|
||||
0, 0, 0, 0, 0, 0, 0, 61, 1, 0, 0, 78, 82, 86, 50, 68, /* 0x 510 */
|
||||
69, 88, 51, 0, 15, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0, /* 0x 520 */
|
||||
78, 82, 86, 50, 68, 69, 88, 57, 0, 4, 0, 0, 0, 0, 0, 0, /* 0x 530 */
|
||||
0, 71, 1, 0, 0, 78, 82, 86, 50, 68, 69, 88, 50, 0, 13, 0, /* 0x 540 */
|
||||
0, 0, 78, 50, 68, 88, 56, 54, 48, 49, 0, 71, 1, 0, 0, 78, /* 0x 550 */
|
||||
50, 68, 50, 56, 54, 48, 49, 0, 77, 1, 0, 0, 78, 82, 86, 50, /* 0x 560 */
|
||||
68, 69, 88, 50, 0, 80, 1, 0, 0, 0, 0, 0, 0, 96, 1, 0, /* 0x 570 */
|
||||
0, 78, 82, 86, 50, 68, 69, 88, 51, 0, 15, 0, 0, 0, 0, 0, /* 0x 580 */
|
||||
0, 0,101, 1, 0, 0, 78, 82, 86, 50, 68, 69, 88, 51, 0, 15, /* 0x 590 */
|
||||
0, 0, 0, 0, 0, 0, 0,109, 1, 0, 0, 78, 82, 86, 50, 68, /* 0x 5a0 */
|
||||
69, 88, 51, 0, 6, 0, 0, 0, 0, 0, 0, 0,137, 1, 0, 0, /* 0x 5b0 */
|
||||
78, 82, 86, 50, 68, 49, 54, 83, 0, 1, 0, 0, 0, 78, 50, 68, /* 0x 5c0 */
|
||||
88, 56, 54, 48, 50, 0,137, 1, 0, 0, 78, 50, 68, 50, 56, 54, /* 0x 5d0 */
|
||||
48, 50, 0,151, 1, 0, 0, 78, 82, 86, 50, 68, 69, 88, 51, 0, /* 0x 5e0 */
|
||||
157, 1, 0, 0, 0, 0, 0, 0,163, 1, 0, 0, 78, 82, 86, 50, /* 0x 5f0 */
|
||||
68, 69, 88, 50, 0, 47, 0, 0, 0, 0, 0, 0, 0,176, 1, 0, /* 0x 600 */
|
||||
0, 78, 82, 86, 50, 68, 69, 88, 57, 0, 3, 0, 0, 0, 78, 50, /* 0x 610 */
|
||||
68, 54, 52, 75, 48, 50, 0,178, 1, 0, 0, 78, 82, 86, 50, 68, /* 0x 620 */
|
||||
69, 88, 57, 0,189, 1, 0, 0, 78, 82, 86, 50, 68, 49, 54, 69, /* 0x 630 */
|
||||
0,193, 1, 0, 0, 78, 82, 86, 50, 69, 49, 54, 83, 0,193, 1, /* 0x 640 */
|
||||
0, 0, 0, 0, 0, 0,201, 1, 0, 0, 78, 82, 86, 50, 69, 69, /* 0x 650 */
|
||||
88, 51, 0, 19, 0, 0, 0, 78, 50, 69, 54, 52, 75, 48, 49, 0, /* 0x 660 */
|
||||
206, 1, 0, 0, 78, 82, 86, 50, 69, 69, 88, 49, 0,217, 1, 0, /* 0x 670 */
|
||||
0, 0, 0, 0, 0,220, 1, 0, 0, 78, 82, 86, 50, 69, 69, 88, /* 0x 680 */
|
||||
51, 0, 6, 0, 0, 0, 0, 0, 0, 0,226, 1, 0, 0, 78, 82, /* 0x 690 */
|
||||
86, 50, 69, 69, 88, 51, 0, 15, 0, 0, 0, 0, 0, 0, 0,232, /* 0x 6a0 */
|
||||
1, 0, 0, 78, 82, 86, 50, 69, 69, 88, 57, 0, 4, 0, 0, 0, /* 0x 6b0 */
|
||||
0, 0, 0, 0,236, 1, 0, 0, 78, 82, 86, 50, 69, 69, 88, 50, /* 0x 6c0 */
|
||||
0, 20, 0, 0, 0, 78, 50, 69, 88, 56, 54, 48, 49, 0,236, 1, /* 0x 6d0 */
|
||||
0, 0, 78, 50, 69, 50, 56, 54, 48, 49, 0,242, 1, 0, 0, 78, /* 0x 6e0 */
|
||||
82, 86, 50, 69, 69, 88, 50, 0,245, 1, 0, 0, 0, 0, 0, 0, /* 0x 6f0 */
|
||||
5, 2, 0, 0, 78, 82, 86, 50, 69, 69, 88, 51, 0, 15, 0, 0, /* 0x 700 */
|
||||
0, 0, 0, 0, 0, 12, 2, 0, 0, 78, 82, 86, 50, 69, 69, 88, /* 0x 710 */
|
||||
51, 0, 15, 0, 0, 0, 0, 0, 0, 0, 18, 2, 0, 0, 78, 82, /* 0x 720 */
|
||||
86, 50, 69, 69, 88, 51, 0, 15, 0, 0, 0, 0, 0, 0, 0, 23, /* 0x 730 */
|
||||
2, 0, 0, 78, 82, 86, 50, 69, 69, 88, 51, 0, 6, 0, 0, 0, /* 0x 740 */
|
||||
0, 0, 0, 0, 51, 2, 0, 0, 78, 82, 86, 50, 69, 49, 54, 83, /* 0x 750 */
|
||||
0, 1, 0, 0, 0, 78, 50, 69, 88, 56, 54, 48, 50, 0, 51, 2, /* 0x 760 */
|
||||
0, 0, 78, 50, 69, 50, 56, 54, 48, 50, 0, 65, 2, 0, 0, 78, /* 0x 770 */
|
||||
82, 86, 50, 69, 69, 88, 51, 0, 71, 2, 0, 0, 0, 0, 0, 0, /* 0x 780 */
|
||||
77, 2, 0, 0, 78, 82, 86, 50, 69, 69, 88, 50, 0, 52, 0, 0, /* 0x 790 */
|
||||
0, 0, 0, 0, 0, 90, 2, 0, 0, 78, 82, 86, 50, 69, 69, 88, /* 0x 7a0 */
|
||||
57, 0, 3, 0, 0, 0, 78, 50, 69, 54, 52, 75, 48, 50, 0, 92, /* 0x 7b0 */
|
||||
2, 0, 0, 78, 82, 86, 50, 69, 69, 88, 57, 0,103, 2, 0, 0, /* 0x 7c0 */
|
||||
78, 82, 86, 50, 69, 49, 54, 69, 0,107, 2, 0, 0, 69, 88, 69, /* 0x 7d0 */
|
||||
77, 65, 73, 78, 53, 0,107, 2, 0, 0, 69, 88, 69, 82, 69, 76, /* 0x 7e0 */
|
||||
79, 67, 0,108, 2, 0, 0, 69, 88, 69, 65, 68, 74, 85, 83, 0, /* 0x 7f0 */
|
||||
108, 2, 0, 0, 69, 88, 69, 78, 79, 65, 68, 74, 0,115, 2, 0, /* 0x 800 */
|
||||
0, 69, 88, 69, 82, 69, 76, 79, 49, 0,117, 2, 0, 0, 0, 0, /* 0x 810 */
|
||||
0, 0,144, 2, 0, 0, 69, 88, 69, 82, 69, 76, 79, 50, 0, 0, /* 0x 820 */
|
||||
0, 0, 0, 69, 88, 69, 82, 69, 76, 57, 65, 0,147, 2, 0, 0, /* 0x 830 */
|
||||
0, 0, 0, 0,165, 2, 0, 0, 69, 88, 69, 82, 69, 76, 79, 49, /* 0x 840 */
|
||||
0, 18, 0, 0, 0, 69, 88, 69, 82, 69, 76, 79, 50, 0,165, 2, /* 0x 850 */
|
||||
0, 0, 69, 88, 69, 82, 69, 66, 73, 71, 0,169, 2, 0, 0, 0, /* 0x 860 */
|
||||
0, 0, 0,171, 2, 0, 0, 69, 88, 69, 82, 69, 76, 79, 49, 0, /* 0x 870 */
|
||||
9, 0, 0, 0, 69, 88, 69, 82, 69, 76, 79, 51, 0,171, 2, 0, /* 0x 880 */
|
||||
0, 0, 0, 0, 0,173, 2, 0, 0, 69, 88, 69, 82, 69, 76, 79, /* 0x 890 */
|
||||
49, 0, 23, 0, 0, 0, 69, 88, 69, 77, 65, 73, 78, 56, 0,173, /* 0x 8a0 */
|
||||
2, 0, 0, 68, 69, 86, 73, 67, 69, 69, 78, 68, 0,176, 2, 0, /* 0x 8b0 */
|
||||
0, 69, 88, 69, 83, 84, 65, 67, 75, 0,195, 2, 0, 0, 69, 88, /* 0x 8c0 */
|
||||
69, 68, 85, 77, 77, 83, 0,201, 2, 0, 0, 69, 88, 69, 83, 84, /* 0x 8d0 */
|
||||
65, 83, 80, 0,201, 2, 0, 0, 69, 88, 69, 68, 85, 77, 77, 80, /* 0x 8e0 */
|
||||
0,204, 2, 0, 0, 69, 88, 69, 74, 85, 77, 80, 70, 0,204, 2, /* 0x 8f0 */
|
||||
0, 0, 69, 88, 69, 82, 69, 84, 85, 82, 0,209, 2, 0, 0, 69, /* 0x 900 */
|
||||
88, 69, 82, 67, 83, 80, 79, 0,209, 2, 0, 0, 69, 88, 69, 82, /* 0x 910 */
|
||||
69, 84, 73, 80, 0,213, 2, 0, 0, 69, 88, 69, 68, 85, 77, 77, /* 0x 920 */
|
||||
90, 0,219, 2, 0, 0, 69, 88, 69, 84, 72, 69, 78, 68, 0,219, /* 0x 930 */
|
||||
2, 0, 0,255,255,255,255,219, 2 /* 0x 940 */
|
||||
};
|
||||
97
src/stub/i086-dos16.sys.h
Normal file
97
src/stub/i086-dos16.sys.h
Normal file
@ -0,0 +1,97 @@
|
||||
/* i086-dos16.sys.h -- created from i086-dos16.sys.bin, 991 (0x3df) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV2B_LOADER_SIZE 991
|
||||
#define NRV2B_LOADER_ADLER32 0xf335eb3a
|
||||
#define NRV2B_LOADER_CRC32 0x21f25aa3
|
||||
|
||||
unsigned char nrv2b_loader[991] = {
|
||||
255,255,255,255, 0, 0, 10, 0, 0, 0, 96, 80, 83, 81, 82, 86, /* 0x 0 */
|
||||
87, 85,190, 83, 73,191, 68, 73,137,241, 6, 30, 7,253,243,164, /* 0x 10 */
|
||||
252,187, 0,128,135,247,131,238,187, 25,237, 87,233, 74, 77, 85, /* 0x 20 */
|
||||
80, 88, 33,161,216,208,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 30 */
|
||||
0, 0, 0, 0, 45,164,232, 0, 0,114,250, 65,232, 0, 0,227, /* 0x 40 */
|
||||
0,227, 0,115, 0,131,233, 3,114, 6,136,204,172,247,208,149, /* 0x 50 */
|
||||
49,201,232, 0, 0, 17,201,117, 8, 65,232, 0, 0,115,251, 65, /* 0x 60 */
|
||||
65, 65,129,253, 0,243,131,209, 1,141, 3,150,243,164,150,235, /* 0x 70 */
|
||||
0,232, 2, 0, 17,201, 1,219,117, 4,173, 17,192,147,195, 94, /* 0x 80 */
|
||||
185, 67, 84,172, 44,232, 60, 1,119,249,193, 4, 8, 41, 52,139, /* 0x 90 */
|
||||
28,134,223, 41,243,137, 28,173,226, 0,176,232,176,233, 95,185, /* 0x a0 */
|
||||
67, 84,242,174,117, 0,117, 0,193, 5, 8, 41, 61,139, 29,134, /* 0x b0 */
|
||||
223, 41,251,137, 29,175,235, 0, 7, 97, 93, 95, 94, 90, 89, 91, /* 0x c0 */
|
||||
88,233, 74, 79, 83, 89, 83, 77, 65, 73, 78, 49, 0, 0, 0, 0, /* 0x d0 */
|
||||
0, 83, 89, 83, 73, 50, 56, 54, 49, 0, 10, 0, 0, 0, 83, 89, /* 0x e0 */
|
||||
83, 73, 48, 56, 54, 49, 0, 11, 0, 0, 0, 83, 89, 83, 77, 65, /* 0x f0 */
|
||||
73, 78, 50, 0, 18, 0, 0, 0, 83, 89, 83, 83, 85, 66, 83, 73, /* 0x 100 */
|
||||
0, 41, 0, 0, 0, 83, 89, 83, 83, 66, 66, 66, 80, 0, 41, 0, /* 0x 110 */
|
||||
0, 0, 83, 89, 83, 67, 65, 76, 76, 84, 0, 43, 0, 0, 0, 83, /* 0x 120 */
|
||||
89, 83, 77, 65, 73, 78, 51, 0, 44, 0, 0, 0, 85, 80, 88, 49, /* 0x 130 */
|
||||
72, 69, 65, 68, 0, 47, 0, 0, 0, 83, 89, 83, 67, 85, 84, 80, /* 0x 140 */
|
||||
79, 0, 69, 0, 0, 0, 78, 82, 86, 50, 66, 49, 54, 48, 0, 69, /* 0x 150 */
|
||||
0, 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, 78, 82, 86, 68, 69, /* 0x 160 */
|
||||
67, 79, 50, 0, 13, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, /* 0x 170 */
|
||||
78, 82, 86, 68, 69, 67, 79, 50, 0, 8, 0, 0, 0, 78, 82, 86, /* 0x 180 */
|
||||
68, 68, 79, 78, 69, 0, 79, 0, 0, 0, 0, 0, 0, 0, 81, 0, /* 0x 190 */
|
||||
0, 0, 78, 82, 86, 68, 69, 67, 79, 50, 0, 22, 0, 0, 0, 78, /* 0x 1a0 */
|
||||
82, 86, 68, 82, 69, 84, 85, 0, 81, 0, 0, 0, 0, 0, 0, 0, /* 0x 1b0 */
|
||||
83, 0, 0, 0, 78, 82, 86, 68, 69, 67, 79, 50, 0, 21, 0, 0, /* 0x 1c0 */
|
||||
0, 78, 82, 86, 68, 69, 67, 79, 49, 0, 83, 0, 0, 0, 0, 0, /* 0x 1d0 */
|
||||
0, 0, 85, 0, 0, 0, 78, 82, 86, 50, 66, 49, 54, 48, 0, 7, /* 0x 1e0 */
|
||||
0, 0, 0, 0, 0, 0, 0,101, 0, 0, 0, 78, 82, 86, 68, 69, /* 0x 1f0 */
|
||||
67, 79, 50, 0, 8, 0, 0, 0, 0, 0, 0, 0,109, 0, 0, 0, /* 0x 200 */
|
||||
78, 82, 86, 68, 69, 67, 79, 50, 0, 8, 0, 0, 0, 78, 82, 86, /* 0x 210 */
|
||||
76, 69, 68, 48, 48, 0,113, 0, 0, 0, 78, 82, 86, 71, 84, 68, /* 0x 220 */
|
||||
48, 48, 0,114, 0, 0, 0, 78, 82, 86, 68, 69, 67, 79, 50, 0, /* 0x 230 */
|
||||
121, 0, 0, 0, 0, 0, 0, 0,129, 0, 0, 0, 78, 82, 86, 50, /* 0x 240 */
|
||||
66, 49, 54, 48, 0, 1, 0, 0, 0, 78, 82, 86, 50, 66, 49, 54, /* 0x 250 */
|
||||
57, 0,143, 0, 0, 0, 67, 65, 76, 76, 84, 82, 49, 54, 0,143, /* 0x 260 */
|
||||
0, 0, 0, 67, 84, 49, 54, 73, 50, 56, 54, 0,154, 0, 0, 0, /* 0x 270 */
|
||||
67, 84, 49, 54, 83, 85, 66, 48, 0,157, 0, 0, 0, 67, 84, 49, /* 0x 280 */
|
||||
54, 73, 48, 56, 54, 0,159, 0, 0, 0, 67, 65, 76, 76, 84, 82, /* 0x 290 */
|
||||
73, 50, 0,167, 0, 0, 0, 0, 0, 0, 0,170, 0, 0, 0, 67, /* 0x 2a0 */
|
||||
65, 76, 76, 84, 82, 49, 54, 0, 4, 0, 0, 0, 67, 84, 49, 54, /* 0x 2b0 */
|
||||
68, 85, 77, 49, 0,170, 0, 0, 0, 67, 84, 49, 54, 69, 56, 48, /* 0x 2c0 */
|
||||
48, 0,170, 0, 0, 0, 67, 84, 49, 54, 69, 57, 48, 48, 0,172, /* 0x 2d0 */
|
||||
0, 0, 0, 67, 65, 76, 76, 84, 82, 73, 53, 0,174, 0, 0, 0, /* 0x 2e0 */
|
||||
67, 84, 49, 54, 74, 69, 78, 68, 0,180, 0, 0, 0, 0, 0, 0, /* 0x 2f0 */
|
||||
0,182, 0, 0, 0, 78, 82, 86, 68, 69, 67, 79, 50, 0, 21, 0, /* 0x 300 */
|
||||
0, 0, 67, 84, 49, 54, 74, 85, 76, 50, 0,182, 0, 0, 0, 0, /* 0x 310 */
|
||||
0, 0, 0,184, 0, 0, 0, 67, 65, 76, 76, 84, 82, 73, 54, 0, /* 0x 320 */
|
||||
3, 0, 0, 0, 67, 84, 49, 54, 68, 85, 77, 50, 0,184, 0, 0, /* 0x 330 */
|
||||
0, 67, 84, 49, 54, 73, 50, 56, 55, 0,184, 0, 0, 0, 67, 84, /* 0x 340 */
|
||||
49, 54, 83, 85, 66, 49, 0,187, 0, 0, 0, 67, 84, 49, 54, 73, /* 0x 350 */
|
||||
48, 56, 55, 0,189, 0, 0, 0, 67, 65, 76, 76, 84, 82, 73, 54, /* 0x 360 */
|
||||
0,197, 0, 0, 0, 0, 0, 0, 0,200, 0, 0, 0, 67, 65, 76, /* 0x 370 */
|
||||
76, 84, 82, 73, 53, 0, 4, 0, 0, 0, 67, 84, 49, 54, 68, 85, /* 0x 380 */
|
||||
77, 77, 51, 0,200, 0, 0, 0, 83, 89, 83, 77, 65, 73, 78, 53, /* 0x 390 */
|
||||
0,200, 0, 0, 0, 83, 89, 83, 73, 50, 56, 54, 50, 0,201, 0, /* 0x 3a0 */
|
||||
0, 0, 83, 89, 83, 73, 48, 56, 54, 50, 0,202, 0, 0, 0, 83, /* 0x 3b0 */
|
||||
89, 83, 74, 85, 77, 80, 49, 0,209, 0, 0, 0, 83, 89, 83, 84, /* 0x 3c0 */
|
||||
72, 69, 78, 68, 0,212, 0, 0, 0,255,255,255,255,212, 0 /* 0x 3d0 */
|
||||
};
|
||||
134
src/stub/i386-dos32.djgpp2-stubify.h
Normal file
134
src/stub/i386-dos32.djgpp2-stubify.h
Normal file
@ -0,0 +1,134 @@
|
||||
#define STUBIFY_STUB_SIZE 2048
|
||||
#define STUBIFY_STUB_ADLER32 0xbf689ba8
|
||||
#define STUBIFY_STUB_CRC32 0x2ae982b2
|
||||
|
||||
unsigned char stubify_stub[2048] = {
|
||||
77, 90, 0, 0, 4, 0, 0, 0, 32, 0, 39, 0,255,255, 0, 0, /* 0x 0 */
|
||||
96, 7, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 10 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 20 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 30 */
|
||||
13, 10,115,116,117, 98, 46,104, 32,103,101,110,101,114, 97,116, /* 0x 40 */
|
||||
101,100, 32,102,114,111,109, 32,115,116,117, 98, 46, 97,115,109, /* 0x 50 */
|
||||
32, 98,121, 32,100,106, 97,115,109, 44, 32,111,110, 32, 83,117, /* 0x 60 */
|
||||
110, 32, 78,111,118, 32, 51, 48, 32, 49, 57, 58, 51, 51, 58, 51, /* 0x 70 */
|
||||
48, 32, 50, 48, 48, 51, 13, 10, 84,104,101, 32, 83, 84, 85, 66, /* 0x 80 */
|
||||
46, 69, 88, 69, 32,115,116,117, 98, 32,108,111, 97,100,101,114, /* 0x 90 */
|
||||
32,105,115, 32, 67,111,112,121,114,105,103,104,116, 32, 40, 67, /* 0x a0 */
|
||||
41, 32, 49, 57, 57, 51, 45, 49, 57, 57, 53, 32, 68, 74, 32, 68, /* 0x b0 */
|
||||
101,108,111,114,105,101, 46, 32, 13, 10, 80,101,114,109,105,115, /* 0x c0 */
|
||||
115,105,111,110, 32,103,114, 97,110,116,101,100, 32,116,111, 32, /* 0x d0 */
|
||||
117,115,101, 32,102,111,114, 32, 97,110,121, 32,112,117,114,112, /* 0x e0 */
|
||||
111,115,101, 32,112,114,111,118,105,100,101,100, 32,116,104,105, /* 0x f0 */
|
||||
115, 32, 99,111,112,121,114,105,103,104,116, 32, 13, 10,114,101, /* 0x 100 */
|
||||
109, 97,105,110,115, 32,112,114,101,115,101,110,116, 32, 97,110, /* 0x 110 */
|
||||
100, 32,117,110,109,111,100,105,102,105,101,100, 46, 32, 13, 10, /* 0x 120 */
|
||||
84,104,105,115, 32,111,110,108,121, 32, 97,112,112,108,105,101, /* 0x 130 */
|
||||
115, 32,116,111, 32,116,104,101, 32,115,116,117, 98, 44, 32, 97, /* 0x 140 */
|
||||
110,100, 32,110,111,116, 32,110,101, 99,101,115,115, 97,114,105, /* 0x 150 */
|
||||
108,121, 32,116,104,101, 32,119,104,111,108,101, 32,112,114,111, /* 0x 160 */
|
||||
103,114, 97,109, 46, 10, 13, 10, 36, 73,100, 58, 32,115,116,117, /* 0x 170 */
|
||||
98, 46, 97,115,109, 32, 98,117,105,108,116, 32, 50, 48, 48, 51, /* 0x 180 */
|
||||
45, 49, 49, 45, 51, 48, 32, 49, 57, 58, 51, 51, 58, 51, 48, 32, /* 0x 190 */
|
||||
98,121, 32,100,106, 97,115,109, 32, 36, 10, 13, 10, 64, 40, 35, /* 0x 1a0 */
|
||||
41, 32,115,116,117, 98, 46, 97,115,109, 32, 98,117,105,108,116, /* 0x 1b0 */
|
||||
32, 50, 48, 48, 51, 45, 49, 49, 45, 51, 48, 32, 49, 57, 58, 51, /* 0x 1c0 */
|
||||
51, 58, 51, 48, 32, 98,121, 32,100,106, 97,115,109, 10, 13, 10, /* 0x 1d0 */
|
||||
26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 1e0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 1f0 */
|
||||
103,111, 51, 50,115,116,117, 98, 44, 32,118, 32, 50, 46, 48, 52, /* 0x 200 */
|
||||
84, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 210 */
|
||||
0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 220 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 230 */
|
||||
0, 0, 0, 0, 67, 87, 83, 68, 80, 77, 73, 46, 69, 88, 69, 0, /* 0x 240 */
|
||||
0, 0, 0, 0, 14, 31,140, 30, 36, 0,140, 6, 96, 7,252,180, /* 0x 250 */
|
||||
48,205, 33, 60, 3,115, 8,176,109,186,169, 5,233,209, 3,162, /* 0x 260 */
|
||||
105, 8,190, 32, 0,139, 4, 9,192,117, 2,180,254,187,112, 8, /* 0x 270 */
|
||||
57,195,115, 2,137,195,137, 28,254,199,185, 4,255,211,235,180, /* 0x 280 */
|
||||
74,205, 33,115, 8,211,227,254,207,137, 28,235,216, 38,142, 6, /* 0x 290 */
|
||||
44, 0, 49,255, 48,192,169,242,174, 38,129, 61, 80, 65,117, 21, /* 0x 2a0 */
|
||||
175, 38,129, 61, 84, 72,117, 13,175, 38,128, 61, 61,117, 6, 71, /* 0x 2b0 */
|
||||
137, 62,137, 4, 79,174,117,223,175,180, 62,187, 19, 0,205, 33, /* 0x 2c0 */
|
||||
180, 62,187, 18, 0,205, 33, 6, 87, 49,201,116, 18,176,110,186, /* 0x 2d0 */
|
||||
128, 5,233, 91, 3, 9,201,117,244, 65,232,158, 3,114,238,184, /* 0x 2e0 */
|
||||
135, 22,205, 47, 9,192,117,237,128,227, 1,116,232,137, 62, 0, /* 0x 2f0 */
|
||||
6,140, 6, 2, 6,137, 54, 4, 6, 95, 7,232,208, 2,137, 62, /* 0x 300 */
|
||||
42, 0,137, 54, 98, 7,128, 62, 44, 0, 0,116, 35,185, 8, 0, /* 0x 310 */
|
||||
191, 44, 0,138, 5, 71, 8,192,116, 5,136, 7, 67,226,244,102, /* 0x 320 */
|
||||
199, 7, 46, 69, 88, 69,131,195, 4,198, 7, 0,137, 30, 98, 7, /* 0x 330 */
|
||||
184, 0, 61,186,100, 7,205, 33, 15,130,176, 2,163, 6, 6,137, /* 0x 340 */
|
||||
195,185, 6, 0,186,181, 7,180, 63,205, 33, 49,210, 49,201,161, /* 0x 350 */
|
||||
181, 7, 61, 76, 1,116, 27, 61, 77, 90, 15,133,149, 2,139, 22, /* 0x 360 */
|
||||
185, 7,193,226, 9,139, 30,183, 7, 9,219,116, 5,128,238, 2, /* 0x 370 */
|
||||
1,218,137, 22,187, 7,137, 14,189, 7,184, 0, 66,139, 30, 6, /* 0x 380 */
|
||||
6,205, 33,185,168, 0,186,191, 7,180, 63,205, 33, 61,168, 0, /* 0x 390 */
|
||||
117, 6,129, 62,191, 7, 76, 1, 15,133, 94, 2,102,161,227, 7, /* 0x 3a0 */
|
||||
102,163, 16, 6,102,139, 14,187, 7,102,161, 3, 8,102, 1,200, /* 0x 3b0 */
|
||||
102,163, 8, 6,102, 3, 14, 43, 8,102,137, 14, 12, 6,102,139, /* 0x 3c0 */
|
||||
30, 75, 8,102, 3, 30, 79, 8,102,184, 1, 0, 1, 0,102, 57, /* 0x 3d0 */
|
||||
195,115, 3,102,137,195,102,129,195,255,255, 0, 0, 49,219,102, /* 0x 3e0 */
|
||||
137, 30, 28, 0,232,250, 2,139, 30, 4, 6, 9,219,116, 10,180, /* 0x 3f0 */
|
||||
72,205, 33, 15,130, 21, 2,142,192,232, 13, 3,184, 1, 0,255, /* 0x 400 */
|
||||
30, 0, 6, 15,130, 15, 2,140, 6, 38, 0,140, 14, 40, 0,140, /* 0x 410 */
|
||||
216,163, 34, 0,142,192, 49,192,185, 1, 0,205, 49,114, 7,163, /* 0x 420 */
|
||||
20, 6, 49,192,205, 49, 15,130,243, 1,163, 22, 6,102,139, 14, /* 0x 430 */
|
||||
28, 0,184, 1, 5,139, 30, 30, 0,205, 49, 15,130,229, 1,137, /* 0x 440 */
|
||||
30, 26, 6,137, 14, 24, 6,137, 54, 26, 0,137, 62, 24, 0,184, /* 0x 450 */
|
||||
7, 0,139, 30, 20, 6,139, 14, 26, 6,139, 22, 24, 6,205, 49, /* 0x 460 */
|
||||
184, 9, 0,140,201,131,225, 3,193,225, 5, 81,129,201,155,192, /* 0x 470 */
|
||||
205, 49,184, 8, 0,139, 14, 30, 0, 73,186,255,255,205, 49,184, /* 0x 480 */
|
||||
7, 0,139, 30, 22, 6,139, 14, 26, 6,139, 22, 24, 6,205, 49, /* 0x 490 */
|
||||
184, 9, 0, 89,129,201,147,192,205, 49,184, 8, 0,139, 14, 30, /* 0x 4a0 */
|
||||
0, 73,186,255,255,205, 49,184, 0, 1,187, 0, 15,205, 49,115, /* 0x 4b0 */
|
||||
16, 61, 8, 0, 15,133,115, 1,184, 0, 1,205, 49, 15,130,106, /* 0x 4c0 */
|
||||
1,163, 28, 6,137, 22, 30, 6,193,227, 4,137, 30, 32, 6,102, /* 0x 4d0 */
|
||||
139, 54, 8, 6,102,139, 62,251, 7,102,139, 14,255, 7,232, 73, /* 0x 4e0 */
|
||||
0,102,139, 54, 12, 6,102,139, 62, 35, 8,102,139, 14, 39, 8, /* 0x 4f0 */
|
||||
232, 55, 0,142, 6, 22, 6,102,139, 62, 75, 8,102,139, 14, 79, /* 0x 500 */
|
||||
8,102, 49,192,102,193,233, 2,103,243,102,171,180, 62,139, 30, /* 0x 510 */
|
||||
6, 6,205, 33,184, 1, 1,139, 22, 30, 6,205, 49, 30, 15,161, /* 0x 520 */
|
||||
142, 30, 22, 6,102,100,255, 46, 16, 6,102,137,240,102, 37,255, /* 0x 530 */
|
||||
1, 0, 0,102, 1,193, 41,198,102, 41,199,102,137, 14, 38, 6, /* 0x 540 */
|
||||
102,137, 62, 34, 6,232, 15, 1,137, 54, 62, 6,102,193,238, 16, /* 0x 550 */
|
||||
137, 54, 66, 6,139, 30, 6, 6,137, 30, 58, 6,199, 6, 70, 6, /* 0x 560 */
|
||||
0, 66,232, 3, 1,161, 28, 6,163, 78, 6,199, 6, 62, 6, 0, /* 0x 570 */
|
||||
0,198, 6, 71, 6, 63,161, 40, 6, 9,192,117, 9,161, 38, 6, /* 0x 580 */
|
||||
59, 6, 32, 6,118, 3,161, 32, 6,163, 66, 6,232,217, 0,102, /* 0x 590 */
|
||||
49,201,139, 14, 70, 6,102,139, 62, 34, 6,102, 1, 14, 34, 6, /* 0x 5a0 */
|
||||
102, 41, 14, 38, 6,102, 49,246,193,233, 2, 30, 6,142, 6, 22, /* 0x 5b0 */
|
||||
6,142, 30, 30, 6,103,243,102,165, 7, 31,102, 3, 14, 38, 6, /* 0x 5c0 */
|
||||
117,175,195, 60, 58,116, 6, 60, 47,116, 2, 60, 92,195,190,100, /* 0x 5d0 */
|
||||
7,137,243, 38,138, 5, 71,136, 4, 56,224,116, 14, 8,192,116, /* 0x 5e0 */
|
||||
10, 70,232,222,255,117,236,137,243,116,232,195,176,102,186, 74, /* 0x 5f0 */
|
||||
5,235, 12,176,103,186, 87, 5,235, 5,176,104,186, 97, 5, 82, /* 0x 600 */
|
||||
139, 30, 98, 7,198, 7, 36,187,100, 7,235, 40,232,250, 0,176, /* 0x 610 */
|
||||
105,186,155, 5,235, 26,176,106,186,180, 5,235, 19,176,107,186, /* 0x 620 */
|
||||
198, 5,235, 12,176,108,186,216, 5,235, 5,176,105,186,155, 5, /* 0x 630 */
|
||||
82,187, 61, 5,232, 21, 0, 91,232, 17, 0,187,100, 4,232, 11, /* 0x 640 */
|
||||
0,180, 76,205, 33, 67, 80,180, 2,205, 33, 88,138, 23,128,250, /* 0x 650 */
|
||||
36,117,242,195, 13, 10, 36, 80, 81, 87, 49,192,191, 42, 6,185, /* 0x 660 */
|
||||
25, 0,243,171, 95, 89, 88,195,184, 0, 3,187, 33, 0, 49,201, /* 0x 670 */
|
||||
102,191, 42, 6, 0, 0,205, 49,195, 0, 0, 48,228,232, 78,255, /* 0x 680 */
|
||||
137,222,139, 62,137, 4,235, 28,180, 59,232, 65,255, 8,192,117, /* 0x 690 */
|
||||
1, 79,129,254,100, 7,116, 18,138, 68,255,232, 37,255,116, 4, /* 0x 6a0 */
|
||||
198, 4, 92, 70,232, 3, 0,114,223,195,232, 52, 0,187, 68, 0, /* 0x 6b0 */
|
||||
138, 7,136, 4, 67, 70, 8,192,117,246, 6, 87, 30, 7,232,150, /* 0x 6c0 */
|
||||
255,187, 42, 6,140, 95, 4,137, 95, 2,186,100, 7,184, 0, 75, /* 0x 6d0 */
|
||||
205, 33, 95, 7,114, 9,180, 77,205, 33, 45, 0, 3,247,216,235, /* 0x 6e0 */
|
||||
40,128, 62,105, 8, 5,114, 32,184, 0, 88,205, 33,162,103, 8, /* 0x 6f0 */
|
||||
184, 2, 88,205, 33,162,104, 8,184, 1, 88,187,128, 0,205, 33, /* 0x 700 */
|
||||
184, 3, 88,187, 1, 0,205, 33,195,156,128, 62,105, 8, 5,114, /* 0x 710 */
|
||||
26, 80, 83,184, 3, 88,138, 30,104, 8, 48,255,205, 33,184, 1, /* 0x 720 */
|
||||
88,138, 30,103, 8, 48,255,205, 33, 91, 88,157,195, 76,111, 97, /* 0x 730 */
|
||||
100, 32,101,114,114,111,114, 58, 32, 36, 58, 32, 99, 97,110, 39, /* 0x 740 */
|
||||
116, 32,111,112,101,110, 36, 58, 32,110,111,116, 32, 69, 88, 69, /* 0x 750 */
|
||||
36, 58, 32,110,111,116, 32, 67, 79, 70, 70, 32, 40, 67,104,101, /* 0x 760 */
|
||||
99,107, 32,102,111,114, 32,118,105,114,117,115,101,115, 41, 36, /* 0x 770 */
|
||||
110,111, 32, 68, 80, 77, 73, 32, 45, 32, 71,101,116, 32, 99,115, /* 0x 780 */
|
||||
100,112,109,105, 42, 98, 46,122,105,112, 36,110,111, 32, 68, 79, /* 0x 790 */
|
||||
83, 32,109,101,109,111,114,121, 36,110,101,101,100, 32, 68, 79, /* 0x 7a0 */
|
||||
83, 32, 51, 36, 99, 97,110, 39,116, 32,115,119,105,116, 99,104, /* 0x 7b0 */
|
||||
32,109,111,100,101, 36,110,111, 32, 68, 80, 77, 73, 32,115,101, /* 0x 7c0 */
|
||||
108,101, 99,116,111,114,115, 36,110,111, 32, 68, 80, 77, 73, 32, /* 0x 7d0 */
|
||||
109,101,109,111,114,121, 36,144,144,144,144,144,144,144,144,144, /* 0x 7e0 */
|
||||
144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144 /* 0x 7f0 */
|
||||
};
|
||||
239
src/stub/i386-dos32.djgpp2.h
Normal file
239
src/stub/i386-dos32.djgpp2.h
Normal file
@ -0,0 +1,239 @@
|
||||
/* i386-dos32.djgpp2.h -- created from i386-dos32.djgpp2.bin, 3264 (0xcc0) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV_LOADER_SIZE 3264
|
||||
#define NRV_LOADER_ADLER32 0xe891ee39
|
||||
#define NRV_LOADER_CRC32 0x660f0858
|
||||
|
||||
unsigned char nrv_loader[3264] = {
|
||||
30, 7,190, 73, 78, 80, 80,191, 79, 85, 84, 80, 87,131,205,255, /* 0x 0 */
|
||||
235, 0,164,235, 0,138, 6, 70,136, 7, 71, 1,219,117, 7,139, /* 0x 10 */
|
||||
30,131,238,252, 17,219,114, 0, 49,192, 64,138, 7,114, 0,184, /* 0x 20 */
|
||||
1, 0, 0, 0, 1,219,117, 7,139, 30,131,238,252, 17,219, 17, /* 0x 30 */
|
||||
192, 1,219,117, 7,139, 30,131,238,252, 17,219,115, 0, 1,219, /* 0x 40 */
|
||||
115, 0,117, 9,139, 30,131,238,252, 17,219,115, 0, 49,201,131, /* 0x 50 */
|
||||
232, 3,114, 13,193,224, 8,138, 6, 70,131,240,255,116, 0,137, /* 0x 60 */
|
||||
197, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, 1,219, /* 0x 70 */
|
||||
117, 7,139, 30,131,238,252, 17,219, 17,201,117, 0, 65, 1,219, /* 0x 80 */
|
||||
117, 7,139, 30,131,238,252, 17,219, 17,201, 1,219,117, 7,139, /* 0x 90 */
|
||||
30,131,238,252, 17,219,115, 0, 1,219,115, 0,117, 9,139, 30, /* 0x a0 */
|
||||
131,238,252, 17,219,115, 0, 65, 65,131,193, 2,129,253, 0,243, /* 0x b0 */
|
||||
255,255,131,209, 1, 86,141, 52, 47,243,164, 94,233, 0, 0, 0, /* 0x c0 */
|
||||
0,141, 20, 47,131,253,252,138, 4, 15,118, 0,138, 2, 66,136, /* 0x d0 */
|
||||
7, 71, 73,117,247,233, 0, 0, 0, 0,139, 2,131,194, 4,137, /* 0x e0 */
|
||||
7,131,199, 4,131,233, 4,119,241, 1,207,233, 0, 0, 0, 0, /* 0x f0 */
|
||||
235, 0,164,235, 0,138, 6, 70,136, 7, 71, 1,219,117, 7,139, /* 0x 100 */
|
||||
30,131,238,252, 17,219,114, 0, 49,192, 64,138, 7,114, 0,184, /* 0x 110 */
|
||||
1, 0, 0, 0, 1,219,117, 7,139, 30,131,238,252, 17,219, 17, /* 0x 120 */
|
||||
192, 1,219,117, 7,139, 30,131,238,252, 17,219,114, 0, 1,219, /* 0x 130 */
|
||||
115, 11,117, 0,139, 30,131,238,252, 17,219,114, 0, 72, 1,219, /* 0x 140 */
|
||||
117, 7,139, 30,131,238,252, 17,219, 17,192,235, 0, 49,201,131, /* 0x 150 */
|
||||
232, 3,114, 17,193,224, 8,138, 6, 70,131,240,255,116, 0,209, /* 0x 160 */
|
||||
248,137,197,235, 11, 1,219,117, 7,139, 30,131,238,252, 17,219, /* 0x 170 */
|
||||
17,201, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201,117, /* 0x 180 */
|
||||
0, 65, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, 1, /* 0x 190 */
|
||||
219,117, 7,139, 30,131,238,252, 17,219,115, 0, 1,219,115, 0, /* 0x 1a0 */
|
||||
117, 9,139, 30,131,238,252, 17,219,115, 0, 65, 65,131,193, 2, /* 0x 1b0 */
|
||||
129,253, 0,251,255,255,131,209, 1, 86,141, 52, 47,243,164, 94, /* 0x 1c0 */
|
||||
233, 0, 0, 0, 0,141, 20, 47,131,253,252,138, 4, 15,118, 0, /* 0x 1d0 */
|
||||
138, 2, 66,136, 7, 71, 73,117,247,233, 0, 0, 0, 0,139, 2, /* 0x 1e0 */
|
||||
131,194, 4,137, 7,131,199, 4,131,233, 4,119,241, 1,207,233, /* 0x 1f0 */
|
||||
0, 0, 0, 0,235, 0,164,235, 0,138, 6, 70,136, 7, 71, 1, /* 0x 200 */
|
||||
219,117, 7,139, 30,131,238,252, 17,219,114, 0, 49,192, 64,138, /* 0x 210 */
|
||||
7,114, 0,184, 1, 0, 0, 0, 1,219,117, 7,139, 30,131,238, /* 0x 220 */
|
||||
252, 17,219, 17,192, 1,219,117, 7,139, 30,131,238,252, 17,219, /* 0x 230 */
|
||||
114, 0, 1,219,115, 11,117, 0,139, 30,131,238,252, 17,219,114, /* 0x 240 */
|
||||
0, 72, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,192,235, /* 0x 250 */
|
||||
0, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201,235, 0, /* 0x 260 */
|
||||
49,201,131,232, 3,114, 17,193,224, 8,138, 6, 70,131,240,255, /* 0x 270 */
|
||||
116, 0,209,248,137,197,235, 11, 1,219,117, 7,139, 30,131,238, /* 0x 280 */
|
||||
252, 17,219,114,204, 65, 1,219,117, 7,139, 30,131,238,252, 17, /* 0x 290 */
|
||||
219,114,190, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, /* 0x 2a0 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219,115, 0, 1,219,115, /* 0x 2b0 */
|
||||
0,117, 9,139, 30,131,238,252, 17,219,115, 0, 65, 65,131,193, /* 0x 2c0 */
|
||||
2,129,253, 0,251,255,255,131,209, 2, 86,141, 52, 47,243,164, /* 0x 2d0 */
|
||||
94,233, 0, 0, 0, 0,141, 20, 47,131,253,252,138, 4, 15,118, /* 0x 2e0 */
|
||||
0,138, 2, 66,136, 7, 71, 73,117,247,233, 0, 0, 0, 0,139, /* 0x 2f0 */
|
||||
2,131,194, 4,137, 7,131,199, 4,131,233, 4,119,241, 1,207, /* 0x 300 */
|
||||
233, 0, 0, 0, 0,185, 66, 83, 83, 76,243,171, 95,185, 84, 69, /* 0x 310 */
|
||||
88, 76,138, 7, 71, 44,232, 60, 1,119,247,128, 63, 63,117, 0, /* 0x 320 */
|
||||
139, 7,138, 95, 4,102,193,232, 8,134,196,193,192, 16,134,196, /* 0x 330 */
|
||||
41,248,128,235,232,137, 7,131,199, 5,136,216,226, 0,185, 84, /* 0x 340 */
|
||||
69, 88, 76,176,232,176,233,242,174,117, 0,128, 63, 63,117, 0, /* 0x 350 */
|
||||
139, 7,102,193,232, 8,134,196,193,192, 16,134,196, 41,248,171, /* 0x 360 */
|
||||
235, 0,104, 69, 78, 84, 82,195, 85, 80, 88, 33,161,216,208,213, /* 0x 370 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 380 */
|
||||
0, 0, 0, 0, 0, 0, 0, 45, 68, 74, 50, 77, 65, 73, 78, 49, /* 0x 390 */
|
||||
0, 0, 0, 0, 0, 68, 74, 67, 65, 76, 76, 84, 49, 0, 12, 0, /* 0x 3a0 */
|
||||
0, 0, 68, 74, 50, 77, 65, 73, 78, 50, 0, 13, 0, 0, 0, 78, /* 0x 3b0 */
|
||||
50, 66, 83, 77, 65, 49, 48, 0, 16, 0, 0, 0, 0, 0, 0, 0, /* 0x 3c0 */
|
||||
18, 0, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 4, 0, 0, /* 0x 3d0 */
|
||||
0, 78, 50, 66, 70, 65, 83, 49, 48, 0, 19, 0, 0, 0, 0, 0, /* 0x 3e0 */
|
||||
0, 0, 21, 0, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 4, /* 0x 3f0 */
|
||||
0, 0, 0, 78, 50, 66, 70, 65, 83, 49, 49, 0, 21, 0, 0, 0, /* 0x 400 */
|
||||
78, 50, 66, 68, 69, 67, 49, 48, 0, 27, 0, 0, 0, 78, 50, 66, /* 0x 410 */
|
||||
83, 77, 65, 50, 48, 0, 38, 0, 0, 0, 0, 0, 0, 0, 40, 0, /* 0x 420 */
|
||||
0, 0, 78, 50, 66, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, /* 0x 430 */
|
||||
50, 66, 70, 65, 83, 50, 48, 0, 43, 0, 0, 0, 0, 0, 0, 0, /* 0x 440 */
|
||||
47, 0, 0, 0, 78, 50, 66, 70, 65, 83, 49, 49, 0, 0, 0, 0, /* 0x 450 */
|
||||
0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 52, 0, 0, 0, 78, 50, /* 0x 460 */
|
||||
66, 83, 77, 65, 51, 48, 0, 65, 0, 0, 0, 0, 0, 0, 0, 78, /* 0x 470 */
|
||||
0, 0, 0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, /* 0x 480 */
|
||||
78, 50, 66, 70, 65, 83, 51, 48, 0, 78, 0, 0, 0, 0, 0, 0, /* 0x 490 */
|
||||
0, 82, 0, 0, 0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, /* 0x 4a0 */
|
||||
0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 78, 50, 66, 68, 69, 67, /* 0x 4b0 */
|
||||
50, 48, 0, 0, 0, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, /* 0x 4c0 */
|
||||
93, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0, 78, 50, 66, 68, /* 0x 4d0 */
|
||||
69, 67, 54, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 0, 0, /* 0x 4e0 */
|
||||
0, 78, 50, 66, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 78, 50, /* 0x 4f0 */
|
||||
66, 83, 77, 65, 52, 48, 0,155, 0, 0, 0, 0, 0, 0, 0,168, /* 0x 500 */
|
||||
0, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, /* 0x 510 */
|
||||
78, 50, 66, 70, 65, 83, 52, 48, 0,168, 0, 0, 0, 0, 0, 0, /* 0x 520 */
|
||||
0,172, 0, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, /* 0x 530 */
|
||||
0, 0, 0, 0, 0, 0,183, 0, 0, 0, 78, 50, 66, 68, 69, 67, /* 0x 540 */
|
||||
51, 48, 0, 49, 0, 0, 0, 78, 50, 66, 68, 85, 77, 77, 49, 0, /* 0x 550 */
|
||||
183, 0, 0, 0, 78, 50, 66, 83, 77, 65, 53, 48, 0,183, 0, 0, /* 0x 560 */
|
||||
0, 78, 50, 66, 70, 65, 83, 53, 48, 0,185, 0, 0, 0, 78, 50, /* 0x 570 */
|
||||
66, 68, 69, 67, 53, 48, 0,188, 0, 0, 0, 78, 50, 66, 83, 77, /* 0x 580 */
|
||||
65, 54, 48, 0,197, 0, 0, 0, 0, 0, 0, 0,209, 0, 0, 0, /* 0x 590 */
|
||||
78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 66, /* 0x 5a0 */
|
||||
70, 65, 83, 54, 48, 0,209, 0, 0, 0, 0, 0, 0, 0,220, 0, /* 0x 5b0 */
|
||||
0, 0, 78, 50, 66, 70, 65, 83, 54, 49, 0, 0, 0, 0, 0, 0, /* 0x 5c0 */
|
||||
0, 0, 0,234, 0, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, /* 0x 5d0 */
|
||||
0, 0, 0, 0, 78, 50, 66, 70, 65, 83, 54, 49, 0,234, 0, 0, /* 0x 5e0 */
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 78, 50, 66, 68, 69, 67, 49, /* 0x 5f0 */
|
||||
48, 0, 0, 0, 0, 0, 78, 50, 66, 68, 69, 67, 54, 48, 0, 0, /* 0x 600 */
|
||||
1, 0, 0, 78, 82, 86, 50, 66, 69, 78, 68, 0, 0, 1, 0, 0, /* 0x 610 */
|
||||
78, 50, 68, 83, 77, 65, 49, 48, 0, 0, 1, 0, 0, 0, 0, 0, /* 0x 620 */
|
||||
0, 2, 1, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 4, 0, /* 0x 630 */
|
||||
0, 0, 78, 50, 68, 70, 65, 83, 49, 48, 0, 3, 1, 0, 0, 0, /* 0x 640 */
|
||||
0, 0, 0, 5, 1, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, /* 0x 650 */
|
||||
4, 0, 0, 0, 78, 50, 68, 70, 65, 83, 49, 49, 0, 5, 1, 0, /* 0x 660 */
|
||||
0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 11, 1, 0, 0, 78, 50, /* 0x 670 */
|
||||
68, 83, 77, 65, 50, 48, 0, 22, 1, 0, 0, 0, 0, 0, 0, 24, /* 0x 680 */
|
||||
1, 0, 0, 78, 50, 68, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, /* 0x 690 */
|
||||
78, 50, 68, 70, 65, 83, 50, 48, 0, 27, 1, 0, 0, 0, 0, 0, /* 0x 6a0 */
|
||||
0, 31, 1, 0, 0, 78, 50, 68, 70, 65, 83, 49, 49, 0, 0, 0, /* 0x 6b0 */
|
||||
0, 0, 78, 50, 68, 68, 69, 67, 50, 48, 0, 36, 1, 0, 0, 78, /* 0x 6c0 */
|
||||
50, 68, 83, 77, 65, 51, 48, 0, 49, 1, 0, 0, 0, 0, 0, 0, /* 0x 6d0 */
|
||||
62, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, /* 0x 6e0 */
|
||||
0, 78, 50, 68, 70, 65, 83, 51, 48, 0, 62, 1, 0, 0, 0, 0, /* 0x 6f0 */
|
||||
0, 0, 68, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, /* 0x 700 */
|
||||
0, 0, 0, 0, 0, 0, 0, 77, 1, 0, 0, 78, 50, 68, 68, 69, /* 0x 710 */
|
||||
67, 51, 48, 0, 16, 0, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, /* 0x 720 */
|
||||
0, 77, 1, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 78, 50, 68, /* 0x 730 */
|
||||
68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 1, /* 0x 740 */
|
||||
0, 0, 78, 50, 68, 68, 69, 67, 54, 48, 0, 0, 0, 0, 0, 0, /* 0x 750 */
|
||||
0, 0, 0,145, 1, 0, 0, 78, 50, 68, 68, 69, 67, 53, 48, 0, /* 0x 760 */
|
||||
0, 0, 0, 0, 78, 50, 68, 83, 77, 65, 52, 48, 0,159, 1, 0, /* 0x 770 */
|
||||
0, 0, 0, 0, 0,172, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, /* 0x 780 */
|
||||
48, 0, 69, 0, 0, 0, 78, 50, 68, 70, 65, 83, 52, 48, 0,172, /* 0x 790 */
|
||||
1, 0, 0, 0, 0, 0, 0,176, 1, 0, 0, 78, 50, 68, 68, 69, /* 0x 7a0 */
|
||||
67, 51, 48, 0, 69, 0, 0, 0, 0, 0, 0, 0,187, 1, 0, 0, /* 0x 7b0 */
|
||||
78, 50, 68, 68, 69, 67, 51, 48, 0, 69, 0, 0, 0, 78, 50, 68, /* 0x 7c0 */
|
||||
68, 85, 77, 77, 49, 0,187, 1, 0, 0, 78, 50, 68, 83, 77, 65, /* 0x 7d0 */
|
||||
53, 48, 0,187, 1, 0, 0, 78, 50, 68, 70, 65, 83, 53, 48, 0, /* 0x 7e0 */
|
||||
189, 1, 0, 0, 78, 50, 68, 68, 69, 67, 53, 48, 0,192, 1, 0, /* 0x 7f0 */
|
||||
0, 78, 50, 68, 83, 77, 65, 54, 48, 0,201, 1, 0, 0, 0, 0, /* 0x 800 */
|
||||
0, 0,213, 1, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 0, /* 0x 810 */
|
||||
0, 0, 0, 78, 50, 68, 70, 65, 83, 54, 48, 0,213, 1, 0, 0, /* 0x 820 */
|
||||
0, 0, 0, 0,224, 1, 0, 0, 78, 50, 68, 70, 65, 83, 54, 49, /* 0x 830 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0,238, 1, 0, 0, 78, 50, 68, /* 0x 840 */
|
||||
68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 68, 70, 65, 83, /* 0x 850 */
|
||||
54, 49, 0,238, 1, 0, 0, 0, 0, 0, 0, 4, 2, 0, 0, 78, /* 0x 860 */
|
||||
50, 68, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 68, 68, /* 0x 870 */
|
||||
69, 67, 54, 48, 0, 4, 2, 0, 0, 78, 82, 86, 50, 68, 69, 78, /* 0x 880 */
|
||||
68, 0, 4, 2, 0, 0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 4, /* 0x 890 */
|
||||
2, 0, 0, 0, 0, 0, 0, 6, 2, 0, 0, 78, 50, 69, 68, 69, /* 0x 8a0 */
|
||||
67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 69, 70, 65, 83, 49, 48, /* 0x 8b0 */
|
||||
0, 7, 2, 0, 0, 0, 0, 0, 0, 9, 2, 0, 0, 78, 50, 69, /* 0x 8c0 */
|
||||
68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 69, 70, 65, 83, /* 0x 8d0 */
|
||||
49, 49, 0, 9, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, /* 0x 8e0 */
|
||||
15, 2, 0, 0, 78, 50, 69, 83, 77, 65, 50, 48, 0, 26, 2, 0, /* 0x 8f0 */
|
||||
0, 0, 0, 0, 0, 28, 2, 0, 0, 78, 50, 69, 83, 77, 65, 49, /* 0x 900 */
|
||||
48, 0, 2, 0, 0, 0, 78, 50, 69, 70, 65, 83, 50, 48, 0, 31, /* 0x 910 */
|
||||
2, 0, 0, 0, 0, 0, 0, 35, 2, 0, 0, 78, 50, 69, 70, 65, /* 0x 920 */
|
||||
83, 49, 49, 0, 0, 0, 0, 0, 78, 50, 69, 68, 69, 67, 50, 48, /* 0x 930 */
|
||||
0, 40, 2, 0, 0, 78, 50, 69, 83, 77, 65, 51, 48, 0, 53, 2, /* 0x 940 */
|
||||
0, 0, 0, 0, 0, 0, 66, 2, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x 950 */
|
||||
51, 48, 0, 31, 0, 0, 0, 78, 50, 69, 70, 65, 83, 51, 48, 0, /* 0x 960 */
|
||||
66, 2, 0, 0, 0, 0, 0, 0, 72, 2, 0, 0, 78, 50, 69, 68, /* 0x 970 */
|
||||
69, 67, 51, 48, 0, 31, 0, 0, 0, 0, 0, 0, 0, 81, 2, 0, /* 0x 980 */
|
||||
0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 31, 0, 0, 0, 78, 50, /* 0x 990 */
|
||||
69, 68, 69, 67, 51, 48, 0, 81, 2, 0, 0, 0, 0, 0, 0, 97, /* 0x 9a0 */
|
||||
2, 0, 0, 78, 50, 69, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, /* 0x 9b0 */
|
||||
0, 0, 0, 0,112, 2, 0, 0, 78, 50, 69, 68, 69, 67, 53, 48, /* 0x 9c0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0,130, 2, 0, 0, 78, 50, 69, /* 0x 9d0 */
|
||||
68, 69, 67, 54, 48, 0, 0, 0, 0, 0, 78, 50, 69, 83, 77, 65, /* 0x 9e0 */
|
||||
52, 48, 0,176, 2, 0, 0, 0, 0, 0, 0,189, 2, 0, 0, 78, /* 0x 9f0 */
|
||||
50, 69, 68, 69, 67, 51, 48, 0, 82, 0, 0, 0, 78, 50, 69, 70, /* 0x a00 */
|
||||
65, 83, 52, 48, 0,189, 2, 0, 0, 0, 0, 0, 0,193, 2, 0, /* 0x a10 */
|
||||
0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 82, 0, 0, 0, 0, 0, /* 0x a20 */
|
||||
0, 0,204, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 82, /* 0x a30 */
|
||||
0, 0, 0, 78, 50, 69, 68, 85, 77, 77, 49, 0,204, 2, 0, 0, /* 0x a40 */
|
||||
78, 50, 69, 83, 77, 65, 53, 48, 0,204, 2, 0, 0, 78, 50, 69, /* 0x a50 */
|
||||
70, 65, 83, 53, 48, 0,206, 2, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x a60 */
|
||||
53, 48, 0,209, 2, 0, 0, 78, 50, 69, 83, 77, 65, 54, 48, 0, /* 0x a70 */
|
||||
218, 2, 0, 0, 0, 0, 0, 0,230, 2, 0, 0, 78, 50, 69, 68, /* 0x a80 */
|
||||
69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, 70, 65, 83, 54, /* 0x a90 */
|
||||
48, 0,230, 2, 0, 0, 0, 0, 0, 0,241, 2, 0, 0, 78, 50, /* 0x aa0 */
|
||||
69, 70, 65, 83, 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, /* 0x ab0 */
|
||||
2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, /* 0x ac0 */
|
||||
78, 50, 69, 70, 65, 83, 54, 49, 0,255, 2, 0, 0, 0, 0, 0, /* 0x ad0 */
|
||||
0, 21, 3, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, /* 0x ae0 */
|
||||
0, 0, 78, 50, 69, 68, 69, 67, 54, 48, 0, 21, 3, 0, 0, 78, /* 0x af0 */
|
||||
82, 86, 50, 69, 69, 78, 68, 0, 21, 3, 0, 0, 68, 74, 50, 66, /* 0x b00 */
|
||||
83, 83, 48, 48, 0, 21, 3, 0, 0, 68, 74, 67, 65, 76, 76, 84, /* 0x b10 */
|
||||
50, 0, 28, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, 48, 0, 29, /* 0x b20 */
|
||||
3, 0, 0, 67, 84, 67, 76, 69, 86, 69, 49, 0, 43, 3, 0, 0, /* 0x b30 */
|
||||
0, 0, 0, 0, 48, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, 48, /* 0x b40 */
|
||||
0, 5, 0, 0, 0, 67, 65, 76, 76, 84, 82, 48, 49, 0, 48, 3, /* 0x b50 */
|
||||
0, 0, 67, 84, 68, 85, 77, 77, 89, 49, 0, 53, 3, 0, 0, 67, /* 0x b60 */
|
||||
84, 66, 83, 72, 82, 48, 49, 0, 53, 3, 0, 0, 67, 84, 66, 82, /* 0x b70 */
|
||||
79, 82, 48, 49, 0, 57, 3, 0, 0, 67, 84, 66, 83, 87, 65, 48, /* 0x b80 */
|
||||
49, 0, 59, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, 50, 0, 64, /* 0x b90 */
|
||||
3, 0, 0, 0, 0, 0, 0, 78, 3, 0, 0, 67, 65, 76, 76, 84, /* 0x ba0 */
|
||||
82, 48, 48, 0, 10, 0, 0, 0, 67, 65, 76, 76, 84, 82, 49, 48, /* 0x bb0 */
|
||||
0, 78, 3, 0, 0, 67, 65, 76, 76, 84, 82, 69, 56, 0, 83, 3, /* 0x bc0 */
|
||||
0, 0, 67, 65, 76, 76, 84, 82, 69, 57, 0, 85, 3, 0, 0, 67, /* 0x bd0 */
|
||||
65, 76, 76, 84, 82, 49, 49, 0, 87, 3, 0, 0, 0, 0, 0, 0, /* 0x be0 */
|
||||
91, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0, 5, 0, 0, /* 0x bf0 */
|
||||
0, 67, 84, 67, 76, 69, 86, 69, 50, 0, 91, 3, 0, 0, 0, 0, /* 0x c00 */
|
||||
0, 0, 96, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 49, 0, 0, /* 0x c10 */
|
||||
0, 0, 0, 67, 65, 76, 76, 84, 82, 49, 50, 0, 96, 3, 0, 0, /* 0x c20 */
|
||||
67, 84, 68, 85, 77, 77, 89, 50, 0, 98, 3, 0, 0, 67, 84, 66, /* 0x c30 */
|
||||
83, 72, 82, 49, 49, 0, 98, 3, 0, 0, 67, 84, 66, 82, 79, 82, /* 0x c40 */
|
||||
49, 49, 0,102, 3, 0, 0, 67, 84, 66, 83, 87, 65, 49, 49, 0, /* 0x c50 */
|
||||
104, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0,109, 3, 0, /* 0x c60 */
|
||||
0, 0, 0, 0, 0,114, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, /* 0x c70 */
|
||||
48, 0, 5, 0, 0, 0, 67, 84, 84, 72, 69, 69, 78, 68, 0,114, /* 0x c80 */
|
||||
3, 0, 0, 68, 74, 82, 69, 84, 85, 82, 78, 0,114, 3, 0, 0, /* 0x c90 */
|
||||
85, 80, 88, 49, 72, 69, 65, 68, 0,120, 3, 0, 0, 68, 74, 84, /* 0x ca0 */
|
||||
72, 69, 69, 78, 68, 0,152, 3, 0, 0,255,255,255,255,152, 3 /* 0x cb0 */
|
||||
};
|
||||
254
src/stub/i386-dos32.tmt.h
Normal file
254
src/stub/i386-dos32.tmt.h
Normal file
@ -0,0 +1,254 @@
|
||||
/* i386-dos32.tmt.h -- created from i386-dos32.tmt.bin, 3489 (0xda1) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV_LOADER_SIZE 3489
|
||||
#define NRV_LOADER_ADLER32 0x674637ee
|
||||
#define NRV_LOADER_CRC32 0x92862cce
|
||||
|
||||
unsigned char nrv_loader[3489] = {
|
||||
191, 0, 0, 0, 0, 87,141,183, 69, 83, 73, 48,141,191, 69, 68, /* 0x 0 */
|
||||
73, 48,185, 69, 67, 88, 48,253,243,164,252,141,119, 1, 95,131, /* 0x 10 */
|
||||
205,255, 87, 87,233, 74, 77, 80, 68, 85, 80, 88, 33,161,216,208, /* 0x 20 */
|
||||
213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 30 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 45,235, 0,164,235, 0,138, 6, /* 0x 40 */
|
||||
70,136, 7, 71, 1,219,117, 7,139, 30,131,238,252, 17,219,114, /* 0x 50 */
|
||||
0, 49,192, 64,138, 7,114, 0,184, 1, 0, 0, 0, 1,219,117, /* 0x 60 */
|
||||
7,139, 30,131,238,252, 17,219, 17,192, 1,219,117, 7,139, 30, /* 0x 70 */
|
||||
131,238,252, 17,219,115, 0, 1,219,115, 0,117, 9,139, 30,131, /* 0x 80 */
|
||||
238,252, 17,219,115, 0, 49,201,131,232, 3,114, 13,193,224, 8, /* 0x 90 */
|
||||
138, 6, 70,131,240,255,116, 0,137,197, 1,219,117, 7,139, 30, /* 0x a0 */
|
||||
131,238,252, 17,219, 17,201, 1,219,117, 7,139, 30,131,238,252, /* 0x b0 */
|
||||
17,219, 17,201,117, 0, 65, 1,219,117, 7,139, 30,131,238,252, /* 0x c0 */
|
||||
17,219, 17,201, 1,219,117, 7,139, 30,131,238,252, 17,219,115, /* 0x d0 */
|
||||
0, 1,219,115, 0,117, 9,139, 30,131,238,252, 17,219,115, 0, /* 0x e0 */
|
||||
65, 65,131,193, 2,129,253, 0,243,255,255,131,209, 1, 86,141, /* 0x f0 */
|
||||
52, 47,243,164, 94,233, 0, 0, 0, 0,141, 20, 47,131,253,252, /* 0x 100 */
|
||||
138, 4, 15,118, 0,138, 2, 66,136, 7, 71, 73,117,247,233, 0, /* 0x 110 */
|
||||
0, 0, 0,139, 2,131,194, 4,137, 7,131,199, 4,131,233, 4, /* 0x 120 */
|
||||
119,241, 1,207,233, 0, 0, 0, 0,235, 0,164,235, 0,138, 6, /* 0x 130 */
|
||||
70,136, 7, 71, 1,219,117, 7,139, 30,131,238,252, 17,219,114, /* 0x 140 */
|
||||
0, 49,192, 64,138, 7,114, 0,184, 1, 0, 0, 0, 1,219,117, /* 0x 150 */
|
||||
7,139, 30,131,238,252, 17,219, 17,192, 1,219,117, 7,139, 30, /* 0x 160 */
|
||||
131,238,252, 17,219,114, 0, 1,219,115, 11,117, 0,139, 30,131, /* 0x 170 */
|
||||
238,252, 17,219,114, 0, 72, 1,219,117, 7,139, 30,131,238,252, /* 0x 180 */
|
||||
17,219, 17,192,235, 0, 49,201,131,232, 3,114, 17,193,224, 8, /* 0x 190 */
|
||||
138, 6, 70,131,240,255,116, 0,209,248,137,197,235, 11, 1,219, /* 0x 1a0 */
|
||||
117, 7,139, 30,131,238,252, 17,219, 17,201, 1,219,117, 7,139, /* 0x 1b0 */
|
||||
30,131,238,252, 17,219, 17,201,117, 0, 65, 1,219,117, 7,139, /* 0x 1c0 */
|
||||
30,131,238,252, 17,219, 17,201, 1,219,117, 7,139, 30,131,238, /* 0x 1d0 */
|
||||
252, 17,219,115, 0, 1,219,115, 0,117, 9,139, 30,131,238,252, /* 0x 1e0 */
|
||||
17,219,115, 0, 65, 65,131,193, 2,129,253, 0,251,255,255,131, /* 0x 1f0 */
|
||||
209, 1, 86,141, 52, 47,243,164, 94,233, 0, 0, 0, 0,141, 20, /* 0x 200 */
|
||||
47,131,253,252,138, 4, 15,118, 0,138, 2, 66,136, 7, 71, 73, /* 0x 210 */
|
||||
117,247,233, 0, 0, 0, 0,139, 2,131,194, 4,137, 7,131,199, /* 0x 220 */
|
||||
4,131,233, 4,119,241, 1,207,233, 0, 0, 0, 0,235, 0,164, /* 0x 230 */
|
||||
235, 0,138, 6, 70,136, 7, 71, 1,219,117, 7,139, 30,131,238, /* 0x 240 */
|
||||
252, 17,219,114, 0, 49,192, 64,138, 7,114, 0,184, 1, 0, 0, /* 0x 250 */
|
||||
0, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,192, 1,219, /* 0x 260 */
|
||||
117, 7,139, 30,131,238,252, 17,219,114, 0, 1,219,115, 11,117, /* 0x 270 */
|
||||
0,139, 30,131,238,252, 17,219,114, 0, 72, 1,219,117, 7,139, /* 0x 280 */
|
||||
30,131,238,252, 17,219, 17,192,235, 0, 1,219,117, 7,139, 30, /* 0x 290 */
|
||||
131,238,252, 17,219, 17,201,235, 0, 49,201,131,232, 3,114, 17, /* 0x 2a0 */
|
||||
193,224, 8,138, 6, 70,131,240,255,116, 0,209,248,137,197,235, /* 0x 2b0 */
|
||||
11, 1,219,117, 7,139, 30,131,238,252, 17,219,114,204, 65, 1, /* 0x 2c0 */
|
||||
219,117, 7,139, 30,131,238,252, 17,219,114,190, 1,219,117, 7, /* 0x 2d0 */
|
||||
139, 30,131,238,252, 17,219, 17,201, 1,219,117, 7,139, 30,131, /* 0x 2e0 */
|
||||
238,252, 17,219,115, 0, 1,219,115, 0,117, 9,139, 30,131,238, /* 0x 2f0 */
|
||||
252, 17,219,115, 0, 65, 65,131,193, 2,129,253, 0,251,255,255, /* 0x 300 */
|
||||
131,209, 2, 86,141, 52, 47,243,164, 94,233, 0, 0, 0, 0,141, /* 0x 310 */
|
||||
20, 47,131,253,252,138, 4, 15,118, 0,138, 2, 66,136, 7, 71, /* 0x 320 */
|
||||
73,117,247,233, 0, 0, 0, 0,139, 2,131,194, 4,137, 7,131, /* 0x 330 */
|
||||
199, 4,131,233, 4,119,241, 1,207,233, 0, 0, 0, 0, 93,137, /* 0x 340 */
|
||||
254, 43,119,252, 95,185, 84, 69, 88, 76,138, 7, 71, 44,232, 60, /* 0x 350 */
|
||||
1,119,247,128, 63, 63,117, 0,139, 7,138, 95, 4,102,193,232, /* 0x 360 */
|
||||
8,134,196,193,192, 16,134,196, 41,248,128,235,232, 1,232,137, /* 0x 370 */
|
||||
7,131,199, 5,136,216,226, 0,185, 84, 69, 88, 76,176,232,176, /* 0x 380 */
|
||||
233,242,174,117, 0,128, 63, 63,117, 0,139, 7,102,193,232, 8, /* 0x 390 */
|
||||
134,196,193,192, 16,134,196, 41,248, 1,232,171,235, 0,141,125, /* 0x 3a0 */
|
||||
252, 49,192,138, 6, 70, 9,192,116, 0, 60,239,119, 17, 1,199, /* 0x 3b0 */
|
||||
139, 7,134,196,193,192, 16,134,196, 1,232,137, 7,235,226, 36, /* 0x 3c0 */
|
||||
15,193,224, 16,102,139, 6,131,198, 2, 9,192,117, 0,139, 6, /* 0x 3d0 */
|
||||
131,198, 4,235, 0,233, 74, 77, 80, 79, 0, 0, 84, 77, 84, 77, /* 0x 3e0 */
|
||||
65, 73, 78, 49, 0, 0, 0, 0, 0, 84, 77, 84, 67, 65, 76, 84, /* 0x 3f0 */
|
||||
49, 0, 35, 0, 0, 0, 84, 77, 84, 77, 65, 73, 78, 50, 0, 36, /* 0x 400 */
|
||||
0, 0, 0, 85, 80, 88, 49, 72, 69, 65, 68, 0, 41, 0, 0, 0, /* 0x 410 */
|
||||
84, 77, 84, 67, 85, 84, 80, 79, 0, 73, 0, 0, 0, 78, 50, 66, /* 0x 420 */
|
||||
83, 77, 65, 49, 48, 0, 73, 0, 0, 0, 0, 0, 0, 0, 75, 0, /* 0x 430 */
|
||||
0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, /* 0x 440 */
|
||||
50, 66, 70, 65, 83, 49, 48, 0, 76, 0, 0, 0, 0, 0, 0, 0, /* 0x 450 */
|
||||
78, 0, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 4, 0, 0, /* 0x 460 */
|
||||
0, 78, 50, 66, 70, 65, 83, 49, 49, 0, 78, 0, 0, 0, 78, 50, /* 0x 470 */
|
||||
66, 68, 69, 67, 49, 48, 0, 84, 0, 0, 0, 78, 50, 66, 83, 77, /* 0x 480 */
|
||||
65, 50, 48, 0, 95, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, /* 0x 490 */
|
||||
78, 50, 66, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 66, /* 0x 4a0 */
|
||||
70, 65, 83, 50, 48, 0,100, 0, 0, 0, 0, 0, 0, 0,104, 0, /* 0x 4b0 */
|
||||
0, 0, 78, 50, 66, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, /* 0x 4c0 */
|
||||
50, 66, 68, 69, 67, 50, 48, 0,109, 0, 0, 0, 78, 50, 66, 83, /* 0x 4d0 */
|
||||
77, 65, 51, 48, 0,122, 0, 0, 0, 0, 0, 0, 0,135, 0, 0, /* 0x 4e0 */
|
||||
0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 78, 50, /* 0x 4f0 */
|
||||
66, 70, 65, 83, 51, 48, 0,135, 0, 0, 0, 0, 0, 0, 0,139, /* 0x 500 */
|
||||
0, 0, 0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, /* 0x 510 */
|
||||
0, 0, 0, 0,150, 0, 0, 0, 78, 50, 66, 68, 69, 67, 50, 48, /* 0x 520 */
|
||||
0, 0, 0, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0,150, 0, /* 0x 530 */
|
||||
0, 0, 0, 0, 0, 0,168, 0, 0, 0, 78, 50, 66, 68, 69, 67, /* 0x 540 */
|
||||
54, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,198, 0, 0, 0, 78, /* 0x 550 */
|
||||
50, 66, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 78, 50, 66, 83, /* 0x 560 */
|
||||
77, 65, 52, 48, 0,212, 0, 0, 0, 0, 0, 0, 0,225, 0, 0, /* 0x 570 */
|
||||
0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 78, 50, /* 0x 580 */
|
||||
66, 70, 65, 83, 52, 48, 0,225, 0, 0, 0, 0, 0, 0, 0,229, /* 0x 590 */
|
||||
0, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, /* 0x 5a0 */
|
||||
0, 0, 0, 0,240, 0, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, /* 0x 5b0 */
|
||||
0, 49, 0, 0, 0, 78, 50, 66, 68, 85, 77, 77, 49, 0,240, 0, /* 0x 5c0 */
|
||||
0, 0, 78, 50, 66, 83, 77, 65, 53, 48, 0,240, 0, 0, 0, 78, /* 0x 5d0 */
|
||||
50, 66, 70, 65, 83, 53, 48, 0,242, 0, 0, 0, 78, 50, 66, 68, /* 0x 5e0 */
|
||||
69, 67, 53, 48, 0,245, 0, 0, 0, 78, 50, 66, 83, 77, 65, 54, /* 0x 5f0 */
|
||||
48, 0,254, 0, 0, 0, 0, 0, 0, 0, 10, 1, 0, 0, 78, 50, /* 0x 600 */
|
||||
66, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, 65, /* 0x 610 */
|
||||
83, 54, 48, 0, 10, 1, 0, 0, 0, 0, 0, 0, 21, 1, 0, 0, /* 0x 620 */
|
||||
78, 50, 66, 70, 65, 83, 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 630 */
|
||||
0, 35, 1, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, /* 0x 640 */
|
||||
0, 0, 78, 50, 66, 70, 65, 83, 54, 49, 0, 35, 1, 0, 0, 0, /* 0x 650 */
|
||||
0, 0, 0, 57, 1, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, /* 0x 660 */
|
||||
0, 0, 0, 0, 78, 50, 66, 68, 69, 67, 54, 48, 0, 57, 1, 0, /* 0x 670 */
|
||||
0, 78, 82, 86, 50, 66, 69, 78, 68, 0, 57, 1, 0, 0, 78, 50, /* 0x 680 */
|
||||
68, 83, 77, 65, 49, 48, 0, 57, 1, 0, 0, 0, 0, 0, 0, 59, /* 0x 690 */
|
||||
1, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, /* 0x 6a0 */
|
||||
78, 50, 68, 70, 65, 83, 49, 48, 0, 60, 1, 0, 0, 0, 0, 0, /* 0x 6b0 */
|
||||
0, 62, 1, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 4, 0, /* 0x 6c0 */
|
||||
0, 0, 78, 50, 68, 70, 65, 83, 49, 49, 0, 62, 1, 0, 0, 78, /* 0x 6d0 */
|
||||
50, 68, 68, 69, 67, 49, 48, 0, 68, 1, 0, 0, 78, 50, 68, 83, /* 0x 6e0 */
|
||||
77, 65, 50, 48, 0, 79, 1, 0, 0, 0, 0, 0, 0, 81, 1, 0, /* 0x 6f0 */
|
||||
0, 78, 50, 68, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, /* 0x 700 */
|
||||
68, 70, 65, 83, 50, 48, 0, 84, 1, 0, 0, 0, 0, 0, 0, 88, /* 0x 710 */
|
||||
1, 0, 0, 78, 50, 68, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, /* 0x 720 */
|
||||
78, 50, 68, 68, 69, 67, 50, 48, 0, 93, 1, 0, 0, 78, 50, 68, /* 0x 730 */
|
||||
83, 77, 65, 51, 48, 0,106, 1, 0, 0, 0, 0, 0, 0,119, 1, /* 0x 740 */
|
||||
0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, 78, /* 0x 750 */
|
||||
50, 68, 70, 65, 83, 51, 48, 0,119, 1, 0, 0, 0, 0, 0, 0, /* 0x 760 */
|
||||
125, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, /* 0x 770 */
|
||||
0, 0, 0, 0, 0,134, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, /* 0x 780 */
|
||||
48, 0, 16, 0, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0,134, /* 0x 790 */
|
||||
1, 0, 0, 0, 0, 0, 0,150, 1, 0, 0, 78, 50, 68, 68, 69, /* 0x 7a0 */
|
||||
67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 1, 0, 0, /* 0x 7b0 */
|
||||
78, 50, 68, 68, 69, 67, 54, 48, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 7c0 */
|
||||
0,202, 1, 0, 0, 78, 50, 68, 68, 69, 67, 53, 48, 0, 0, 0, /* 0x 7d0 */
|
||||
0, 0, 78, 50, 68, 83, 77, 65, 52, 48, 0,216, 1, 0, 0, 0, /* 0x 7e0 */
|
||||
0, 0, 0,229, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, /* 0x 7f0 */
|
||||
69, 0, 0, 0, 78, 50, 68, 70, 65, 83, 52, 48, 0,229, 1, 0, /* 0x 800 */
|
||||
0, 0, 0, 0, 0,233, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, /* 0x 810 */
|
||||
48, 0, 69, 0, 0, 0, 0, 0, 0, 0,244, 1, 0, 0, 78, 50, /* 0x 820 */
|
||||
68, 68, 69, 67, 51, 48, 0, 69, 0, 0, 0, 78, 50, 68, 68, 85, /* 0x 830 */
|
||||
77, 77, 49, 0,244, 1, 0, 0, 78, 50, 68, 83, 77, 65, 53, 48, /* 0x 840 */
|
||||
0,244, 1, 0, 0, 78, 50, 68, 70, 65, 83, 53, 48, 0,246, 1, /* 0x 850 */
|
||||
0, 0, 78, 50, 68, 68, 69, 67, 53, 48, 0,249, 1, 0, 0, 78, /* 0x 860 */
|
||||
50, 68, 83, 77, 65, 54, 48, 0, 2, 2, 0, 0, 0, 0, 0, 0, /* 0x 870 */
|
||||
14, 2, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 0, 0, 0, /* 0x 880 */
|
||||
0, 78, 50, 68, 70, 65, 83, 54, 48, 0, 14, 2, 0, 0, 0, 0, /* 0x 890 */
|
||||
0, 0, 25, 2, 0, 0, 78, 50, 68, 70, 65, 83, 54, 49, 0, 0, /* 0x 8a0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 39, 2, 0, 0, 78, 50, 68, 68, 69, /* 0x 8b0 */
|
||||
67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 68, 70, 65, 83, 54, 49, /* 0x 8c0 */
|
||||
0, 39, 2, 0, 0, 0, 0, 0, 0, 61, 2, 0, 0, 78, 50, 68, /* 0x 8d0 */
|
||||
68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 68, 68, 69, 67, /* 0x 8e0 */
|
||||
54, 48, 0, 61, 2, 0, 0, 78, 82, 86, 50, 68, 69, 78, 68, 0, /* 0x 8f0 */
|
||||
61, 2, 0, 0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 61, 2, 0, /* 0x 900 */
|
||||
0, 0, 0, 0, 0, 63, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, /* 0x 910 */
|
||||
48, 0, 4, 0, 0, 0, 78, 50, 69, 70, 65, 83, 49, 48, 0, 64, /* 0x 920 */
|
||||
2, 0, 0, 0, 0, 0, 0, 66, 2, 0, 0, 78, 50, 69, 68, 69, /* 0x 930 */
|
||||
67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, /* 0x 940 */
|
||||
0, 66, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 72, 2, /* 0x 950 */
|
||||
0, 0, 78, 50, 69, 83, 77, 65, 50, 48, 0, 83, 2, 0, 0, 0, /* 0x 960 */
|
||||
0, 0, 0, 85, 2, 0, 0, 78, 50, 69, 83, 77, 65, 49, 48, 0, /* 0x 970 */
|
||||
2, 0, 0, 0, 78, 50, 69, 70, 65, 83, 50, 48, 0, 88, 2, 0, /* 0x 980 */
|
||||
0, 0, 0, 0, 0, 92, 2, 0, 0, 78, 50, 69, 70, 65, 83, 49, /* 0x 990 */
|
||||
49, 0, 0, 0, 0, 0, 78, 50, 69, 68, 69, 67, 50, 48, 0, 97, /* 0x 9a0 */
|
||||
2, 0, 0, 78, 50, 69, 83, 77, 65, 51, 48, 0,110, 2, 0, 0, /* 0x 9b0 */
|
||||
0, 0, 0, 0,123, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, /* 0x 9c0 */
|
||||
0, 31, 0, 0, 0, 78, 50, 69, 70, 65, 83, 51, 48, 0,123, 2, /* 0x 9d0 */
|
||||
0, 0, 0, 0, 0, 0,129, 2, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x 9e0 */
|
||||
51, 48, 0, 31, 0, 0, 0, 0, 0, 0, 0,138, 2, 0, 0, 78, /* 0x 9f0 */
|
||||
50, 69, 68, 69, 67, 51, 48, 0, 31, 0, 0, 0, 78, 50, 69, 68, /* 0x a00 */
|
||||
69, 67, 51, 48, 0,138, 2, 0, 0, 0, 0, 0, 0,154, 2, 0, /* 0x a10 */
|
||||
0, 78, 50, 69, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, /* 0x a20 */
|
||||
0, 0,169, 2, 0, 0, 78, 50, 69, 68, 69, 67, 53, 48, 0, 0, /* 0x a30 */
|
||||
0, 0, 0, 0, 0, 0, 0,187, 2, 0, 0, 78, 50, 69, 68, 69, /* 0x a40 */
|
||||
67, 54, 48, 0, 0, 0, 0, 0, 78, 50, 69, 83, 77, 65, 52, 48, /* 0x a50 */
|
||||
0,233, 2, 0, 0, 0, 0, 0, 0,246, 2, 0, 0, 78, 50, 69, /* 0x a60 */
|
||||
68, 69, 67, 51, 48, 0, 82, 0, 0, 0, 78, 50, 69, 70, 65, 83, /* 0x a70 */
|
||||
52, 48, 0,246, 2, 0, 0, 0, 0, 0, 0,250, 2, 0, 0, 78, /* 0x a80 */
|
||||
50, 69, 68, 69, 67, 51, 48, 0, 82, 0, 0, 0, 0, 0, 0, 0, /* 0x a90 */
|
||||
5, 3, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 82, 0, 0, /* 0x aa0 */
|
||||
0, 78, 50, 69, 68, 85, 77, 77, 49, 0, 5, 3, 0, 0, 78, 50, /* 0x ab0 */
|
||||
69, 83, 77, 65, 53, 48, 0, 5, 3, 0, 0, 78, 50, 69, 70, 65, /* 0x ac0 */
|
||||
83, 53, 48, 0, 7, 3, 0, 0, 78, 50, 69, 68, 69, 67, 53, 48, /* 0x ad0 */
|
||||
0, 10, 3, 0, 0, 78, 50, 69, 83, 77, 65, 54, 48, 0, 19, 3, /* 0x ae0 */
|
||||
0, 0, 0, 0, 0, 0, 31, 3, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x af0 */
|
||||
49, 48, 0, 0, 0, 0, 0, 78, 50, 69, 70, 65, 83, 54, 48, 0, /* 0x b00 */
|
||||
31, 3, 0, 0, 0, 0, 0, 0, 42, 3, 0, 0, 78, 50, 69, 70, /* 0x b10 */
|
||||
65, 83, 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 3, 0, /* 0x b20 */
|
||||
0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, /* 0x b30 */
|
||||
69, 70, 65, 83, 54, 49, 0, 56, 3, 0, 0, 0, 0, 0, 0, 78, /* 0x b40 */
|
||||
3, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, /* 0x b50 */
|
||||
78, 50, 69, 68, 69, 67, 54, 48, 0, 78, 3, 0, 0, 78, 82, 86, /* 0x b60 */
|
||||
50, 69, 69, 78, 68, 0, 78, 3, 0, 0, 84, 77, 84, 77, 65, 73, /* 0x b70 */
|
||||
78, 53, 0, 78, 3, 0, 0, 84, 77, 84, 67, 65, 76, 84, 50, 0, /* 0x b80 */
|
||||
84, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, 48, 0, 85, 3, 0, /* 0x b90 */
|
||||
0, 67, 84, 67, 76, 69, 86, 69, 49, 0, 99, 3, 0, 0, 0, 0, /* 0x ba0 */
|
||||
0, 0,104, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, 48, 0, 5, /* 0x bb0 */
|
||||
0, 0, 0, 67, 65, 76, 76, 84, 82, 48, 49, 0,104, 3, 0, 0, /* 0x bc0 */
|
||||
67, 84, 68, 85, 77, 77, 89, 49, 0,109, 3, 0, 0, 67, 84, 66, /* 0x bd0 */
|
||||
83, 72, 82, 48, 49, 0,109, 3, 0, 0, 67, 84, 66, 82, 79, 82, /* 0x be0 */
|
||||
48, 49, 0,113, 3, 0, 0, 67, 84, 66, 83, 87, 65, 48, 49, 0, /* 0x bf0 */
|
||||
115, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, 50, 0,120, 3, 0, /* 0x c00 */
|
||||
0, 0, 0, 0, 0,136, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, /* 0x c10 */
|
||||
48, 0, 10, 0, 0, 0, 67, 65, 76, 76, 84, 82, 49, 48, 0,136, /* 0x c20 */
|
||||
3, 0, 0, 67, 65, 76, 76, 84, 82, 69, 56, 0,141, 3, 0, 0, /* 0x c30 */
|
||||
67, 65, 76, 76, 84, 82, 69, 57, 0,143, 3, 0, 0, 67, 65, 76, /* 0x c40 */
|
||||
76, 84, 82, 49, 49, 0,145, 3, 0, 0, 0, 0, 0, 0,149, 3, /* 0x c50 */
|
||||
0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0, 7, 0, 0, 0, 67, /* 0x c60 */
|
||||
84, 67, 76, 69, 86, 69, 50, 0,149, 3, 0, 0, 0, 0, 0, 0, /* 0x c70 */
|
||||
154, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 49, 0, 0, 0, 0, /* 0x c80 */
|
||||
0, 67, 65, 76, 76, 84, 82, 49, 50, 0,154, 3, 0, 0, 67, 84, /* 0x c90 */
|
||||
68, 85, 77, 77, 89, 50, 0,156, 3, 0, 0, 67, 84, 66, 83, 72, /* 0x ca0 */
|
||||
82, 49, 49, 0,156, 3, 0, 0, 67, 84, 66, 82, 79, 82, 49, 49, /* 0x cb0 */
|
||||
0,160, 3, 0, 0, 67, 84, 66, 83, 87, 65, 49, 49, 0,162, 3, /* 0x cc0 */
|
||||
0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0,167, 3, 0, 0, 0, /* 0x cd0 */
|
||||
0, 0, 0,174, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 48, 0, /* 0x ce0 */
|
||||
5, 0, 0, 0, 67, 84, 84, 72, 69, 69, 78, 68, 0,174, 3, 0, /* 0x cf0 */
|
||||
0, 84, 77, 84, 82, 69, 76, 79, 67, 0,174, 3, 0, 0, 82, 69, /* 0x d00 */
|
||||
76, 79, 67, 51, 50, 48, 0,177, 3, 0, 0, 0, 0, 0, 0,186, /* 0x d10 */
|
||||
3, 0, 0, 82, 69, 76, 79, 67, 51, 50, 74, 0, 2, 0, 0, 0, /* 0x d20 */
|
||||
82, 69, 76, 51, 50, 66, 73, 71, 0,218, 3, 0, 0, 0, 0, 0, /* 0x d30 */
|
||||
0,222, 3, 0, 0, 82, 69, 76, 79, 67, 51, 50, 48, 0, 13, 0, /* 0x d40 */
|
||||
0, 0, 82, 69, 76, 79, 67, 51, 50, 74, 0,227, 3, 0, 0, 0, /* 0x d50 */
|
||||
0, 0, 0,229, 3, 0, 0, 82, 69, 76, 79, 67, 51, 50, 48, 0, /* 0x d60 */
|
||||
13, 0, 0, 0, 82, 69, 76, 51, 50, 69, 78, 68, 0,229, 3, 0, /* 0x d70 */
|
||||
0, 84, 77, 84, 74, 85, 77, 80, 49, 0,229, 3, 0, 0, 84, 77, /* 0x d80 */
|
||||
84, 72, 69, 69, 78, 68, 0,234, 3, 0, 0,255,255,255,255,234, /* 0x d90 */
|
||||
3 /* 0x da0 */
|
||||
};
|
||||
259
src/stub/i386-dos32.watcom.le.h
Normal file
259
src/stub/i386-dos32.watcom.le.h
Normal file
@ -0,0 +1,259 @@
|
||||
/* i386-dos32.watcom.le.h -- created from i386-dos32.watcom.le.bin, 3577 (0xdf9) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV_LOADER_SIZE 3577
|
||||
#define NRV_LOADER_ADLER32 0x7df0575c
|
||||
#define NRV_LOADER_CRC32 0x76ea1fb5
|
||||
|
||||
unsigned char nrv_loader[3577] = {
|
||||
191, 97,108,105, 98,105, 87, 65, 84, 67, 79, 77, 6, 30, 7, 87, /* 0x 0 */
|
||||
141,183, 69, 83, 73, 48,141,191, 69, 68, 73, 48,185, 69, 67, 88, /* 0x 10 */
|
||||
48,253,243,165,252,141,119, 4, 95,131,205,255, 87,233, 74, 77, /* 0x 20 */
|
||||
80, 68, 85, 80, 88, 33,161,216,208,213, 0, 0, 0, 0, 0, 0, /* 0x 30 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 40 */
|
||||
0, 45,235, 0,164,235, 0,138, 6, 70,136, 7, 71, 1,219,117, /* 0x 50 */
|
||||
7,139, 30,131,238,252, 17,219,114, 0, 49,192, 64,138, 7,114, /* 0x 60 */
|
||||
0,184, 1, 0, 0, 0, 1,219,117, 7,139, 30,131,238,252, 17, /* 0x 70 */
|
||||
219, 17,192, 1,219,117, 7,139, 30,131,238,252, 17,219,115, 0, /* 0x 80 */
|
||||
1,219,115, 0,117, 9,139, 30,131,238,252, 17,219,115, 0, 49, /* 0x 90 */
|
||||
201,131,232, 3,114, 13,193,224, 8,138, 6, 70,131,240,255,116, /* 0x a0 */
|
||||
0,137,197, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, /* 0x b0 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219, 17,201,117, 0, 65, /* 0x c0 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, 1,219,117, /* 0x d0 */
|
||||
7,139, 30,131,238,252, 17,219,115, 0, 1,219,115, 0,117, 9, /* 0x e0 */
|
||||
139, 30,131,238,252, 17,219,115, 0, 65, 65,131,193, 2,129,253, /* 0x f0 */
|
||||
0,243,255,255,131,209, 1, 86,141, 52, 47,243,164, 94,233, 0, /* 0x 100 */
|
||||
0, 0, 0,141, 20, 47,131,253,252,138, 4, 15,118, 0,138, 2, /* 0x 110 */
|
||||
66,136, 7, 71, 73,117,247,233, 0, 0, 0, 0,139, 2,131,194, /* 0x 120 */
|
||||
4,137, 7,131,199, 4,131,233, 4,119,241, 1,207,233, 0, 0, /* 0x 130 */
|
||||
0, 0,235, 0,164,235, 0,138, 6, 70,136, 7, 71, 1,219,117, /* 0x 140 */
|
||||
7,139, 30,131,238,252, 17,219,114, 0, 49,192, 64,138, 7,114, /* 0x 150 */
|
||||
0,184, 1, 0, 0, 0, 1,219,117, 7,139, 30,131,238,252, 17, /* 0x 160 */
|
||||
219, 17,192, 1,219,117, 7,139, 30,131,238,252, 17,219,114, 0, /* 0x 170 */
|
||||
1,219,115, 11,117, 0,139, 30,131,238,252, 17,219,114, 0, 72, /* 0x 180 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219, 17,192,235, 0, 49, /* 0x 190 */
|
||||
201,131,232, 3,114, 17,193,224, 8,138, 6, 70,131,240,255,116, /* 0x 1a0 */
|
||||
0,209,248,137,197,235, 11, 1,219,117, 7,139, 30,131,238,252, /* 0x 1b0 */
|
||||
17,219, 17,201, 1,219,117, 7,139, 30,131,238,252, 17,219, 17, /* 0x 1c0 */
|
||||
201,117, 0, 65, 1,219,117, 7,139, 30,131,238,252, 17,219, 17, /* 0x 1d0 */
|
||||
201, 1,219,117, 7,139, 30,131,238,252, 17,219,115, 0, 1,219, /* 0x 1e0 */
|
||||
115, 0,117, 9,139, 30,131,238,252, 17,219,115, 0, 65, 65,131, /* 0x 1f0 */
|
||||
193, 2,129,253, 0,251,255,255,131,209, 1, 86,141, 52, 47,243, /* 0x 200 */
|
||||
164, 94,233, 0, 0, 0, 0,141, 20, 47,131,253,252,138, 4, 15, /* 0x 210 */
|
||||
118, 0,138, 2, 66,136, 7, 71, 73,117,247,233, 0, 0, 0, 0, /* 0x 220 */
|
||||
139, 2,131,194, 4,137, 7,131,199, 4,131,233, 4,119,241, 1, /* 0x 230 */
|
||||
207,233, 0, 0, 0, 0,235, 0,164,235, 0,138, 6, 70,136, 7, /* 0x 240 */
|
||||
71, 1,219,117, 7,139, 30,131,238,252, 17,219,114, 0, 49,192, /* 0x 250 */
|
||||
64,138, 7,114, 0,184, 1, 0, 0, 0, 1,219,117, 7,139, 30, /* 0x 260 */
|
||||
131,238,252, 17,219, 17,192, 1,219,117, 7,139, 30,131,238,252, /* 0x 270 */
|
||||
17,219,114, 0, 1,219,115, 11,117, 0,139, 30,131,238,252, 17, /* 0x 280 */
|
||||
219,114, 0, 72, 1,219,117, 7,139, 30,131,238,252, 17,219, 17, /* 0x 290 */
|
||||
192,235, 0, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, /* 0x 2a0 */
|
||||
235, 0, 49,201,131,232, 3,114, 17,193,224, 8,138, 6, 70,131, /* 0x 2b0 */
|
||||
240,255,116, 0,209,248,137,197,235, 11, 1,219,117, 7,139, 30, /* 0x 2c0 */
|
||||
131,238,252, 17,219,114,204, 65, 1,219,117, 7,139, 30,131,238, /* 0x 2d0 */
|
||||
252, 17,219,114,190, 1,219,117, 7,139, 30,131,238,252, 17,219, /* 0x 2e0 */
|
||||
17,201, 1,219,117, 7,139, 30,131,238,252, 17,219,115, 0, 1, /* 0x 2f0 */
|
||||
219,115, 0,117, 9,139, 30,131,238,252, 17,219,115, 0, 65, 65, /* 0x 300 */
|
||||
131,193, 2,129,253, 0,251,255,255,131,209, 2, 86,141, 52, 47, /* 0x 310 */
|
||||
243,164, 94,233, 0, 0, 0, 0,141, 20, 47,131,253,252,138, 4, /* 0x 320 */
|
||||
15,118, 0,138, 2, 66,136, 7, 71, 73,117,247,233, 0, 0, 0, /* 0x 330 */
|
||||
0,139, 2,131,194, 4,137, 7,131,199, 4,131,233, 4,119,241, /* 0x 340 */
|
||||
1,207,233, 0, 0, 0, 0, 93, 86,141,181, 82, 69, 76, 79, 86, /* 0x 350 */
|
||||
141,189, 84, 69, 88, 86,137,239,185, 84, 69, 88, 76,138, 7, 71, /* 0x 360 */
|
||||
44,232, 60, 1,119,247,128, 63, 63,117, 0,139, 7,138, 95, 4, /* 0x 370 */
|
||||
102,193,232, 8,134,196,193,192, 16,134,196, 41,248,128,235,232, /* 0x 380 */
|
||||
1,232,137, 7,131,199, 5,136,216,226, 0,185, 84, 69, 88, 76, /* 0x 390 */
|
||||
176,232,176,233,242,174,117, 0,128, 63, 63,117, 0,139, 7,102, /* 0x 3a0 */
|
||||
193,232, 8,134,196,193,192, 16,134,196, 41,248, 1,232,171,235, /* 0x 3b0 */
|
||||
0,141,125,252, 49,192,138, 6, 70, 9,192,116, 0, 60,239,119, /* 0x 3c0 */
|
||||
17, 1,199,139, 7,134,196,193,192, 16,134,196, 1,232,137, 7, /* 0x 3d0 */
|
||||
235,226, 36, 15,193,224, 16,102,139, 6,131,198, 2, 9,192,117, /* 0x 3e0 */
|
||||
0,139, 6,131,198, 4,235, 0,255,214, 95, 89, 41,249,193,233, /* 0x 3f0 */
|
||||
2,243,171, 7,141,165, 69, 83, 80, 48,233, 74, 77, 80, 79, 0, /* 0x 400 */
|
||||
87, 67, 76, 69, 77, 65, 73, 78, 0, 0, 0, 0, 0, 85, 80, 88, /* 0x 410 */
|
||||
49, 72, 69, 65, 68, 0, 50, 0, 0, 0, 87, 67, 76, 69, 67, 85, /* 0x 420 */
|
||||
84, 80, 0, 82, 0, 0, 0, 78, 50, 66, 83, 77, 65, 49, 48, 0, /* 0x 430 */
|
||||
82, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 78, 50, 66, 68, /* 0x 440 */
|
||||
69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 66, 70, 65, 83, 49, /* 0x 450 */
|
||||
48, 0, 85, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 78, 50, /* 0x 460 */
|
||||
66, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 66, 70, 65, /* 0x 470 */
|
||||
83, 49, 49, 0, 87, 0, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, /* 0x 480 */
|
||||
0, 93, 0, 0, 0, 78, 50, 66, 83, 77, 65, 50, 48, 0,104, 0, /* 0x 490 */
|
||||
0, 0, 0, 0, 0, 0,106, 0, 0, 0, 78, 50, 66, 83, 77, 65, /* 0x 4a0 */
|
||||
49, 48, 0, 2, 0, 0, 0, 78, 50, 66, 70, 65, 83, 50, 48, 0, /* 0x 4b0 */
|
||||
109, 0, 0, 0, 0, 0, 0, 0,113, 0, 0, 0, 78, 50, 66, 70, /* 0x 4c0 */
|
||||
65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, 66, 68, 69, 67, 50, /* 0x 4d0 */
|
||||
48, 0,118, 0, 0, 0, 78, 50, 66, 83, 77, 65, 51, 48, 0,131, /* 0x 4e0 */
|
||||
0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 78, 50, 66, 68, 69, /* 0x 4f0 */
|
||||
67, 50, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, 65, 83, 51, 48, /* 0x 500 */
|
||||
0,144, 0, 0, 0, 0, 0, 0, 0,148, 0, 0, 0, 78, 50, 66, /* 0x 510 */
|
||||
68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, /* 0x 520 */
|
||||
0, 0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 78, /* 0x 530 */
|
||||
50, 66, 68, 69, 67, 51, 48, 0,159, 0, 0, 0, 0, 0, 0, 0, /* 0x 540 */
|
||||
177, 0, 0, 0, 78, 50, 66, 68, 69, 67, 54, 48, 0, 0, 0, 0, /* 0x 550 */
|
||||
0, 0, 0, 0, 0,207, 0, 0, 0, 78, 50, 66, 68, 69, 67, 53, /* 0x 560 */
|
||||
48, 0, 0, 0, 0, 0, 78, 50, 66, 83, 77, 65, 52, 48, 0,221, /* 0x 570 */
|
||||
0, 0, 0, 0, 0, 0, 0,234, 0, 0, 0, 78, 50, 66, 68, 69, /* 0x 580 */
|
||||
67, 51, 48, 0, 49, 0, 0, 0, 78, 50, 66, 70, 65, 83, 52, 48, /* 0x 590 */
|
||||
0,234, 0, 0, 0, 0, 0, 0, 0,238, 0, 0, 0, 78, 50, 66, /* 0x 5a0 */
|
||||
68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0,249, 0, /* 0x 5b0 */
|
||||
0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 78, /* 0x 5c0 */
|
||||
50, 66, 68, 85, 77, 77, 49, 0,249, 0, 0, 0, 78, 50, 66, 83, /* 0x 5d0 */
|
||||
77, 65, 53, 48, 0,249, 0, 0, 0, 78, 50, 66, 70, 65, 83, 53, /* 0x 5e0 */
|
||||
48, 0,251, 0, 0, 0, 78, 50, 66, 68, 69, 67, 53, 48, 0,254, /* 0x 5f0 */
|
||||
0, 0, 0, 78, 50, 66, 83, 77, 65, 54, 48, 0, 7, 1, 0, 0, /* 0x 600 */
|
||||
0, 0, 0, 0, 19, 1, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, /* 0x 610 */
|
||||
0, 0, 0, 0, 0, 78, 50, 66, 70, 65, 83, 54, 48, 0, 19, 1, /* 0x 620 */
|
||||
0, 0, 0, 0, 0, 0, 30, 1, 0, 0, 78, 50, 66, 70, 65, 83, /* 0x 630 */
|
||||
54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 0, 0, 78, /* 0x 640 */
|
||||
50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, /* 0x 650 */
|
||||
65, 83, 54, 49, 0, 44, 1, 0, 0, 0, 0, 0, 0, 66, 1, 0, /* 0x 660 */
|
||||
0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, /* 0x 670 */
|
||||
66, 68, 69, 67, 54, 48, 0, 66, 1, 0, 0, 78, 82, 86, 50, 66, /* 0x 680 */
|
||||
69, 78, 68, 0, 66, 1, 0, 0, 78, 50, 68, 83, 77, 65, 49, 48, /* 0x 690 */
|
||||
0, 66, 1, 0, 0, 0, 0, 0, 0, 68, 1, 0, 0, 78, 50, 68, /* 0x 6a0 */
|
||||
68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 68, 70, 65, 83, /* 0x 6b0 */
|
||||
49, 48, 0, 69, 1, 0, 0, 0, 0, 0, 0, 71, 1, 0, 0, 78, /* 0x 6c0 */
|
||||
50, 68, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 68, 70, /* 0x 6d0 */
|
||||
65, 83, 49, 49, 0, 71, 1, 0, 0, 78, 50, 68, 68, 69, 67, 49, /* 0x 6e0 */
|
||||
48, 0, 77, 1, 0, 0, 78, 50, 68, 83, 77, 65, 50, 48, 0, 88, /* 0x 6f0 */
|
||||
1, 0, 0, 0, 0, 0, 0, 90, 1, 0, 0, 78, 50, 68, 83, 77, /* 0x 700 */
|
||||
65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 68, 70, 65, 83, 50, 48, /* 0x 710 */
|
||||
0, 93, 1, 0, 0, 0, 0, 0, 0, 97, 1, 0, 0, 78, 50, 68, /* 0x 720 */
|
||||
70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, 68, 68, 69, 67, /* 0x 730 */
|
||||
50, 48, 0,102, 1, 0, 0, 78, 50, 68, 83, 77, 65, 51, 48, 0, /* 0x 740 */
|
||||
115, 1, 0, 0, 0, 0, 0, 0,128, 1, 0, 0, 78, 50, 68, 68, /* 0x 750 */
|
||||
69, 67, 51, 48, 0, 16, 0, 0, 0, 78, 50, 68, 70, 65, 83, 51, /* 0x 760 */
|
||||
48, 0,128, 1, 0, 0, 0, 0, 0, 0,134, 1, 0, 0, 78, 50, /* 0x 770 */
|
||||
68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, 0, 0, 0, 0,143, /* 0x 780 */
|
||||
1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, /* 0x 790 */
|
||||
78, 50, 68, 68, 69, 67, 51, 48, 0,143, 1, 0, 0, 0, 0, 0, /* 0x 7a0 */
|
||||
0,159, 1, 0, 0, 78, 50, 68, 68, 69, 67, 50, 48, 0, 0, 0, /* 0x 7b0 */
|
||||
0, 0, 0, 0, 0, 0,177, 1, 0, 0, 78, 50, 68, 68, 69, 67, /* 0x 7c0 */
|
||||
54, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,211, 1, 0, 0, 78, /* 0x 7d0 */
|
||||
50, 68, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 78, 50, 68, 83, /* 0x 7e0 */
|
||||
77, 65, 52, 48, 0,225, 1, 0, 0, 0, 0, 0, 0,238, 1, 0, /* 0x 7f0 */
|
||||
0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 69, 0, 0, 0, 78, 50, /* 0x 800 */
|
||||
68, 70, 65, 83, 52, 48, 0,238, 1, 0, 0, 0, 0, 0, 0,242, /* 0x 810 */
|
||||
1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 69, 0, 0, 0, /* 0x 820 */
|
||||
0, 0, 0, 0,253, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, /* 0x 830 */
|
||||
0, 69, 0, 0, 0, 78, 50, 68, 68, 85, 77, 77, 49, 0,253, 1, /* 0x 840 */
|
||||
0, 0, 78, 50, 68, 83, 77, 65, 53, 48, 0,253, 1, 0, 0, 78, /* 0x 850 */
|
||||
50, 68, 70, 65, 83, 53, 48, 0,255, 1, 0, 0, 78, 50, 68, 68, /* 0x 860 */
|
||||
69, 67, 53, 48, 0, 2, 2, 0, 0, 78, 50, 68, 83, 77, 65, 54, /* 0x 870 */
|
||||
48, 0, 11, 2, 0, 0, 0, 0, 0, 0, 23, 2, 0, 0, 78, 50, /* 0x 880 */
|
||||
68, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 68, 70, 65, /* 0x 890 */
|
||||
83, 54, 48, 0, 23, 2, 0, 0, 0, 0, 0, 0, 34, 2, 0, 0, /* 0x 8a0 */
|
||||
78, 50, 68, 70, 65, 83, 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 8b0 */
|
||||
0, 48, 2, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 0, 0, /* 0x 8c0 */
|
||||
0, 0, 78, 50, 68, 70, 65, 83, 54, 49, 0, 48, 2, 0, 0, 0, /* 0x 8d0 */
|
||||
0, 0, 0, 70, 2, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, /* 0x 8e0 */
|
||||
0, 0, 0, 0, 78, 50, 68, 68, 69, 67, 54, 48, 0, 70, 2, 0, /* 0x 8f0 */
|
||||
0, 78, 82, 86, 50, 68, 69, 78, 68, 0, 70, 2, 0, 0, 78, 50, /* 0x 900 */
|
||||
69, 83, 77, 65, 49, 48, 0, 70, 2, 0, 0, 0, 0, 0, 0, 72, /* 0x 910 */
|
||||
2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, /* 0x 920 */
|
||||
78, 50, 69, 70, 65, 83, 49, 48, 0, 73, 2, 0, 0, 0, 0, 0, /* 0x 930 */
|
||||
0, 75, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 4, 0, /* 0x 940 */
|
||||
0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, 75, 2, 0, 0, 78, /* 0x 950 */
|
||||
50, 69, 68, 69, 67, 49, 48, 0, 81, 2, 0, 0, 78, 50, 69, 83, /* 0x 960 */
|
||||
77, 65, 50, 48, 0, 92, 2, 0, 0, 0, 0, 0, 0, 94, 2, 0, /* 0x 970 */
|
||||
0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, /* 0x 980 */
|
||||
69, 70, 65, 83, 50, 48, 0, 97, 2, 0, 0, 0, 0, 0, 0,101, /* 0x 990 */
|
||||
2, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, /* 0x 9a0 */
|
||||
78, 50, 69, 68, 69, 67, 50, 48, 0,106, 2, 0, 0, 78, 50, 69, /* 0x 9b0 */
|
||||
83, 77, 65, 51, 48, 0,119, 2, 0, 0, 0, 0, 0, 0,132, 2, /* 0x 9c0 */
|
||||
0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 31, 0, 0, 0, 78, /* 0x 9d0 */
|
||||
50, 69, 70, 65, 83, 51, 48, 0,132, 2, 0, 0, 0, 0, 0, 0, /* 0x 9e0 */
|
||||
138, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 31, 0, 0, /* 0x 9f0 */
|
||||
0, 0, 0, 0, 0,147, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, /* 0x a00 */
|
||||
48, 0, 31, 0, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0,147, /* 0x a10 */
|
||||
2, 0, 0, 0, 0, 0, 0,163, 2, 0, 0, 78, 50, 69, 68, 69, /* 0x a20 */
|
||||
67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,178, 2, 0, 0, /* 0x a30 */
|
||||
78, 50, 69, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x a40 */
|
||||
0,196, 2, 0, 0, 78, 50, 69, 68, 69, 67, 54, 48, 0, 0, 0, /* 0x a50 */
|
||||
0, 0, 78, 50, 69, 83, 77, 65, 52, 48, 0,242, 2, 0, 0, 0, /* 0x a60 */
|
||||
0, 0, 0,255, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, /* 0x a70 */
|
||||
82, 0, 0, 0, 78, 50, 69, 70, 65, 83, 52, 48, 0,255, 2, 0, /* 0x a80 */
|
||||
0, 0, 0, 0, 0, 3, 3, 0, 0, 78, 50, 69, 68, 69, 67, 51, /* 0x a90 */
|
||||
48, 0, 82, 0, 0, 0, 0, 0, 0, 0, 14, 3, 0, 0, 78, 50, /* 0x aa0 */
|
||||
69, 68, 69, 67, 51, 48, 0, 82, 0, 0, 0, 78, 50, 69, 68, 85, /* 0x ab0 */
|
||||
77, 77, 49, 0, 14, 3, 0, 0, 78, 50, 69, 83, 77, 65, 53, 48, /* 0x ac0 */
|
||||
0, 14, 3, 0, 0, 78, 50, 69, 70, 65, 83, 53, 48, 0, 16, 3, /* 0x ad0 */
|
||||
0, 0, 78, 50, 69, 68, 69, 67, 53, 48, 0, 19, 3, 0, 0, 78, /* 0x ae0 */
|
||||
50, 69, 83, 77, 65, 54, 48, 0, 28, 3, 0, 0, 0, 0, 0, 0, /* 0x af0 */
|
||||
40, 3, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, 0, /* 0x b00 */
|
||||
0, 78, 50, 69, 70, 65, 83, 54, 48, 0, 40, 3, 0, 0, 0, 0, /* 0x b10 */
|
||||
0, 0, 51, 3, 0, 0, 78, 50, 69, 70, 65, 83, 54, 49, 0, 0, /* 0x b20 */
|
||||
0, 0, 0, 0, 0, 0, 0, 65, 3, 0, 0, 78, 50, 69, 68, 69, /* 0x b30 */
|
||||
67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, 70, 65, 83, 54, 49, /* 0x b40 */
|
||||
0, 65, 3, 0, 0, 0, 0, 0, 0, 87, 3, 0, 0, 78, 50, 69, /* 0x b50 */
|
||||
68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x b60 */
|
||||
54, 48, 0, 87, 3, 0, 0, 78, 82, 86, 50, 69, 69, 78, 68, 0, /* 0x b70 */
|
||||
87, 3, 0, 0, 87, 67, 76, 69, 77, 65, 73, 50, 0, 87, 3, 0, /* 0x b80 */
|
||||
0, 87, 67, 65, 76, 76, 84, 82, 73, 0, 96, 3, 0, 0, 87, 67, /* 0x b90 */
|
||||
67, 84, 84, 80, 79, 83, 0, 96, 3, 0, 0, 87, 67, 67, 84, 84, /* 0x ba0 */
|
||||
78, 85, 76, 0,102, 3, 0, 0, 87, 67, 65, 76, 76, 84, 82, 49, /* 0x bb0 */
|
||||
0,104, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, 48, 0,104, 3, /* 0x bc0 */
|
||||
0, 0, 67, 84, 67, 76, 69, 86, 69, 49, 0,118, 3, 0, 0, 0, /* 0x bd0 */
|
||||
0, 0, 0,123, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, 48, 0, /* 0x be0 */
|
||||
5, 0, 0, 0, 67, 65, 76, 76, 84, 82, 48, 49, 0,123, 3, 0, /* 0x bf0 */
|
||||
0, 67, 84, 68, 85, 77, 77, 89, 49, 0,128, 3, 0, 0, 67, 84, /* 0x c00 */
|
||||
66, 83, 72, 82, 48, 49, 0,128, 3, 0, 0, 67, 84, 66, 82, 79, /* 0x c10 */
|
||||
82, 48, 49, 0,132, 3, 0, 0, 67, 84, 66, 83, 87, 65, 48, 49, /* 0x c20 */
|
||||
0,134, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, 50, 0,139, 3, /* 0x c30 */
|
||||
0, 0, 0, 0, 0, 0,155, 3, 0, 0, 67, 65, 76, 76, 84, 82, /* 0x c40 */
|
||||
48, 48, 0, 10, 0, 0, 0, 67, 65, 76, 76, 84, 82, 49, 48, 0, /* 0x c50 */
|
||||
155, 3, 0, 0, 67, 65, 76, 76, 84, 82, 69, 56, 0,160, 3, 0, /* 0x c60 */
|
||||
0, 67, 65, 76, 76, 84, 82, 69, 57, 0,162, 3, 0, 0, 67, 65, /* 0x c70 */
|
||||
76, 76, 84, 82, 49, 49, 0,164, 3, 0, 0, 0, 0, 0, 0,168, /* 0x c80 */
|
||||
3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0, 7, 0, 0, 0, /* 0x c90 */
|
||||
67, 84, 67, 76, 69, 86, 69, 50, 0,168, 3, 0, 0, 0, 0, 0, /* 0x ca0 */
|
||||
0,173, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 49, 0, 0, 0, /* 0x cb0 */
|
||||
0, 0, 67, 65, 76, 76, 84, 82, 49, 50, 0,173, 3, 0, 0, 67, /* 0x cc0 */
|
||||
84, 68, 85, 77, 77, 89, 50, 0,175, 3, 0, 0, 67, 84, 66, 83, /* 0x cd0 */
|
||||
72, 82, 49, 49, 0,175, 3, 0, 0, 67, 84, 66, 82, 79, 82, 49, /* 0x ce0 */
|
||||
49, 0,179, 3, 0, 0, 67, 84, 66, 83, 87, 65, 49, 49, 0,181, /* 0x cf0 */
|
||||
3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0,186, 3, 0, 0, /* 0x d00 */
|
||||
0, 0, 0, 0,193, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 48, /* 0x d10 */
|
||||
0, 5, 0, 0, 0, 67, 84, 84, 72, 69, 69, 78, 68, 0,193, 3, /* 0x d20 */
|
||||
0, 0, 87, 67, 68, 85, 77, 77, 89, 49, 0,193, 3, 0, 0, 87, /* 0x d30 */
|
||||
67, 82, 69, 76, 79, 67, 49, 0,193, 3, 0, 0, 82, 69, 76, 79, /* 0x d40 */
|
||||
67, 51, 50, 48, 0,196, 3, 0, 0, 0, 0, 0, 0,205, 3, 0, /* 0x d50 */
|
||||
0, 82, 69, 76, 79, 67, 51, 50, 74, 0, 2, 0, 0, 0, 82, 69, /* 0x d60 */
|
||||
76, 51, 50, 66, 73, 71, 0,237, 3, 0, 0, 0, 0, 0, 0,241, /* 0x d70 */
|
||||
3, 0, 0, 82, 69, 76, 79, 67, 51, 50, 48, 0, 13, 0, 0, 0, /* 0x d80 */
|
||||
82, 69, 76, 79, 67, 51, 50, 74, 0,246, 3, 0, 0, 0, 0, 0, /* 0x d90 */
|
||||
0,248, 3, 0, 0, 82, 69, 76, 79, 67, 51, 50, 48, 0, 13, 0, /* 0x da0 */
|
||||
0, 0, 82, 69, 76, 51, 50, 69, 78, 68, 0,248, 3, 0, 0, 87, /* 0x db0 */
|
||||
67, 68, 85, 77, 77, 89, 50, 0,248, 3, 0, 0, 87, 67, 82, 69, /* 0x dc0 */
|
||||
76, 83, 69, 76, 0,248, 3, 0, 0, 87, 67, 76, 69, 77, 65, 73, /* 0x dd0 */
|
||||
52, 0,250, 3, 0, 0, 87, 67, 84, 72, 69, 69, 78, 68, 0, 15, /* 0x de0 */
|
||||
4, 0, 0,255,255,255,255, 15, 4 /* 0x df0 */
|
||||
};
|
||||
370
src/stub/i386-linux.elf-entry.h
Normal file
370
src/stub/i386-linux.elf-entry.h
Normal file
@ -0,0 +1,370 @@
|
||||
/* i386-linux.elf-entry.h -- created from i386-linux.elf-entry.bin, 5353 (0x14e9) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define LINUX_I386ELF_LOADER_SIZE 5353
|
||||
#define LINUX_I386ELF_LOADER_ADLER32 0x73ead289
|
||||
#define LINUX_I386ELF_LOADER_CRC32 0x30e5b9ec
|
||||
|
||||
unsigned char linux_i386elf_loader[5353] = {
|
||||
232, 0, 0, 0, 0, 96,106, 63,139,116, 36, 40,139,124, 36, 48, /* 0x 0 */
|
||||
131,205,255,235, 0,164,235, 0,138, 6, 70,136, 7, 71, 1,219, /* 0x 10 */
|
||||
117, 7,139, 30,131,238,252, 17,219,114, 0, 49,192, 64,138, 7, /* 0x 20 */
|
||||
114, 0,184, 1, 0, 0, 0, 1,219,117, 7,139, 30,131,238,252, /* 0x 30 */
|
||||
17,219, 17,192, 1,219,117, 7,139, 30,131,238,252, 17,219,115, /* 0x 40 */
|
||||
0, 1,219,115, 0,117, 9,139, 30,131,238,252, 17,219,115, 0, /* 0x 50 */
|
||||
49,201,131,232, 3,114, 13,193,224, 8,138, 6, 70,131,240,255, /* 0x 60 */
|
||||
116, 0,137,197, 1,219,117, 7,139, 30,131,238,252, 17,219, 17, /* 0x 70 */
|
||||
201, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201,117, 0, /* 0x 80 */
|
||||
65, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, 1,219, /* 0x 90 */
|
||||
117, 7,139, 30,131,238,252, 17,219,115, 0, 1,219,115, 0,117, /* 0x a0 */
|
||||
9,139, 30,131,238,252, 17,219,115, 0, 65, 65,131,193, 2,129, /* 0x b0 */
|
||||
253, 0,243,255,255,131,209, 1, 86,141, 52, 47,243,164, 94,233, /* 0x c0 */
|
||||
0, 0, 0, 0,141, 20, 47,131,253,252,138, 4, 15,118, 0,138, /* 0x d0 */
|
||||
2, 66,136, 7, 71, 73,117,247,233, 0, 0, 0, 0,139, 2,131, /* 0x e0 */
|
||||
194, 4,137, 7,131,199, 4,131,233, 4,119,241, 1,207,233, 0, /* 0x f0 */
|
||||
0, 0, 0,235, 0,164,235, 0,138, 6, 70,136, 7, 71, 1,219, /* 0x 100 */
|
||||
117, 7,139, 30,131,238,252, 17,219,114, 0, 49,192, 64,138, 7, /* 0x 110 */
|
||||
114, 0,184, 1, 0, 0, 0, 1,219,117, 7,139, 30,131,238,252, /* 0x 120 */
|
||||
17,219, 17,192, 1,219,117, 7,139, 30,131,238,252, 17,219,114, /* 0x 130 */
|
||||
0, 1,219,115, 11,117, 0,139, 30,131,238,252, 17,219,114, 0, /* 0x 140 */
|
||||
72, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,192,235, 0, /* 0x 150 */
|
||||
49,201,131,232, 3,114, 17,193,224, 8,138, 6, 70,131,240,255, /* 0x 160 */
|
||||
116, 0,209,248,137,197,235, 11, 1,219,117, 7,139, 30,131,238, /* 0x 170 */
|
||||
252, 17,219, 17,201, 1,219,117, 7,139, 30,131,238,252, 17,219, /* 0x 180 */
|
||||
17,201,117, 0, 65, 1,219,117, 7,139, 30,131,238,252, 17,219, /* 0x 190 */
|
||||
17,201, 1,219,117, 7,139, 30,131,238,252, 17,219,115, 0, 1, /* 0x 1a0 */
|
||||
219,115, 0,117, 9,139, 30,131,238,252, 17,219,115, 0, 65, 65, /* 0x 1b0 */
|
||||
131,193, 2,129,253, 0,251,255,255,131,209, 1, 86,141, 52, 47, /* 0x 1c0 */
|
||||
243,164, 94,233, 0, 0, 0, 0,141, 20, 47,131,253,252,138, 4, /* 0x 1d0 */
|
||||
15,118, 0,138, 2, 66,136, 7, 71, 73,117,247,233, 0, 0, 0, /* 0x 1e0 */
|
||||
0,139, 2,131,194, 4,137, 7,131,199, 4,131,233, 4,119,241, /* 0x 1f0 */
|
||||
1,207,233, 0, 0, 0, 0,235, 0,164,235, 0,138, 6, 70,136, /* 0x 200 */
|
||||
7, 71, 1,219,117, 7,139, 30,131,238,252, 17,219,114, 0, 49, /* 0x 210 */
|
||||
192, 64,138, 7,114, 0,184, 1, 0, 0, 0, 1,219,117, 7,139, /* 0x 220 */
|
||||
30,131,238,252, 17,219, 17,192, 1,219,117, 7,139, 30,131,238, /* 0x 230 */
|
||||
252, 17,219,114, 0, 1,219,115, 11,117, 0,139, 30,131,238,252, /* 0x 240 */
|
||||
17,219,114, 0, 72, 1,219,117, 7,139, 30,131,238,252, 17,219, /* 0x 250 */
|
||||
17,192,235, 0, 1,219,117, 7,139, 30,131,238,252, 17,219, 17, /* 0x 260 */
|
||||
201,235, 0, 49,201,131,232, 3,114, 17,193,224, 8,138, 6, 70, /* 0x 270 */
|
||||
131,240,255,116, 0,209,248,137,197,235, 11, 1,219,117, 7,139, /* 0x 280 */
|
||||
30,131,238,252, 17,219,114,204, 65, 1,219,117, 7,139, 30,131, /* 0x 290 */
|
||||
238,252, 17,219,114,190, 1,219,117, 7,139, 30,131,238,252, 17, /* 0x 2a0 */
|
||||
219, 17,201, 1,219,117, 7,139, 30,131,238,252, 17,219,115, 0, /* 0x 2b0 */
|
||||
1,219,115, 0,117, 9,139, 30,131,238,252, 17,219,115, 0, 65, /* 0x 2c0 */
|
||||
65,131,193, 2,129,253, 0,251,255,255,131,209, 2, 86,141, 52, /* 0x 2d0 */
|
||||
47,243,164, 94,233, 0, 0, 0, 0,141, 20, 47,131,253,252,138, /* 0x 2e0 */
|
||||
4, 15,118, 0,138, 2, 66,136, 7, 71, 73,117,247,233, 0, 0, /* 0x 2f0 */
|
||||
0, 0,139, 2,131,194, 4,137, 7,131,199, 4,131,233, 4,119, /* 0x 300 */
|
||||
241, 1,207,233, 0, 0, 0, 0,185, 84, 69, 88, 76,138, 7, 71, /* 0x 310 */
|
||||
44,232, 60, 1,119,247,128, 63, 63,117, 0,139, 7,138, 95, 4, /* 0x 320 */
|
||||
102,193,232, 8,134,196,193,192, 16,134,196, 41,248,128,235,232, /* 0x 330 */
|
||||
137, 7,131,199, 5,136,216,226, 0,185, 84, 69, 88, 76,176,232, /* 0x 340 */
|
||||
176,233,242,174,117, 0,128, 63, 63,117, 0,139, 7,102,193,232, /* 0x 350 */
|
||||
8,134,196,193,192, 16,134,196, 41,248,171,235, 0,139, 84, 36, /* 0x 360 */
|
||||
40, 3, 84, 36, 44, 57,214,116, 1, 72, 43,124, 36, 48,139, 84, /* 0x 370 */
|
||||
36, 52,137, 58, 90,137, 68, 36, 28, 97,195,235, 0, 90, 88, 89, /* 0x 380 */
|
||||
151, 96, 49,219,187, 78, 77, 82, 85,106, 15, 88,138,100, 36, 32, /* 0x 390 */
|
||||
106, 15, 91,138,124, 36, 32,138, 84, 36, 32,233, 0, 0, 0, 0, /* 0x 3a0 */
|
||||
15,183, 47, 43,110, 12, 41,221,117, 0,131,237, 1,115, 0,136, /* 0x 3b0 */
|
||||
95,255, 73,136, 7, 71,139, 7,156,102,193,232, 8,193,192, 16, /* 0x 3c0 */
|
||||
134,196,157,115, 0,176, 0, 15,200,115, 0,209,232,115, 0,254, /* 0x 3d0 */
|
||||
203, 75, 35, 30,125, 2, 3, 30,137, 4,156,235, 0,141, 20, 24, /* 0x 3e0 */
|
||||
15,182,210, 35, 22, 59, 22,114, 2, 43, 22,139, 4,148,254,203, /* 0x 3f0 */
|
||||
75, 35, 30,125, 2, 3, 30,139, 44,156,133,237,117, 0, 80,139, /* 0x 400 */
|
||||
70, 4,254,200, 72, 35, 6,125, 2, 3, 6, 49,237,137, 70, 4, /* 0x 410 */
|
||||
135,108,132, 4, 88,137, 44,148,137, 4,156, 41,248,131,233, 4, /* 0x 420 */
|
||||
3, 70, 16, 1,240,137, 7,131,199, 4,235, 0,235, 0, 80,176, /* 0x 430 */
|
||||
233,176,232, 80,106, 0, 83,137,230, 94,137,218,178,233,178,232, /* 0x 440 */
|
||||
67,106, 0,254,203, 75,117, 0, 15,183, 7,131,199, 1, 60,128, /* 0x 450 */
|
||||
114, 4, 60,143,118, 0, 41,208, 43, 70, 8,131,232, 2,116, 0, /* 0x 460 */
|
||||
131,232, 1,114, 0,115, 0,122, 0,123, 0,248,235, 0,131,233, /* 0x 470 */
|
||||
1,127, 0,137,231,185, 4, 1, 0, 0,139, 14,131,193, 5,139, /* 0x 480 */
|
||||
14,131,193, 4, 49,192,243,171,137,252, 86, 97,151, 81, 80, 82, /* 0x 490 */
|
||||
195,137,254,235, 0,138, 7,131,199, 1, 60,128,114, 10, 60,143, /* 0x 4a0 */
|
||||
119, 6,128,127,254, 15,116, 0, 44,232, 60, 1,119, 0, 56, 23, /* 0x 4b0 */
|
||||
117, 0,139, 7,102,193,232, 8,193,192, 16,134,196, 41,248, 1, /* 0x 4c0 */
|
||||
240,137, 7,131,199, 4,131,233, 4,138, 7,131,199, 1,226, 0, /* 0x 4d0 */
|
||||
131,233, 1,127, 0, 97,195,106, 29, 90,232, 29, 0, 0, 0, 80, /* 0x 4e0 */
|
||||
82, 79, 84, 95, 69, 88, 69, 67,124, 80, 82, 79, 84, 95, 87, 82, /* 0x 4f0 */
|
||||
73, 84, 69, 32,102, 97,105,108,101,100, 46, 10, 89,106, 2, 91, /* 0x 500 */
|
||||
106, 4, 88,205,128,179,127,106, 1, 88,205,128, 94,141, 69,247, /* 0x 510 */
|
||||
43, 0,137,194, 3, 64, 72, 5,255, 15, 0, 0, 37, 0,240,255, /* 0x 520 */
|
||||
255, 80, 49,201,106,255,106, 50,181, 16,106, 7, 81, 80,137,227, /* 0x 530 */
|
||||
106, 90, 88,205,128,133,192,120,158,146,147,252,173, 80, 84, 82, /* 0x 540 */
|
||||
173, 80,173, 86,255,213,131,196, 40,195, 93,232,188,255,255,255, /* 0x 550 */
|
||||
76, 69, 88, 69, 67, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 560 */
|
||||
0, 5, 0, 0, 0, 76, 69, 88, 69, 67, 48, 50, 48, 0,115, 0, /* 0x 570 */
|
||||
0, 0, 76, 69, 88, 69, 67, 48, 48, 57, 0, 5, 0, 0, 0, 76, /* 0x 580 */
|
||||
69, 88, 69, 67, 48, 49, 48, 0, 5, 0, 0, 0, 78, 50, 66, 83, /* 0x 590 */
|
||||
77, 65, 49, 48, 0, 19, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, /* 0x 5a0 */
|
||||
0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, /* 0x 5b0 */
|
||||
66, 70, 65, 83, 49, 48, 0, 22, 0, 0, 0, 0, 0, 0, 0, 24, /* 0x 5c0 */
|
||||
0, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, /* 0x 5d0 */
|
||||
78, 50, 66, 70, 65, 83, 49, 49, 0, 24, 0, 0, 0, 78, 50, 66, /* 0x 5e0 */
|
||||
68, 69, 67, 49, 48, 0, 30, 0, 0, 0, 78, 50, 66, 83, 77, 65, /* 0x 5f0 */
|
||||
50, 48, 0, 41, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 78, /* 0x 600 */
|
||||
50, 66, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 66, 70, /* 0x 610 */
|
||||
65, 83, 50, 48, 0, 46, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, /* 0x 620 */
|
||||
0, 78, 50, 66, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, /* 0x 630 */
|
||||
66, 68, 69, 67, 50, 48, 0, 55, 0, 0, 0, 78, 50, 66, 83, 77, /* 0x 640 */
|
||||
65, 51, 48, 0, 68, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, /* 0x 650 */
|
||||
78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 78, 50, 66, /* 0x 660 */
|
||||
70, 65, 83, 51, 48, 0, 81, 0, 0, 0, 0, 0, 0, 0, 85, 0, /* 0x 670 */
|
||||
0, 0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, /* 0x 680 */
|
||||
0, 0, 0, 96, 0, 0, 0, 78, 50, 66, 68, 69, 67, 50, 48, 0, /* 0x 690 */
|
||||
0, 0, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 96, 0, 0, /* 0x 6a0 */
|
||||
0, 0, 0, 0, 0,114, 0, 0, 0, 78, 50, 66, 68, 69, 67, 54, /* 0x 6b0 */
|
||||
48, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 78, 50, /* 0x 6c0 */
|
||||
66, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 78, 50, 66, 83, 77, /* 0x 6d0 */
|
||||
65, 52, 48, 0,158, 0, 0, 0, 0, 0, 0, 0,171, 0, 0, 0, /* 0x 6e0 */
|
||||
78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 78, 50, 66, /* 0x 6f0 */
|
||||
70, 65, 83, 52, 48, 0,171, 0, 0, 0, 0, 0, 0, 0,175, 0, /* 0x 700 */
|
||||
0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 0, /* 0x 710 */
|
||||
0, 0, 0,186, 0, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, /* 0x 720 */
|
||||
49, 0, 0, 0, 78, 50, 66, 68, 85, 77, 77, 49, 0,186, 0, 0, /* 0x 730 */
|
||||
0, 78, 50, 66, 83, 77, 65, 53, 48, 0,186, 0, 0, 0, 78, 50, /* 0x 740 */
|
||||
66, 70, 65, 83, 53, 48, 0,188, 0, 0, 0, 78, 50, 66, 68, 69, /* 0x 750 */
|
||||
67, 53, 48, 0,191, 0, 0, 0, 78, 50, 66, 83, 77, 65, 54, 48, /* 0x 760 */
|
||||
0,200, 0, 0, 0, 0, 0, 0, 0,212, 0, 0, 0, 78, 50, 66, /* 0x 770 */
|
||||
68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, 65, 83, /* 0x 780 */
|
||||
54, 48, 0,212, 0, 0, 0, 0, 0, 0, 0,223, 0, 0, 0, 78, /* 0x 790 */
|
||||
50, 66, 70, 65, 83, 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 7a0 */
|
||||
237, 0, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, /* 0x 7b0 */
|
||||
0, 78, 50, 66, 70, 65, 83, 54, 49, 0,237, 0, 0, 0, 0, 0, /* 0x 7c0 */
|
||||
0, 0, 3, 1, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 0, /* 0x 7d0 */
|
||||
0, 0, 0, 78, 50, 66, 68, 69, 67, 54, 48, 0, 3, 1, 0, 0, /* 0x 7e0 */
|
||||
78, 82, 86, 50, 66, 69, 78, 68, 0, 3, 1, 0, 0, 78, 50, 68, /* 0x 7f0 */
|
||||
83, 77, 65, 49, 48, 0, 3, 1, 0, 0, 0, 0, 0, 0, 5, 1, /* 0x 800 */
|
||||
0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, /* 0x 810 */
|
||||
50, 68, 70, 65, 83, 49, 48, 0, 6, 1, 0, 0, 0, 0, 0, 0, /* 0x 820 */
|
||||
8, 1, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 4, 0, 0, /* 0x 830 */
|
||||
0, 78, 50, 68, 70, 65, 83, 49, 49, 0, 8, 1, 0, 0, 78, 50, /* 0x 840 */
|
||||
68, 68, 69, 67, 49, 48, 0, 14, 1, 0, 0, 78, 50, 68, 83, 77, /* 0x 850 */
|
||||
65, 50, 48, 0, 25, 1, 0, 0, 0, 0, 0, 0, 27, 1, 0, 0, /* 0x 860 */
|
||||
78, 50, 68, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 68, /* 0x 870 */
|
||||
70, 65, 83, 50, 48, 0, 30, 1, 0, 0, 0, 0, 0, 0, 34, 1, /* 0x 880 */
|
||||
0, 0, 78, 50, 68, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, /* 0x 890 */
|
||||
50, 68, 68, 69, 67, 50, 48, 0, 39, 1, 0, 0, 78, 50, 68, 83, /* 0x 8a0 */
|
||||
77, 65, 51, 48, 0, 52, 1, 0, 0, 0, 0, 0, 0, 65, 1, 0, /* 0x 8b0 */
|
||||
0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, 78, 50, /* 0x 8c0 */
|
||||
68, 70, 65, 83, 51, 48, 0, 65, 1, 0, 0, 0, 0, 0, 0, 71, /* 0x 8d0 */
|
||||
1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, /* 0x 8e0 */
|
||||
0, 0, 0, 0, 80, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, /* 0x 8f0 */
|
||||
0, 16, 0, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 80, 1, /* 0x 900 */
|
||||
0, 0, 0, 0, 0, 0, 96, 1, 0, 0, 78, 50, 68, 68, 69, 67, /* 0x 910 */
|
||||
50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,114, 1, 0, 0, 78, /* 0x 920 */
|
||||
50, 68, 68, 69, 67, 54, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 930 */
|
||||
148, 1, 0, 0, 78, 50, 68, 68, 69, 67, 53, 48, 0, 0, 0, 0, /* 0x 940 */
|
||||
0, 78, 50, 68, 83, 77, 65, 52, 48, 0,162, 1, 0, 0, 0, 0, /* 0x 950 */
|
||||
0, 0,175, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 69, /* 0x 960 */
|
||||
0, 0, 0, 78, 50, 68, 70, 65, 83, 52, 48, 0,175, 1, 0, 0, /* 0x 970 */
|
||||
0, 0, 0, 0,179, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, /* 0x 980 */
|
||||
0, 69, 0, 0, 0, 0, 0, 0, 0,190, 1, 0, 0, 78, 50, 68, /* 0x 990 */
|
||||
68, 69, 67, 51, 48, 0, 69, 0, 0, 0, 78, 50, 68, 68, 85, 77, /* 0x 9a0 */
|
||||
77, 49, 0,190, 1, 0, 0, 78, 50, 68, 83, 77, 65, 53, 48, 0, /* 0x 9b0 */
|
||||
190, 1, 0, 0, 78, 50, 68, 70, 65, 83, 53, 48, 0,192, 1, 0, /* 0x 9c0 */
|
||||
0, 78, 50, 68, 68, 69, 67, 53, 48, 0,195, 1, 0, 0, 78, 50, /* 0x 9d0 */
|
||||
68, 83, 77, 65, 54, 48, 0,204, 1, 0, 0, 0, 0, 0, 0,216, /* 0x 9e0 */
|
||||
1, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, /* 0x 9f0 */
|
||||
78, 50, 68, 70, 65, 83, 54, 48, 0,216, 1, 0, 0, 0, 0, 0, /* 0x a00 */
|
||||
0,227, 1, 0, 0, 78, 50, 68, 70, 65, 83, 54, 49, 0, 0, 0, /* 0x a10 */
|
||||
0, 0, 0, 0, 0, 0,241, 1, 0, 0, 78, 50, 68, 68, 69, 67, /* 0x a20 */
|
||||
49, 48, 0, 0, 0, 0, 0, 78, 50, 68, 70, 65, 83, 54, 49, 0, /* 0x a30 */
|
||||
241, 1, 0, 0, 0, 0, 0, 0, 7, 2, 0, 0, 78, 50, 68, 68, /* 0x a40 */
|
||||
69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 68, 68, 69, 67, 54, /* 0x a50 */
|
||||
48, 0, 7, 2, 0, 0, 78, 82, 86, 50, 68, 69, 78, 68, 0, 7, /* 0x a60 */
|
||||
2, 0, 0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 7, 2, 0, 0, /* 0x a70 */
|
||||
0, 0, 0, 0, 9, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, /* 0x a80 */
|
||||
0, 4, 0, 0, 0, 78, 50, 69, 70, 65, 83, 49, 48, 0, 10, 2, /* 0x a90 */
|
||||
0, 0, 0, 0, 0, 0, 12, 2, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x aa0 */
|
||||
49, 48, 0, 4, 0, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, /* 0x ab0 */
|
||||
12, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 18, 2, 0, /* 0x ac0 */
|
||||
0, 78, 50, 69, 83, 77, 65, 50, 48, 0, 29, 2, 0, 0, 0, 0, /* 0x ad0 */
|
||||
0, 0, 31, 2, 0, 0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 2, /* 0x ae0 */
|
||||
0, 0, 0, 78, 50, 69, 70, 65, 83, 50, 48, 0, 34, 2, 0, 0, /* 0x af0 */
|
||||
0, 0, 0, 0, 38, 2, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, /* 0x b00 */
|
||||
0, 0, 0, 0, 0, 78, 50, 69, 68, 69, 67, 50, 48, 0, 43, 2, /* 0x b10 */
|
||||
0, 0, 78, 50, 69, 83, 77, 65, 51, 48, 0, 56, 2, 0, 0, 0, /* 0x b20 */
|
||||
0, 0, 0, 69, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, /* 0x b30 */
|
||||
31, 0, 0, 0, 78, 50, 69, 70, 65, 83, 51, 48, 0, 69, 2, 0, /* 0x b40 */
|
||||
0, 0, 0, 0, 0, 75, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, /* 0x b50 */
|
||||
48, 0, 31, 0, 0, 0, 0, 0, 0, 0, 84, 2, 0, 0, 78, 50, /* 0x b60 */
|
||||
69, 68, 69, 67, 51, 48, 0, 31, 0, 0, 0, 78, 50, 69, 68, 69, /* 0x b70 */
|
||||
67, 51, 48, 0, 84, 2, 0, 0, 0, 0, 0, 0,100, 2, 0, 0, /* 0x b80 */
|
||||
78, 50, 69, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x b90 */
|
||||
0,115, 2, 0, 0, 78, 50, 69, 68, 69, 67, 53, 48, 0, 0, 0, /* 0x ba0 */
|
||||
0, 0, 0, 0, 0, 0,133, 2, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x bb0 */
|
||||
54, 48, 0, 0, 0, 0, 0, 78, 50, 69, 83, 77, 65, 52, 48, 0, /* 0x bc0 */
|
||||
179, 2, 0, 0, 0, 0, 0, 0,192, 2, 0, 0, 78, 50, 69, 68, /* 0x bd0 */
|
||||
69, 67, 51, 48, 0, 82, 0, 0, 0, 78, 50, 69, 70, 65, 83, 52, /* 0x be0 */
|
||||
48, 0,192, 2, 0, 0, 0, 0, 0, 0,196, 2, 0, 0, 78, 50, /* 0x bf0 */
|
||||
69, 68, 69, 67, 51, 48, 0, 82, 0, 0, 0, 0, 0, 0, 0,207, /* 0x c00 */
|
||||
2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 82, 0, 0, 0, /* 0x c10 */
|
||||
78, 50, 69, 68, 85, 77, 77, 49, 0,207, 2, 0, 0, 78, 50, 69, /* 0x c20 */
|
||||
83, 77, 65, 53, 48, 0,207, 2, 0, 0, 78, 50, 69, 70, 65, 83, /* 0x c30 */
|
||||
53, 48, 0,209, 2, 0, 0, 78, 50, 69, 68, 69, 67, 53, 48, 0, /* 0x c40 */
|
||||
212, 2, 0, 0, 78, 50, 69, 83, 77, 65, 54, 48, 0,221, 2, 0, /* 0x c50 */
|
||||
0, 0, 0, 0, 0,233, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, /* 0x c60 */
|
||||
48, 0, 0, 0, 0, 0, 78, 50, 69, 70, 65, 83, 54, 48, 0,233, /* 0x c70 */
|
||||
2, 0, 0, 0, 0, 0, 0,244, 2, 0, 0, 78, 50, 69, 70, 65, /* 0x c80 */
|
||||
83, 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, /* 0x c90 */
|
||||
78, 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, /* 0x ca0 */
|
||||
70, 65, 83, 54, 49, 0, 2, 3, 0, 0, 0, 0, 0, 0, 24, 3, /* 0x cb0 */
|
||||
0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, /* 0x cc0 */
|
||||
50, 69, 68, 69, 67, 54, 48, 0, 24, 3, 0, 0, 78, 82, 86, 50, /* 0x cd0 */
|
||||
69, 69, 78, 68, 0, 24, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, /* 0x ce0 */
|
||||
48, 0, 24, 3, 0, 0, 67, 84, 67, 76, 69, 86, 69, 49, 0, 38, /* 0x cf0 */
|
||||
3, 0, 0, 0, 0, 0, 0, 43, 3, 0, 0, 67, 65, 76, 76, 84, /* 0x d00 */
|
||||
82, 48, 48, 0, 5, 0, 0, 0, 67, 65, 76, 76, 84, 82, 48, 49, /* 0x d10 */
|
||||
0, 43, 3, 0, 0, 67, 84, 68, 85, 77, 77, 89, 49, 0, 48, 3, /* 0x d20 */
|
||||
0, 0, 67, 84, 66, 83, 72, 82, 48, 49, 0, 48, 3, 0, 0, 67, /* 0x d30 */
|
||||
84, 66, 82, 79, 82, 48, 49, 0, 52, 3, 0, 0, 67, 84, 66, 83, /* 0x d40 */
|
||||
87, 65, 48, 49, 0, 54, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, /* 0x d50 */
|
||||
50, 0, 59, 3, 0, 0, 0, 0, 0, 0, 73, 3, 0, 0, 67, 65, /* 0x d60 */
|
||||
76, 76, 84, 82, 48, 48, 0, 10, 0, 0, 0, 67, 65, 76, 76, 84, /* 0x d70 */
|
||||
82, 49, 48, 0, 73, 3, 0, 0, 67, 65, 76, 76, 84, 82, 69, 56, /* 0x d80 */
|
||||
0, 78, 3, 0, 0, 67, 65, 76, 76, 84, 82, 69, 57, 0, 80, 3, /* 0x d90 */
|
||||
0, 0, 67, 65, 76, 76, 84, 82, 49, 49, 0, 82, 3, 0, 0, 0, /* 0x da0 */
|
||||
0, 0, 0, 86, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0, /* 0x db0 */
|
||||
5, 0, 0, 0, 67, 84, 67, 76, 69, 86, 69, 50, 0, 86, 3, 0, /* 0x dc0 */
|
||||
0, 0, 0, 0, 0, 91, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, /* 0x dd0 */
|
||||
49, 0, 0, 0, 0, 0, 67, 65, 76, 76, 84, 82, 49, 50, 0, 91, /* 0x de0 */
|
||||
3, 0, 0, 67, 84, 68, 85, 77, 77, 89, 50, 0, 93, 3, 0, 0, /* 0x df0 */
|
||||
67, 84, 66, 83, 72, 82, 49, 49, 0, 93, 3, 0, 0, 67, 84, 66, /* 0x e00 */
|
||||
82, 79, 82, 49, 49, 0, 97, 3, 0, 0, 67, 84, 66, 83, 87, 65, /* 0x e10 */
|
||||
49, 49, 0, 99, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0, /* 0x e20 */
|
||||
104, 3, 0, 0, 0, 0, 0, 0,109, 3, 0, 0, 67, 65, 76, 76, /* 0x e30 */
|
||||
84, 82, 49, 48, 0, 5, 0, 0, 0, 67, 84, 84, 72, 69, 69, 78, /* 0x e40 */
|
||||
68, 0,109, 3, 0, 0, 76, 69, 88, 69, 67, 48, 49, 53, 0,109, /* 0x e50 */
|
||||
3, 0, 0, 76, 88, 85, 78, 70, 48, 48, 48, 0,139, 3, 0, 0, /* 0x e60 */
|
||||
0, 0, 0, 0,141, 3, 0, 0, 76, 88, 85, 78, 70, 48, 49, 48, /* 0x e70 */
|
||||
0, 5, 0, 0, 0, 76, 88, 85, 78, 70, 48, 48, 50, 0,141, 3, /* 0x e80 */
|
||||
0, 0, 77, 82, 85, 66, 89, 84, 69, 48, 0,146, 3, 0, 0, 76, /* 0x e90 */
|
||||
88, 77, 82, 85, 48, 48, 53, 0,148, 3, 0, 0, 76, 88, 77, 82, /* 0x ea0 */
|
||||
85, 48, 48, 54, 0,153, 3, 0, 0, 76, 88, 77, 82, 85, 48, 48, /* 0x eb0 */
|
||||
55, 0,160, 3, 0, 0, 76, 88, 85, 78, 70, 48, 48, 56, 0,167, /* 0x ec0 */
|
||||
3, 0, 0, 76, 88, 85, 78, 70, 48, 49, 48, 0,171, 3, 0, 0, /* 0x ed0 */
|
||||
0, 0, 0, 0,176, 3, 0, 0, 76, 88, 85, 78, 70, 48, 52, 50, /* 0x ee0 */
|
||||
0, 0, 0, 0, 0, 76, 88, 74, 67, 67, 48, 49, 48, 0,176, 3, /* 0x ef0 */
|
||||
0, 0, 76, 88, 77, 82, 85, 48, 52, 53, 0,179, 3, 0, 0, 76, /* 0x f00 */
|
||||
88, 77, 82, 85, 48, 52, 54, 0,182, 3, 0, 0, 76, 88, 74, 67, /* 0x f10 */
|
||||
67, 48, 50, 48, 0,184, 3, 0, 0, 0, 0, 0, 0,186, 3, 0, /* 0x f20 */
|
||||
0, 76, 88, 85, 78, 70, 48, 51, 52, 0, 0, 0, 0, 0, 76, 88, /* 0x f30 */
|
||||
74, 67, 67, 48, 50, 49, 0,186, 3, 0, 0, 0, 0, 0, 0,191, /* 0x f40 */
|
||||
3, 0, 0, 76, 88, 85, 78, 70, 48, 51, 52, 0, 0, 0, 0, 0, /* 0x f50 */
|
||||
76, 88, 74, 67, 67, 48, 50, 51, 0,191, 3, 0, 0, 76, 88, 85, /* 0x f60 */
|
||||
78, 70, 48, 51, 55, 0,198, 3, 0, 0, 76, 88, 85, 78, 70, 51, /* 0x f70 */
|
||||
56, 54, 0,200, 3, 0, 0, 76, 88, 85, 78, 70, 51, 56, 55, 0, /* 0x f80 */
|
||||
201, 3, 0, 0, 76, 88, 85, 78, 70, 51, 56, 56, 0,210, 3, 0, /* 0x f90 */
|
||||
0, 0, 0, 0, 0,213, 3, 0, 0, 76, 88, 85, 78, 70, 48, 52, /* 0x fa0 */
|
||||
48, 0, 0, 0, 0, 0, 76, 88, 85, 78, 70, 52, 56, 54, 0,213, /* 0x fb0 */
|
||||
3, 0, 0, 76, 88, 85, 78, 70, 52, 56, 55, 0,217, 3, 0, 0, /* 0x fc0 */
|
||||
0, 0, 0, 0,219, 3, 0, 0, 76, 88, 85, 78, 70, 48, 52, 48, /* 0x fd0 */
|
||||
0, 0, 0, 0, 0, 76, 88, 77, 82, 85, 48, 54, 53, 0,219, 3, /* 0x fe0 */
|
||||
0, 0, 0, 0, 0, 0,223, 3, 0, 0, 76, 88, 77, 82, 85, 48, /* 0x ff0 */
|
||||
55, 48, 0, 5, 0, 0, 0, 77, 82, 85, 66, 89, 84, 69, 51, 0, /* 0x1000 */
|
||||
223, 3, 0, 0, 77, 82, 85, 65, 82, 66, 51, 48, 0,225, 3, 0, /* 0x1010 */
|
||||
0, 77, 82, 85, 66, 73, 84, 83, 51, 0,226, 3, 0, 0, 77, 82, /* 0x1020 */
|
||||
85, 65, 82, 66, 52, 48, 0,228, 3, 0, 0, 76, 88, 77, 82, 85, /* 0x1030 */
|
||||
48, 55, 48, 0,232, 3, 0, 0, 0, 0, 0, 0,237, 3, 0, 0, /* 0x1040 */
|
||||
76, 88, 85, 78, 70, 48, 52, 48, 0, 0, 0, 0, 0, 77, 82, 85, /* 0x1050 */
|
||||
66, 89, 84, 69, 52, 0,240, 3, 0, 0, 77, 82, 85, 66, 73, 84, /* 0x1060 */
|
||||
83, 52, 0,243, 3, 0, 0, 77, 82, 85, 65, 82, 66, 53, 48, 0, /* 0x1070 */
|
||||
245, 3, 0, 0, 76, 88, 77, 82, 85, 48, 56, 48, 0,251, 3, 0, /* 0x1080 */
|
||||
0, 77, 82, 85, 66, 89, 84, 69, 53, 0,254, 3, 0, 0, 77, 82, /* 0x1090 */
|
||||
85, 65, 82, 66, 54, 48, 0, 0, 4, 0, 0, 77, 82, 85, 66, 73, /* 0x10a0 */
|
||||
84, 83, 53, 0, 1, 4, 0, 0, 77, 82, 85, 65, 82, 66, 55, 48, /* 0x10b0 */
|
||||
0, 3, 4, 0, 0, 76, 88, 77, 82, 85, 48, 57, 48, 0, 7, 4, /* 0x10c0 */
|
||||
0, 0, 0, 0, 0, 0, 14, 4, 0, 0, 76, 88, 77, 82, 85, 49, /* 0x10d0 */
|
||||
48, 48, 0, 10, 0, 0, 0, 77, 82, 85, 66, 89, 84, 69, 54, 0, /* 0x10e0 */
|
||||
18, 4, 0, 0, 77, 82, 85, 65, 82, 66, 56, 48, 0, 20, 4, 0, /* 0x10f0 */
|
||||
0, 77, 82, 85, 66, 73, 84, 83, 54, 0, 21, 4, 0, 0, 77, 82, /* 0x1100 */
|
||||
85, 65, 82, 66, 57, 48, 0, 23, 4, 0, 0, 76, 88, 77, 82, 85, /* 0x1110 */
|
||||
49, 48, 48, 0, 27, 4, 0, 0, 76, 88, 85, 78, 70, 48, 52, 48, /* 0x1120 */
|
||||
0, 43, 4, 0, 0, 76, 88, 77, 82, 85, 49, 49, 48, 0, 48, 4, /* 0x1130 */
|
||||
0, 0, 76, 88, 77, 82, 85, 49, 49, 49, 0, 51, 4, 0, 0, 76, /* 0x1140 */
|
||||
88, 85, 78, 70, 48, 52, 49, 0, 53, 4, 0, 0, 0, 0, 0, 0, /* 0x1150 */
|
||||
60, 4, 0, 0, 76, 88, 85, 78, 70, 48, 51, 52, 0, 0, 0, 0, /* 0x1160 */
|
||||
0, 76, 88, 85, 78, 70, 48, 52, 50, 0, 60, 4, 0, 0, 76, 69, /* 0x1170 */
|
||||
88, 69, 67, 48, 49, 54, 0, 60, 4, 0, 0, 0, 0, 0, 0, 62, /* 0x1180 */
|
||||
4, 0, 0, 76, 88, 85, 78, 70, 48, 52, 50, 0, 0, 0, 0, 0, /* 0x1190 */
|
||||
76, 88, 77, 82, 85, 48, 49, 48, 0, 62, 4, 0, 0, 76, 88, 74, /* 0x11a0 */
|
||||
77, 80, 65, 48, 48, 0, 63, 4, 0, 0, 76, 88, 67, 65, 76, 76, /* 0x11b0 */
|
||||
66, 48, 0, 65, 4, 0, 0, 76, 88, 85, 78, 70, 48, 50, 49, 0, /* 0x11c0 */
|
||||
67, 4, 0, 0, 76, 88, 77, 82, 85, 48, 50, 50, 0, 73, 4, 0, /* 0x11d0 */
|
||||
0, 76, 88, 74, 77, 80, 65, 48, 49, 0, 76, 4, 0, 0, 76, 88, /* 0x11e0 */
|
||||
67, 65, 76, 76, 66, 49, 0, 78, 4, 0, 0, 77, 82, 85, 66, 73, /* 0x11f0 */
|
||||
84, 83, 49, 0, 80, 4, 0, 0, 76, 88, 77, 82, 85, 48, 51, 48, /* 0x1200 */
|
||||
0, 81, 4, 0, 0, 77, 82, 85, 66, 89, 84, 69, 49, 0, 83, 4, /* 0x1210 */
|
||||
0, 0, 77, 82, 85, 65, 82, 66, 49, 48, 0, 85, 4, 0, 0, 76, /* 0x1220 */
|
||||
88, 77, 82, 85, 48, 52, 48, 0, 86, 4, 0, 0, 0, 0, 0, 0, /* 0x1230 */
|
||||
88, 4, 0, 0, 76, 88, 77, 82, 85, 48, 51, 48, 0, 0, 0, 0, /* 0x1240 */
|
||||
0, 76, 88, 85, 78, 70, 48, 51, 48, 0, 88, 4, 0, 0, 76, 88, /* 0x1250 */
|
||||
74, 67, 67, 48, 48, 48, 0, 94, 4, 0, 0, 0, 0, 0, 0,102, /* 0x1260 */
|
||||
4, 0, 0, 76, 88, 74, 67, 67, 48, 49, 48, 0, 0, 0, 0, 0, /* 0x1270 */
|
||||
76, 88, 67, 74, 48, 77, 82, 85, 0,102, 4, 0, 0, 76, 88, 67, /* 0x1280 */
|
||||
74, 49, 77, 82, 85, 0,104, 4, 0, 0, 76, 88, 67, 65, 76, 74, /* 0x1290 */
|
||||
77, 80, 0,107, 4, 0, 0, 76, 88, 67, 65, 76, 76, 48, 48, 0, /* 0x12a0 */
|
||||
110, 4, 0, 0, 0, 0, 0, 0,112, 4, 0, 0, 76, 88, 85, 78, /* 0x12b0 */
|
||||
70, 48, 51, 55, 0, 0, 0, 0, 0, 76, 88, 67, 65, 76, 76, 48, /* 0x12c0 */
|
||||
49, 0,112, 4, 0, 0, 76, 88, 67, 74, 50, 77, 82, 85, 0,115, /* 0x12d0 */
|
||||
4, 0, 0, 0, 0, 0, 0,117, 4, 0, 0, 76, 88, 85, 78, 70, /* 0x12e0 */
|
||||
48, 51, 55, 0, 0, 0, 0, 0, 76, 88, 67, 74, 52, 77, 82, 85, /* 0x12f0 */
|
||||
0,117, 4, 0, 0, 0, 0, 0, 0,119, 4, 0, 0, 76, 88, 85, /* 0x1300 */
|
||||
78, 70, 48, 51, 52, 0, 0, 0, 0, 0, 76, 88, 67, 74, 54, 77, /* 0x1310 */
|
||||
82, 85, 0,119, 4, 0, 0, 0, 0, 0, 0,121, 4, 0, 0, 76, /* 0x1320 */
|
||||
88, 67, 74, 56, 77, 82, 85, 0, 1, 0, 0, 0, 76, 88, 67, 74, /* 0x1330 */
|
||||
55, 77, 82, 85, 0,121, 4, 0, 0, 0, 0, 0, 0,123, 4, 0, /* 0x1340 */
|
||||
0, 76, 88, 67, 74, 56, 77, 82, 85, 0, 1, 0, 0, 0, 76, 88, /* 0x1350 */
|
||||
67, 74, 56, 77, 82, 85, 0,123, 4, 0, 0, 0, 0, 0, 0,126, /* 0x1360 */
|
||||
4, 0, 0, 76, 88, 85, 78, 70, 48, 51, 55, 0, 0, 0, 0, 0, /* 0x1370 */
|
||||
76, 88, 85, 78, 70, 48, 51, 52, 0,126, 4, 0, 0, 0, 0, 0, /* 0x1380 */
|
||||
0,131, 4, 0, 0, 76, 88, 85, 78, 70, 48, 51, 48, 0, 0, 0, /* 0x1390 */
|
||||
0, 0, 76, 88, 77, 82, 85, 48, 53, 53, 0,131, 4, 0, 0, 77, /* 0x13a0 */
|
||||
82, 85, 66, 89, 84, 69, 50, 0,133, 4, 0, 0, 77, 82, 85, 66, /* 0x13b0 */
|
||||
73, 84, 83, 50, 0,138, 4, 0, 0, 77, 82, 85, 65, 82, 66, 50, /* 0x13c0 */
|
||||
48, 0,143, 4, 0, 0, 76, 88, 77, 82, 85, 48, 53, 55, 0,148, /* 0x13d0 */
|
||||
4, 0, 0, 76, 88, 77, 82, 85, 48, 53, 56, 0,154, 4, 0, 0, /* 0x13e0 */
|
||||
76, 88, 85, 78, 70, 48, 51, 53, 0,155, 4, 0, 0, 67, 75, 76, /* 0x13f0 */
|
||||
76, 84, 82, 48, 48, 0,161, 4, 0, 0, 0, 0, 0, 0,165, 4, /* 0x1400 */
|
||||
0, 0, 67, 75, 76, 76, 84, 82, 50, 48, 0, 30, 0, 0, 0, 67, /* 0x1410 */
|
||||
75, 76, 76, 84, 82, 49, 48, 0,170, 4, 0, 0, 0, 0, 0, 0, /* 0x1420 */
|
||||
184, 4, 0, 0, 67, 75, 76, 76, 84, 82, 50, 48, 0, 6, 0, 0, /* 0x1430 */
|
||||
0, 67, 75, 76, 76, 84, 82, 50, 48, 0,184, 4, 0, 0, 0, 0, /* 0x1440 */
|
||||
0, 0,190, 4, 0, 0, 67, 75, 76, 76, 84, 82, 52, 48, 0, 0, /* 0x1450 */
|
||||
0, 0, 0, 0, 0, 0, 0,194, 4, 0, 0, 67, 75, 76, 76, 84, /* 0x1460 */
|
||||
82, 52, 48, 0, 0, 0, 0, 0, 67, 75, 76, 76, 84, 82, 51, 48, /* 0x1470 */
|
||||
0,217, 4, 0, 0, 0, 0, 0, 0,224, 4, 0, 0, 67, 75, 76, /* 0x1480 */
|
||||
76, 84, 82, 49, 48, 0, 14, 0, 0, 0, 67, 75, 76, 76, 84, 82, /* 0x1490 */
|
||||
52, 48, 0,224, 4, 0, 0, 0, 0, 0, 0,229, 4, 0, 0, 67, /* 0x14a0 */
|
||||
75, 76, 76, 84, 82, 48, 48, 0, 4, 0, 0, 0, 76, 69, 88, 69, /* 0x14b0 */
|
||||
67, 48, 49, 55, 0,229, 4, 0, 0, 76, 69, 88, 69, 67, 48, 50, /* 0x14c0 */
|
||||
48, 0,231, 4, 0, 0, 88, 84, 72, 69, 69, 78, 68, 88, 0, 96, /* 0x14d0 */
|
||||
5, 0, 0,255,255,255,255, 96, 5 /* 0x14e0 */
|
||||
};
|
||||
137
src/stub/i386-linux.elf-fold.h
Normal file
137
src/stub/i386-linux.elf-fold.h
Normal file
@ -0,0 +1,137 @@
|
||||
/* i386-linux.elf-fold.h -- created from i386-linux.elf-fold.bin, 1622 (0x656) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define LINUX_I386ELF_FOLD_SIZE 1622
|
||||
#define LINUX_I386ELF_FOLD_ADLER32 0x0526bd6c
|
||||
#define LINUX_I386ELF_FOLD_CRC32 0x143cc952
|
||||
|
||||
unsigned char linux_i386elf_fold[1622] = {
|
||||
127, 69, 76, 70, 1, 1, 1, 0, 76,105,110,117,120, 0, 0, 0, /* 0x 0 */
|
||||
2, 0, 3, 0, 1, 0, 0, 0,128, 16,192, 0, 52, 0, 0, 0, /* 0x 10 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0, /* 0x 20 */
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 16,192, 0, /* 0x 30 */
|
||||
0, 16,192, 0, 86, 6, 0, 0, 88, 6, 0, 0, 5, 0, 0, 0, /* 0x 40 */
|
||||
0, 16, 0, 0, 1, 0, 0, 0, 86, 6, 0, 0, 88, 22,192, 0, /* 0x 50 */
|
||||
88, 22,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, /* 0x 60 */
|
||||
0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 70 */
|
||||
41,201,186,120, 2, 0, 0,137,230,137,231,232,121, 0, 0, 0, /* 0x 80 */
|
||||
137,230,209,234, 25,192, 41,193,141, 36,196,133,210,117,243,137, /* 0x 90 */
|
||||
231,232, 99, 0, 0, 0,129,236, 0, 10, 0, 0, 83,139, 83, 72, /* 0x a0 */
|
||||
141,148, 26,255, 31, 0, 0,129,226, 0,240,255,255, 82, 41,192, /* 0x b0 */
|
||||
102,131,123, 16, 3,117, 1,146, 80,139,115, 24,141,131,140, 0, /* 0x c0 */
|
||||
0, 0, 41,198,139, 24,139, 72, 4,131,193, 12,141, 84, 36, 12, /* 0x d0 */
|
||||
96, 71,232, 92, 4, 0, 0,131,196, 36, 89, 91,129,196, 0, 10, /* 0x e0 */
|
||||
0, 0, 80, 79, 41,192, 60,175,175,117,252, 80, 80, 80, 80, 80, /* 0x f0 */
|
||||
80, 80, 80, 41,217,176, 91,255, 39,173,171,133,192,117,250,173, /* 0x 100 */
|
||||
171,133,192,117,250, 87,173,171,131,248, 32,115, 3, 15,179,194, /* 0x 110 */
|
||||
133,192,173,171,117,240,131,239, 8, 1,201, 64,243,171, 72,171, /* 0x 120 */
|
||||
171, 95,195, 83,141, 92, 36, 8,106, 90, 88,205,128, 91,195, 0, /* 0x 130 */
|
||||
87, 86,137,206, 83,137,195, 57, 8,139,120, 4,115, 10,106,127, /* 0x 140 */
|
||||
91,106, 1, 88,205,128,235,254,133,201,116, 8,138, 7, 71,136, /* 0x 150 */
|
||||
2, 66,226,248, 1,115, 4, 41, 51, 91, 94, 95,195, 85,137,229, /* 0x 160 */
|
||||
87, 86,137,198, 83,137,211,131,236, 24,139, 69, 8,139,125, 12, /* 0x 170 */
|
||||
137, 69,220,131, 58, 0, 15,132,184, 0, 0, 0,141, 85,228,185, /* 0x 180 */
|
||||
12, 0, 0, 0,137,240,232,165,255,255,255,139, 69,228,139, 77, /* 0x 190 */
|
||||
232,133,192,117, 19,129,249, 85, 80, 88, 33,117, 15,131, 62, 0, /* 0x 1a0 */
|
||||
15,132,142, 0, 0, 0,235, 4,133,201,117, 10,106,127, 91,106, /* 0x 1b0 */
|
||||
1, 88,205,128,235,254, 57,193,119,242, 59, 3,119,238, 57,193, /* 0x 1c0 */
|
||||
115, 85, 15,182, 69,236, 80,141, 69,224, 80,255,115, 4, 81,255, /* 0x 1d0 */
|
||||
118, 4,255, 85,220,131,196, 20,133,192,117,208,139, 85,224, 59, /* 0x 1e0 */
|
||||
85,228,117,200,138, 69,237,132,192,116, 34,133,255,116, 30,129, /* 0x 1f0 */
|
||||
250, 0, 2, 0, 0,119, 4, 57, 19,117, 18, 15,182,192, 80, 15, /* 0x 200 */
|
||||
182, 69,238, 80, 82,255,115, 4,255,215,131,196, 16,139, 69,232, /* 0x 210 */
|
||||
1, 70, 4, 41, 6,235, 10,139, 83, 4,137,240,232, 15,255,255, /* 0x 220 */
|
||||
255,139, 85,228,139, 3, 1, 83, 4, 41,208,133,192,137, 3,233, /* 0x 230 */
|
||||
66,255,255,255,141,101,244, 91, 94, 95,201,195,133,192, 83,137, /* 0x 240 */
|
||||
211,116, 29,168, 1,117, 25,139, 16, 57,218,116, 7, 74,117, 11, /* 0x 250 */
|
||||
133,219,116, 7,137, 24,137, 72, 4,235, 5,131,192, 8,235,231, /* 0x 260 */
|
||||
91,195, 85,137,229, 87, 86, 83,131,236, 68,137, 69,228,139, 69, /* 0x 270 */
|
||||
8,137, 85,224,139, 93,224,139, 85, 12,137, 69,220,139, 69,224, /* 0x 280 */
|
||||
139, 77, 20,137, 85,216, 3, 91, 28,139, 85,224,137, 77,212,102, /* 0x 290 */
|
||||
131,120, 16, 2, 15,183, 74, 44,137, 93,208, 15,148,192,131,207, /* 0x 2a0 */
|
||||
255, 15,182,192,137,202,193,224, 4, 49,246,131,192, 34, 74,120, /* 0x 2b0 */
|
||||
28,131, 59, 1,117, 18,139, 83, 8, 57,250,115, 2,137,215, 3, /* 0x 2c0 */
|
||||
83, 20, 57,214,115, 2,137,214,131,195, 32,226,228,137,251,106, /* 0x 2d0 */
|
||||
0,129,227, 0,240,255,255,106,255, 41,222, 80,129,198,255, 15, /* 0x 2e0 */
|
||||
0, 0,106, 0,129,230, 0,240,255,255, 86, 83,232, 50,254,255, /* 0x 2f0 */
|
||||
255,139, 77,224,141, 52, 48,131,196, 24, 41,216,102,131,121, 44, /* 0x 300 */
|
||||
0,137,117,240,137, 69,204,199, 69,200, 0, 0, 0, 0, 15,132, /* 0x 310 */
|
||||
215, 1, 0, 0,139, 93,208,139, 3,131,248, 6,117, 24,139, 77, /* 0x 320 */
|
||||
204,186, 3, 0, 0, 0, 3, 75, 8,139, 69,216,232, 11,255,255, /* 0x 330 */
|
||||
255,233,158, 1, 0, 0, 72, 15,133,151, 1, 0, 0,139, 69,208, /* 0x 340 */
|
||||
199, 69,196, 64, 98, 81,115,139, 85,208,139, 72, 24,139, 90, 20, /* 0x 350 */
|
||||
131,225, 7,193,225, 2,211,109,196,139, 72, 16,139, 69,204, 3, /* 0x 360 */
|
||||
66, 8,137, 77,232,131,101,196, 7,137,194, 1,195,129,226,255, /* 0x 370 */
|
||||
15, 0, 0,137,199,141, 52, 17,139, 77,208,137, 69,236, 41,215, /* 0x 380 */
|
||||
139, 65, 4,137, 93,192, 41,208,131,125,220, 0, 80,139, 69,228, /* 0x 390 */
|
||||
116, 3,131,200,255,131,125,220, 1, 80, 25,192,131,224,224,131, /* 0x 3a0 */
|
||||
192, 50,131,125,220, 0, 80,139, 69,196,116, 3,131,200, 2,131, /* 0x 3b0 */
|
||||
125,220, 0, 80,137,240,116, 3,141, 70, 3, 80, 87,232, 97,253, /* 0x 3c0 */
|
||||
255,255,131,196, 24, 57,199, 15,133,184, 0, 0, 0,131,125,220, /* 0x 3d0 */
|
||||
0,116, 28,246, 69,196, 4,139, 69,212,117, 2, 49,192, 80,139, /* 0x 3e0 */
|
||||
69,220,255,117,228,141, 85,232,232,112,253,255,255, 88, 90,137, /* 0x 3f0 */
|
||||
243,247,219,129,227,255, 15, 0, 0,246, 69,196, 2,137, 93,188, /* 0x 400 */
|
||||
116, 15,133,219,141, 4, 55,116, 8,137,217,198, 0, 0, 64,226, /* 0x 410 */
|
||||
250,131,125,220, 0,116,120,139, 69,208,131, 56, 1,117, 86,246, /* 0x 420 */
|
||||
64, 24, 1,116, 80,139, 80, 20,139, 88, 8,141, 12, 26, 3, 77, /* 0x 430 */
|
||||
204, 59, 80, 16,117, 14,137,200,247,216, 37,255, 15, 0, 0,131, /* 0x 440 */
|
||||
248, 3,119, 17,139, 85,208,107, 69,204, 52,131,122, 4, 0,141, /* 0x 450 */
|
||||
76, 3, 12,117, 15,139, 1, 61,205,128, 97,195,116, 6,199, 1, /* 0x 460 */
|
||||
205,128, 97,195,133,201,116, 13,139, 69,216, 49,210,131,224,254, /* 0x 470 */
|
||||
232,199,253,255,255,137,251,137,241,139, 85,196,106,125, 88,205, /* 0x 480 */
|
||||
128,133,192,116, 10,106,127, 91,106, 1, 88,205,128,235,254,139, /* 0x 490 */
|
||||
85,188,141, 4, 22,141, 28, 7, 59, 93,192,115, 30,106, 0,106, /* 0x 4a0 */
|
||||
255,106, 50,255,117,196, 41, 93,192,255,117,192, 83,232,113,252, /* 0x 4b0 */
|
||||
255,255,131,196, 24, 57,195,116, 27,235,202,131,125,220, 0,116, /* 0x 4c0 */
|
||||
19,141, 78, 3,129,225,255, 15, 0, 0,131,249, 3,119, 5,106, /* 0x 4d0 */
|
||||
91, 88,205,128,139, 77,224,255, 69,200, 15,183, 65, 44,131, 69, /* 0x 4e0 */
|
||||
208, 32, 57, 69,200, 15,140, 41,254,255,255,131,125,220, 0,117, /* 0x 4f0 */
|
||||
14,139, 93,228,106, 6, 88,205,128,133,192,116, 20,235,134,139, /* 0x 500 */
|
||||
69,224,102,131,120, 16, 3,116, 8,139, 93,240,106, 45, 88,205, /* 0x 510 */
|
||||
128,131,125, 16, 0,116, 8,139, 77,204,139, 85, 16,137, 10,139, /* 0x 520 */
|
||||
93,224,139, 91, 24, 1, 93,204,139, 69,204,141,101,244, 91, 94, /* 0x 530 */
|
||||
95,201,195, 85,137,229, 87, 86, 83,131,236, 28,139,125, 28,106, /* 0x 540 */
|
||||
0,139, 69, 16,141, 87, 52,139,117, 8,137, 69,236,131,192, 2, /* 0x 550 */
|
||||
255,117,236,137, 85,228,139, 93, 32,137, 69,232,141, 85, 24,141, /* 0x 560 */
|
||||
69, 32,232,246,251,255,255,139, 69, 12, 15,183, 79, 44,186, 5, /* 0x 570 */
|
||||
0, 0, 0,137, 69, 32,137,240, 41, 93, 36,232,188,252,255,255, /* 0x 580 */
|
||||
15,183, 79, 42,186, 4, 0, 0, 0,137,240,232,172,252,255,255, /* 0x 590 */
|
||||
139, 93,228,139, 77, 40,186, 3, 0, 0, 0, 3, 75, 8,137,240, /* 0x 5a0 */
|
||||
131,193, 52,232,148,252,255,255,141, 69,240,255,117,232,137,250, /* 0x 5b0 */
|
||||
80,141, 69, 32, 86, 80,139, 69,236,232,164,252,255,255,186, 9, /* 0x 5c0 */
|
||||
0, 0, 0,137,193,137,195,137,240,232,110,252,255,255,102,139, /* 0x 5d0 */
|
||||
79, 44,131,196, 24, 49,210,102,133,201,116, 96,139, 69,228,131, /* 0x 5e0 */
|
||||
56, 3,117, 76,139, 93,240, 49,201, 3, 88, 8,137,202,106, 5, /* 0x 5f0 */
|
||||
88,205,128,133,192,137,198,120, 21,186, 0, 2, 0, 0,137,195, /* 0x 600 */
|
||||
137,249,106, 3, 88,205,128, 61, 0, 2, 0, 0,116, 10,106,127, /* 0x 610 */
|
||||
91,106, 1, 88,205,128,235,254,106, 0,137,250,106, 0,137,240, /* 0x 620 */
|
||||
106, 0,106, 0,232, 57,252,255,255,131,196, 16,137,195,235, 12, /* 0x 630 */
|
||||
66, 15,183,193,131, 69,228, 32, 57,194,124,160,141,101,244,137, /* 0x 640 */
|
||||
216, 91, 94, 95,201,195 /* 0x 650 */
|
||||
};
|
||||
365
src/stub/i386-linux.elf.execve-entry.h
Normal file
365
src/stub/i386-linux.elf.execve-entry.h
Normal file
@ -0,0 +1,365 @@
|
||||
/* i386-linux.elf.execve-entry.h -- created from i386-linux.elf.execve-entry.bin, 5279 (0x149f) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define LINUX_I386EXEC_LOADER_SIZE 5279
|
||||
#define LINUX_I386EXEC_LOADER_ADLER32 0xf155b1a6
|
||||
#define LINUX_I386EXEC_LOADER_CRC32 0x8ea0096c
|
||||
|
||||
unsigned char linux_i386exec_loader[5279] = {
|
||||
232, 0, 0, 0, 0,184, 78, 77, 82, 85, 96,106, 63,139,116, 36, /* 0x 0 */
|
||||
40,139,124, 36, 48,131,205,255,235, 0,164,235, 0,138, 6, 70, /* 0x 10 */
|
||||
136, 7, 71, 1,219,117, 7,139, 30,131,238,252, 17,219,114, 0, /* 0x 20 */
|
||||
49,192, 64,138, 7,114, 0,184, 1, 0, 0, 0, 1,219,117, 7, /* 0x 30 */
|
||||
139, 30,131,238,252, 17,219, 17,192, 1,219,117, 7,139, 30,131, /* 0x 40 */
|
||||
238,252, 17,219,115, 0, 1,219,115, 0,117, 9,139, 30,131,238, /* 0x 50 */
|
||||
252, 17,219,115, 0, 49,201,131,232, 3,114, 13,193,224, 8,138, /* 0x 60 */
|
||||
6, 70,131,240,255,116, 0,137,197, 1,219,117, 7,139, 30,131, /* 0x 70 */
|
||||
238,252, 17,219, 17,201, 1,219,117, 7,139, 30,131,238,252, 17, /* 0x 80 */
|
||||
219, 17,201,117, 0, 65, 1,219,117, 7,139, 30,131,238,252, 17, /* 0x 90 */
|
||||
219, 17,201, 1,219,117, 7,139, 30,131,238,252, 17,219,115, 0, /* 0x a0 */
|
||||
1,219,115, 0,117, 9,139, 30,131,238,252, 17,219,115, 0, 65, /* 0x b0 */
|
||||
65,131,193, 2,129,253, 0,243,255,255,131,209, 1, 86,141, 52, /* 0x c0 */
|
||||
47,243,164, 94,233, 0, 0, 0, 0,141, 20, 47,131,253,252,138, /* 0x d0 */
|
||||
4, 15,118, 0,138, 2, 66,136, 7, 71, 73,117,247,233, 0, 0, /* 0x e0 */
|
||||
0, 0,139, 2,131,194, 4,137, 7,131,199, 4,131,233, 4,119, /* 0x f0 */
|
||||
241, 1,207,233, 0, 0, 0, 0,235, 0,164,235, 0,138, 6, 70, /* 0x 100 */
|
||||
136, 7, 71, 1,219,117, 7,139, 30,131,238,252, 17,219,114, 0, /* 0x 110 */
|
||||
49,192, 64,138, 7,114, 0,184, 1, 0, 0, 0, 1,219,117, 7, /* 0x 120 */
|
||||
139, 30,131,238,252, 17,219, 17,192, 1,219,117, 7,139, 30,131, /* 0x 130 */
|
||||
238,252, 17,219,114, 0, 1,219,115, 11,117, 0,139, 30,131,238, /* 0x 140 */
|
||||
252, 17,219,114, 0, 72, 1,219,117, 7,139, 30,131,238,252, 17, /* 0x 150 */
|
||||
219, 17,192,235, 0, 49,201,131,232, 3,114, 17,193,224, 8,138, /* 0x 160 */
|
||||
6, 70,131,240,255,116, 0,209,248,137,197,235, 11, 1,219,117, /* 0x 170 */
|
||||
7,139, 30,131,238,252, 17,219, 17,201, 1,219,117, 7,139, 30, /* 0x 180 */
|
||||
131,238,252, 17,219, 17,201,117, 0, 65, 1,219,117, 7,139, 30, /* 0x 190 */
|
||||
131,238,252, 17,219, 17,201, 1,219,117, 7,139, 30,131,238,252, /* 0x 1a0 */
|
||||
17,219,115, 0, 1,219,115, 0,117, 9,139, 30,131,238,252, 17, /* 0x 1b0 */
|
||||
219,115, 0, 65, 65,131,193, 2,129,253, 0,251,255,255,131,209, /* 0x 1c0 */
|
||||
1, 86,141, 52, 47,243,164, 94,233, 0, 0, 0, 0,141, 20, 47, /* 0x 1d0 */
|
||||
131,253,252,138, 4, 15,118, 0,138, 2, 66,136, 7, 71, 73,117, /* 0x 1e0 */
|
||||
247,233, 0, 0, 0, 0,139, 2,131,194, 4,137, 7,131,199, 4, /* 0x 1f0 */
|
||||
131,233, 4,119,241, 1,207,233, 0, 0, 0, 0,235, 0,164,235, /* 0x 200 */
|
||||
0,138, 6, 70,136, 7, 71, 1,219,117, 7,139, 30,131,238,252, /* 0x 210 */
|
||||
17,219,114, 0, 49,192, 64,138, 7,114, 0,184, 1, 0, 0, 0, /* 0x 220 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219, 17,192, 1,219,117, /* 0x 230 */
|
||||
7,139, 30,131,238,252, 17,219,114, 0, 1,219,115, 11,117, 0, /* 0x 240 */
|
||||
139, 30,131,238,252, 17,219,114, 0, 72, 1,219,117, 7,139, 30, /* 0x 250 */
|
||||
131,238,252, 17,219, 17,192,235, 0, 1,219,117, 7,139, 30,131, /* 0x 260 */
|
||||
238,252, 17,219, 17,201,235, 0, 49,201,131,232, 3,114, 17,193, /* 0x 270 */
|
||||
224, 8,138, 6, 70,131,240,255,116, 0,209,248,137,197,235, 11, /* 0x 280 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219,114,204, 65, 1,219, /* 0x 290 */
|
||||
117, 7,139, 30,131,238,252, 17,219,114,190, 1,219,117, 7,139, /* 0x 2a0 */
|
||||
30,131,238,252, 17,219, 17,201, 1,219,117, 7,139, 30,131,238, /* 0x 2b0 */
|
||||
252, 17,219,115, 0, 1,219,115, 0,117, 9,139, 30,131,238,252, /* 0x 2c0 */
|
||||
17,219,115, 0, 65, 65,131,193, 2,129,253, 0,251,255,255,131, /* 0x 2d0 */
|
||||
209, 2, 86,141, 52, 47,243,164, 94,233, 0, 0, 0, 0,141, 20, /* 0x 2e0 */
|
||||
47,131,253,252,138, 4, 15,118, 0,138, 2, 66,136, 7, 71, 73, /* 0x 2f0 */
|
||||
117,247,233, 0, 0, 0, 0,139, 2,131,194, 4,137, 7,131,199, /* 0x 300 */
|
||||
4,131,233, 4,119,241, 1,207,233, 0, 0, 0, 0,185, 84, 69, /* 0x 310 */
|
||||
88, 76,138, 7, 71, 44,232, 60, 1,119,247,128, 63, 63,117, 0, /* 0x 320 */
|
||||
139, 7,138, 95, 4,102,193,232, 8,134,196,193,192, 16,134,196, /* 0x 330 */
|
||||
41,248,128,235,232,137, 7,131,199, 5,136,216,226, 0,185, 84, /* 0x 340 */
|
||||
69, 88, 76,176,232,176,233,242,174,117, 0,128, 63, 63,117, 0, /* 0x 350 */
|
||||
139, 7,102,193,232, 8,134,196,193,192, 16,134,196, 41,248,171, /* 0x 360 */
|
||||
235, 0,139, 84, 36, 40, 3, 84, 36, 44, 57,242,116, 1, 72,135, /* 0x 370 */
|
||||
68, 36, 32,139, 84, 36, 52,137,249,139,124, 36, 48, 41,249,137, /* 0x 380 */
|
||||
10, 90, 87,106, 15, 91,136,215,147,235, 0, 90, 88, 89,151, 96, /* 0x 390 */
|
||||
49,219,187, 78, 77, 82, 85,106, 15, 88,138,100, 36, 32,106, 15, /* 0x 3a0 */
|
||||
91,138,124, 36, 32,138, 84, 36, 32,233, 0, 0, 0, 0, 15,183, /* 0x 3b0 */
|
||||
47, 43,110, 12, 41,221,117, 0,131,237, 1,115, 0,136, 95,255, /* 0x 3c0 */
|
||||
73,136, 7, 71,139, 7,156,102,193,232, 8,193,192, 16,134,196, /* 0x 3d0 */
|
||||
157,115, 0,176, 0, 15,200,115, 0,209,232,115, 0,254,203, 75, /* 0x 3e0 */
|
||||
35, 30,125, 2, 3, 30,137, 4,156,235, 0,141, 20, 24, 15,182, /* 0x 3f0 */
|
||||
210, 35, 22, 59, 22,114, 2, 43, 22,139, 4,148,254,203, 75, 35, /* 0x 400 */
|
||||
30,125, 2, 3, 30,139, 44,156,133,237,117, 0, 80,139, 70, 4, /* 0x 410 */
|
||||
254,200, 72, 35, 6,125, 2, 3, 6, 49,237,137, 70, 4,135,108, /* 0x 420 */
|
||||
132, 4, 88,137, 44,148,137, 4,156, 41,248,131,233, 4, 3, 70, /* 0x 430 */
|
||||
16, 1,240,137, 7,131,199, 4,235, 0,235, 0, 80,176,233,176, /* 0x 440 */
|
||||
232, 80,106, 0, 83,137,230, 94,137,218,178,233,178,232, 67,106, /* 0x 450 */
|
||||
0,254,203, 75,117, 0, 15,183, 7,131,199, 1, 60,128,114, 4, /* 0x 460 */
|
||||
60,143,118, 0, 41,208, 43, 70, 8,131,232, 2,116, 0,131,232, /* 0x 470 */
|
||||
1,114, 0,115, 0,122, 0,123, 0,248,235, 0,131,233, 1,127, /* 0x 480 */
|
||||
0,137,231,185, 4, 1, 0, 0,139, 14,131,193, 5,139, 14,131, /* 0x 490 */
|
||||
193, 4, 49,192,243,171,137,252, 86, 97,151, 81, 80, 82,195,137, /* 0x 4a0 */
|
||||
254,235, 0,138, 7,131,199, 1, 60,128,114, 10, 60,143,119, 6, /* 0x 4b0 */
|
||||
128,127,254, 15,116, 0, 44,232, 60, 1,119, 0, 56, 23,117, 0, /* 0x 4c0 */
|
||||
139, 7,102,193,232, 8,193,192, 16,134,196, 41,248, 1,240,137, /* 0x 4d0 */
|
||||
7,131,199, 4,131,233, 4,138, 7,131,199, 1,226, 0,131,233, /* 0x 4e0 */
|
||||
1,127, 0, 97,195, 93,187, 0, 16, 64, 0, 0, 76, 69, 88, 69, /* 0x 4f0 */
|
||||
67, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, /* 0x 500 */
|
||||
0, 76, 69, 88, 69, 67, 48, 50, 48, 0, 0, 0, 0, 0, 76, 69, /* 0x 510 */
|
||||
88, 69, 67, 48, 48, 57, 0, 5, 0, 0, 0, 76, 69, 88, 69, 67, /* 0x 520 */
|
||||
48, 49, 48, 0, 10, 0, 0, 0, 78, 50, 66, 83, 77, 65, 49, 48, /* 0x 530 */
|
||||
0, 24, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 78, 50, 66, /* 0x 540 */
|
||||
68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 66, 70, 65, 83, /* 0x 550 */
|
||||
49, 48, 0, 27, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 78, /* 0x 560 */
|
||||
50, 66, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 66, 70, /* 0x 570 */
|
||||
65, 83, 49, 49, 0, 29, 0, 0, 0, 78, 50, 66, 68, 69, 67, 49, /* 0x 580 */
|
||||
48, 0, 35, 0, 0, 0, 78, 50, 66, 83, 77, 65, 50, 48, 0, 46, /* 0x 590 */
|
||||
0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 78, 50, 66, 83, 77, /* 0x 5a0 */
|
||||
65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 66, 70, 65, 83, 50, 48, /* 0x 5b0 */
|
||||
0, 51, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 78, 50, 66, /* 0x 5c0 */
|
||||
70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, 66, 68, 69, 67, /* 0x 5d0 */
|
||||
50, 48, 0, 60, 0, 0, 0, 78, 50, 66, 83, 77, 65, 51, 48, 0, /* 0x 5e0 */
|
||||
73, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 78, 50, 66, 68, /* 0x 5f0 */
|
||||
69, 67, 50, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, 65, 83, 51, /* 0x 600 */
|
||||
48, 0, 86, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 78, 50, /* 0x 610 */
|
||||
66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,101, /* 0x 620 */
|
||||
0, 0, 0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, /* 0x 630 */
|
||||
78, 50, 66, 68, 69, 67, 51, 48, 0,101, 0, 0, 0, 0, 0, 0, /* 0x 640 */
|
||||
0,119, 0, 0, 0, 78, 50, 66, 68, 69, 67, 54, 48, 0, 0, 0, /* 0x 650 */
|
||||
0, 0, 0, 0, 0, 0,149, 0, 0, 0, 78, 50, 66, 68, 69, 67, /* 0x 660 */
|
||||
53, 48, 0, 0, 0, 0, 0, 78, 50, 66, 83, 77, 65, 52, 48, 0, /* 0x 670 */
|
||||
163, 0, 0, 0, 0, 0, 0, 0,176, 0, 0, 0, 78, 50, 66, 68, /* 0x 680 */
|
||||
69, 67, 51, 48, 0, 49, 0, 0, 0, 78, 50, 66, 70, 65, 83, 52, /* 0x 690 */
|
||||
48, 0,176, 0, 0, 0, 0, 0, 0, 0,180, 0, 0, 0, 78, 50, /* 0x 6a0 */
|
||||
66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0,191, /* 0x 6b0 */
|
||||
0, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, /* 0x 6c0 */
|
||||
78, 50, 66, 68, 85, 77, 77, 49, 0,191, 0, 0, 0, 78, 50, 66, /* 0x 6d0 */
|
||||
83, 77, 65, 53, 48, 0,191, 0, 0, 0, 78, 50, 66, 70, 65, 83, /* 0x 6e0 */
|
||||
53, 48, 0,193, 0, 0, 0, 78, 50, 66, 68, 69, 67, 53, 48, 0, /* 0x 6f0 */
|
||||
196, 0, 0, 0, 78, 50, 66, 83, 77, 65, 54, 48, 0,205, 0, 0, /* 0x 700 */
|
||||
0, 0, 0, 0, 0,217, 0, 0, 0, 78, 50, 66, 68, 69, 67, 49, /* 0x 710 */
|
||||
48, 0, 0, 0, 0, 0, 78, 50, 66, 70, 65, 83, 54, 48, 0,217, /* 0x 720 */
|
||||
0, 0, 0, 0, 0, 0, 0,228, 0, 0, 0, 78, 50, 66, 70, 65, /* 0x 730 */
|
||||
83, 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0,242, 0, 0, 0, /* 0x 740 */
|
||||
78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 66, /* 0x 750 */
|
||||
70, 65, 83, 54, 49, 0,242, 0, 0, 0, 0, 0, 0, 0, 8, 1, /* 0x 760 */
|
||||
0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, /* 0x 770 */
|
||||
50, 66, 68, 69, 67, 54, 48, 0, 8, 1, 0, 0, 78, 82, 86, 50, /* 0x 780 */
|
||||
66, 69, 78, 68, 0, 8, 1, 0, 0, 78, 50, 68, 83, 77, 65, 49, /* 0x 790 */
|
||||
48, 0, 8, 1, 0, 0, 0, 0, 0, 0, 10, 1, 0, 0, 78, 50, /* 0x 7a0 */
|
||||
68, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 68, 70, 65, /* 0x 7b0 */
|
||||
83, 49, 48, 0, 11, 1, 0, 0, 0, 0, 0, 0, 13, 1, 0, 0, /* 0x 7c0 */
|
||||
78, 50, 68, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 68, /* 0x 7d0 */
|
||||
70, 65, 83, 49, 49, 0, 13, 1, 0, 0, 78, 50, 68, 68, 69, 67, /* 0x 7e0 */
|
||||
49, 48, 0, 19, 1, 0, 0, 78, 50, 68, 83, 77, 65, 50, 48, 0, /* 0x 7f0 */
|
||||
30, 1, 0, 0, 0, 0, 0, 0, 32, 1, 0, 0, 78, 50, 68, 83, /* 0x 800 */
|
||||
77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 68, 70, 65, 83, 50, /* 0x 810 */
|
||||
48, 0, 35, 1, 0, 0, 0, 0, 0, 0, 39, 1, 0, 0, 78, 50, /* 0x 820 */
|
||||
68, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, 68, 68, 69, /* 0x 830 */
|
||||
67, 50, 48, 0, 44, 1, 0, 0, 78, 50, 68, 83, 77, 65, 51, 48, /* 0x 840 */
|
||||
0, 57, 1, 0, 0, 0, 0, 0, 0, 70, 1, 0, 0, 78, 50, 68, /* 0x 850 */
|
||||
68, 69, 67, 51, 48, 0, 16, 0, 0, 0, 78, 50, 68, 70, 65, 83, /* 0x 860 */
|
||||
51, 48, 0, 70, 1, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0, 78, /* 0x 870 */
|
||||
50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, 0, 0, 0, 0, /* 0x 880 */
|
||||
85, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, /* 0x 890 */
|
||||
0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 85, 1, 0, 0, 0, 0, /* 0x 8a0 */
|
||||
0, 0,101, 1, 0, 0, 78, 50, 68, 68, 69, 67, 50, 48, 0, 0, /* 0x 8b0 */
|
||||
0, 0, 0, 0, 0, 0, 0,119, 1, 0, 0, 78, 50, 68, 68, 69, /* 0x 8c0 */
|
||||
67, 54, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,153, 1, 0, 0, /* 0x 8d0 */
|
||||
78, 50, 68, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 78, 50, 68, /* 0x 8e0 */
|
||||
83, 77, 65, 52, 48, 0,167, 1, 0, 0, 0, 0, 0, 0,180, 1, /* 0x 8f0 */
|
||||
0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 69, 0, 0, 0, 78, /* 0x 900 */
|
||||
50, 68, 70, 65, 83, 52, 48, 0,180, 1, 0, 0, 0, 0, 0, 0, /* 0x 910 */
|
||||
184, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 69, 0, 0, /* 0x 920 */
|
||||
0, 0, 0, 0, 0,195, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, /* 0x 930 */
|
||||
48, 0, 69, 0, 0, 0, 78, 50, 68, 68, 85, 77, 77, 49, 0,195, /* 0x 940 */
|
||||
1, 0, 0, 78, 50, 68, 83, 77, 65, 53, 48, 0,195, 1, 0, 0, /* 0x 950 */
|
||||
78, 50, 68, 70, 65, 83, 53, 48, 0,197, 1, 0, 0, 78, 50, 68, /* 0x 960 */
|
||||
68, 69, 67, 53, 48, 0,200, 1, 0, 0, 78, 50, 68, 83, 77, 65, /* 0x 970 */
|
||||
54, 48, 0,209, 1, 0, 0, 0, 0, 0, 0,221, 1, 0, 0, 78, /* 0x 980 */
|
||||
50, 68, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 68, 70, /* 0x 990 */
|
||||
65, 83, 54, 48, 0,221, 1, 0, 0, 0, 0, 0, 0,232, 1, 0, /* 0x 9a0 */
|
||||
0, 78, 50, 68, 70, 65, 83, 54, 49, 0, 0, 0, 0, 0, 0, 0, /* 0x 9b0 */
|
||||
0, 0,246, 1, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 0, /* 0x 9c0 */
|
||||
0, 0, 0, 78, 50, 68, 70, 65, 83, 54, 49, 0,246, 1, 0, 0, /* 0x 9d0 */
|
||||
0, 0, 0, 0, 12, 2, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, /* 0x 9e0 */
|
||||
0, 0, 0, 0, 0, 78, 50, 68, 68, 69, 67, 54, 48, 0, 12, 2, /* 0x 9f0 */
|
||||
0, 0, 78, 82, 86, 50, 68, 69, 78, 68, 0, 12, 2, 0, 0, 78, /* 0x a00 */
|
||||
50, 69, 83, 77, 65, 49, 48, 0, 12, 2, 0, 0, 0, 0, 0, 0, /* 0x a10 */
|
||||
14, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 4, 0, 0, /* 0x a20 */
|
||||
0, 78, 50, 69, 70, 65, 83, 49, 48, 0, 15, 2, 0, 0, 0, 0, /* 0x a30 */
|
||||
0, 0, 17, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 4, /* 0x a40 */
|
||||
0, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, 17, 2, 0, 0, /* 0x a50 */
|
||||
78, 50, 69, 68, 69, 67, 49, 48, 0, 23, 2, 0, 0, 78, 50, 69, /* 0x a60 */
|
||||
83, 77, 65, 50, 48, 0, 34, 2, 0, 0, 0, 0, 0, 0, 36, 2, /* 0x a70 */
|
||||
0, 0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, /* 0x a80 */
|
||||
50, 69, 70, 65, 83, 50, 48, 0, 39, 2, 0, 0, 0, 0, 0, 0, /* 0x a90 */
|
||||
43, 2, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, 0, 0, 0, /* 0x aa0 */
|
||||
0, 78, 50, 69, 68, 69, 67, 50, 48, 0, 48, 2, 0, 0, 78, 50, /* 0x ab0 */
|
||||
69, 83, 77, 65, 51, 48, 0, 61, 2, 0, 0, 0, 0, 0, 0, 74, /* 0x ac0 */
|
||||
2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 31, 0, 0, 0, /* 0x ad0 */
|
||||
78, 50, 69, 70, 65, 83, 51, 48, 0, 74, 2, 0, 0, 0, 0, 0, /* 0x ae0 */
|
||||
0, 80, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 31, 0, /* 0x af0 */
|
||||
0, 0, 0, 0, 0, 0, 89, 2, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x b00 */
|
||||
51, 48, 0, 31, 0, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, /* 0x b10 */
|
||||
89, 2, 0, 0, 0, 0, 0, 0,105, 2, 0, 0, 78, 50, 69, 68, /* 0x b20 */
|
||||
69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 2, 0, /* 0x b30 */
|
||||
0, 78, 50, 69, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 0, 0, /* 0x b40 */
|
||||
0, 0,138, 2, 0, 0, 78, 50, 69, 68, 69, 67, 54, 48, 0, 0, /* 0x b50 */
|
||||
0, 0, 0, 78, 50, 69, 83, 77, 65, 52, 48, 0,184, 2, 0, 0, /* 0x b60 */
|
||||
0, 0, 0, 0,197, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, /* 0x b70 */
|
||||
0, 82, 0, 0, 0, 78, 50, 69, 70, 65, 83, 52, 48, 0,197, 2, /* 0x b80 */
|
||||
0, 0, 0, 0, 0, 0,201, 2, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x b90 */
|
||||
51, 48, 0, 82, 0, 0, 0, 0, 0, 0, 0,212, 2, 0, 0, 78, /* 0x ba0 */
|
||||
50, 69, 68, 69, 67, 51, 48, 0, 82, 0, 0, 0, 78, 50, 69, 68, /* 0x bb0 */
|
||||
85, 77, 77, 49, 0,212, 2, 0, 0, 78, 50, 69, 83, 77, 65, 53, /* 0x bc0 */
|
||||
48, 0,212, 2, 0, 0, 78, 50, 69, 70, 65, 83, 53, 48, 0,214, /* 0x bd0 */
|
||||
2, 0, 0, 78, 50, 69, 68, 69, 67, 53, 48, 0,217, 2, 0, 0, /* 0x be0 */
|
||||
78, 50, 69, 83, 77, 65, 54, 48, 0,226, 2, 0, 0, 0, 0, 0, /* 0x bf0 */
|
||||
0,238, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, /* 0x c00 */
|
||||
0, 0, 78, 50, 69, 70, 65, 83, 54, 48, 0,238, 2, 0, 0, 0, /* 0x c10 */
|
||||
0, 0, 0,249, 2, 0, 0, 78, 50, 69, 70, 65, 83, 54, 49, 0, /* 0x c20 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 7, 3, 0, 0, 78, 50, 69, 68, /* 0x c30 */
|
||||
69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, 70, 65, 83, 54, /* 0x c40 */
|
||||
49, 0, 7, 3, 0, 0, 0, 0, 0, 0, 29, 3, 0, 0, 78, 50, /* 0x c50 */
|
||||
69, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, 68, 69, /* 0x c60 */
|
||||
67, 54, 48, 0, 29, 3, 0, 0, 78, 82, 86, 50, 69, 69, 78, 68, /* 0x c70 */
|
||||
0, 29, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, 48, 0, 29, 3, /* 0x c80 */
|
||||
0, 0, 67, 84, 67, 76, 69, 86, 69, 49, 0, 43, 3, 0, 0, 0, /* 0x c90 */
|
||||
0, 0, 0, 48, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, 48, 0, /* 0x ca0 */
|
||||
5, 0, 0, 0, 67, 65, 76, 76, 84, 82, 48, 49, 0, 48, 3, 0, /* 0x cb0 */
|
||||
0, 67, 84, 68, 85, 77, 77, 89, 49, 0, 53, 3, 0, 0, 67, 84, /* 0x cc0 */
|
||||
66, 83, 72, 82, 48, 49, 0, 53, 3, 0, 0, 67, 84, 66, 82, 79, /* 0x cd0 */
|
||||
82, 48, 49, 0, 57, 3, 0, 0, 67, 84, 66, 83, 87, 65, 48, 49, /* 0x ce0 */
|
||||
0, 59, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, 50, 0, 64, 3, /* 0x cf0 */
|
||||
0, 0, 0, 0, 0, 0, 78, 3, 0, 0, 67, 65, 76, 76, 84, 82, /* 0x d00 */
|
||||
48, 48, 0, 10, 0, 0, 0, 67, 65, 76, 76, 84, 82, 49, 48, 0, /* 0x d10 */
|
||||
78, 3, 0, 0, 67, 65, 76, 76, 84, 82, 69, 56, 0, 83, 3, 0, /* 0x d20 */
|
||||
0, 67, 65, 76, 76, 84, 82, 69, 57, 0, 85, 3, 0, 0, 67, 65, /* 0x d30 */
|
||||
76, 76, 84, 82, 49, 49, 0, 87, 3, 0, 0, 0, 0, 0, 0, 91, /* 0x d40 */
|
||||
3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0, 5, 0, 0, 0, /* 0x d50 */
|
||||
67, 84, 67, 76, 69, 86, 69, 50, 0, 91, 3, 0, 0, 0, 0, 0, /* 0x d60 */
|
||||
0, 96, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 49, 0, 0, 0, /* 0x d70 */
|
||||
0, 0, 67, 65, 76, 76, 84, 82, 49, 50, 0, 96, 3, 0, 0, 67, /* 0x d80 */
|
||||
84, 68, 85, 77, 77, 89, 50, 0, 98, 3, 0, 0, 67, 84, 66, 83, /* 0x d90 */
|
||||
72, 82, 49, 49, 0, 98, 3, 0, 0, 67, 84, 66, 82, 79, 82, 49, /* 0x da0 */
|
||||
49, 0,102, 3, 0, 0, 67, 84, 66, 83, 87, 65, 49, 49, 0,104, /* 0x db0 */
|
||||
3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0,109, 3, 0, 0, /* 0x dc0 */
|
||||
0, 0, 0, 0,114, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 48, /* 0x dd0 */
|
||||
0, 5, 0, 0, 0, 67, 84, 84, 72, 69, 69, 78, 68, 0,114, 3, /* 0x de0 */
|
||||
0, 0, 76, 69, 88, 69, 67, 48, 49, 53, 0,114, 3, 0, 0, 76, /* 0x df0 */
|
||||
69, 88, 69, 67, 49, 49, 48, 0,146, 3, 0, 0, 76, 69, 88, 69, /* 0x e00 */
|
||||
67, 49, 48, 48, 0,152, 3, 0, 0, 76, 88, 85, 78, 70, 48, 48, /* 0x e10 */
|
||||
48, 0,153, 3, 0, 0, 0, 0, 0, 0,155, 3, 0, 0, 76, 88, /* 0x e20 */
|
||||
85, 78, 70, 48, 49, 48, 0, 5, 0, 0, 0, 76, 88, 85, 78, 70, /* 0x e30 */
|
||||
48, 48, 50, 0,155, 3, 0, 0, 77, 82, 85, 66, 89, 84, 69, 48, /* 0x e40 */
|
||||
0,160, 3, 0, 0, 76, 88, 77, 82, 85, 48, 48, 53, 0,162, 3, /* 0x e50 */
|
||||
0, 0, 76, 88, 77, 82, 85, 48, 48, 54, 0,167, 3, 0, 0, 76, /* 0x e60 */
|
||||
88, 77, 82, 85, 48, 48, 55, 0,174, 3, 0, 0, 76, 88, 85, 78, /* 0x e70 */
|
||||
70, 48, 48, 56, 0,181, 3, 0, 0, 76, 88, 85, 78, 70, 48, 49, /* 0x e80 */
|
||||
48, 0,185, 3, 0, 0, 0, 0, 0, 0,190, 3, 0, 0, 76, 88, /* 0x e90 */
|
||||
85, 78, 70, 48, 52, 50, 0, 0, 0, 0, 0, 76, 88, 74, 67, 67, /* 0x ea0 */
|
||||
48, 49, 48, 0,190, 3, 0, 0, 76, 88, 77, 82, 85, 48, 52, 53, /* 0x eb0 */
|
||||
0,193, 3, 0, 0, 76, 88, 77, 82, 85, 48, 52, 54, 0,196, 3, /* 0x ec0 */
|
||||
0, 0, 76, 88, 74, 67, 67, 48, 50, 48, 0,198, 3, 0, 0, 0, /* 0x ed0 */
|
||||
0, 0, 0,200, 3, 0, 0, 76, 88, 85, 78, 70, 48, 51, 52, 0, /* 0x ee0 */
|
||||
0, 0, 0, 0, 76, 88, 74, 67, 67, 48, 50, 49, 0,200, 3, 0, /* 0x ef0 */
|
||||
0, 0, 0, 0, 0,205, 3, 0, 0, 76, 88, 85, 78, 70, 48, 51, /* 0x f00 */
|
||||
52, 0, 0, 0, 0, 0, 76, 88, 74, 67, 67, 48, 50, 51, 0,205, /* 0x f10 */
|
||||
3, 0, 0, 76, 88, 85, 78, 70, 48, 51, 55, 0,212, 3, 0, 0, /* 0x f20 */
|
||||
76, 88, 85, 78, 70, 51, 56, 54, 0,214, 3, 0, 0, 76, 88, 85, /* 0x f30 */
|
||||
78, 70, 51, 56, 55, 0,215, 3, 0, 0, 76, 88, 85, 78, 70, 51, /* 0x f40 */
|
||||
56, 56, 0,224, 3, 0, 0, 0, 0, 0, 0,227, 3, 0, 0, 76, /* 0x f50 */
|
||||
88, 85, 78, 70, 48, 52, 48, 0, 0, 0, 0, 0, 76, 88, 85, 78, /* 0x f60 */
|
||||
70, 52, 56, 54, 0,227, 3, 0, 0, 76, 88, 85, 78, 70, 52, 56, /* 0x f70 */
|
||||
55, 0,231, 3, 0, 0, 0, 0, 0, 0,233, 3, 0, 0, 76, 88, /* 0x f80 */
|
||||
85, 78, 70, 48, 52, 48, 0, 0, 0, 0, 0, 76, 88, 77, 82, 85, /* 0x f90 */
|
||||
48, 54, 53, 0,233, 3, 0, 0, 0, 0, 0, 0,237, 3, 0, 0, /* 0x fa0 */
|
||||
76, 88, 77, 82, 85, 48, 55, 48, 0, 5, 0, 0, 0, 77, 82, 85, /* 0x fb0 */
|
||||
66, 89, 84, 69, 51, 0,237, 3, 0, 0, 77, 82, 85, 65, 82, 66, /* 0x fc0 */
|
||||
51, 48, 0,239, 3, 0, 0, 77, 82, 85, 66, 73, 84, 83, 51, 0, /* 0x fd0 */
|
||||
240, 3, 0, 0, 77, 82, 85, 65, 82, 66, 52, 48, 0,242, 3, 0, /* 0x fe0 */
|
||||
0, 76, 88, 77, 82, 85, 48, 55, 48, 0,246, 3, 0, 0, 0, 0, /* 0x ff0 */
|
||||
0, 0,251, 3, 0, 0, 76, 88, 85, 78, 70, 48, 52, 48, 0, 0, /* 0x1000 */
|
||||
0, 0, 0, 77, 82, 85, 66, 89, 84, 69, 52, 0,254, 3, 0, 0, /* 0x1010 */
|
||||
77, 82, 85, 66, 73, 84, 83, 52, 0, 1, 4, 0, 0, 77, 82, 85, /* 0x1020 */
|
||||
65, 82, 66, 53, 48, 0, 3, 4, 0, 0, 76, 88, 77, 82, 85, 48, /* 0x1030 */
|
||||
56, 48, 0, 9, 4, 0, 0, 77, 82, 85, 66, 89, 84, 69, 53, 0, /* 0x1040 */
|
||||
12, 4, 0, 0, 77, 82, 85, 65, 82, 66, 54, 48, 0, 14, 4, 0, /* 0x1050 */
|
||||
0, 77, 82, 85, 66, 73, 84, 83, 53, 0, 15, 4, 0, 0, 77, 82, /* 0x1060 */
|
||||
85, 65, 82, 66, 55, 48, 0, 17, 4, 0, 0, 76, 88, 77, 82, 85, /* 0x1070 */
|
||||
48, 57, 48, 0, 21, 4, 0, 0, 0, 0, 0, 0, 28, 4, 0, 0, /* 0x1080 */
|
||||
76, 88, 77, 82, 85, 49, 48, 48, 0, 10, 0, 0, 0, 77, 82, 85, /* 0x1090 */
|
||||
66, 89, 84, 69, 54, 0, 32, 4, 0, 0, 77, 82, 85, 65, 82, 66, /* 0x10a0 */
|
||||
56, 48, 0, 34, 4, 0, 0, 77, 82, 85, 66, 73, 84, 83, 54, 0, /* 0x10b0 */
|
||||
35, 4, 0, 0, 77, 82, 85, 65, 82, 66, 57, 48, 0, 37, 4, 0, /* 0x10c0 */
|
||||
0, 76, 88, 77, 82, 85, 49, 48, 48, 0, 41, 4, 0, 0, 76, 88, /* 0x10d0 */
|
||||
85, 78, 70, 48, 52, 48, 0, 57, 4, 0, 0, 76, 88, 77, 82, 85, /* 0x10e0 */
|
||||
49, 49, 48, 0, 62, 4, 0, 0, 76, 88, 77, 82, 85, 49, 49, 49, /* 0x10f0 */
|
||||
0, 65, 4, 0, 0, 76, 88, 85, 78, 70, 48, 52, 49, 0, 67, 4, /* 0x1100 */
|
||||
0, 0, 0, 0, 0, 0, 74, 4, 0, 0, 76, 88, 85, 78, 70, 48, /* 0x1110 */
|
||||
51, 52, 0, 0, 0, 0, 0, 76, 88, 85, 78, 70, 48, 52, 50, 0, /* 0x1120 */
|
||||
74, 4, 0, 0, 76, 69, 88, 69, 67, 48, 49, 54, 0, 74, 4, 0, /* 0x1130 */
|
||||
0, 0, 0, 0, 0, 76, 4, 0, 0, 76, 88, 85, 78, 70, 48, 52, /* 0x1140 */
|
||||
50, 0, 0, 0, 0, 0, 76, 88, 77, 82, 85, 48, 49, 48, 0, 76, /* 0x1150 */
|
||||
4, 0, 0, 76, 88, 74, 77, 80, 65, 48, 48, 0, 77, 4, 0, 0, /* 0x1160 */
|
||||
76, 88, 67, 65, 76, 76, 66, 48, 0, 79, 4, 0, 0, 76, 88, 85, /* 0x1170 */
|
||||
78, 70, 48, 50, 49, 0, 81, 4, 0, 0, 76, 88, 77, 82, 85, 48, /* 0x1180 */
|
||||
50, 50, 0, 87, 4, 0, 0, 76, 88, 74, 77, 80, 65, 48, 49, 0, /* 0x1190 */
|
||||
90, 4, 0, 0, 76, 88, 67, 65, 76, 76, 66, 49, 0, 92, 4, 0, /* 0x11a0 */
|
||||
0, 77, 82, 85, 66, 73, 84, 83, 49, 0, 94, 4, 0, 0, 76, 88, /* 0x11b0 */
|
||||
77, 82, 85, 48, 51, 48, 0, 95, 4, 0, 0, 77, 82, 85, 66, 89, /* 0x11c0 */
|
||||
84, 69, 49, 0, 97, 4, 0, 0, 77, 82, 85, 65, 82, 66, 49, 48, /* 0x11d0 */
|
||||
0, 99, 4, 0, 0, 76, 88, 77, 82, 85, 48, 52, 48, 0,100, 4, /* 0x11e0 */
|
||||
0, 0, 0, 0, 0, 0,102, 4, 0, 0, 76, 88, 77, 82, 85, 48, /* 0x11f0 */
|
||||
51, 48, 0, 0, 0, 0, 0, 76, 88, 85, 78, 70, 48, 51, 48, 0, /* 0x1200 */
|
||||
102, 4, 0, 0, 76, 88, 74, 67, 67, 48, 48, 48, 0,108, 4, 0, /* 0x1210 */
|
||||
0, 0, 0, 0, 0,116, 4, 0, 0, 76, 88, 74, 67, 67, 48, 49, /* 0x1220 */
|
||||
48, 0, 0, 0, 0, 0, 76, 88, 67, 74, 48, 77, 82, 85, 0,116, /* 0x1230 */
|
||||
4, 0, 0, 76, 88, 67, 74, 49, 77, 82, 85, 0,118, 4, 0, 0, /* 0x1240 */
|
||||
76, 88, 67, 65, 76, 74, 77, 80, 0,121, 4, 0, 0, 76, 88, 67, /* 0x1250 */
|
||||
65, 76, 76, 48, 48, 0,124, 4, 0, 0, 0, 0, 0, 0,126, 4, /* 0x1260 */
|
||||
0, 0, 76, 88, 85, 78, 70, 48, 51, 55, 0, 0, 0, 0, 0, 76, /* 0x1270 */
|
||||
88, 67, 65, 76, 76, 48, 49, 0,126, 4, 0, 0, 76, 88, 67, 74, /* 0x1280 */
|
||||
50, 77, 82, 85, 0,129, 4, 0, 0, 0, 0, 0, 0,131, 4, 0, /* 0x1290 */
|
||||
0, 76, 88, 85, 78, 70, 48, 51, 55, 0, 0, 0, 0, 0, 76, 88, /* 0x12a0 */
|
||||
67, 74, 52, 77, 82, 85, 0,131, 4, 0, 0, 0, 0, 0, 0,133, /* 0x12b0 */
|
||||
4, 0, 0, 76, 88, 85, 78, 70, 48, 51, 52, 0, 0, 0, 0, 0, /* 0x12c0 */
|
||||
76, 88, 67, 74, 54, 77, 82, 85, 0,133, 4, 0, 0, 0, 0, 0, /* 0x12d0 */
|
||||
0,135, 4, 0, 0, 76, 88, 67, 74, 56, 77, 82, 85, 0, 1, 0, /* 0x12e0 */
|
||||
0, 0, 76, 88, 67, 74, 55, 77, 82, 85, 0,135, 4, 0, 0, 0, /* 0x12f0 */
|
||||
0, 0, 0,137, 4, 0, 0, 76, 88, 67, 74, 56, 77, 82, 85, 0, /* 0x1300 */
|
||||
1, 0, 0, 0, 76, 88, 67, 74, 56, 77, 82, 85, 0,137, 4, 0, /* 0x1310 */
|
||||
0, 0, 0, 0, 0,140, 4, 0, 0, 76, 88, 85, 78, 70, 48, 51, /* 0x1320 */
|
||||
55, 0, 0, 0, 0, 0, 76, 88, 85, 78, 70, 48, 51, 52, 0,140, /* 0x1330 */
|
||||
4, 0, 0, 0, 0, 0, 0,145, 4, 0, 0, 76, 88, 85, 78, 70, /* 0x1340 */
|
||||
48, 51, 48, 0, 0, 0, 0, 0, 76, 88, 77, 82, 85, 48, 53, 53, /* 0x1350 */
|
||||
0,145, 4, 0, 0, 77, 82, 85, 66, 89, 84, 69, 50, 0,147, 4, /* 0x1360 */
|
||||
0, 0, 77, 82, 85, 66, 73, 84, 83, 50, 0,152, 4, 0, 0, 77, /* 0x1370 */
|
||||
82, 85, 65, 82, 66, 50, 48, 0,157, 4, 0, 0, 76, 88, 77, 82, /* 0x1380 */
|
||||
85, 48, 53, 55, 0,162, 4, 0, 0, 76, 88, 77, 82, 85, 48, 53, /* 0x1390 */
|
||||
56, 0,168, 4, 0, 0, 76, 88, 85, 78, 70, 48, 51, 53, 0,169, /* 0x13a0 */
|
||||
4, 0, 0, 67, 75, 76, 76, 84, 82, 48, 48, 0,175, 4, 0, 0, /* 0x13b0 */
|
||||
0, 0, 0, 0,179, 4, 0, 0, 67, 75, 76, 76, 84, 82, 50, 48, /* 0x13c0 */
|
||||
0, 30, 0, 0, 0, 67, 75, 76, 76, 84, 82, 49, 48, 0,184, 4, /* 0x13d0 */
|
||||
0, 0, 0, 0, 0, 0,198, 4, 0, 0, 67, 75, 76, 76, 84, 82, /* 0x13e0 */
|
||||
50, 48, 0, 6, 0, 0, 0, 67, 75, 76, 76, 84, 82, 50, 48, 0, /* 0x13f0 */
|
||||
198, 4, 0, 0, 0, 0, 0, 0,204, 4, 0, 0, 67, 75, 76, 76, /* 0x1400 */
|
||||
84, 82, 52, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 4, 0, /* 0x1410 */
|
||||
0, 67, 75, 76, 76, 84, 82, 52, 48, 0, 0, 0, 0, 0, 67, 75, /* 0x1420 */
|
||||
76, 76, 84, 82, 51, 48, 0,231, 4, 0, 0, 0, 0, 0, 0,238, /* 0x1430 */
|
||||
4, 0, 0, 67, 75, 76, 76, 84, 82, 49, 48, 0, 14, 0, 0, 0, /* 0x1440 */
|
||||
67, 75, 76, 76, 84, 82, 52, 48, 0,238, 4, 0, 0, 0, 0, 0, /* 0x1450 */
|
||||
0,243, 4, 0, 0, 67, 75, 76, 76, 84, 82, 48, 48, 0, 4, 0, /* 0x1460 */
|
||||
0, 0, 76, 69, 88, 69, 67, 48, 49, 55, 0,243, 4, 0, 0, 76, /* 0x1470 */
|
||||
69, 88, 69, 67, 48, 50, 48, 0,245, 4, 0, 0, 88, 84, 72, 69, /* 0x1480 */
|
||||
69, 78, 68, 88, 0,251, 4, 0, 0,255,255,255,255,251, 4 /* 0x1490 */
|
||||
};
|
||||
92
src/stub/i386-linux.elf.execve-fold.h
Normal file
92
src/stub/i386-linux.elf.execve-fold.h
Normal file
@ -0,0 +1,92 @@
|
||||
/* i386-linux.elf.execve-fold.h -- created from i386-linux.elf.execve-fold.bin, 899 (0x383) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define LINUX_I386EXEC_FOLD_SIZE 899
|
||||
#define LINUX_I386EXEC_FOLD_ADLER32 0x1a1874e1
|
||||
#define LINUX_I386EXEC_FOLD_CRC32 0x6ce5306c
|
||||
|
||||
unsigned char linux_i386exec_fold[899] = {
|
||||
127, 69, 76, 70, 1, 1, 1, 0, 76,105,110,117,120, 0, 0, 0, /* 0x 0 */
|
||||
2, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, /* 0x 10 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 1, 0, 0, 0, /* 0x 20 */
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 16, 64, 0, /* 0x 30 */
|
||||
0, 16, 64, 0,131, 3, 0, 0,132, 3, 0, 0, 5, 0, 0, 0, /* 0x 40 */
|
||||
0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 50 */
|
||||
88,137,225,141, 84,132, 4,139,123, 24,141,115, 96, 41,247,141, /* 0x 60 */
|
||||
93, 2, 96,232,199, 0, 0, 0,244, 83,141, 92, 36, 8,106, 90, /* 0x 70 */
|
||||
88,205,128, 91,195, 0, 0, 0, 83,137,195,139, 76, 36, 8,136, /* 0x 80 */
|
||||
208,131,224, 31, 60, 25,118, 3,131,232, 43,131,192, 65, 75,136, /* 0x 90 */
|
||||
3,137,208,193,232, 5,137,194,226,229, 91,195, 85, 49,201,137, /* 0x a0 */
|
||||
229, 87, 86,137,202, 83,131,236, 44,139, 93, 8,106, 5, 88,205, /* 0x b0 */
|
||||
128,133,192,137,198,120,108,199, 69,212, 47,112,114,111,199, 69, /* 0x c0 */
|
||||
216, 99, 47, 0, 0,106, 20, 88,205,128,141, 85,218,141,125,212, /* 0x d0 */
|
||||
232,123, 2, 0, 0,141, 80, 4,137,251,199, 0, 47,102,100, 47, /* 0x e0 */
|
||||
137,240,232,105, 2, 0, 0,186, 1, 0, 0, 0,106, 33, 88,106, /* 0x f0 */
|
||||
5, 89,205,128, 61, 85, 80, 88, 50,117, 33,139, 93, 8,106, 10, /* 0x 100 */
|
||||
88,205,128,185, 2, 0, 0, 0,137,243,106, 55, 88,205,128,137, /* 0x 110 */
|
||||
251,139, 77, 12,139, 85, 16,106, 11, 88,205,128,137,243,106, 6, /* 0x 120 */
|
||||
88,205,128,131,196, 44,137,240, 91, 94, 95,201,194, 12, 0, 85, /* 0x 130 */
|
||||
137,229, 87, 86, 83,131,236,124,141,125,228,139, 69, 16,139,117, /* 0x 140 */
|
||||
12,137, 69,156,165,165,165,131,109, 8, 12,129,125,228, 85, 80, /* 0x 150 */
|
||||
88, 51,137,117, 12, 15,133,111, 1, 0, 0,199, 69,196, 47,116, /* 0x 160 */
|
||||
109,112,199, 69,200, 47,117,112,120,141, 77,215,106, 20, 88,205, /* 0x 170 */
|
||||
128,137,194,106, 4,137,200,141,125,211,232,249,254,255,255,139, /* 0x 180 */
|
||||
85,228,198, 69,215, 0, 49,201, 49,208,141, 93,172,137, 69,132, /* 0x 190 */
|
||||
106, 78, 88,205,128,139, 85,172,137,248, 49, 85,132,139, 85,176, /* 0x 1a0 */
|
||||
199, 4, 36, 7, 0, 0, 0,141, 93,196,193,226, 12, 51, 85,132, /* 0x 1b0 */
|
||||
232,195,254,255,255, 88,106, 10, 88,205,128,131,248,254,116, 8, /* 0x 1c0 */
|
||||
133,192, 15,133, 2, 1, 0, 0,185,194, 0, 0, 0,186,192, 1, /* 0x 1d0 */
|
||||
0, 0,141, 93,196,106, 5, 88,205,128,139, 85,232,137, 69,148, /* 0x 1e0 */
|
||||
137,195,137,209,106, 93, 88,205,128,133,192, 15,133,209, 0, 0, /* 0x 1f0 */
|
||||
0,106, 0,255,117,148,106, 1,106, 3, 82,106, 0,232,103,254, /* 0x 200 */
|
||||
255,255,131,196, 24, 61, 0,240,255,255,137, 69,136, 15,135,175, /* 0x 210 */
|
||||
0, 0, 0,139, 69,232,106, 0,106,255, 5,255, 15, 0, 0,106, /* 0x 220 */
|
||||
50, 37, 0,240,255,255,106, 3, 3, 69,136,104, 0, 16, 0, 0, /* 0x 230 */
|
||||
80,232, 51,254,255,255,131,196, 24,141,125,180,139,117, 12,165, /* 0x 240 */
|
||||
165,165,139, 77,180,131,109, 8, 12,133,201,137,117, 12,139, 85, /* 0x 250 */
|
||||
184,117, 16,129,250, 85, 80, 88, 33,117,103,131,125,232, 0,116, /* 0x 260 */
|
||||
115,235, 95, 57,202,119, 91, 59, 85,236,119, 86, 57,202,115, 36, /* 0x 270 */
|
||||
15,182, 69,188, 80,141, 69,168, 80,255,117,136, 82,255,117, 12, /* 0x 280 */
|
||||
255, 85,156,131,196, 20,133,192,117, 56,139, 69,180, 57, 69,168, /* 0x 290 */
|
||||
117, 48,235, 8,139,125,136,139,117, 12,243,164,139, 85,180,139, /* 0x 2a0 */
|
||||
93,136,137,209,106, 91, 88,205,128,139, 69,184, 41, 69, 8, 1, /* 0x 2b0 */
|
||||
85,136, 41, 85,232, 1, 69, 12,131,125, 8, 0, 15,137,119,255, /* 0x 2c0 */
|
||||
255,255,141, 93,196,106, 10, 88,205,128,106,127, 91,106, 1, 88, /* 0x 2d0 */
|
||||
205,128,235,254,139, 93,148,106, 6, 88,205,128,133,192,117,226, /* 0x 2e0 */
|
||||
255,117, 28,255,117, 32,141,117,196, 86,232,173,253,255,255,133, /* 0x 2f0 */
|
||||
192,120,207,106, 2, 88,205,128,133,192,117, 51,106, 2, 88,205, /* 0x 300 */
|
||||
128,133,192,137,193,117, 31,199, 69,160, 85, 80, 88, 52,184,162, /* 0x 310 */
|
||||
0, 0, 0,141, 93,160,199, 69,164, 0, 0, 0, 0,205,128,137, /* 0x 320 */
|
||||
243,106, 10, 88,205,128, 49,219,106, 1, 88,205,128,235,254, 49, /* 0x 330 */
|
||||
201,131,203,255,137,202,106, 7, 88,205,128,141, 93,196,139, 77, /* 0x 340 */
|
||||
32,139, 85, 28,106, 11, 88,205,128,233,116,255,255,255, 0, 0, /* 0x 350 */
|
||||
87,137,215,106, 10,252, 89,232, 5, 0, 0, 0,136, 39,151, 95, /* 0x 360 */
|
||||
195,153,247,241, 82,133,192,116, 5,232,243,255,255,255, 88, 4, /* 0x 370 */
|
||||
48,170,195 /* 0x 380 */
|
||||
};
|
||||
444
src/stub/i386-linux.elf.interp-entry.h
Normal file
444
src/stub/i386-linux.elf.interp-entry.h
Normal file
@ -0,0 +1,444 @@
|
||||
/* i386-linux.elf.interp-entry.h -- created from i386-linux.elf.interp-entry.bin, 6542 (0x198e) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define LINUX_I386PTI_LOADER_SIZE 6542
|
||||
#define LINUX_I386PTI_LOADER_ADLER32 0xe080d1eb
|
||||
#define LINUX_I386PTI_LOADER_CRC32 0xa507af83
|
||||
|
||||
unsigned char linux_i386pti_loader[6542] = {
|
||||
232, 28, 0, 0, 0,131,248, 70,185,209, 5, 0, 0,116, 15,131, /* 0x 0 */
|
||||
248, 73,185,209, 5, 0, 0,116, 5,185, 32, 0, 0, 0,137,200, /* 0x 10 */
|
||||
195,232, 0, 0, 0, 0,131,248, 2,185, 83, 0, 0, 0,116,238, /* 0x 20 */
|
||||
131,248, 5,185, 83, 0, 0, 0,116,228,131,248, 8,185, 83, 0, /* 0x 30 */
|
||||
0, 0,116,218,131,248, 11,185, 83, 0, 0, 0,116,208,233,198, /* 0x 40 */
|
||||
255,255,255, 96,131,205,255,139,116, 36, 36,139,124, 36, 44,235, /* 0x 50 */
|
||||
0,164,235, 0,138, 6, 70,136, 7, 71, 1,219,117, 7,139, 30, /* 0x 60 */
|
||||
131,238,252, 17,219,114, 0, 49,192, 64,138, 7,114, 0,184, 1, /* 0x 70 */
|
||||
0, 0, 0, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,192, /* 0x 80 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219,115, 0, 1,219,115, /* 0x 90 */
|
||||
0,117, 9,139, 30,131,238,252, 17,219,115, 0, 49,201,131,232, /* 0x a0 */
|
||||
3,114, 13,193,224, 8,138, 6, 70,131,240,255,116, 0,137,197, /* 0x b0 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, 1,219,117, /* 0x c0 */
|
||||
7,139, 30,131,238,252, 17,219, 17,201,117, 0, 65, 1,219,117, /* 0x d0 */
|
||||
7,139, 30,131,238,252, 17,219, 17,201, 1,219,117, 7,139, 30, /* 0x e0 */
|
||||
131,238,252, 17,219,115, 0, 1,219,115, 0,117, 9,139, 30,131, /* 0x f0 */
|
||||
238,252, 17,219,115, 0, 65, 65,131,193, 2,129,253, 0,243,255, /* 0x 100 */
|
||||
255,131,209, 1, 86,141, 52, 47,243,164, 94,233, 0, 0, 0, 0, /* 0x 110 */
|
||||
141, 20, 47,131,253,252,138, 4, 15,118, 0,138, 2, 66,136, 7, /* 0x 120 */
|
||||
71, 73,117,247,233, 0, 0, 0, 0,139, 2,131,194, 4,137, 7, /* 0x 130 */
|
||||
131,199, 4,131,233, 4,119,241, 1,207,233, 0, 0, 0, 0,235, /* 0x 140 */
|
||||
0,164,235, 0,138, 6, 70,136, 7, 71, 1,219,117, 7,139, 30, /* 0x 150 */
|
||||
131,238,252, 17,219,114, 0, 49,192, 64,138, 7,114, 0,184, 1, /* 0x 160 */
|
||||
0, 0, 0, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,192, /* 0x 170 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219,114, 0, 1,219,115, /* 0x 180 */
|
||||
11,117, 0,139, 30,131,238,252, 17,219,114, 0, 72, 1,219,117, /* 0x 190 */
|
||||
7,139, 30,131,238,252, 17,219, 17,192,235, 0, 49,201,131,232, /* 0x 1a0 */
|
||||
3,114, 17,193,224, 8,138, 6, 70,131,240,255,116, 0,209,248, /* 0x 1b0 */
|
||||
137,197,235, 11, 1,219,117, 7,139, 30,131,238,252, 17,219, 17, /* 0x 1c0 */
|
||||
201, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201,117, 0, /* 0x 1d0 */
|
||||
65, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, 1,219, /* 0x 1e0 */
|
||||
117, 7,139, 30,131,238,252, 17,219,115, 0, 1,219,115, 0,117, /* 0x 1f0 */
|
||||
9,139, 30,131,238,252, 17,219,115, 0, 65, 65,131,193, 2,129, /* 0x 200 */
|
||||
253, 0,251,255,255,131,209, 1, 86,141, 52, 47,243,164, 94,233, /* 0x 210 */
|
||||
0, 0, 0, 0,141, 20, 47,131,253,252,138, 4, 15,118, 0,138, /* 0x 220 */
|
||||
2, 66,136, 7, 71, 73,117,247,233, 0, 0, 0, 0,139, 2,131, /* 0x 230 */
|
||||
194, 4,137, 7,131,199, 4,131,233, 4,119,241, 1,207,233, 0, /* 0x 240 */
|
||||
0, 0, 0,235, 0,164,235, 0,138, 6, 70,136, 7, 71, 1,219, /* 0x 250 */
|
||||
117, 7,139, 30,131,238,252, 17,219,114, 0, 49,192, 64,138, 7, /* 0x 260 */
|
||||
114, 0,184, 1, 0, 0, 0, 1,219,117, 7,139, 30,131,238,252, /* 0x 270 */
|
||||
17,219, 17,192, 1,219,117, 7,139, 30,131,238,252, 17,219,114, /* 0x 280 */
|
||||
0, 1,219,115, 11,117, 0,139, 30,131,238,252, 17,219,114, 0, /* 0x 290 */
|
||||
72, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,192,235, 0, /* 0x 2a0 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219, 17,201,235, 0, 49, /* 0x 2b0 */
|
||||
201,131,232, 3,114, 17,193,224, 8,138, 6, 70,131,240,255,116, /* 0x 2c0 */
|
||||
0,209,248,137,197,235, 11, 1,219,117, 7,139, 30,131,238,252, /* 0x 2d0 */
|
||||
17,219,114,204, 65, 1,219,117, 7,139, 30,131,238,252, 17,219, /* 0x 2e0 */
|
||||
114,190, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, 1, /* 0x 2f0 */
|
||||
219,117, 7,139, 30,131,238,252, 17,219,115, 0, 1,219,115, 0, /* 0x 300 */
|
||||
117, 9,139, 30,131,238,252, 17,219,115, 0, 65, 65,131,193, 2, /* 0x 310 */
|
||||
129,253, 0,251,255,255,131,209, 2, 86,141, 52, 47,243,164, 94, /* 0x 320 */
|
||||
233, 0, 0, 0, 0,141, 20, 47,131,253,252,138, 4, 15,118, 0, /* 0x 330 */
|
||||
138, 2, 66,136, 7, 71, 73,117,247,233, 0, 0, 0, 0,139, 2, /* 0x 340 */
|
||||
131,194, 4,137, 7,131,199, 4,131,233, 4,119,241, 1,207,233, /* 0x 350 */
|
||||
0, 0, 0, 0,255,210, 1,219,117, 2,255,210,144,232, 0, 0, /* 0x 360 */
|
||||
0, 0, 1,219,116, 0,195,139, 30,131,238,252, 17,219,195, 41, /* 0x 370 */
|
||||
201, 17,201,114, 0, 17,201,114, 0, 17,201, 17,192, 72, 17,192, /* 0x 380 */
|
||||
131,233, 1,115, 0,141, 72, 15, 61,240,255, 0, 0,114, 0,141, /* 0x 390 */
|
||||
4, 14, 80,233, 0, 0, 0, 0, 17,201, 17,201,131,193, 13,235, /* 0x 3a0 */
|
||||
0,133,201,116, 0, 65,131,193, 8,235, 0, 41,201, 90, 41,219, /* 0x 3b0 */
|
||||
141, 65, 1,115, 0,114, 0,114, 0,114, 0,131,193, 2,114, 0, /* 0x 3c0 */
|
||||
65,114, 5,233, 0, 0, 0, 0, 17,201,209,233,115, 1,164,209, /* 0x 3d0 */
|
||||
233,115, 2,102,165,243,165,141, 65, 1,235, 3,164,164,164, 17, /* 0x 3e0 */
|
||||
192,115, 0,131,232, 3,114, 11,193,224, 8,172,131,240,255,116, /* 0x 3f0 */
|
||||
0,137,197, 17,201, 17,201,117, 0, 65, 17,201,115, 0,131,193, /* 0x 400 */
|
||||
2,129,253, 0,243,255,255,131,209, 1, 86,141, 52, 47,131,253, /* 0x 410 */
|
||||
252,119, 19,209,233,115, 1,164,209,233,115, 2,102,165,243,165, /* 0x 420 */
|
||||
94,233, 0, 0, 0, 0,131,253,255,117, 5,172,243,170,235,240, /* 0x 430 */
|
||||
243,164,235,236,233, 0, 0, 0, 0,139, 84, 36, 36, 3, 84, 36, /* 0x 440 */
|
||||
40, 57,214,116, 1, 72, 43,124, 36, 44,139, 84, 36, 48,137, 58, /* 0x 450 */
|
||||
137, 68, 36, 28, 97,195,185, 84, 69, 88, 76,138, 7, 71, 44,232, /* 0x 460 */
|
||||
60, 1,119,247,128, 63, 63,117, 0,139, 7,138, 95, 4,102,193, /* 0x 470 */
|
||||
232, 8,134,196,193,192, 16,134,196, 41,248,128,235,232,137, 7, /* 0x 480 */
|
||||
131,199, 5,136,216,226, 0,185, 84, 69, 88, 76,176,232,176,233, /* 0x 490 */
|
||||
242,174,117, 0,128, 63, 63,117, 0,139, 7,102,193,232, 8,134, /* 0x 4a0 */
|
||||
196,193,192, 16,134,196, 41,248,171,235, 0,235, 0, 90, 88, 89, /* 0x 4b0 */
|
||||
151, 96, 49,219,187, 78, 77, 82, 85,106, 15, 88,138,100, 36, 32, /* 0x 4c0 */
|
||||
106, 15, 91,138,124, 36, 32,138, 84, 36, 32,233, 0, 0, 0, 0, /* 0x 4d0 */
|
||||
15,183, 47, 43,110, 12, 41,221,117, 0,131,237, 1,115, 0,136, /* 0x 4e0 */
|
||||
95,255, 73,136, 7, 71,139, 7,156,102,193,232, 8,193,192, 16, /* 0x 4f0 */
|
||||
134,196,157,115, 0,176, 0, 15,200,115, 0,209,232,115, 0,254, /* 0x 500 */
|
||||
203, 75, 35, 30,125, 2, 3, 30,137, 4,156,235, 0,141, 20, 24, /* 0x 510 */
|
||||
15,182,210, 35, 22, 59, 22,114, 2, 43, 22,139, 4,148,254,203, /* 0x 520 */
|
||||
75, 35, 30,125, 2, 3, 30,139, 44,156,133,237,117, 0, 80,139, /* 0x 530 */
|
||||
70, 4,254,200, 72, 35, 6,125, 2, 3, 6, 49,237,137, 70, 4, /* 0x 540 */
|
||||
135,108,132, 4, 88,137, 44,148,137, 4,156, 41,248,131,233, 4, /* 0x 550 */
|
||||
3, 70, 16, 1,240,137, 7,131,199, 4,235, 0,235, 0, 80,176, /* 0x 560 */
|
||||
233,176,232, 80,106, 0, 83,137,230, 94,137,218,178,233,178,232, /* 0x 570 */
|
||||
67,106, 0,254,203, 75,117, 0, 15,183, 7,131,199, 1, 60,128, /* 0x 580 */
|
||||
114, 4, 60,143,118, 0, 41,208, 43, 70, 8,131,232, 2,116, 0, /* 0x 590 */
|
||||
131,232, 1,114, 0,115, 0,122, 0,123, 0,248,235, 0,131,233, /* 0x 5a0 */
|
||||
1,127, 0,137,231,185, 4, 1, 0, 0,139, 14,131,193, 5,139, /* 0x 5b0 */
|
||||
14,131,193, 4, 49,192,243,171,137,252, 86, 97,151, 81, 80, 82, /* 0x 5c0 */
|
||||
195, 96,139,124, 36, 36,139, 76, 36, 40,139, 84, 36, 44,137,254, /* 0x 5d0 */
|
||||
235, 0,138, 7,131,199, 1, 60,128,114, 10, 60,143,119, 6,128, /* 0x 5e0 */
|
||||
127,254, 15,116, 0, 44,232, 60, 1,119, 0, 56, 23,117, 0,139, /* 0x 5f0 */
|
||||
7,102,193,232, 8,193,192, 16,134,196, 41,248, 1,240,137, 7, /* 0x 600 */
|
||||
131,199, 4,131,233, 4,138, 7,131,199, 1,226, 0,131,233, 1, /* 0x 610 */
|
||||
127, 0, 97,195, 76, 88, 80, 84, 73, 48, 48, 48, 0, 0, 0, 0, /* 0x 620 */
|
||||
0, 0, 0, 0, 0, 38, 0, 0, 0, 76, 88, 80, 84, 73, 50, 48, /* 0x 630 */
|
||||
48, 0, 0, 0, 0, 0, 76, 88, 80, 84, 73, 48, 52, 48, 0, 83, /* 0x 640 */
|
||||
0, 0, 0, 76, 88, 80, 84, 73, 48, 52, 49, 0, 83, 0, 0, 0, /* 0x 650 */
|
||||
76, 88, 80, 84, 73, 48, 52, 50, 0, 83, 0, 0, 0, 76, 88, 80, /* 0x 660 */
|
||||
84, 73, 48, 52, 51, 0, 83, 0, 0, 0, 76, 88, 80, 84, 73, 48, /* 0x 670 */
|
||||
53, 48, 0, 83, 0, 0, 0, 78, 50, 66, 83, 77, 65, 49, 48, 0, /* 0x 680 */
|
||||
95, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 78, 50, 66, 68, /* 0x 690 */
|
||||
69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 66, 70, 65, 83, 49, /* 0x 6a0 */
|
||||
48, 0, 98, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 78, 50, /* 0x 6b0 */
|
||||
66, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 66, 70, 65, /* 0x 6c0 */
|
||||
83, 49, 49, 0,100, 0, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, /* 0x 6d0 */
|
||||
0,106, 0, 0, 0, 78, 50, 66, 83, 77, 65, 50, 48, 0,117, 0, /* 0x 6e0 */
|
||||
0, 0, 0, 0, 0, 0,119, 0, 0, 0, 78, 50, 66, 83, 77, 65, /* 0x 6f0 */
|
||||
49, 48, 0, 2, 0, 0, 0, 78, 50, 66, 70, 65, 83, 50, 48, 0, /* 0x 700 */
|
||||
122, 0, 0, 0, 0, 0, 0, 0,126, 0, 0, 0, 78, 50, 66, 70, /* 0x 710 */
|
||||
65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, 66, 68, 69, 67, 50, /* 0x 720 */
|
||||
48, 0,131, 0, 0, 0, 78, 50, 66, 83, 77, 65, 51, 48, 0,144, /* 0x 730 */
|
||||
0, 0, 0, 0, 0, 0, 0,157, 0, 0, 0, 78, 50, 66, 68, 69, /* 0x 740 */
|
||||
67, 50, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, 65, 83, 51, 48, /* 0x 750 */
|
||||
0,157, 0, 0, 0, 0, 0, 0, 0,161, 0, 0, 0, 78, 50, 66, /* 0x 760 */
|
||||
68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,172, 0, /* 0x 770 */
|
||||
0, 0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 78, /* 0x 780 */
|
||||
50, 66, 68, 69, 67, 51, 48, 0,172, 0, 0, 0, 0, 0, 0, 0, /* 0x 790 */
|
||||
190, 0, 0, 0, 78, 50, 66, 68, 69, 67, 54, 48, 0, 0, 0, 0, /* 0x 7a0 */
|
||||
0, 0, 0, 0, 0,220, 0, 0, 0, 78, 50, 66, 68, 69, 67, 53, /* 0x 7b0 */
|
||||
48, 0, 0, 0, 0, 0, 78, 50, 66, 83, 77, 65, 52, 48, 0,234, /* 0x 7c0 */
|
||||
0, 0, 0, 0, 0, 0, 0,247, 0, 0, 0, 78, 50, 66, 68, 69, /* 0x 7d0 */
|
||||
67, 51, 48, 0, 49, 0, 0, 0, 78, 50, 66, 70, 65, 83, 52, 48, /* 0x 7e0 */
|
||||
0,247, 0, 0, 0, 0, 0, 0, 0,251, 0, 0, 0, 78, 50, 66, /* 0x 7f0 */
|
||||
68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, 6, 1, /* 0x 800 */
|
||||
0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 78, /* 0x 810 */
|
||||
50, 66, 68, 85, 77, 77, 49, 0, 6, 1, 0, 0, 78, 50, 66, 83, /* 0x 820 */
|
||||
77, 65, 53, 48, 0, 6, 1, 0, 0, 78, 50, 66, 70, 65, 83, 53, /* 0x 830 */
|
||||
48, 0, 8, 1, 0, 0, 78, 50, 66, 68, 69, 67, 53, 48, 0, 11, /* 0x 840 */
|
||||
1, 0, 0, 78, 50, 66, 83, 77, 65, 54, 48, 0, 20, 1, 0, 0, /* 0x 850 */
|
||||
0, 0, 0, 0, 32, 1, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, /* 0x 860 */
|
||||
0, 0, 0, 0, 0, 78, 50, 66, 70, 65, 83, 54, 48, 0, 32, 1, /* 0x 870 */
|
||||
0, 0, 0, 0, 0, 0, 43, 1, 0, 0, 78, 50, 66, 70, 65, 83, /* 0x 880 */
|
||||
54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 0, 0, 78, /* 0x 890 */
|
||||
50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, /* 0x 8a0 */
|
||||
65, 83, 54, 49, 0, 57, 1, 0, 0, 0, 0, 0, 0, 79, 1, 0, /* 0x 8b0 */
|
||||
0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, /* 0x 8c0 */
|
||||
66, 68, 69, 67, 54, 48, 0, 79, 1, 0, 0, 78, 82, 86, 50, 66, /* 0x 8d0 */
|
||||
69, 78, 68, 0, 79, 1, 0, 0, 78, 50, 68, 83, 77, 65, 49, 48, /* 0x 8e0 */
|
||||
0, 79, 1, 0, 0, 0, 0, 0, 0, 81, 1, 0, 0, 78, 50, 68, /* 0x 8f0 */
|
||||
68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 68, 70, 65, 83, /* 0x 900 */
|
||||
49, 48, 0, 82, 1, 0, 0, 0, 0, 0, 0, 84, 1, 0, 0, 78, /* 0x 910 */
|
||||
50, 68, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 68, 70, /* 0x 920 */
|
||||
65, 83, 49, 49, 0, 84, 1, 0, 0, 78, 50, 68, 68, 69, 67, 49, /* 0x 930 */
|
||||
48, 0, 90, 1, 0, 0, 78, 50, 68, 83, 77, 65, 50, 48, 0,101, /* 0x 940 */
|
||||
1, 0, 0, 0, 0, 0, 0,103, 1, 0, 0, 78, 50, 68, 83, 77, /* 0x 950 */
|
||||
65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 68, 70, 65, 83, 50, 48, /* 0x 960 */
|
||||
0,106, 1, 0, 0, 0, 0, 0, 0,110, 1, 0, 0, 78, 50, 68, /* 0x 970 */
|
||||
70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, 68, 68, 69, 67, /* 0x 980 */
|
||||
50, 48, 0,115, 1, 0, 0, 78, 50, 68, 83, 77, 65, 51, 48, 0, /* 0x 990 */
|
||||
128, 1, 0, 0, 0, 0, 0, 0,141, 1, 0, 0, 78, 50, 68, 68, /* 0x 9a0 */
|
||||
69, 67, 51, 48, 0, 16, 0, 0, 0, 78, 50, 68, 70, 65, 83, 51, /* 0x 9b0 */
|
||||
48, 0,141, 1, 0, 0, 0, 0, 0, 0,147, 1, 0, 0, 78, 50, /* 0x 9c0 */
|
||||
68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, 0, 0, 0, 0,156, /* 0x 9d0 */
|
||||
1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, /* 0x 9e0 */
|
||||
78, 50, 68, 68, 69, 67, 51, 48, 0,156, 1, 0, 0, 0, 0, 0, /* 0x 9f0 */
|
||||
0,172, 1, 0, 0, 78, 50, 68, 68, 69, 67, 50, 48, 0, 0, 0, /* 0x a00 */
|
||||
0, 0, 0, 0, 0, 0,190, 1, 0, 0, 78, 50, 68, 68, 69, 67, /* 0x a10 */
|
||||
54, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 1, 0, 0, 78, /* 0x a20 */
|
||||
50, 68, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 78, 50, 68, 83, /* 0x a30 */
|
||||
77, 65, 52, 48, 0,238, 1, 0, 0, 0, 0, 0, 0,251, 1, 0, /* 0x a40 */
|
||||
0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 69, 0, 0, 0, 78, 50, /* 0x a50 */
|
||||
68, 70, 65, 83, 52, 48, 0,251, 1, 0, 0, 0, 0, 0, 0,255, /* 0x a60 */
|
||||
1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 69, 0, 0, 0, /* 0x a70 */
|
||||
0, 0, 0, 0, 10, 2, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, /* 0x a80 */
|
||||
0, 69, 0, 0, 0, 78, 50, 68, 68, 85, 77, 77, 49, 0, 10, 2, /* 0x a90 */
|
||||
0, 0, 78, 50, 68, 83, 77, 65, 53, 48, 0, 10, 2, 0, 0, 78, /* 0x aa0 */
|
||||
50, 68, 70, 65, 83, 53, 48, 0, 12, 2, 0, 0, 78, 50, 68, 68, /* 0x ab0 */
|
||||
69, 67, 53, 48, 0, 15, 2, 0, 0, 78, 50, 68, 83, 77, 65, 54, /* 0x ac0 */
|
||||
48, 0, 24, 2, 0, 0, 0, 0, 0, 0, 36, 2, 0, 0, 78, 50, /* 0x ad0 */
|
||||
68, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 68, 70, 65, /* 0x ae0 */
|
||||
83, 54, 48, 0, 36, 2, 0, 0, 0, 0, 0, 0, 47, 2, 0, 0, /* 0x af0 */
|
||||
78, 50, 68, 70, 65, 83, 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x b00 */
|
||||
0, 61, 2, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 0, 0, /* 0x b10 */
|
||||
0, 0, 78, 50, 68, 70, 65, 83, 54, 49, 0, 61, 2, 0, 0, 0, /* 0x b20 */
|
||||
0, 0, 0, 83, 2, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, /* 0x b30 */
|
||||
0, 0, 0, 0, 78, 50, 68, 68, 69, 67, 54, 48, 0, 83, 2, 0, /* 0x b40 */
|
||||
0, 78, 82, 86, 50, 68, 69, 78, 68, 0, 83, 2, 0, 0, 78, 50, /* 0x b50 */
|
||||
69, 83, 77, 65, 49, 48, 0, 83, 2, 0, 0, 0, 0, 0, 0, 85, /* 0x b60 */
|
||||
2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, /* 0x b70 */
|
||||
78, 50, 69, 70, 65, 83, 49, 48, 0, 86, 2, 0, 0, 0, 0, 0, /* 0x b80 */
|
||||
0, 88, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 4, 0, /* 0x b90 */
|
||||
0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, 88, 2, 0, 0, 78, /* 0x ba0 */
|
||||
50, 69, 68, 69, 67, 49, 48, 0, 94, 2, 0, 0, 78, 50, 69, 83, /* 0x bb0 */
|
||||
77, 65, 50, 48, 0,105, 2, 0, 0, 0, 0, 0, 0,107, 2, 0, /* 0x bc0 */
|
||||
0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, /* 0x bd0 */
|
||||
69, 70, 65, 83, 50, 48, 0,110, 2, 0, 0, 0, 0, 0, 0,114, /* 0x be0 */
|
||||
2, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, /* 0x bf0 */
|
||||
78, 50, 69, 68, 69, 67, 50, 48, 0,119, 2, 0, 0, 78, 50, 69, /* 0x c00 */
|
||||
83, 77, 65, 51, 48, 0,132, 2, 0, 0, 0, 0, 0, 0,145, 2, /* 0x c10 */
|
||||
0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 31, 0, 0, 0, 78, /* 0x c20 */
|
||||
50, 69, 70, 65, 83, 51, 48, 0,145, 2, 0, 0, 0, 0, 0, 0, /* 0x c30 */
|
||||
151, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 31, 0, 0, /* 0x c40 */
|
||||
0, 0, 0, 0, 0,160, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, /* 0x c50 */
|
||||
48, 0, 31, 0, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0,160, /* 0x c60 */
|
||||
2, 0, 0, 0, 0, 0, 0,176, 2, 0, 0, 78, 50, 69, 68, 69, /* 0x c70 */
|
||||
67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 2, 0, 0, /* 0x c80 */
|
||||
78, 50, 69, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x c90 */
|
||||
0,209, 2, 0, 0, 78, 50, 69, 68, 69, 67, 54, 48, 0, 0, 0, /* 0x ca0 */
|
||||
0, 0, 78, 50, 69, 83, 77, 65, 52, 48, 0,255, 2, 0, 0, 0, /* 0x cb0 */
|
||||
0, 0, 0, 12, 3, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, /* 0x cc0 */
|
||||
82, 0, 0, 0, 78, 50, 69, 70, 65, 83, 52, 48, 0, 12, 3, 0, /* 0x cd0 */
|
||||
0, 0, 0, 0, 0, 16, 3, 0, 0, 78, 50, 69, 68, 69, 67, 51, /* 0x ce0 */
|
||||
48, 0, 82, 0, 0, 0, 0, 0, 0, 0, 27, 3, 0, 0, 78, 50, /* 0x cf0 */
|
||||
69, 68, 69, 67, 51, 48, 0, 82, 0, 0, 0, 78, 50, 69, 68, 85, /* 0x d00 */
|
||||
77, 77, 49, 0, 27, 3, 0, 0, 78, 50, 69, 83, 77, 65, 53, 48, /* 0x d10 */
|
||||
0, 27, 3, 0, 0, 78, 50, 69, 70, 65, 83, 53, 48, 0, 29, 3, /* 0x d20 */
|
||||
0, 0, 78, 50, 69, 68, 69, 67, 53, 48, 0, 32, 3, 0, 0, 78, /* 0x d30 */
|
||||
50, 69, 83, 77, 65, 54, 48, 0, 41, 3, 0, 0, 0, 0, 0, 0, /* 0x d40 */
|
||||
53, 3, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, 0, /* 0x d50 */
|
||||
0, 78, 50, 69, 70, 65, 83, 54, 48, 0, 53, 3, 0, 0, 0, 0, /* 0x d60 */
|
||||
0, 0, 64, 3, 0, 0, 78, 50, 69, 70, 65, 83, 54, 49, 0, 0, /* 0x d70 */
|
||||
0, 0, 0, 0, 0, 0, 0, 78, 3, 0, 0, 78, 50, 69, 68, 69, /* 0x d80 */
|
||||
67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, 70, 65, 83, 54, 49, /* 0x d90 */
|
||||
0, 78, 3, 0, 0, 0, 0, 0, 0,100, 3, 0, 0, 78, 50, 69, /* 0x da0 */
|
||||
68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x db0 */
|
||||
54, 48, 0,100, 3, 0, 0, 78, 82, 86, 50, 69, 69, 78, 68, 0, /* 0x dc0 */
|
||||
100, 3, 0, 0, 67, 76, 49, 83, 77, 65, 49, 66, 0,100, 3, 0, /* 0x dd0 */
|
||||
0, 67, 76, 49, 70, 65, 83, 49, 66, 0,102, 3, 0, 0, 67, 76, /* 0x de0 */
|
||||
49, 71, 69, 84, 49, 66, 0,108, 3, 0, 0, 67, 76, 49, 69, 78, /* 0x df0 */
|
||||
84, 69, 82, 0,108, 3, 0, 0, 0, 0, 0, 0,114, 3, 0, 0, /* 0x e00 */
|
||||
67, 76, 49, 83, 84, 65, 82, 84, 0, 0, 0, 0, 0, 67, 76, 49, /* 0x e10 */
|
||||
83, 77, 65, 49, 48, 0,114, 3, 0, 0, 0, 0, 0, 0,118, 3, /* 0x e20 */
|
||||
0, 0, 67, 76, 49, 82, 76, 79, 65, 68, 0, 0, 0, 0, 0, 67, /* 0x e30 */
|
||||
76, 49, 82, 76, 79, 65, 68, 0,119, 3, 0, 0, 67, 76, 49, 87, /* 0x e40 */
|
||||
73, 68, 48, 49, 0,127, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, /* 0x e50 */
|
||||
50, 0,129, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 51, 0,131, /* 0x e60 */
|
||||
3, 0, 0, 0, 0, 0, 0,133, 3, 0, 0, 67, 76, 49, 87, 73, /* 0x e70 */
|
||||
68, 49, 48, 0, 12, 0, 0, 0, 67, 76, 49, 87, 73, 68, 48, 52, /* 0x e80 */
|
||||
0,133, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 53, 0,135, 3, /* 0x e90 */
|
||||
0, 0, 0, 0, 0, 0,137, 3, 0, 0, 67, 76, 49, 87, 73, 68, /* 0x ea0 */
|
||||
49, 48, 0, 7, 0, 0, 0, 67, 76, 49, 87, 73, 68, 48, 54, 0, /* 0x eb0 */
|
||||
137, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 55, 0,139, 3, 0, /* 0x ec0 */
|
||||
0, 67, 76, 49, 87, 73, 68, 48, 56, 0,142, 3, 0, 0, 0, 0, /* 0x ed0 */
|
||||
0, 0,149, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 54, 0, 2, /* 0x ee0 */
|
||||
0, 0, 0, 0, 0, 0, 0,159, 3, 0, 0, 67, 76, 49, 87, 73, /* 0x ef0 */
|
||||
68, 49, 48, 0, 15, 0, 0, 0, 0, 0, 0, 0,168, 3, 0, 0, /* 0x f00 */
|
||||
67, 76, 49, 67, 79, 80, 89, 48, 0, 18, 0, 0, 0, 67, 76, 49, /* 0x f10 */
|
||||
87, 73, 68, 48, 57, 0,168, 3, 0, 0, 67, 76, 49, 87, 73, 68, /* 0x f20 */
|
||||
49, 48, 0,170, 3, 0, 0, 0, 0, 0, 0,177, 3, 0, 0, 67, /* 0x f30 */
|
||||
76, 49, 84, 79, 80, 48, 55, 0, 2, 0, 0, 0, 0, 0, 0, 0, /* 0x f40 */
|
||||
181, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 56, 0, 26, 0, 0, /* 0x f50 */
|
||||
0, 0, 0, 0, 0,187, 3, 0, 0, 67, 76, 49, 84, 79, 80, 48, /* 0x f60 */
|
||||
55, 0, 2, 0, 0, 0, 67, 76, 49, 83, 84, 65, 82, 84, 0,187, /* 0x f70 */
|
||||
3, 0, 0, 67, 76, 49, 84, 79, 80, 48, 48, 0,192, 3, 0, 0, /* 0x f80 */
|
||||
67, 76, 49, 84, 79, 80, 48, 49, 0,195, 3, 0, 0, 0, 0, 0, /* 0x f90 */
|
||||
0,197, 3, 0, 0, 67, 76, 49, 84, 79, 80, 48, 55, 0, 23, 0, /* 0x fa0 */
|
||||
0, 0, 67, 76, 49, 84, 79, 80, 48, 50, 0,197, 3, 0, 0, 0, /* 0x fb0 */
|
||||
0, 0, 0,199, 3, 0, 0, 67, 76, 49, 84, 79, 80, 48, 55, 0, /* 0x fc0 */
|
||||
22, 0, 0, 0, 67, 76, 49, 84, 79, 80, 48, 51, 0,199, 3, 0, /* 0x fd0 */
|
||||
0, 0, 0, 0, 0,201, 3, 0, 0, 67, 76, 49, 84, 79, 80, 48, /* 0x fe0 */
|
||||
55, 0, 21, 0, 0, 0, 67, 76, 49, 84, 79, 80, 48, 52, 0,201, /* 0x ff0 */
|
||||
3, 0, 0, 0, 0, 0, 0,203, 3, 0, 0, 67, 76, 49, 84, 79, /* 0x1000 */
|
||||
80, 48, 55, 0, 20, 0, 0, 0, 67, 76, 49, 84, 79, 80, 48, 53, /* 0x1010 */
|
||||
0,206, 3, 0, 0, 0, 0, 0, 0,208, 3, 0, 0, 67, 76, 49, /* 0x1020 */
|
||||
84, 79, 80, 48, 54, 0, 7, 0, 0, 0, 67, 76, 49, 84, 79, 80, /* 0x1030 */
|
||||
48, 54, 0,209, 3, 0, 0, 0, 0, 0, 0,216, 3, 0, 0, 67, /* 0x1040 */
|
||||
76, 49, 87, 73, 68, 48, 49, 0, 0, 0, 0, 0, 67, 76, 49, 84, /* 0x1050 */
|
||||
79, 80, 48, 55, 0,216, 3, 0, 0, 67, 76, 49, 79, 70, 70, 48, /* 0x1060 */
|
||||
49, 0,239, 3, 0, 0, 67, 76, 49, 79, 70, 70, 48, 50, 0,241, /* 0x1070 */
|
||||
3, 0, 0, 0, 0, 0, 0,243, 3, 0, 0, 67, 76, 49, 84, 79, /* 0x1080 */
|
||||
80, 48, 55, 0, 23, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, /* 0x1090 */
|
||||
67, 76, 49, 67, 79, 80, 89, 48, 0, 51, 0, 0, 0, 67, 76, 49, /* 0x10a0 */
|
||||
79, 70, 70, 48, 51, 0, 3, 4, 0, 0, 67, 76, 49, 79, 70, 70, /* 0x10b0 */
|
||||
48, 52, 0, 5, 4, 0, 0, 0, 0, 0, 0, 9, 4, 0, 0, 67, /* 0x10c0 */
|
||||
76, 49, 67, 79, 80, 89, 48, 0, 0, 0, 0, 0, 67, 76, 49, 76, /* 0x10d0 */
|
||||
69, 78, 48, 48, 0, 9, 4, 0, 0, 67, 76, 49, 76, 69, 78, 48, /* 0x10e0 */
|
||||
49, 0, 10, 4, 0, 0, 67, 76, 49, 76, 69, 78, 48, 50, 0, 12, /* 0x10f0 */
|
||||
4, 0, 0, 0, 0, 0, 0, 14, 4, 0, 0, 67, 76, 49, 76, 69, /* 0x1100 */
|
||||
78, 48, 48, 0, 1, 0, 0, 0, 67, 76, 49, 67, 79, 80, 89, 48, /* 0x1110 */
|
||||
0, 17, 4, 0, 0, 0, 0, 0, 0, 54, 4, 0, 0, 67, 76, 49, /* 0x1120 */
|
||||
84, 79, 80, 48, 48, 0, 0, 0, 0, 0, 67, 76, 49, 69, 78, 68, /* 0x1130 */
|
||||
0, 68, 4, 0, 0, 76, 88, 80, 84, 73, 48, 57, 48, 0, 68, 4, /* 0x1140 */
|
||||
0, 0, 0, 0, 0, 0, 73, 4, 0, 0, 76, 88, 80, 84, 73, 48, /* 0x1150 */
|
||||
57, 49, 0, 0, 0, 0, 0, 76, 88, 80, 84, 73, 48, 57, 49, 0, /* 0x1160 */
|
||||
73, 4, 0, 0, 67, 65, 76, 76, 84, 82, 48, 48, 0,102, 4, 0, /* 0x1170 */
|
||||
0, 67, 84, 67, 76, 69, 86, 69, 49, 0,116, 4, 0, 0, 0, 0, /* 0x1180 */
|
||||
0, 0,121, 4, 0, 0, 67, 65, 76, 76, 84, 82, 48, 48, 0, 5, /* 0x1190 */
|
||||
0, 0, 0, 67, 65, 76, 76, 84, 82, 48, 49, 0,121, 4, 0, 0, /* 0x11a0 */
|
||||
67, 84, 68, 85, 77, 77, 89, 49, 0,126, 4, 0, 0, 67, 84, 66, /* 0x11b0 */
|
||||
83, 72, 82, 48, 49, 0,126, 4, 0, 0, 67, 84, 66, 82, 79, 82, /* 0x11c0 */
|
||||
48, 49, 0,130, 4, 0, 0, 67, 84, 66, 83, 87, 65, 48, 49, 0, /* 0x11d0 */
|
||||
132, 4, 0, 0, 67, 65, 76, 76, 84, 82, 48, 50, 0,137, 4, 0, /* 0x11e0 */
|
||||
0, 0, 0, 0, 0,151, 4, 0, 0, 67, 65, 76, 76, 84, 82, 48, /* 0x11f0 */
|
||||
48, 0, 10, 0, 0, 0, 67, 65, 76, 76, 84, 82, 49, 48, 0,151, /* 0x1200 */
|
||||
4, 0, 0, 67, 65, 76, 76, 84, 82, 69, 56, 0,156, 4, 0, 0, /* 0x1210 */
|
||||
67, 65, 76, 76, 84, 82, 69, 57, 0,158, 4, 0, 0, 67, 65, 76, /* 0x1220 */
|
||||
76, 84, 82, 49, 49, 0,160, 4, 0, 0, 0, 0, 0, 0,164, 4, /* 0x1230 */
|
||||
0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0, 5, 0, 0, 0, 67, /* 0x1240 */
|
||||
84, 67, 76, 69, 86, 69, 50, 0,164, 4, 0, 0, 0, 0, 0, 0, /* 0x1250 */
|
||||
169, 4, 0, 0, 67, 65, 76, 76, 84, 82, 49, 49, 0, 0, 0, 0, /* 0x1260 */
|
||||
0, 67, 65, 76, 76, 84, 82, 49, 50, 0,169, 4, 0, 0, 67, 84, /* 0x1270 */
|
||||
68, 85, 77, 77, 89, 50, 0,171, 4, 0, 0, 67, 84, 66, 83, 72, /* 0x1280 */
|
||||
82, 49, 49, 0,171, 4, 0, 0, 67, 84, 66, 82, 79, 82, 49, 49, /* 0x1290 */
|
||||
0,175, 4, 0, 0, 67, 84, 66, 83, 87, 65, 49, 49, 0,177, 4, /* 0x12a0 */
|
||||
0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0,182, 4, 0, 0, 0, /* 0x12b0 */
|
||||
0, 0, 0,187, 4, 0, 0, 67, 65, 76, 76, 84, 82, 49, 48, 0, /* 0x12c0 */
|
||||
5, 0, 0, 0, 67, 84, 84, 72, 69, 69, 78, 68, 0,187, 4, 0, /* 0x12d0 */
|
||||
0, 76, 88, 85, 78, 70, 48, 48, 48, 0,187, 4, 0, 0, 0, 0, /* 0x12e0 */
|
||||
0, 0,189, 4, 0, 0, 76, 88, 85, 78, 70, 48, 49, 48, 0, 5, /* 0x12f0 */
|
||||
0, 0, 0, 76, 88, 85, 78, 70, 48, 48, 50, 0,189, 4, 0, 0, /* 0x1300 */
|
||||
77, 82, 85, 66, 89, 84, 69, 48, 0,194, 4, 0, 0, 76, 88, 77, /* 0x1310 */
|
||||
82, 85, 48, 48, 53, 0,196, 4, 0, 0, 76, 88, 77, 82, 85, 48, /* 0x1320 */
|
||||
48, 54, 0,201, 4, 0, 0, 76, 88, 77, 82, 85, 48, 48, 55, 0, /* 0x1330 */
|
||||
208, 4, 0, 0, 76, 88, 85, 78, 70, 48, 48, 56, 0,215, 4, 0, /* 0x1340 */
|
||||
0, 76, 88, 85, 78, 70, 48, 49, 48, 0,219, 4, 0, 0, 0, 0, /* 0x1350 */
|
||||
0, 0,224, 4, 0, 0, 76, 88, 85, 78, 70, 48, 52, 50, 0, 0, /* 0x1360 */
|
||||
0, 0, 0, 76, 88, 74, 67, 67, 48, 49, 48, 0,224, 4, 0, 0, /* 0x1370 */
|
||||
76, 88, 77, 82, 85, 48, 52, 53, 0,227, 4, 0, 0, 76, 88, 77, /* 0x1380 */
|
||||
82, 85, 48, 52, 54, 0,230, 4, 0, 0, 76, 88, 74, 67, 67, 48, /* 0x1390 */
|
||||
50, 48, 0,232, 4, 0, 0, 0, 0, 0, 0,234, 4, 0, 0, 76, /* 0x13a0 */
|
||||
88, 85, 78, 70, 48, 51, 52, 0, 0, 0, 0, 0, 76, 88, 74, 67, /* 0x13b0 */
|
||||
67, 48, 50, 49, 0,234, 4, 0, 0, 0, 0, 0, 0,239, 4, 0, /* 0x13c0 */
|
||||
0, 76, 88, 85, 78, 70, 48, 51, 52, 0, 0, 0, 0, 0, 76, 88, /* 0x13d0 */
|
||||
74, 67, 67, 48, 50, 51, 0,239, 4, 0, 0, 76, 88, 85, 78, 70, /* 0x13e0 */
|
||||
48, 51, 55, 0,246, 4, 0, 0, 76, 88, 85, 78, 70, 51, 56, 54, /* 0x13f0 */
|
||||
0,248, 4, 0, 0, 76, 88, 85, 78, 70, 51, 56, 55, 0,249, 4, /* 0x1400 */
|
||||
0, 0, 76, 88, 85, 78, 70, 51, 56, 56, 0, 2, 5, 0, 0, 0, /* 0x1410 */
|
||||
0, 0, 0, 5, 5, 0, 0, 76, 88, 85, 78, 70, 48, 52, 48, 0, /* 0x1420 */
|
||||
0, 0, 0, 0, 76, 88, 85, 78, 70, 52, 56, 54, 0, 5, 5, 0, /* 0x1430 */
|
||||
0, 76, 88, 85, 78, 70, 52, 56, 55, 0, 9, 5, 0, 0, 0, 0, /* 0x1440 */
|
||||
0, 0, 11, 5, 0, 0, 76, 88, 85, 78, 70, 48, 52, 48, 0, 0, /* 0x1450 */
|
||||
0, 0, 0, 76, 88, 77, 82, 85, 48, 54, 53, 0, 11, 5, 0, 0, /* 0x1460 */
|
||||
0, 0, 0, 0, 15, 5, 0, 0, 76, 88, 77, 82, 85, 48, 55, 48, /* 0x1470 */
|
||||
0, 5, 0, 0, 0, 77, 82, 85, 66, 89, 84, 69, 51, 0, 15, 5, /* 0x1480 */
|
||||
0, 0, 77, 82, 85, 65, 82, 66, 51, 48, 0, 17, 5, 0, 0, 77, /* 0x1490 */
|
||||
82, 85, 66, 73, 84, 83, 51, 0, 18, 5, 0, 0, 77, 82, 85, 65, /* 0x14a0 */
|
||||
82, 66, 52, 48, 0, 20, 5, 0, 0, 76, 88, 77, 82, 85, 48, 55, /* 0x14b0 */
|
||||
48, 0, 24, 5, 0, 0, 0, 0, 0, 0, 29, 5, 0, 0, 76, 88, /* 0x14c0 */
|
||||
85, 78, 70, 48, 52, 48, 0, 0, 0, 0, 0, 77, 82, 85, 66, 89, /* 0x14d0 */
|
||||
84, 69, 52, 0, 32, 5, 0, 0, 77, 82, 85, 66, 73, 84, 83, 52, /* 0x14e0 */
|
||||
0, 35, 5, 0, 0, 77, 82, 85, 65, 82, 66, 53, 48, 0, 37, 5, /* 0x14f0 */
|
||||
0, 0, 76, 88, 77, 82, 85, 48, 56, 48, 0, 43, 5, 0, 0, 77, /* 0x1500 */
|
||||
82, 85, 66, 89, 84, 69, 53, 0, 46, 5, 0, 0, 77, 82, 85, 65, /* 0x1510 */
|
||||
82, 66, 54, 48, 0, 48, 5, 0, 0, 77, 82, 85, 66, 73, 84, 83, /* 0x1520 */
|
||||
53, 0, 49, 5, 0, 0, 77, 82, 85, 65, 82, 66, 55, 48, 0, 51, /* 0x1530 */
|
||||
5, 0, 0, 76, 88, 77, 82, 85, 48, 57, 48, 0, 55, 5, 0, 0, /* 0x1540 */
|
||||
0, 0, 0, 0, 62, 5, 0, 0, 76, 88, 77, 82, 85, 49, 48, 48, /* 0x1550 */
|
||||
0, 10, 0, 0, 0, 77, 82, 85, 66, 89, 84, 69, 54, 0, 66, 5, /* 0x1560 */
|
||||
0, 0, 77, 82, 85, 65, 82, 66, 56, 48, 0, 68, 5, 0, 0, 77, /* 0x1570 */
|
||||
82, 85, 66, 73, 84, 83, 54, 0, 69, 5, 0, 0, 77, 82, 85, 65, /* 0x1580 */
|
||||
82, 66, 57, 48, 0, 71, 5, 0, 0, 76, 88, 77, 82, 85, 49, 48, /* 0x1590 */
|
||||
48, 0, 75, 5, 0, 0, 76, 88, 85, 78, 70, 48, 52, 48, 0, 91, /* 0x15a0 */
|
||||
5, 0, 0, 76, 88, 77, 82, 85, 49, 49, 48, 0, 96, 5, 0, 0, /* 0x15b0 */
|
||||
76, 88, 77, 82, 85, 49, 49, 49, 0, 99, 5, 0, 0, 76, 88, 85, /* 0x15c0 */
|
||||
78, 70, 48, 52, 49, 0,101, 5, 0, 0, 0, 0, 0, 0,108, 5, /* 0x15d0 */
|
||||
0, 0, 76, 88, 85, 78, 70, 48, 51, 52, 0, 0, 0, 0, 0, 76, /* 0x15e0 */
|
||||
88, 85, 78, 70, 48, 52, 50, 0,108, 5, 0, 0, 76, 69, 88, 69, /* 0x15f0 */
|
||||
67, 48, 49, 54, 0,108, 5, 0, 0, 0, 0, 0, 0,110, 5, 0, /* 0x1600 */
|
||||
0, 76, 88, 85, 78, 70, 48, 52, 50, 0, 0, 0, 0, 0, 76, 88, /* 0x1610 */
|
||||
77, 82, 85, 48, 49, 48, 0,110, 5, 0, 0, 76, 88, 74, 77, 80, /* 0x1620 */
|
||||
65, 48, 48, 0,111, 5, 0, 0, 76, 88, 67, 65, 76, 76, 66, 48, /* 0x1630 */
|
||||
0,113, 5, 0, 0, 76, 88, 85, 78, 70, 48, 50, 49, 0,115, 5, /* 0x1640 */
|
||||
0, 0, 76, 88, 77, 82, 85, 48, 50, 50, 0,121, 5, 0, 0, 76, /* 0x1650 */
|
||||
88, 74, 77, 80, 65, 48, 49, 0,124, 5, 0, 0, 76, 88, 67, 65, /* 0x1660 */
|
||||
76, 76, 66, 49, 0,126, 5, 0, 0, 77, 82, 85, 66, 73, 84, 83, /* 0x1670 */
|
||||
49, 0,128, 5, 0, 0, 76, 88, 77, 82, 85, 48, 51, 48, 0,129, /* 0x1680 */
|
||||
5, 0, 0, 77, 82, 85, 66, 89, 84, 69, 49, 0,131, 5, 0, 0, /* 0x1690 */
|
||||
77, 82, 85, 65, 82, 66, 49, 48, 0,133, 5, 0, 0, 76, 88, 77, /* 0x16a0 */
|
||||
82, 85, 48, 52, 48, 0,134, 5, 0, 0, 0, 0, 0, 0,136, 5, /* 0x16b0 */
|
||||
0, 0, 76, 88, 77, 82, 85, 48, 51, 48, 0, 0, 0, 0, 0, 76, /* 0x16c0 */
|
||||
88, 85, 78, 70, 48, 51, 48, 0,136, 5, 0, 0, 76, 88, 74, 67, /* 0x16d0 */
|
||||
67, 48, 48, 48, 0,142, 5, 0, 0, 0, 0, 0, 0,150, 5, 0, /* 0x16e0 */
|
||||
0, 76, 88, 74, 67, 67, 48, 49, 48, 0, 0, 0, 0, 0, 76, 88, /* 0x16f0 */
|
||||
67, 74, 48, 77, 82, 85, 0,150, 5, 0, 0, 76, 88, 67, 74, 49, /* 0x1700 */
|
||||
77, 82, 85, 0,152, 5, 0, 0, 76, 88, 67, 65, 76, 74, 77, 80, /* 0x1710 */
|
||||
0,155, 5, 0, 0, 76, 88, 67, 65, 76, 76, 48, 48, 0,158, 5, /* 0x1720 */
|
||||
0, 0, 0, 0, 0, 0,160, 5, 0, 0, 76, 88, 85, 78, 70, 48, /* 0x1730 */
|
||||
51, 55, 0, 0, 0, 0, 0, 76, 88, 67, 65, 76, 76, 48, 49, 0, /* 0x1740 */
|
||||
160, 5, 0, 0, 76, 88, 67, 74, 50, 77, 82, 85, 0,163, 5, 0, /* 0x1750 */
|
||||
0, 0, 0, 0, 0,165, 5, 0, 0, 76, 88, 85, 78, 70, 48, 51, /* 0x1760 */
|
||||
55, 0, 0, 0, 0, 0, 76, 88, 67, 74, 52, 77, 82, 85, 0,165, /* 0x1770 */
|
||||
5, 0, 0, 0, 0, 0, 0,167, 5, 0, 0, 76, 88, 85, 78, 70, /* 0x1780 */
|
||||
48, 51, 52, 0, 0, 0, 0, 0, 76, 88, 67, 74, 54, 77, 82, 85, /* 0x1790 */
|
||||
0,167, 5, 0, 0, 0, 0, 0, 0,169, 5, 0, 0, 76, 88, 67, /* 0x17a0 */
|
||||
74, 56, 77, 82, 85, 0, 1, 0, 0, 0, 76, 88, 67, 74, 55, 77, /* 0x17b0 */
|
||||
82, 85, 0,169, 5, 0, 0, 0, 0, 0, 0,171, 5, 0, 0, 76, /* 0x17c0 */
|
||||
88, 67, 74, 56, 77, 82, 85, 0, 1, 0, 0, 0, 76, 88, 67, 74, /* 0x17d0 */
|
||||
56, 77, 82, 85, 0,171, 5, 0, 0, 0, 0, 0, 0,174, 5, 0, /* 0x17e0 */
|
||||
0, 76, 88, 85, 78, 70, 48, 51, 55, 0, 0, 0, 0, 0, 76, 88, /* 0x17f0 */
|
||||
85, 78, 70, 48, 51, 52, 0,174, 5, 0, 0, 0, 0, 0, 0,179, /* 0x1800 */
|
||||
5, 0, 0, 76, 88, 85, 78, 70, 48, 51, 48, 0, 0, 0, 0, 0, /* 0x1810 */
|
||||
76, 88, 77, 82, 85, 48, 53, 53, 0,179, 5, 0, 0, 77, 82, 85, /* 0x1820 */
|
||||
66, 89, 84, 69, 50, 0,181, 5, 0, 0, 77, 82, 85, 66, 73, 84, /* 0x1830 */
|
||||
83, 50, 0,186, 5, 0, 0, 77, 82, 85, 65, 82, 66, 50, 48, 0, /* 0x1840 */
|
||||
191, 5, 0, 0, 76, 88, 77, 82, 85, 48, 53, 55, 0,196, 5, 0, /* 0x1850 */
|
||||
0, 76, 88, 77, 82, 85, 48, 53, 56, 0,202, 5, 0, 0, 76, 88, /* 0x1860 */
|
||||
85, 78, 70, 48, 51, 53, 0,203, 5, 0, 0, 76, 88, 80, 84, 73, /* 0x1870 */
|
||||
49, 52, 48, 0,209, 5, 0, 0, 76, 88, 80, 84, 73, 49, 52, 49, /* 0x1880 */
|
||||
0,209, 5, 0, 0, 76, 88, 80, 84, 73, 49, 53, 48, 0,209, 5, /* 0x1890 */
|
||||
0, 0, 67, 75, 76, 76, 84, 82, 48, 48, 0,222, 5, 0, 0, 0, /* 0x18a0 */
|
||||
0, 0, 0,226, 5, 0, 0, 67, 75, 76, 76, 84, 82, 50, 48, 0, /* 0x18b0 */
|
||||
30, 0, 0, 0, 67, 75, 76, 76, 84, 82, 49, 48, 0,231, 5, 0, /* 0x18c0 */
|
||||
0, 0, 0, 0, 0,245, 5, 0, 0, 67, 75, 76, 76, 84, 82, 50, /* 0x18d0 */
|
||||
48, 0, 6, 0, 0, 0, 67, 75, 76, 76, 84, 82, 50, 48, 0,245, /* 0x18e0 */
|
||||
5, 0, 0, 0, 0, 0, 0,251, 5, 0, 0, 67, 75, 76, 76, 84, /* 0x18f0 */
|
||||
82, 52, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 5, 0, 0, /* 0x1900 */
|
||||
67, 75, 76, 76, 84, 82, 52, 48, 0, 0, 0, 0, 0, 67, 75, 76, /* 0x1910 */
|
||||
76, 84, 82, 51, 48, 0, 22, 6, 0, 0, 0, 0, 0, 0, 29, 6, /* 0x1920 */
|
||||
0, 0, 67, 75, 76, 76, 84, 82, 49, 48, 0, 14, 0, 0, 0, 67, /* 0x1930 */
|
||||
75, 76, 76, 84, 82, 52, 48, 0, 29, 6, 0, 0, 0, 0, 0, 0, /* 0x1940 */
|
||||
34, 6, 0, 0, 67, 75, 76, 76, 84, 82, 48, 48, 0, 4, 0, 0, /* 0x1950 */
|
||||
0, 76, 88, 80, 84, 73, 49, 54, 48, 0, 34, 6, 0, 0, 76, 88, /* 0x1960 */
|
||||
80, 84, 73, 50, 48, 48, 0, 36, 6, 0, 0, 88, 84, 72, 69, 69, /* 0x1970 */
|
||||
78, 68, 88, 0, 36, 6, 0, 0,255,255,255,255, 36, 6 /* 0x1980 */
|
||||
};
|
||||
131
src/stub/i386-linux.elf.interp-fold.h
Normal file
131
src/stub/i386-linux.elf.interp-fold.h
Normal file
@ -0,0 +1,131 @@
|
||||
/* i386-linux.elf.interp-fold.h -- created from i386-linux.elf.interp-fold.bin, 1531 (0x5fb) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define LINUX_I386PTI_FOLD_SIZE 1531
|
||||
#define LINUX_I386PTI_FOLD_ADLER32 0x90e59978
|
||||
#define LINUX_I386PTI_FOLD_CRC32 0xdd8fa001
|
||||
|
||||
unsigned char linux_i386pti_fold[1531] = {
|
||||
127, 69, 76, 70, 1, 1, 1, 0, 76,105,110,117,120, 0, 0, 0, /* 0x 0 */
|
||||
2, 0, 3, 0, 1, 0, 0, 0,128, 0, 1, 0, 52, 0, 0, 0, /* 0x 10 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0, /* 0x 20 */
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, /* 0x 30 */
|
||||
0, 0, 1, 0,251, 5, 0, 0,252, 5, 0, 0, 5, 0, 0, 0, /* 0x 40 */
|
||||
0, 16, 0, 0, 1, 0, 0, 0,251, 5, 0, 0,252, 5, 1, 0, /* 0x 50 */
|
||||
252, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, /* 0x 60 */
|
||||
0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 70 */
|
||||
93, 89, 88,141,124,132, 4, 80, 41,192,175,117,253,175,137,254, /* 0x 80 */
|
||||
139, 6,131,248, 3,116, 8,131,198, 8,131,248, 0,117,241,139, /* 0x 90 */
|
||||
94, 4, 83,129,236, 0, 10, 0, 0,137,226, 81,141, 67, 88,139, /* 0x a0 */
|
||||
115, 24, 41,198,139, 24,139, 72, 4,131,193, 12, 96,232, 62, 4, /* 0x b0 */
|
||||
0, 0,129,196, 36, 10, 0, 0, 91, 80,139, 75, 20,139, 91, 8, /* 0x c0 */
|
||||
184, 91, 0, 0, 0,205,128, 41,192, 41,201, 41,210, 41,219, 41, /* 0x d0 */
|
||||
237, 41,246, 41,255,195, 83,141, 92, 36, 8,106, 90, 88,205,128, /* 0x e0 */
|
||||
91,195, 0, 0, 87, 86,137,206, 83,137,195, 57, 8,139,120, 4, /* 0x f0 */
|
||||
115, 10,106,127, 91,106, 1, 88,205,128,235,254,133,201,116, 8, /* 0x 100 */
|
||||
138, 7, 71,136, 2, 66,226,248, 1,115, 4, 41, 51, 91, 94, 95, /* 0x 110 */
|
||||
195, 85,137,229, 87, 86,137,198, 83,137,211,131,236, 20,139,125, /* 0x 120 */
|
||||
12,131, 58, 0, 15,132,185, 0, 0, 0,141, 85,228,185, 12, 0, /* 0x 130 */
|
||||
0, 0,137,240,232,171,255,255,255,139, 69,228,139, 77,232,133, /* 0x 140 */
|
||||
192,117, 19,129,249, 85, 80, 88, 33,117, 15,131, 62, 0, 15,132, /* 0x 150 */
|
||||
143, 0, 0, 0,235, 4,133,201,117, 10,106,127, 91,106, 1, 88, /* 0x 160 */
|
||||
205,128,235,254, 57,193,119,242, 59, 3,119,238, 57,193,115, 86, /* 0x 170 */
|
||||
15,182, 69,236, 80,255, 85, 8, 15,182, 85,236,137, 20, 36,141, /* 0x 180 */
|
||||
85,224, 82,255,115, 4,255,117,232,255,118, 4,255, 16,131,196, /* 0x 190 */
|
||||
20,133,192,117,197,139, 69,228, 57, 69,224,117,189,138, 69,237, /* 0x 1a0 */
|
||||
132,192,116, 24, 15,182,192, 80,255,215, 15,182, 85,238,137, 20, /* 0x 1b0 */
|
||||
36,255,117,224,255,115, 4,255, 16,131,196, 12,139, 69,232, 1, /* 0x 1c0 */
|
||||
70, 4, 41, 6,235, 10,139, 83, 4,137,240,232, 20,255,255,255, /* 0x 1d0 */
|
||||
139, 85,228,139, 3, 1, 83, 4, 41,208,133,192,137, 3,233, 65, /* 0x 1e0 */
|
||||
255,255,255,141,101,244, 91, 94, 95,201,195,133,210,137,209,116, /* 0x 1f0 */
|
||||
6,198, 0, 0, 64,226,250,195,133,192, 83,137,211,116, 29,168, /* 0x 200 */
|
||||
1,117, 25,139, 16, 57,218,116, 7, 74,117, 11,133,219,116, 7, /* 0x 210 */
|
||||
137, 24,137, 72, 4,235, 5,131,192, 8,235,231, 91,195, 85,137, /* 0x 220 */
|
||||
229, 87, 86, 83,131,236, 84,137, 69,228,139, 69, 8,137, 85,224, /* 0x 230 */
|
||||
139, 77, 16,137, 69,220, 3, 64, 28,139, 93,220,137, 77,212,139, /* 0x 240 */
|
||||
85, 12,137, 69,208, 49,192,102,131,123, 16, 3,137, 85,216, 15, /* 0x 250 */
|
||||
183, 75, 44,139, 85,208, 15,149,192,131,206,255,193,224, 4,131, /* 0x 260 */
|
||||
192, 34, 49,219,137, 69,184,137,200, 49,255, 72,120, 31,131, 58, /* 0x 270 */
|
||||
1,117, 21,139, 66, 8, 57,240,115, 5,137,198,139,122, 16, 3, /* 0x 280 */
|
||||
66, 20, 57,195,115, 2,137,195,131,194, 32,226,225,137,240,129, /* 0x 290 */
|
||||
230, 0,240,255,255,106, 0, 41,243,106, 0, 37,255, 15, 0, 0, /* 0x 2a0 */
|
||||
137,117,188,141,179,255, 15, 0, 0,255,117,184,129,230, 0,240, /* 0x 2b0 */
|
||||
255,255,106, 7, 86,255,117,188,141,188, 7,255, 15, 0, 0,232, /* 0x 2c0 */
|
||||
18,254,255,255,129,231, 0,240,255,255,137,194,137,195, 1,242, /* 0x 2d0 */
|
||||
41,254,131,196, 24,137, 69,172,137, 85,240, 1,251,137,241,106, /* 0x 2e0 */
|
||||
91, 88,205,128,139, 69,220,199, 69,196, 0, 0, 0, 0,139, 93, /* 0x 2f0 */
|
||||
172, 43, 93,188,102,131,120, 44, 0,137, 93,204, 15,132,180, 1, /* 0x 300 */
|
||||
0, 0,139, 85,208,139, 2,131,248, 6,117, 24,139, 77,204, 3, /* 0x 310 */
|
||||
74, 8,186, 3, 0, 0, 0,139, 69,212,232,217,254,255,255,233, /* 0x 320 */
|
||||
123, 1, 0, 0, 72, 15,133,116, 1, 0, 0,139, 93,208,199, 69, /* 0x 330 */
|
||||
192, 64, 98, 81,115,139, 75, 24,139, 67, 8,131,225, 7,139, 83, /* 0x 340 */
|
||||
16,193,225, 2,137, 69,236,211,109,192,137,193, 3, 75, 20,137, /* 0x 350 */
|
||||
195,129,227,255, 15, 0, 0,137, 85,232,141, 60, 26,139, 85,204, /* 0x 360 */
|
||||
41,216,131,101,192, 7, 1,209,141, 52, 16,137, 77,176,139, 77, /* 0x 370 */
|
||||
208,139, 65, 4, 41,216,131,125,216, 1, 80,255,117,228, 25,192, /* 0x 380 */
|
||||
131,224,224,131,192, 50,131,125,216, 0, 80,137,248,106, 3,116, /* 0x 390 */
|
||||
3,141, 71, 3, 80, 86,232, 59,253,255,255,131,196, 24, 57,198, /* 0x 3a0 */
|
||||
15,133,170, 0, 0, 0,131,125,216, 0,116, 19,255,117,224,255, /* 0x 3b0 */
|
||||
117,228,141, 85,232,139, 69,216,232, 84,253,255,255, 88, 90,137, /* 0x 3c0 */
|
||||
218,137,251,137,240,247,219,232, 31,254,255,255,129,227,255, 15, /* 0x 3d0 */
|
||||
0, 0,141, 4, 62,137,218,137, 93,180,232, 12,254,255,255,131, /* 0x 3e0 */
|
||||
125,216, 0,116, 91,139, 69,208,131, 56, 1,117, 83,246, 64, 24, /* 0x 3f0 */
|
||||
1,116, 77,139, 93,208,137,194,139, 64, 20, 59, 67, 16,139, 82, /* 0x 400 */
|
||||
8,141, 12, 16,117, 14,137,200,247,216, 37,255, 15, 0, 0,131, /* 0x 410 */
|
||||
248, 3,119, 12,139, 69,208,141, 74, 12,131,120, 4, 0,117, 15, /* 0x 420 */
|
||||
139, 1, 61,205,128, 97,195,116, 6,199, 1,205,128, 97,195,133, /* 0x 430 */
|
||||
201,116, 13,139, 69,212, 49,210,131,224,254,232,184,253,255,255, /* 0x 440 */
|
||||
137,243,137,249,139, 85,192,106,125, 88,205,128,133,192,116, 10, /* 0x 450 */
|
||||
106,127, 91,106, 1, 88,205,128,235,254,139, 85,180,141, 4, 23, /* 0x 460 */
|
||||
141, 28, 6, 59, 93,176,115, 30,106, 0,106, 0,106, 50,255,117, /* 0x 470 */
|
||||
192, 41, 93,176,255,117,176, 83,232, 89,252,255,255,131,196, 24, /* 0x 480 */
|
||||
57,195,116, 27,235,202,131,125,216, 0,116, 19,141, 79, 3,129, /* 0x 490 */
|
||||
225,255, 15, 0, 0,131,249, 3,119, 5,106, 91, 88,205,128,139, /* 0x 4a0 */
|
||||
77,220,255, 69,196, 15,183, 65, 44,131, 69,208, 32, 57, 69,196, /* 0x 4b0 */
|
||||
15,140, 76,254,255,255,131,125,216, 0,117, 14,139, 93,228,106, /* 0x 4c0 */
|
||||
6, 88,205,128,133,192,116, 20,235,134,139, 69,220,102,131,120, /* 0x 4d0 */
|
||||
16, 3,116, 8,139, 93,240,106, 45, 88,205,128,139, 85,220,139, /* 0x 4e0 */
|
||||
82, 24, 1, 85,204,139, 69,204,141,101,244, 91, 94, 95,201,195, /* 0x 4f0 */
|
||||
85,137,229, 87, 86, 83,131,236, 16,141, 85, 24,139,125, 20,255, /* 0x 500 */
|
||||
117, 40,141, 71, 52,139, 93, 8,255,117, 16,137, 69,240,139,117, /* 0x 510 */
|
||||
32,141, 69, 32,232,248,251,255,255,139, 85,240,139, 69, 12,139, /* 0x 520 */
|
||||
74, 8,186, 3, 0, 0, 0,137, 69, 32,137,216,131,193, 52, 41, /* 0x 530 */
|
||||
117, 36,232,193,252,255,255, 15,183, 79, 42,137,216,186, 4, 0, /* 0x 540 */
|
||||
0, 0,232,177,252,255,255, 15,183, 79, 44,137,216,186, 5, 0, /* 0x 550 */
|
||||
0, 0,232,161,252,255,255,139, 79, 24,137,216,186, 9, 0, 0, /* 0x 560 */
|
||||
0,232,146,252,255,255,141, 69, 32, 83,139, 85, 40, 80,139, 69, /* 0x 570 */
|
||||
16, 87,232,167,252,255,255,102,139, 79, 44,131,196, 20, 49,210, /* 0x 580 */
|
||||
102,133,201,137,195,116, 90,139, 69,240,131, 56, 3,117, 70, 49, /* 0x 590 */
|
||||
201,139, 88, 8,137,202,106, 5, 88,205,128,133,192,137,198,120, /* 0x 5a0 */
|
||||
21,186, 0, 2, 0, 0,137,195,137,249,106, 3, 88,205,128, 61, /* 0x 5b0 */
|
||||
0, 2, 0, 0,116, 10,106,127, 91,106, 1, 88,205,128,235,254, /* 0x 5c0 */
|
||||
106, 0, 49,210,106, 0,137,240, 87,232, 80,252,255,255,131,196, /* 0x 5d0 */
|
||||
12,137,195,235, 12, 66, 15,183,193,131, 69,240, 32, 57,194,124, /* 0x 5e0 */
|
||||
166,141,101,244,137,216, 91, 94, 95,201,195 /* 0x 5f0 */
|
||||
};
|
||||
311
src/stub/i386-linux.elf.shell-entry.h
Normal file
311
src/stub/i386-linux.elf.shell-entry.h
Normal file
@ -0,0 +1,311 @@
|
||||
/* i386-linux.elf.shell-entry.h -- created from i386-linux.elf.shell-entry.bin, 4416 (0x1140) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define LINUX_I386SH_LOADER_SIZE 4416
|
||||
#define LINUX_I386SH_LOADER_ADLER32 0x7a82f154
|
||||
#define LINUX_I386SH_LOADER_CRC32 0x82883299
|
||||
|
||||
unsigned char linux_i386sh_loader[4416] = {
|
||||
232, 0, 0, 0, 0, 96,139,116, 36, 36,139,124, 36, 44,131,205, /* 0x 0 */
|
||||
255,235, 0,164,235, 0,138, 6, 70,136, 7, 71, 1,219,117, 7, /* 0x 10 */
|
||||
139, 30,131,238,252, 17,219,114, 0, 49,192, 64,138, 7,114, 0, /* 0x 20 */
|
||||
184, 1, 0, 0, 0, 1,219,117, 7,139, 30,131,238,252, 17,219, /* 0x 30 */
|
||||
17,192, 1,219,117, 7,139, 30,131,238,252, 17,219,115, 0, 1, /* 0x 40 */
|
||||
219,115, 0,117, 9,139, 30,131,238,252, 17,219,115, 0, 49,201, /* 0x 50 */
|
||||
131,232, 3,114, 13,193,224, 8,138, 6, 70,131,240,255,116, 0, /* 0x 60 */
|
||||
137,197, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, 1, /* 0x 70 */
|
||||
219,117, 7,139, 30,131,238,252, 17,219, 17,201,117, 0, 65, 1, /* 0x 80 */
|
||||
219,117, 7,139, 30,131,238,252, 17,219, 17,201, 1,219,117, 7, /* 0x 90 */
|
||||
139, 30,131,238,252, 17,219,115, 0, 1,219,115, 0,117, 9,139, /* 0x a0 */
|
||||
30,131,238,252, 17,219,115, 0, 65, 65,131,193, 2,129,253, 0, /* 0x b0 */
|
||||
243,255,255,131,209, 1, 86,141, 52, 47,243,164, 94,233, 0, 0, /* 0x c0 */
|
||||
0, 0,141, 20, 47,131,253,252,138, 4, 15,118, 0,138, 2, 66, /* 0x d0 */
|
||||
136, 7, 71, 73,117,247,233, 0, 0, 0, 0,139, 2,131,194, 4, /* 0x e0 */
|
||||
137, 7,131,199, 4,131,233, 4,119,241, 1,207,233, 0, 0, 0, /* 0x f0 */
|
||||
0,235, 0,164,235, 0,138, 6, 70,136, 7, 71, 1,219,117, 7, /* 0x 100 */
|
||||
139, 30,131,238,252, 17,219,114, 0, 49,192, 64,138, 7,114, 0, /* 0x 110 */
|
||||
184, 1, 0, 0, 0, 1,219,117, 7,139, 30,131,238,252, 17,219, /* 0x 120 */
|
||||
17,192, 1,219,117, 7,139, 30,131,238,252, 17,219,114, 0, 1, /* 0x 130 */
|
||||
219,115, 11,117, 0,139, 30,131,238,252, 17,219,114, 0, 72, 1, /* 0x 140 */
|
||||
219,117, 7,139, 30,131,238,252, 17,219, 17,192,235, 0, 49,201, /* 0x 150 */
|
||||
131,232, 3,114, 17,193,224, 8,138, 6, 70,131,240,255,116, 0, /* 0x 160 */
|
||||
209,248,137,197,235, 11, 1,219,117, 7,139, 30,131,238,252, 17, /* 0x 170 */
|
||||
219, 17,201, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, /* 0x 180 */
|
||||
117, 0, 65, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, /* 0x 190 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219,115, 0, 1,219,115, /* 0x 1a0 */
|
||||
0,117, 9,139, 30,131,238,252, 17,219,115, 0, 65, 65,131,193, /* 0x 1b0 */
|
||||
2,129,253, 0,251,255,255,131,209, 1, 86,141, 52, 47,243,164, /* 0x 1c0 */
|
||||
94,233, 0, 0, 0, 0,141, 20, 47,131,253,252,138, 4, 15,118, /* 0x 1d0 */
|
||||
0,138, 2, 66,136, 7, 71, 73,117,247,233, 0, 0, 0, 0,139, /* 0x 1e0 */
|
||||
2,131,194, 4,137, 7,131,199, 4,131,233, 4,119,241, 1,207, /* 0x 1f0 */
|
||||
233, 0, 0, 0, 0,235, 0,164,235, 0,138, 6, 70,136, 7, 71, /* 0x 200 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219,114, 0, 49,192, 64, /* 0x 210 */
|
||||
138, 7,114, 0,184, 1, 0, 0, 0, 1,219,117, 7,139, 30,131, /* 0x 220 */
|
||||
238,252, 17,219, 17,192, 1,219,117, 7,139, 30,131,238,252, 17, /* 0x 230 */
|
||||
219,114, 0, 1,219,115, 11,117, 0,139, 30,131,238,252, 17,219, /* 0x 240 */
|
||||
114, 0, 72, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,192, /* 0x 250 */
|
||||
235, 0, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201,235, /* 0x 260 */
|
||||
0, 49,201,131,232, 3,114, 17,193,224, 8,138, 6, 70,131,240, /* 0x 270 */
|
||||
255,116, 0,209,248,137,197,235, 11, 1,219,117, 7,139, 30,131, /* 0x 280 */
|
||||
238,252, 17,219,114,204, 65, 1,219,117, 7,139, 30,131,238,252, /* 0x 290 */
|
||||
17,219,114,190, 1,219,117, 7,139, 30,131,238,252, 17,219, 17, /* 0x 2a0 */
|
||||
201, 1,219,117, 7,139, 30,131,238,252, 17,219,115, 0, 1,219, /* 0x 2b0 */
|
||||
115, 0,117, 9,139, 30,131,238,252, 17,219,115, 0, 65, 65,131, /* 0x 2c0 */
|
||||
193, 2,129,253, 0,251,255,255,131,209, 2, 86,141, 52, 47,243, /* 0x 2d0 */
|
||||
164, 94,233, 0, 0, 0, 0,141, 20, 47,131,253,252,138, 4, 15, /* 0x 2e0 */
|
||||
118, 0,138, 2, 66,136, 7, 71, 73,117,247,233, 0, 0, 0, 0, /* 0x 2f0 */
|
||||
139, 2,131,194, 4,137, 7,131,199, 4,131,233, 4,119,241, 1, /* 0x 300 */
|
||||
207,233, 0, 0, 0, 0,255,210, 1,219,117, 2,255,210,144,232, /* 0x 310 */
|
||||
0, 0, 0, 0, 1,219,116, 0,195,139, 30,131,238,252, 17,219, /* 0x 320 */
|
||||
195, 41,201, 17,201,114, 0, 17,201,114, 0, 17,201, 17,192, 72, /* 0x 330 */
|
||||
17,192,131,233, 1,115, 0,141, 72, 15, 61,240,255, 0, 0,114, /* 0x 340 */
|
||||
0,141, 4, 14, 80,233, 0, 0, 0, 0, 17,201, 17,201,131,193, /* 0x 350 */
|
||||
13,235, 0,133,201,116, 0, 65,131,193, 8,235, 0, 41,201, 90, /* 0x 360 */
|
||||
41,219,141, 65, 1,115, 0,114, 0,114, 0,114, 0,131,193, 2, /* 0x 370 */
|
||||
114, 0, 65,114, 5,233, 0, 0, 0, 0, 17,201,209,233,115, 1, /* 0x 380 */
|
||||
164,209,233,115, 2,102,165,243,165,141, 65, 1,235, 3,164,164, /* 0x 390 */
|
||||
164, 17,192,115, 0,131,232, 3,114, 11,193,224, 8,172,131,240, /* 0x 3a0 */
|
||||
255,116, 0,137,197, 17,201, 17,201,117, 0, 65, 17,201,115, 0, /* 0x 3b0 */
|
||||
131,193, 2,129,253, 0,243,255,255,131,209, 1, 86,141, 52, 47, /* 0x 3c0 */
|
||||
131,253,252,119, 19,209,233,115, 1,164,209,233,115, 2,102,165, /* 0x 3d0 */
|
||||
243,165, 94,233, 0, 0, 0, 0,131,253,255,117, 5,172,243,170, /* 0x 3e0 */
|
||||
235,240,243,164,235,236,185, 84, 69, 88, 76,138, 7, 71, 44,232, /* 0x 3f0 */
|
||||
60, 1,119,247,128, 63, 63,117, 0,139, 7,138, 95, 4,102,193, /* 0x 400 */
|
||||
232, 8,134,196,193,192, 16,134,196, 41,248,128,235,232,137, 7, /* 0x 410 */
|
||||
131,199, 5,136,216,226, 0,185, 84, 69, 88, 76,176,232,176,233, /* 0x 420 */
|
||||
242,174,117, 0,128, 63, 63,117, 0,139, 7,102,193,232, 8,134, /* 0x 430 */
|
||||
196,193,192, 16,134,196, 41,248,171,235, 0,139, 84, 36, 36, 3, /* 0x 440 */
|
||||
84, 36, 40, 57,214,116, 1, 72, 43,124, 36, 44,139, 84, 36, 48, /* 0x 450 */
|
||||
137, 58,137, 68, 36, 28, 97,195, 94,252,173, 80, 84,186, 0, 0, /* 0x 460 */
|
||||
64, 1,139, 66, 72, 1,208,131,194,116, 80,139, 74, 16,129,193, /* 0x 470 */
|
||||
6, 16, 0, 0, 80,106,255,106, 50,106, 7, 81, 80,137,227,106, /* 0x 480 */
|
||||
90, 88,205,128,141,152, 3, 16, 0, 0,131,196, 24,173, 80,173, /* 0x 490 */
|
||||
86,255,213, 88, 88,195, 93,232,188,255,255,255, 76, 69, 88, 69, /* 0x 4a0 */
|
||||
67, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, /* 0x 4b0 */
|
||||
0, 76, 69, 88, 69, 67, 48, 50, 48, 0, 62, 0, 0, 0, 76, 69, /* 0x 4c0 */
|
||||
88, 69, 67, 48, 49, 48, 0, 5, 0, 0, 0, 78, 50, 66, 83, 77, /* 0x 4d0 */
|
||||
65, 49, 48, 0, 17, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, /* 0x 4e0 */
|
||||
78, 50, 66, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 66, /* 0x 4f0 */
|
||||
70, 65, 83, 49, 48, 0, 20, 0, 0, 0, 0, 0, 0, 0, 22, 0, /* 0x 500 */
|
||||
0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, /* 0x 510 */
|
||||
50, 66, 70, 65, 83, 49, 49, 0, 22, 0, 0, 0, 78, 50, 66, 68, /* 0x 520 */
|
||||
69, 67, 49, 48, 0, 28, 0, 0, 0, 78, 50, 66, 83, 77, 65, 50, /* 0x 530 */
|
||||
48, 0, 39, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 78, 50, /* 0x 540 */
|
||||
66, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 66, 70, 65, /* 0x 550 */
|
||||
83, 50, 48, 0, 44, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, /* 0x 560 */
|
||||
78, 50, 66, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, 66, /* 0x 570 */
|
||||
68, 69, 67, 50, 48, 0, 53, 0, 0, 0, 78, 50, 66, 83, 77, 65, /* 0x 580 */
|
||||
51, 48, 0, 66, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 78, /* 0x 590 */
|
||||
50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, /* 0x 5a0 */
|
||||
65, 83, 51, 48, 0, 79, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, /* 0x 5b0 */
|
||||
0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, /* 0x 5c0 */
|
||||
0, 0, 94, 0, 0, 0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 0, /* 0x 5d0 */
|
||||
0, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 94, 0, 0, 0, /* 0x 5e0 */
|
||||
0, 0, 0, 0,112, 0, 0, 0, 78, 50, 66, 68, 69, 67, 54, 48, /* 0x 5f0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 78, 50, 66, /* 0x 600 */
|
||||
68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 78, 50, 66, 83, 77, 65, /* 0x 610 */
|
||||
52, 48, 0,156, 0, 0, 0, 0, 0, 0, 0,169, 0, 0, 0, 78, /* 0x 620 */
|
||||
50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 78, 50, 66, 70, /* 0x 630 */
|
||||
65, 83, 52, 48, 0,169, 0, 0, 0, 0, 0, 0, 0,173, 0, 0, /* 0x 640 */
|
||||
0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 0, 0, /* 0x 650 */
|
||||
0, 0,184, 0, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 49, /* 0x 660 */
|
||||
0, 0, 0, 78, 50, 66, 68, 85, 77, 77, 49, 0,184, 0, 0, 0, /* 0x 670 */
|
||||
78, 50, 66, 83, 77, 65, 53, 48, 0,184, 0, 0, 0, 78, 50, 66, /* 0x 680 */
|
||||
70, 65, 83, 53, 48, 0,186, 0, 0, 0, 78, 50, 66, 68, 69, 67, /* 0x 690 */
|
||||
53, 48, 0,189, 0, 0, 0, 78, 50, 66, 83, 77, 65, 54, 48, 0, /* 0x 6a0 */
|
||||
198, 0, 0, 0, 0, 0, 0, 0,210, 0, 0, 0, 78, 50, 66, 68, /* 0x 6b0 */
|
||||
69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, 65, 83, 54, /* 0x 6c0 */
|
||||
48, 0,210, 0, 0, 0, 0, 0, 0, 0,221, 0, 0, 0, 78, 50, /* 0x 6d0 */
|
||||
66, 70, 65, 83, 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0,235, /* 0x 6e0 */
|
||||
0, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, /* 0x 6f0 */
|
||||
78, 50, 66, 70, 65, 83, 54, 49, 0,235, 0, 0, 0, 0, 0, 0, /* 0x 700 */
|
||||
0, 1, 1, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, /* 0x 710 */
|
||||
0, 0, 78, 50, 66, 68, 69, 67, 54, 48, 0, 1, 1, 0, 0, 78, /* 0x 720 */
|
||||
82, 86, 50, 66, 69, 78, 68, 0, 1, 1, 0, 0, 78, 50, 68, 83, /* 0x 730 */
|
||||
77, 65, 49, 48, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 1, 0, /* 0x 740 */
|
||||
0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, /* 0x 750 */
|
||||
68, 70, 65, 83, 49, 48, 0, 4, 1, 0, 0, 0, 0, 0, 0, 6, /* 0x 760 */
|
||||
1, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, /* 0x 770 */
|
||||
78, 50, 68, 70, 65, 83, 49, 49, 0, 6, 1, 0, 0, 78, 50, 68, /* 0x 780 */
|
||||
68, 69, 67, 49, 48, 0, 12, 1, 0, 0, 78, 50, 68, 83, 77, 65, /* 0x 790 */
|
||||
50, 48, 0, 23, 1, 0, 0, 0, 0, 0, 0, 25, 1, 0, 0, 78, /* 0x 7a0 */
|
||||
50, 68, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 68, 70, /* 0x 7b0 */
|
||||
65, 83, 50, 48, 0, 28, 1, 0, 0, 0, 0, 0, 0, 32, 1, 0, /* 0x 7c0 */
|
||||
0, 78, 50, 68, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, /* 0x 7d0 */
|
||||
68, 68, 69, 67, 50, 48, 0, 37, 1, 0, 0, 78, 50, 68, 83, 77, /* 0x 7e0 */
|
||||
65, 51, 48, 0, 50, 1, 0, 0, 0, 0, 0, 0, 63, 1, 0, 0, /* 0x 7f0 */
|
||||
78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, 78, 50, 68, /* 0x 800 */
|
||||
70, 65, 83, 51, 48, 0, 63, 1, 0, 0, 0, 0, 0, 0, 69, 1, /* 0x 810 */
|
||||
0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, 0, /* 0x 820 */
|
||||
0, 0, 0, 78, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, /* 0x 830 */
|
||||
16, 0, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 78, 1, 0, /* 0x 840 */
|
||||
0, 0, 0, 0, 0, 94, 1, 0, 0, 78, 50, 68, 68, 69, 67, 50, /* 0x 850 */
|
||||
48, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 1, 0, 0, 78, 50, /* 0x 860 */
|
||||
68, 68, 69, 67, 54, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,146, /* 0x 870 */
|
||||
1, 0, 0, 78, 50, 68, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, /* 0x 880 */
|
||||
78, 50, 68, 83, 77, 65, 52, 48, 0,160, 1, 0, 0, 0, 0, 0, /* 0x 890 */
|
||||
0,173, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 69, 0, /* 0x 8a0 */
|
||||
0, 0, 78, 50, 68, 70, 65, 83, 52, 48, 0,173, 1, 0, 0, 0, /* 0x 8b0 */
|
||||
0, 0, 0,177, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, /* 0x 8c0 */
|
||||
69, 0, 0, 0, 0, 0, 0, 0,188, 1, 0, 0, 78, 50, 68, 68, /* 0x 8d0 */
|
||||
69, 67, 51, 48, 0, 69, 0, 0, 0, 78, 50, 68, 68, 85, 77, 77, /* 0x 8e0 */
|
||||
49, 0,188, 1, 0, 0, 78, 50, 68, 83, 77, 65, 53, 48, 0,188, /* 0x 8f0 */
|
||||
1, 0, 0, 78, 50, 68, 70, 65, 83, 53, 48, 0,190, 1, 0, 0, /* 0x 900 */
|
||||
78, 50, 68, 68, 69, 67, 53, 48, 0,193, 1, 0, 0, 78, 50, 68, /* 0x 910 */
|
||||
83, 77, 65, 54, 48, 0,202, 1, 0, 0, 0, 0, 0, 0,214, 1, /* 0x 920 */
|
||||
0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, /* 0x 930 */
|
||||
50, 68, 70, 65, 83, 54, 48, 0,214, 1, 0, 0, 0, 0, 0, 0, /* 0x 940 */
|
||||
225, 1, 0, 0, 78, 50, 68, 70, 65, 83, 54, 49, 0, 0, 0, 0, /* 0x 950 */
|
||||
0, 0, 0, 0, 0,239, 1, 0, 0, 78, 50, 68, 68, 69, 67, 49, /* 0x 960 */
|
||||
48, 0, 0, 0, 0, 0, 78, 50, 68, 70, 65, 83, 54, 49, 0,239, /* 0x 970 */
|
||||
1, 0, 0, 0, 0, 0, 0, 5, 2, 0, 0, 78, 50, 68, 68, 69, /* 0x 980 */
|
||||
67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 68, 68, 69, 67, 54, 48, /* 0x 990 */
|
||||
0, 5, 2, 0, 0, 78, 82, 86, 50, 68, 69, 78, 68, 0, 5, 2, /* 0x 9a0 */
|
||||
0, 0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 5, 2, 0, 0, 0, /* 0x 9b0 */
|
||||
0, 0, 0, 7, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, /* 0x 9c0 */
|
||||
4, 0, 0, 0, 78, 50, 69, 70, 65, 83, 49, 48, 0, 8, 2, 0, /* 0x 9d0 */
|
||||
0, 0, 0, 0, 0, 10, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, /* 0x 9e0 */
|
||||
48, 0, 4, 0, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, 10, /* 0x 9f0 */
|
||||
2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 16, 2, 0, 0, /* 0x a00 */
|
||||
78, 50, 69, 83, 77, 65, 50, 48, 0, 27, 2, 0, 0, 0, 0, 0, /* 0x a10 */
|
||||
0, 29, 2, 0, 0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 2, 0, /* 0x a20 */
|
||||
0, 0, 78, 50, 69, 70, 65, 83, 50, 48, 0, 32, 2, 0, 0, 0, /* 0x a30 */
|
||||
0, 0, 0, 36, 2, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, /* 0x a40 */
|
||||
0, 0, 0, 0, 78, 50, 69, 68, 69, 67, 50, 48, 0, 41, 2, 0, /* 0x a50 */
|
||||
0, 78, 50, 69, 83, 77, 65, 51, 48, 0, 54, 2, 0, 0, 0, 0, /* 0x a60 */
|
||||
0, 0, 67, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 31, /* 0x a70 */
|
||||
0, 0, 0, 78, 50, 69, 70, 65, 83, 51, 48, 0, 67, 2, 0, 0, /* 0x a80 */
|
||||
0, 0, 0, 0, 73, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, /* 0x a90 */
|
||||
0, 31, 0, 0, 0, 0, 0, 0, 0, 82, 2, 0, 0, 78, 50, 69, /* 0x aa0 */
|
||||
68, 69, 67, 51, 48, 0, 31, 0, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x ab0 */
|
||||
51, 48, 0, 82, 2, 0, 0, 0, 0, 0, 0, 98, 2, 0, 0, 78, /* 0x ac0 */
|
||||
50, 69, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x ad0 */
|
||||
113, 2, 0, 0, 78, 50, 69, 68, 69, 67, 53, 48, 0, 0, 0, 0, /* 0x ae0 */
|
||||
0, 0, 0, 0, 0,131, 2, 0, 0, 78, 50, 69, 68, 69, 67, 54, /* 0x af0 */
|
||||
48, 0, 0, 0, 0, 0, 78, 50, 69, 83, 77, 65, 52, 48, 0,177, /* 0x b00 */
|
||||
2, 0, 0, 0, 0, 0, 0,190, 2, 0, 0, 78, 50, 69, 68, 69, /* 0x b10 */
|
||||
67, 51, 48, 0, 82, 0, 0, 0, 78, 50, 69, 70, 65, 83, 52, 48, /* 0x b20 */
|
||||
0,190, 2, 0, 0, 0, 0, 0, 0,194, 2, 0, 0, 78, 50, 69, /* 0x b30 */
|
||||
68, 69, 67, 51, 48, 0, 82, 0, 0, 0, 0, 0, 0, 0,205, 2, /* 0x b40 */
|
||||
0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 82, 0, 0, 0, 78, /* 0x b50 */
|
||||
50, 69, 68, 85, 77, 77, 49, 0,205, 2, 0, 0, 78, 50, 69, 83, /* 0x b60 */
|
||||
77, 65, 53, 48, 0,205, 2, 0, 0, 78, 50, 69, 70, 65, 83, 53, /* 0x b70 */
|
||||
48, 0,207, 2, 0, 0, 78, 50, 69, 68, 69, 67, 53, 48, 0,210, /* 0x b80 */
|
||||
2, 0, 0, 78, 50, 69, 83, 77, 65, 54, 48, 0,219, 2, 0, 0, /* 0x b90 */
|
||||
0, 0, 0, 0,231, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, /* 0x ba0 */
|
||||
0, 0, 0, 0, 0, 78, 50, 69, 70, 65, 83, 54, 48, 0,231, 2, /* 0x bb0 */
|
||||
0, 0, 0, 0, 0, 0,242, 2, 0, 0, 78, 50, 69, 70, 65, 83, /* 0x bc0 */
|
||||
54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 78, /* 0x bd0 */
|
||||
50, 69, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, 70, /* 0x be0 */
|
||||
65, 83, 54, 49, 0, 0, 3, 0, 0, 0, 0, 0, 0, 22, 3, 0, /* 0x bf0 */
|
||||
0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, /* 0x c00 */
|
||||
69, 68, 69, 67, 54, 48, 0, 22, 3, 0, 0, 78, 82, 86, 50, 69, /* 0x c10 */
|
||||
69, 78, 68, 0, 22, 3, 0, 0, 67, 76, 49, 83, 77, 65, 49, 66, /* 0x c20 */
|
||||
0, 22, 3, 0, 0, 67, 76, 49, 70, 65, 83, 49, 66, 0, 24, 3, /* 0x c30 */
|
||||
0, 0, 67, 76, 49, 71, 69, 84, 49, 66, 0, 30, 3, 0, 0, 67, /* 0x c40 */
|
||||
76, 49, 69, 78, 84, 69, 82, 0, 30, 3, 0, 0, 0, 0, 0, 0, /* 0x c50 */
|
||||
36, 3, 0, 0, 67, 76, 49, 83, 84, 65, 82, 84, 0, 0, 0, 0, /* 0x c60 */
|
||||
0, 67, 76, 49, 83, 77, 65, 49, 48, 0, 36, 3, 0, 0, 0, 0, /* 0x c70 */
|
||||
0, 0, 40, 3, 0, 0, 67, 76, 49, 82, 76, 79, 65, 68, 0, 0, /* 0x c80 */
|
||||
0, 0, 0, 67, 76, 49, 82, 76, 79, 65, 68, 0, 41, 3, 0, 0, /* 0x c90 */
|
||||
67, 76, 49, 87, 73, 68, 48, 49, 0, 49, 3, 0, 0, 67, 76, 49, /* 0x ca0 */
|
||||
87, 73, 68, 48, 50, 0, 51, 3, 0, 0, 67, 76, 49, 87, 73, 68, /* 0x cb0 */
|
||||
48, 51, 0, 53, 3, 0, 0, 0, 0, 0, 0, 55, 3, 0, 0, 67, /* 0x cc0 */
|
||||
76, 49, 87, 73, 68, 49, 48, 0, 12, 0, 0, 0, 67, 76, 49, 87, /* 0x cd0 */
|
||||
73, 68, 48, 52, 0, 55, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, /* 0x ce0 */
|
||||
53, 0, 57, 3, 0, 0, 0, 0, 0, 0, 59, 3, 0, 0, 67, 76, /* 0x cf0 */
|
||||
49, 87, 73, 68, 49, 48, 0, 7, 0, 0, 0, 67, 76, 49, 87, 73, /* 0x d00 */
|
||||
68, 48, 54, 0, 59, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 55, /* 0x d10 */
|
||||
0, 61, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 56, 0, 64, 3, /* 0x d20 */
|
||||
0, 0, 0, 0, 0, 0, 71, 3, 0, 0, 67, 76, 49, 87, 73, 68, /* 0x d30 */
|
||||
48, 54, 0, 2, 0, 0, 0, 0, 0, 0, 0, 81, 3, 0, 0, 67, /* 0x d40 */
|
||||
76, 49, 87, 73, 68, 49, 48, 0, 15, 0, 0, 0, 0, 0, 0, 0, /* 0x d50 */
|
||||
90, 3, 0, 0, 67, 76, 49, 67, 79, 80, 89, 48, 0, 18, 0, 0, /* 0x d60 */
|
||||
0, 67, 76, 49, 87, 73, 68, 48, 57, 0, 90, 3, 0, 0, 67, 76, /* 0x d70 */
|
||||
49, 87, 73, 68, 49, 48, 0, 92, 3, 0, 0, 0, 0, 0, 0, 99, /* 0x d80 */
|
||||
3, 0, 0, 67, 76, 49, 84, 79, 80, 48, 55, 0, 2, 0, 0, 0, /* 0x d90 */
|
||||
0, 0, 0, 0,103, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 56, /* 0x da0 */
|
||||
0, 26, 0, 0, 0, 0, 0, 0, 0,109, 3, 0, 0, 67, 76, 49, /* 0x db0 */
|
||||
84, 79, 80, 48, 55, 0, 2, 0, 0, 0, 67, 76, 49, 83, 84, 65, /* 0x dc0 */
|
||||
82, 84, 0,109, 3, 0, 0, 67, 76, 49, 84, 79, 80, 48, 48, 0, /* 0x dd0 */
|
||||
114, 3, 0, 0, 67, 76, 49, 84, 79, 80, 48, 49, 0,117, 3, 0, /* 0x de0 */
|
||||
0, 0, 0, 0, 0,119, 3, 0, 0, 67, 76, 49, 84, 79, 80, 48, /* 0x df0 */
|
||||
55, 0, 23, 0, 0, 0, 67, 76, 49, 84, 79, 80, 48, 50, 0,119, /* 0x e00 */
|
||||
3, 0, 0, 0, 0, 0, 0,121, 3, 0, 0, 67, 76, 49, 84, 79, /* 0x e10 */
|
||||
80, 48, 55, 0, 22, 0, 0, 0, 67, 76, 49, 84, 79, 80, 48, 51, /* 0x e20 */
|
||||
0,121, 3, 0, 0, 0, 0, 0, 0,123, 3, 0, 0, 67, 76, 49, /* 0x e30 */
|
||||
84, 79, 80, 48, 55, 0, 21, 0, 0, 0, 67, 76, 49, 84, 79, 80, /* 0x e40 */
|
||||
48, 52, 0,123, 3, 0, 0, 0, 0, 0, 0,125, 3, 0, 0, 67, /* 0x e50 */
|
||||
76, 49, 84, 79, 80, 48, 55, 0, 20, 0, 0, 0, 67, 76, 49, 84, /* 0x e60 */
|
||||
79, 80, 48, 53, 0,128, 3, 0, 0, 0, 0, 0, 0,130, 3, 0, /* 0x e70 */
|
||||
0, 67, 76, 49, 84, 79, 80, 48, 54, 0, 7, 0, 0, 0, 67, 76, /* 0x e80 */
|
||||
49, 84, 79, 80, 48, 54, 0,131, 3, 0, 0, 0, 0, 0, 0,138, /* 0x e90 */
|
||||
3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 49, 0, 0, 0, 0, 0, /* 0x ea0 */
|
||||
67, 76, 49, 84, 79, 80, 48, 55, 0,138, 3, 0, 0, 67, 76, 49, /* 0x eb0 */
|
||||
79, 70, 70, 48, 49, 0,161, 3, 0, 0, 67, 76, 49, 79, 70, 70, /* 0x ec0 */
|
||||
48, 50, 0,163, 3, 0, 0, 0, 0, 0, 0,165, 3, 0, 0, 67, /* 0x ed0 */
|
||||
76, 49, 84, 79, 80, 48, 55, 0, 23, 0, 0, 0, 0, 0, 0, 0, /* 0x ee0 */
|
||||
179, 3, 0, 0, 67, 76, 49, 67, 79, 80, 89, 48, 0, 51, 0, 0, /* 0x ef0 */
|
||||
0, 67, 76, 49, 79, 70, 70, 48, 51, 0,181, 3, 0, 0, 67, 76, /* 0x f00 */
|
||||
49, 79, 70, 70, 48, 52, 0,183, 3, 0, 0, 0, 0, 0, 0,187, /* 0x f10 */
|
||||
3, 0, 0, 67, 76, 49, 67, 79, 80, 89, 48, 0, 0, 0, 0, 0, /* 0x f20 */
|
||||
67, 76, 49, 76, 69, 78, 48, 48, 0,187, 3, 0, 0, 67, 76, 49, /* 0x f30 */
|
||||
76, 69, 78, 48, 49, 0,188, 3, 0, 0, 67, 76, 49, 76, 69, 78, /* 0x f40 */
|
||||
48, 50, 0,190, 3, 0, 0, 0, 0, 0, 0,192, 3, 0, 0, 67, /* 0x f50 */
|
||||
76, 49, 76, 69, 78, 48, 48, 0, 1, 0, 0, 0, 67, 76, 49, 67, /* 0x f60 */
|
||||
79, 80, 89, 48, 0,195, 3, 0, 0, 0, 0, 0, 0,232, 3, 0, /* 0x f70 */
|
||||
0, 67, 76, 49, 84, 79, 80, 48, 48, 0, 0, 0, 0, 0, 67, 76, /* 0x f80 */
|
||||
49, 69, 78, 68, 0,246, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, /* 0x f90 */
|
||||
48, 0,246, 3, 0, 0, 67, 84, 67, 76, 69, 86, 69, 49, 0, 4, /* 0x fa0 */
|
||||
4, 0, 0, 0, 0, 0, 0, 9, 4, 0, 0, 67, 65, 76, 76, 84, /* 0x fb0 */
|
||||
82, 48, 48, 0, 5, 0, 0, 0, 67, 65, 76, 76, 84, 82, 48, 49, /* 0x fc0 */
|
||||
0, 9, 4, 0, 0, 67, 84, 68, 85, 77, 77, 89, 49, 0, 14, 4, /* 0x fd0 */
|
||||
0, 0, 67, 84, 66, 83, 72, 82, 48, 49, 0, 14, 4, 0, 0, 67, /* 0x fe0 */
|
||||
84, 66, 82, 79, 82, 48, 49, 0, 18, 4, 0, 0, 67, 84, 66, 83, /* 0x ff0 */
|
||||
87, 65, 48, 49, 0, 20, 4, 0, 0, 67, 65, 76, 76, 84, 82, 48, /* 0x1000 */
|
||||
50, 0, 25, 4, 0, 0, 0, 0, 0, 0, 39, 4, 0, 0, 67, 65, /* 0x1010 */
|
||||
76, 76, 84, 82, 48, 48, 0, 10, 0, 0, 0, 67, 65, 76, 76, 84, /* 0x1020 */
|
||||
82, 49, 48, 0, 39, 4, 0, 0, 67, 65, 76, 76, 84, 82, 69, 56, /* 0x1030 */
|
||||
0, 44, 4, 0, 0, 67, 65, 76, 76, 84, 82, 69, 57, 0, 46, 4, /* 0x1040 */
|
||||
0, 0, 67, 65, 76, 76, 84, 82, 49, 49, 0, 48, 4, 0, 0, 0, /* 0x1050 */
|
||||
0, 0, 0, 52, 4, 0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0, /* 0x1060 */
|
||||
5, 0, 0, 0, 67, 84, 67, 76, 69, 86, 69, 50, 0, 52, 4, 0, /* 0x1070 */
|
||||
0, 0, 0, 0, 0, 57, 4, 0, 0, 67, 65, 76, 76, 84, 82, 49, /* 0x1080 */
|
||||
49, 0, 0, 0, 0, 0, 67, 65, 76, 76, 84, 82, 49, 50, 0, 57, /* 0x1090 */
|
||||
4, 0, 0, 67, 84, 68, 85, 77, 77, 89, 50, 0, 59, 4, 0, 0, /* 0x10a0 */
|
||||
67, 84, 66, 83, 72, 82, 49, 49, 0, 59, 4, 0, 0, 67, 84, 66, /* 0x10b0 */
|
||||
82, 79, 82, 49, 49, 0, 63, 4, 0, 0, 67, 84, 66, 83, 87, 65, /* 0x10c0 */
|
||||
49, 49, 0, 65, 4, 0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0, /* 0x10d0 */
|
||||
70, 4, 0, 0, 0, 0, 0, 0, 75, 4, 0, 0, 67, 65, 76, 76, /* 0x10e0 */
|
||||
84, 82, 49, 48, 0, 5, 0, 0, 0, 67, 84, 84, 72, 69, 69, 78, /* 0x10f0 */
|
||||
68, 0, 75, 4, 0, 0, 76, 69, 88, 69, 67, 48, 49, 53, 0, 75, /* 0x1100 */
|
||||
4, 0, 0, 76, 69, 88, 69, 67, 48, 49, 55, 0,102, 4, 0, 0, /* 0x1110 */
|
||||
76, 69, 88, 69, 67, 48, 50, 48, 0,104, 4, 0, 0, 88, 84, 72, /* 0x1120 */
|
||||
69, 69, 78, 68, 88, 0,172, 4, 0, 0,255,255,255,255,172, 4 /* 0x1130 */
|
||||
};
|
||||
111
src/stub/i386-linux.elf.shell-fold.h
Normal file
111
src/stub/i386-linux.elf.shell-fold.h
Normal file
@ -0,0 +1,111 @@
|
||||
/* i386-linux.elf.shell-fold.h -- created from i386-linux.elf.shell-fold.bin, 1201 (0x4b1) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define LINUX_I386SH_FOLD_SIZE 1201
|
||||
#define LINUX_I386SH_FOLD_ADLER32 0x5788f83f
|
||||
#define LINUX_I386SH_FOLD_CRC32 0xf1ddde7a
|
||||
|
||||
unsigned char linux_i386sh_fold[1201] = {
|
||||
127, 69, 76, 70, 1, 1, 1, 0, 76,105,110,117,120, 0, 0, 0, /* 0x 0 */
|
||||
2, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, /* 0x 10 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 1, 0, 0, 0, /* 0x 20 */
|
||||
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, /* 0x 30 */
|
||||
0, 0, 64, 1,177, 4, 0, 0,180, 4, 0, 0, 7, 0, 0, 0, /* 0x 40 */
|
||||
0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 50 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 60 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 70 */
|
||||
88, 88,137,230,129,236, 80, 1, 0, 0,137,231,173,171,133,192, /* 0x 80 */
|
||||
117,250,173,171,133,192,117,250, 87, 64,106, 82, 89,243,171, 72, /* 0x 90 */
|
||||
171,171, 95,173,133,192,145,173,116, 15,131,249, 42,115,244,137, /* 0x a0 */
|
||||
76,207,248,137, 68,207,252,235,234,129,236, 0, 10, 0, 0,147, /* 0x b0 */
|
||||
141, 82, 24,139, 10,139, 90, 4,137,198, 96,232,126, 2, 0, 0, /* 0x c0 */
|
||||
89, 80, 97,129,196, 0, 10, 0, 0, 89, 90, 82, 65, 86,131,238, /* 0x d0 */
|
||||
3,102,199, 6, 45, 99, 65, 86, 65, 82, 81, 87,141,188, 36, 0, /* 0x e0 */
|
||||
245,255,255, 96,137,227,137,252,185,192, 2, 0, 0, 49,192,243, /* 0x f0 */
|
||||
171,137,220, 97,195, 83,141, 92, 36, 8,106, 90, 88,205,128, 91, /* 0x 100 */
|
||||
195, 0, 0, 0, 87, 86, 83,137,195,139,124, 36, 16, 57, 56,139, /* 0x 110 */
|
||||
112, 4,115, 10,106,127, 91,106, 1, 88,205,128,235,254,133,255, /* 0x 120 */
|
||||
116, 10,137,249,138, 6, 70,136, 2, 66,226,248, 1,123, 4, 41, /* 0x 130 */
|
||||
59, 91, 94, 95,195,133,210,137,209,116, 6,198, 0, 0, 64,226, /* 0x 140 */
|
||||
250,195, 85, 49,201,137,229, 87, 86, 83,137,195,131,236, 52,137, /* 0x 150 */
|
||||
85,240,139, 69, 8,137,202,137, 69,236,106, 5, 88,205,128,133, /* 0x 160 */
|
||||
192,137, 69,232,121, 10,106,127, 91,106, 1, 88,205,128,235,254, /* 0x 170 */
|
||||
186, 0, 2, 0, 0,139, 93,232,139, 77,240,106, 3, 88,205,128, /* 0x 180 */
|
||||
61, 0, 2, 0, 0,117,223,139, 69,240,139, 85,240, 3, 64, 28, /* 0x 190 */
|
||||
15,183, 90, 44,137, 69,228, 49,192,102,131,122, 16, 3,139, 77, /* 0x 1a0 */
|
||||
228, 15,149,192,131,207,255,193,224, 4,131,192, 34, 49,210,137, /* 0x 1b0 */
|
||||
69,212,137,216, 72,120, 33,137,222,131, 57, 1,117, 20,139, 65, /* 0x 1c0 */
|
||||
8, 57,248,115, 2,137,199,139, 89, 20, 1,195, 57,218,115, 2, /* 0x 1d0 */
|
||||
137,218,131,193, 32, 78,117,225,246, 69,212, 16,116, 7,137,211, /* 0x 1e0 */
|
||||
106, 45, 88,205,128,137,251,106, 0,129,227, 0,240,255,255,106, /* 0x 1f0 */
|
||||
255, 41,218,255,117,212,141,130,255, 15, 0, 0,106, 7, 37, 0, /* 0x 200 */
|
||||
240,255,255, 80, 83,232,235,254,255,255,131,196, 24, 41,216,199, /* 0x 210 */
|
||||
69,220, 0, 0, 0, 0,137, 69,224,139, 69,240,102,131,120, 44, /* 0x 220 */
|
||||
0, 15,132,247, 0, 0, 0,139, 85,228,139, 2,131,248, 6,117, /* 0x 230 */
|
||||
14,139, 66, 8,139, 77,236,137, 65, 20,233,200, 0, 0, 0, 72, /* 0x 240 */
|
||||
15,133,193, 0, 0, 0,139, 93,228,199, 69,216, 64, 98, 81,115, /* 0x 250 */
|
||||
139, 75, 24,139, 67, 8,131,225, 7,193,225, 2,137,194,211,109, /* 0x 260 */
|
||||
216,139, 77,228, 3, 83, 20,137,195,139,121, 16,129,227,255, 15, /* 0x 270 */
|
||||
0, 0,139, 77,224, 41,216, 1,223,131,101,216, 7, 1,202,141, /* 0x 280 */
|
||||
52, 8,137, 85,204,139, 85,228,139, 66, 4, 41,216, 80,255,117, /* 0x 290 */
|
||||
232,106, 18,106, 3, 87, 86,232, 89,254,255,255,131,196, 24, 57, /* 0x 2a0 */
|
||||
198,117, 48,137,218,137,240,232,137,254,255,255,137,249,247,217, /* 0x 2b0 */
|
||||
141, 4, 62,129,225,255, 15, 0, 0,137,243,137,202,137, 77,208, /* 0x 2c0 */
|
||||
232,112,254,255,255,137,249,139, 85,216,106,125, 88,205,128,133, /* 0x 2d0 */
|
||||
192,116, 10,106,127, 91,106, 1, 88,205,128,235,254,139, 85,208, /* 0x 2e0 */
|
||||
141, 4, 23,141, 28, 6, 59, 93,204,115, 28,106, 0,106,255,106, /* 0x 2f0 */
|
||||
50,255,117,216, 41, 93,204,255,117,204, 83,232,245,253,255,255, /* 0x 300 */
|
||||
131,196, 24, 57,195,117,204,139, 77,240,255, 69,220, 15,183, 65, /* 0x 310 */
|
||||
44,131, 69,228, 32, 57, 69,220, 15,140, 9,255,255,255,139, 93, /* 0x 320 */
|
||||
232,106, 6, 88,205,128,133,192,117,169,139, 69,240,139, 64, 24, /* 0x 330 */
|
||||
1, 69,224,139, 69,224,141,101,244, 91, 94, 95,201,195, 85,137, /* 0x 340 */
|
||||
229, 87, 86, 83,131,236, 36,141,117, 32,139, 69, 16,141, 93, 24, /* 0x 350 */
|
||||
139, 85, 20,137, 69,212,139, 69, 36,139,125, 8,137, 85,208, 5, /* 0x 360 */
|
||||
85, 80, 88, 50,137, 69,240,139, 69,240, 5, 85, 80, 88, 51,131, /* 0x 370 */
|
||||
125, 32, 0,137, 69,236, 15,132,139, 0, 0, 0,141, 85,220,137, /* 0x 380 */
|
||||
216,106, 12,232,124,253,255,255, 88,139, 69,220,139, 77,224,133, /* 0x 390 */
|
||||
192,117, 15,129,249, 85, 80, 88, 33,117, 11,131, 59, 0,116,103, /* 0x 3a0 */
|
||||
235, 4,133,201,117, 10,106,127, 91,106, 1, 88,205,128,235,254, /* 0x 3b0 */
|
||||
57,193,119,242, 59, 6,119,238, 57,193,115, 44, 15,182, 69,228, /* 0x 3c0 */
|
||||
80,141, 69,216, 80,255,118, 4, 81,255,115, 4,255, 85,212,131, /* 0x 3d0 */
|
||||
196, 20,133,192,117,208,139, 69,220, 57, 69,216,117,200,139, 69, /* 0x 3e0 */
|
||||
224, 1, 67, 4, 41, 3,235, 12,139, 86, 4,137,216, 81,232, 17, /* 0x 3f0 */
|
||||
253,255,255, 88,139, 85,220,139, 6, 1, 86, 4, 41,208,133,192, /* 0x 400 */
|
||||
137, 6,233,111,255,255,255,139, 69,236,139, 85,208,138, 24,139, /* 0x 410 */
|
||||
69,236,198, 0, 0,139, 69,240, 87,232, 36,253,255,255,139, 85, /* 0x 420 */
|
||||
208,137,198,139, 69,236,136, 24, 15,183, 66, 42,199, 71, 16, 3, /* 0x 430 */
|
||||
0, 0, 0,199, 71, 24, 4, 0, 0, 0,199, 71, 32, 5, 0, 0, /* 0x 440 */
|
||||
0,137, 71, 28, 15,183, 66, 44,199, 71, 44, 0, 16, 0, 0,137, /* 0x 450 */
|
||||
119, 68,131,194, 52,199, 71, 40, 6, 0, 0, 0,137, 71, 36,139, /* 0x 460 */
|
||||
69,208,199, 71, 64, 9, 0, 0, 0,102,139, 88, 44, 89, 49,201, /* 0x 470 */
|
||||
102,133,219,116, 34,131, 58, 3,117, 18,139, 66, 8,106, 0,139, /* 0x 480 */
|
||||
85,208,232,187,252,255,255,137,198, 88,235, 11, 65, 15,183,195, /* 0x 490 */
|
||||
131,194, 32, 57,193,124,222,141,101,244,137,240, 91, 94, 95,201, /* 0x 4a0 */
|
||||
195 /* 0x 4b0 */
|
||||
};
|
||||
263
src/stub/i386-linux.kernel.vmlinux.h
Normal file
263
src/stub/i386-linux.kernel.vmlinux.h
Normal file
@ -0,0 +1,263 @@
|
||||
/* i386-linux.kernel.vmlinux.h -- created from i386-linux.kernel.vmlinux.bin, 3639 (0xe37) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV_LOADER_SIZE 3639
|
||||
#define NRV_LOADER_ADLER32 0xd1d15198
|
||||
#define NRV_LOADER_CRC32 0xc3063bf8
|
||||
|
||||
unsigned char nrv_loader[3639] = {
|
||||
90, 80, 87, 86, 80, 80,106, 63,104, 85, 76, 69, 78,232, 0, 0, /* 0x 0 */
|
||||
0, 0,235, 0,164,235, 0,138, 6, 70,136, 7, 71, 1,219,117, /* 0x 10 */
|
||||
7,139, 30,131,238,252, 17,219,114, 0, 49,192, 64,138, 7,114, /* 0x 20 */
|
||||
0,184, 1, 0, 0, 0, 1,219,117, 7,139, 30,131,238,252, 17, /* 0x 30 */
|
||||
219, 17,192, 1,219,117, 7,139, 30,131,238,252, 17,219,115, 0, /* 0x 40 */
|
||||
1,219,115, 0,117, 9,139, 30,131,238,252, 17,219,115, 0, 49, /* 0x 50 */
|
||||
201,131,232, 3,114, 13,193,224, 8,138, 6, 70,131,240,255,116, /* 0x 60 */
|
||||
0,137,197, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, /* 0x 70 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219, 17,201,117, 0, 65, /* 0x 80 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, 1,219,117, /* 0x 90 */
|
||||
7,139, 30,131,238,252, 17,219,115, 0, 1,219,115, 0,117, 9, /* 0x a0 */
|
||||
139, 30,131,238,252, 17,219,115, 0, 65, 65,131,193, 2,129,253, /* 0x b0 */
|
||||
0,243,255,255,131,209, 1, 86,141, 52, 47,243,164, 94,233, 0, /* 0x c0 */
|
||||
0, 0, 0,141, 20, 47,131,253,252,138, 4, 15,118, 0,138, 2, /* 0x d0 */
|
||||
66,136, 7, 71, 73,117,247,233, 0, 0, 0, 0,139, 2,131,194, /* 0x e0 */
|
||||
4,137, 7,131,199, 4,131,233, 4,119,241, 1,207,233, 0, 0, /* 0x f0 */
|
||||
0, 0,235, 0,164,235, 0,138, 6, 70,136, 7, 71, 1,219,117, /* 0x 100 */
|
||||
7,139, 30,131,238,252, 17,219,114, 0, 49,192, 64,138, 7,114, /* 0x 110 */
|
||||
0,184, 1, 0, 0, 0, 1,219,117, 7,139, 30,131,238,252, 17, /* 0x 120 */
|
||||
219, 17,192, 1,219,117, 7,139, 30,131,238,252, 17,219,114, 0, /* 0x 130 */
|
||||
1,219,115, 11,117, 0,139, 30,131,238,252, 17,219,114, 0, 72, /* 0x 140 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219, 17,192,235, 0, 49, /* 0x 150 */
|
||||
201,131,232, 3,114, 17,193,224, 8,138, 6, 70,131,240,255,116, /* 0x 160 */
|
||||
0,209,248,137,197,235, 11, 1,219,117, 7,139, 30,131,238,252, /* 0x 170 */
|
||||
17,219, 17,201, 1,219,117, 7,139, 30,131,238,252, 17,219, 17, /* 0x 180 */
|
||||
201,117, 0, 65, 1,219,117, 7,139, 30,131,238,252, 17,219, 17, /* 0x 190 */
|
||||
201, 1,219,117, 7,139, 30,131,238,252, 17,219,115, 0, 1,219, /* 0x 1a0 */
|
||||
115, 0,117, 9,139, 30,131,238,252, 17,219,115, 0, 65, 65,131, /* 0x 1b0 */
|
||||
193, 2,129,253, 0,251,255,255,131,209, 1, 86,141, 52, 47,243, /* 0x 1c0 */
|
||||
164, 94,233, 0, 0, 0, 0,141, 20, 47,131,253,252,138, 4, 15, /* 0x 1d0 */
|
||||
118, 0,138, 2, 66,136, 7, 71, 73,117,247,233, 0, 0, 0, 0, /* 0x 1e0 */
|
||||
139, 2,131,194, 4,137, 7,131,199, 4,131,233, 4,119,241, 1, /* 0x 1f0 */
|
||||
207,233, 0, 0, 0, 0,235, 0,164,235, 0,138, 6, 70,136, 7, /* 0x 200 */
|
||||
71, 1,219,117, 7,139, 30,131,238,252, 17,219,114, 0, 49,192, /* 0x 210 */
|
||||
64,138, 7,114, 0,184, 1, 0, 0, 0, 1,219,117, 7,139, 30, /* 0x 220 */
|
||||
131,238,252, 17,219, 17,192, 1,219,117, 7,139, 30,131,238,252, /* 0x 230 */
|
||||
17,219,114, 0, 1,219,115, 11,117, 0,139, 30,131,238,252, 17, /* 0x 240 */
|
||||
219,114, 0, 72, 1,219,117, 7,139, 30,131,238,252, 17,219, 17, /* 0x 250 */
|
||||
192,235, 0, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, /* 0x 260 */
|
||||
235, 0, 49,201,131,232, 3,114, 17,193,224, 8,138, 6, 70,131, /* 0x 270 */
|
||||
240,255,116, 0,209,248,137,197,235, 11, 1,219,117, 7,139, 30, /* 0x 280 */
|
||||
131,238,252, 17,219,114,204, 65, 1,219,117, 7,139, 30,131,238, /* 0x 290 */
|
||||
252, 17,219,114,190, 1,219,117, 7,139, 30,131,238,252, 17,219, /* 0x 2a0 */
|
||||
17,201, 1,219,117, 7,139, 30,131,238,252, 17,219,115, 0, 1, /* 0x 2b0 */
|
||||
219,115, 0,117, 9,139, 30,131,238,252, 17,219,115, 0, 65, 65, /* 0x 2c0 */
|
||||
131,193, 2,129,253, 0,251,255,255,131,209, 2, 86,141, 52, 47, /* 0x 2d0 */
|
||||
243,164, 94,233, 0, 0, 0, 0,141, 20, 47,131,253,252,138, 4, /* 0x 2e0 */
|
||||
15,118, 0,138, 2, 66,136, 7, 71, 73,117,247,233, 0, 0, 0, /* 0x 2f0 */
|
||||
0,139, 2,131,194, 4,137, 7,131,199, 4,131,233, 4,119,241, /* 0x 300 */
|
||||
1,207,233, 0, 0, 0, 0, 89, 90, 95,137,254,235, 0,138, 7, /* 0x 310 */
|
||||
131,199, 1, 60,128,114, 10, 60,143,119, 6,128,127,254, 15,116, /* 0x 320 */
|
||||
0, 44,232, 60, 1,119, 0, 56, 23,117, 0,139, 7,102,193,232, /* 0x 330 */
|
||||
8,193,192, 16,134,196, 41,248, 1,240,137, 7,131,199, 4,131, /* 0x 340 */
|
||||
233, 4,138, 7,131,199, 1,226, 0,131,233, 1,127, 0, 89, 95, /* 0x 350 */
|
||||
185, 84, 69, 88, 76,138, 7, 71, 44,232, 60, 1,119,247,128, 63, /* 0x 360 */
|
||||
63,117, 0,139, 7,138, 95, 4,102,193,232, 8,134,196,193,192, /* 0x 370 */
|
||||
16,134,196, 41,248,128,235,232,137, 7,131,199, 5,136,216,226, /* 0x 380 */
|
||||
0,185, 84, 69, 88, 76,176,232,176,233,242,174,117, 0,128, 63, /* 0x 390 */
|
||||
63,117, 0,139, 7,102,193,232, 8,134,196,193,192, 16,134,196, /* 0x 3a0 */
|
||||
41,248,171,235, 0, 94, 95, 49,219,203, 94,139, 78,252,137,197, /* 0x 3b0 */
|
||||
3, 4, 36,131,192, 31,131,224,240,253,141,116, 49,255,141,124, /* 0x 3c0 */
|
||||
1,255,243,164,139, 74,252,131,193, 3,193,233, 2,141,116,138, /* 0x 3d0 */
|
||||
252,141,120,252,243,165,252,141,119, 4,137,239,131,205,255,255, /* 0x 3e0 */
|
||||
224, 85, 80, 88, 33,161,216,208,213, 0, 0, 0, 0, 0, 0, 0, /* 0x 3f0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 400 */
|
||||
45, 0, 0, 0, 76, 73, 78, 85, 88, 48, 48, 48, 0, 0, 0, 0, /* 0x 410 */
|
||||
0, 76, 88, 67, 65, 76, 76, 84, 49, 0, 4, 0, 0, 0, 76, 88, /* 0x 420 */
|
||||
68, 85, 77, 77, 89, 48, 0, 5, 0, 0, 0, 76, 88, 67, 75, 76, /* 0x 430 */
|
||||
76, 84, 49, 0, 5, 0, 0, 0, 76, 88, 77, 79, 86, 69, 85, 80, /* 0x 440 */
|
||||
0, 8, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 76, 73, 78, /* 0x 450 */
|
||||
85, 88, 57, 57, 48, 0, 5, 0, 0, 0, 78, 50, 66, 83, 77, 65, /* 0x 460 */
|
||||
49, 48, 0, 18, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 78, /* 0x 470 */
|
||||
50, 66, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 66, 70, /* 0x 480 */
|
||||
65, 83, 49, 48, 0, 21, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, /* 0x 490 */
|
||||
0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, /* 0x 4a0 */
|
||||
66, 70, 65, 83, 49, 49, 0, 23, 0, 0, 0, 78, 50, 66, 68, 69, /* 0x 4b0 */
|
||||
67, 49, 48, 0, 29, 0, 0, 0, 78, 50, 66, 83, 77, 65, 50, 48, /* 0x 4c0 */
|
||||
0, 40, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 78, 50, 66, /* 0x 4d0 */
|
||||
83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 66, 70, 65, 83, /* 0x 4e0 */
|
||||
50, 48, 0, 45, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 78, /* 0x 4f0 */
|
||||
50, 66, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, 66, 68, /* 0x 500 */
|
||||
69, 67, 50, 48, 0, 54, 0, 0, 0, 78, 50, 66, 83, 77, 65, 51, /* 0x 510 */
|
||||
48, 0, 67, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 78, 50, /* 0x 520 */
|
||||
66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, 65, /* 0x 530 */
|
||||
83, 51, 48, 0, 80, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, /* 0x 540 */
|
||||
78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 550 */
|
||||
0, 95, 0, 0, 0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, /* 0x 560 */
|
||||
0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 95, 0, 0, 0, 0, /* 0x 570 */
|
||||
0, 0, 0,113, 0, 0, 0, 78, 50, 66, 68, 69, 67, 54, 48, 0, /* 0x 580 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0, 78, 50, 66, 68, /* 0x 590 */
|
||||
69, 67, 53, 48, 0, 0, 0, 0, 0, 78, 50, 66, 83, 77, 65, 52, /* 0x 5a0 */
|
||||
48, 0,157, 0, 0, 0, 0, 0, 0, 0,170, 0, 0, 0, 78, 50, /* 0x 5b0 */
|
||||
66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 78, 50, 66, 70, 65, /* 0x 5c0 */
|
||||
83, 52, 48, 0,170, 0, 0, 0, 0, 0, 0, 0,174, 0, 0, 0, /* 0x 5d0 */
|
||||
78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 0, 0, 0, /* 0x 5e0 */
|
||||
0,185, 0, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, /* 0x 5f0 */
|
||||
0, 0, 78, 50, 66, 68, 85, 77, 77, 49, 0,185, 0, 0, 0, 78, /* 0x 600 */
|
||||
50, 66, 83, 77, 65, 53, 48, 0,185, 0, 0, 0, 78, 50, 66, 70, /* 0x 610 */
|
||||
65, 83, 53, 48, 0,187, 0, 0, 0, 78, 50, 66, 68, 69, 67, 53, /* 0x 620 */
|
||||
48, 0,190, 0, 0, 0, 78, 50, 66, 83, 77, 65, 54, 48, 0,199, /* 0x 630 */
|
||||
0, 0, 0, 0, 0, 0, 0,211, 0, 0, 0, 78, 50, 66, 68, 69, /* 0x 640 */
|
||||
67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, 65, 83, 54, 48, /* 0x 650 */
|
||||
0,211, 0, 0, 0, 0, 0, 0, 0,222, 0, 0, 0, 78, 50, 66, /* 0x 660 */
|
||||
70, 65, 83, 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0,236, 0, /* 0x 670 */
|
||||
0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, /* 0x 680 */
|
||||
50, 66, 70, 65, 83, 54, 49, 0,236, 0, 0, 0, 0, 0, 0, 0, /* 0x 690 */
|
||||
2, 1, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, /* 0x 6a0 */
|
||||
0, 78, 50, 66, 68, 69, 67, 54, 48, 0, 2, 1, 0, 0, 78, 82, /* 0x 6b0 */
|
||||
86, 50, 66, 69, 78, 68, 0, 2, 1, 0, 0, 78, 50, 68, 83, 77, /* 0x 6c0 */
|
||||
65, 49, 48, 0, 2, 1, 0, 0, 0, 0, 0, 0, 4, 1, 0, 0, /* 0x 6d0 */
|
||||
78, 50, 68, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 68, /* 0x 6e0 */
|
||||
70, 65, 83, 49, 48, 0, 5, 1, 0, 0, 0, 0, 0, 0, 7, 1, /* 0x 6f0 */
|
||||
0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, /* 0x 700 */
|
||||
50, 68, 70, 65, 83, 49, 49, 0, 7, 1, 0, 0, 78, 50, 68, 68, /* 0x 710 */
|
||||
69, 67, 49, 48, 0, 13, 1, 0, 0, 78, 50, 68, 83, 77, 65, 50, /* 0x 720 */
|
||||
48, 0, 24, 1, 0, 0, 0, 0, 0, 0, 26, 1, 0, 0, 78, 50, /* 0x 730 */
|
||||
68, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 68, 70, 65, /* 0x 740 */
|
||||
83, 50, 48, 0, 29, 1, 0, 0, 0, 0, 0, 0, 33, 1, 0, 0, /* 0x 750 */
|
||||
78, 50, 68, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, 68, /* 0x 760 */
|
||||
68, 69, 67, 50, 48, 0, 38, 1, 0, 0, 78, 50, 68, 83, 77, 65, /* 0x 770 */
|
||||
51, 48, 0, 51, 1, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 78, /* 0x 780 */
|
||||
50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, 78, 50, 68, 70, /* 0x 790 */
|
||||
65, 83, 51, 48, 0, 64, 1, 0, 0, 0, 0, 0, 0, 70, 1, 0, /* 0x 7a0 */
|
||||
0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, 0, 0, /* 0x 7b0 */
|
||||
0, 0, 79, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, /* 0x 7c0 */
|
||||
0, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 79, 1, 0, 0, /* 0x 7d0 */
|
||||
0, 0, 0, 0, 95, 1, 0, 0, 78, 50, 68, 68, 69, 67, 50, 48, /* 0x 7e0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, 78, 50, 68, /* 0x 7f0 */
|
||||
68, 69, 67, 54, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,147, 1, /* 0x 800 */
|
||||
0, 0, 78, 50, 68, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 78, /* 0x 810 */
|
||||
50, 68, 83, 77, 65, 52, 48, 0,161, 1, 0, 0, 0, 0, 0, 0, /* 0x 820 */
|
||||
174, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 69, 0, 0, /* 0x 830 */
|
||||
0, 78, 50, 68, 70, 65, 83, 52, 48, 0,174, 1, 0, 0, 0, 0, /* 0x 840 */
|
||||
0, 0,178, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 69, /* 0x 850 */
|
||||
0, 0, 0, 0, 0, 0, 0,189, 1, 0, 0, 78, 50, 68, 68, 69, /* 0x 860 */
|
||||
67, 51, 48, 0, 69, 0, 0, 0, 78, 50, 68, 68, 85, 77, 77, 49, /* 0x 870 */
|
||||
0,189, 1, 0, 0, 78, 50, 68, 83, 77, 65, 53, 48, 0,189, 1, /* 0x 880 */
|
||||
0, 0, 78, 50, 68, 70, 65, 83, 53, 48, 0,191, 1, 0, 0, 78, /* 0x 890 */
|
||||
50, 68, 68, 69, 67, 53, 48, 0,194, 1, 0, 0, 78, 50, 68, 83, /* 0x 8a0 */
|
||||
77, 65, 54, 48, 0,203, 1, 0, 0, 0, 0, 0, 0,215, 1, 0, /* 0x 8b0 */
|
||||
0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, /* 0x 8c0 */
|
||||
68, 70, 65, 83, 54, 48, 0,215, 1, 0, 0, 0, 0, 0, 0,226, /* 0x 8d0 */
|
||||
1, 0, 0, 78, 50, 68, 70, 65, 83, 54, 49, 0, 0, 0, 0, 0, /* 0x 8e0 */
|
||||
0, 0, 0, 0,240, 1, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, /* 0x 8f0 */
|
||||
0, 0, 0, 0, 0, 78, 50, 68, 70, 65, 83, 54, 49, 0,240, 1, /* 0x 900 */
|
||||
0, 0, 0, 0, 0, 0, 6, 2, 0, 0, 78, 50, 68, 68, 69, 67, /* 0x 910 */
|
||||
49, 48, 0, 0, 0, 0, 0, 78, 50, 68, 68, 69, 67, 54, 48, 0, /* 0x 920 */
|
||||
6, 2, 0, 0, 78, 82, 86, 50, 68, 69, 78, 68, 0, 6, 2, 0, /* 0x 930 */
|
||||
0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 6, 2, 0, 0, 0, 0, /* 0x 940 */
|
||||
0, 0, 8, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 4, /* 0x 950 */
|
||||
0, 0, 0, 78, 50, 69, 70, 65, 83, 49, 48, 0, 9, 2, 0, 0, /* 0x 960 */
|
||||
0, 0, 0, 0, 11, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, /* 0x 970 */
|
||||
0, 4, 0, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, 11, 2, /* 0x 980 */
|
||||
0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 17, 2, 0, 0, 78, /* 0x 990 */
|
||||
50, 69, 83, 77, 65, 50, 48, 0, 28, 2, 0, 0, 0, 0, 0, 0, /* 0x 9a0 */
|
||||
30, 2, 0, 0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 2, 0, 0, /* 0x 9b0 */
|
||||
0, 78, 50, 69, 70, 65, 83, 50, 48, 0, 33, 2, 0, 0, 0, 0, /* 0x 9c0 */
|
||||
0, 0, 37, 2, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, 0, /* 0x 9d0 */
|
||||
0, 0, 0, 78, 50, 69, 68, 69, 67, 50, 48, 0, 42, 2, 0, 0, /* 0x 9e0 */
|
||||
78, 50, 69, 83, 77, 65, 51, 48, 0, 55, 2, 0, 0, 0, 0, 0, /* 0x 9f0 */
|
||||
0, 68, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 31, 0, /* 0x a00 */
|
||||
0, 0, 78, 50, 69, 70, 65, 83, 51, 48, 0, 68, 2, 0, 0, 0, /* 0x a10 */
|
||||
0, 0, 0, 74, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, /* 0x a20 */
|
||||
31, 0, 0, 0, 0, 0, 0, 0, 83, 2, 0, 0, 78, 50, 69, 68, /* 0x a30 */
|
||||
69, 67, 51, 48, 0, 31, 0, 0, 0, 78, 50, 69, 68, 69, 67, 51, /* 0x a40 */
|
||||
48, 0, 83, 2, 0, 0, 0, 0, 0, 0, 99, 2, 0, 0, 78, 50, /* 0x a50 */
|
||||
69, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,114, /* 0x a60 */
|
||||
2, 0, 0, 78, 50, 69, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, /* 0x a70 */
|
||||
0, 0, 0, 0,132, 2, 0, 0, 78, 50, 69, 68, 69, 67, 54, 48, /* 0x a80 */
|
||||
0, 0, 0, 0, 0, 78, 50, 69, 83, 77, 65, 52, 48, 0,178, 2, /* 0x a90 */
|
||||
0, 0, 0, 0, 0, 0,191, 2, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x aa0 */
|
||||
51, 48, 0, 82, 0, 0, 0, 78, 50, 69, 70, 65, 83, 52, 48, 0, /* 0x ab0 */
|
||||
191, 2, 0, 0, 0, 0, 0, 0,195, 2, 0, 0, 78, 50, 69, 68, /* 0x ac0 */
|
||||
69, 67, 51, 48, 0, 82, 0, 0, 0, 0, 0, 0, 0,206, 2, 0, /* 0x ad0 */
|
||||
0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 82, 0, 0, 0, 78, 50, /* 0x ae0 */
|
||||
69, 68, 85, 77, 77, 49, 0,206, 2, 0, 0, 78, 50, 69, 83, 77, /* 0x af0 */
|
||||
65, 53, 48, 0,206, 2, 0, 0, 78, 50, 69, 70, 65, 83, 53, 48, /* 0x b00 */
|
||||
0,208, 2, 0, 0, 78, 50, 69, 68, 69, 67, 53, 48, 0,211, 2, /* 0x b10 */
|
||||
0, 0, 78, 50, 69, 83, 77, 65, 54, 48, 0,220, 2, 0, 0, 0, /* 0x b20 */
|
||||
0, 0, 0,232, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, /* 0x b30 */
|
||||
0, 0, 0, 0, 78, 50, 69, 70, 65, 83, 54, 48, 0,232, 2, 0, /* 0x b40 */
|
||||
0, 0, 0, 0, 0,243, 2, 0, 0, 78, 50, 69, 70, 65, 83, 54, /* 0x b50 */
|
||||
49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 78, 50, /* 0x b60 */
|
||||
69, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, 70, 65, /* 0x b70 */
|
||||
83, 54, 49, 0, 1, 3, 0, 0, 0, 0, 0, 0, 23, 3, 0, 0, /* 0x b80 */
|
||||
78, 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, /* 0x b90 */
|
||||
68, 69, 67, 54, 48, 0, 23, 3, 0, 0, 78, 82, 86, 50, 69, 69, /* 0x ba0 */
|
||||
78, 68, 0, 23, 3, 0, 0, 76, 88, 67, 75, 76, 76, 84, 57, 0, /* 0x bb0 */
|
||||
23, 3, 0, 0, 67, 75, 76, 76, 84, 82, 48, 48, 0, 26, 3, 0, /* 0x bc0 */
|
||||
0, 0, 0, 0, 0, 30, 3, 0, 0, 67, 75, 76, 76, 84, 82, 50, /* 0x bd0 */
|
||||
48, 0, 30, 0, 0, 0, 67, 75, 76, 76, 84, 82, 49, 48, 0, 35, /* 0x be0 */
|
||||
3, 0, 0, 0, 0, 0, 0, 49, 3, 0, 0, 67, 75, 76, 76, 84, /* 0x bf0 */
|
||||
82, 50, 48, 0, 6, 0, 0, 0, 67, 75, 76, 76, 84, 82, 50, 48, /* 0x c00 */
|
||||
0, 49, 3, 0, 0, 0, 0, 0, 0, 55, 3, 0, 0, 67, 75, 76, /* 0x c10 */
|
||||
76, 84, 82, 52, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 3, /* 0x c20 */
|
||||
0, 0, 67, 75, 76, 76, 84, 82, 52, 48, 0, 0, 0, 0, 0, 67, /* 0x c30 */
|
||||
75, 76, 76, 84, 82, 51, 48, 0, 82, 3, 0, 0, 0, 0, 0, 0, /* 0x c40 */
|
||||
89, 3, 0, 0, 67, 75, 76, 76, 84, 82, 49, 48, 0, 14, 0, 0, /* 0x c50 */
|
||||
0, 67, 75, 76, 76, 84, 82, 52, 48, 0, 89, 3, 0, 0, 0, 0, /* 0x c60 */
|
||||
0, 0, 94, 3, 0, 0, 67, 75, 76, 76, 84, 82, 48, 48, 0, 4, /* 0x c70 */
|
||||
0, 0, 0, 76, 88, 68, 85, 77, 77, 89, 50, 0, 94, 3, 0, 0, /* 0x c80 */
|
||||
76, 88, 67, 65, 76, 76, 84, 57, 0, 94, 3, 0, 0, 67, 65, 76, /* 0x c90 */
|
||||
76, 84, 82, 48, 48, 0, 96, 3, 0, 0, 67, 84, 67, 76, 69, 86, /* 0x ca0 */
|
||||
69, 49, 0,110, 3, 0, 0, 0, 0, 0, 0,115, 3, 0, 0, 67, /* 0x cb0 */
|
||||
65, 76, 76, 84, 82, 48, 48, 0, 5, 0, 0, 0, 67, 65, 76, 76, /* 0x cc0 */
|
||||
84, 82, 48, 49, 0,115, 3, 0, 0, 67, 84, 68, 85, 77, 77, 89, /* 0x cd0 */
|
||||
49, 0,120, 3, 0, 0, 67, 84, 66, 83, 72, 82, 48, 49, 0,120, /* 0x ce0 */
|
||||
3, 0, 0, 67, 84, 66, 82, 79, 82, 48, 49, 0,124, 3, 0, 0, /* 0x cf0 */
|
||||
67, 84, 66, 83, 87, 65, 48, 49, 0,126, 3, 0, 0, 67, 65, 76, /* 0x d00 */
|
||||
76, 84, 82, 48, 50, 0,131, 3, 0, 0, 0, 0, 0, 0,145, 3, /* 0x d10 */
|
||||
0, 0, 67, 65, 76, 76, 84, 82, 48, 48, 0, 10, 0, 0, 0, 67, /* 0x d20 */
|
||||
65, 76, 76, 84, 82, 49, 48, 0,145, 3, 0, 0, 67, 65, 76, 76, /* 0x d30 */
|
||||
84, 82, 69, 56, 0,150, 3, 0, 0, 67, 65, 76, 76, 84, 82, 69, /* 0x d40 */
|
||||
57, 0,152, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 49, 0,154, /* 0x d50 */
|
||||
3, 0, 0, 0, 0, 0, 0,158, 3, 0, 0, 67, 65, 76, 76, 84, /* 0x d60 */
|
||||
82, 49, 51, 0, 5, 0, 0, 0, 67, 84, 67, 76, 69, 86, 69, 50, /* 0x d70 */
|
||||
0,158, 3, 0, 0, 0, 0, 0, 0,163, 3, 0, 0, 67, 65, 76, /* 0x d80 */
|
||||
76, 84, 82, 49, 49, 0, 0, 0, 0, 0, 67, 65, 76, 76, 84, 82, /* 0x d90 */
|
||||
49, 50, 0,163, 3, 0, 0, 67, 84, 68, 85, 77, 77, 89, 50, 0, /* 0x da0 */
|
||||
165, 3, 0, 0, 67, 84, 66, 83, 72, 82, 49, 49, 0,165, 3, 0, /* 0x db0 */
|
||||
0, 67, 84, 66, 82, 79, 82, 49, 49, 0,169, 3, 0, 0, 67, 84, /* 0x dc0 */
|
||||
66, 83, 87, 65, 49, 49, 0,171, 3, 0, 0, 67, 65, 76, 76, 84, /* 0x dd0 */
|
||||
82, 49, 51, 0,176, 3, 0, 0, 0, 0, 0, 0,181, 3, 0, 0, /* 0x de0 */
|
||||
67, 65, 76, 76, 84, 82, 49, 48, 0, 5, 0, 0, 0, 67, 84, 84, /* 0x df0 */
|
||||
72, 69, 69, 78, 68, 0,181, 3, 0, 0, 76, 73, 78, 85, 88, 57, /* 0x e00 */
|
||||
57, 48, 0,181, 3, 0, 0, 85, 80, 88, 49, 72, 69, 65, 68, 0, /* 0x e10 */
|
||||
241, 3, 0, 0, 76, 73, 84, 72, 69, 69, 78, 68, 0, 17, 4, 0, /* 0x e20 */
|
||||
0,255,255,255,255, 17, 4 /* 0x e30 */
|
||||
};
|
||||
265
src/stub/i386-linux.kernel.vmlinuz.h
Normal file
265
src/stub/i386-linux.kernel.vmlinuz.h
Normal file
@ -0,0 +1,265 @@
|
||||
/* i386-linux.kernel.vmlinuz.h -- created from i386-linux.kernel.vmlinuz.bin, 3673 (0xe59) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV_LOADER_SIZE 3673
|
||||
#define NRV_LOADER_ADLER32 0x82e5637b
|
||||
#define NRV_LOADER_CRC32 0x989597aa
|
||||
|
||||
unsigned char nrv_loader[3673] = {
|
||||
140,200,131,192, 8,142,216,142,192,141,142, 83, 84, 65, 75,137, /* 0x 0 */
|
||||
73,248,137, 65,252, 15,178, 97,248,106, 0,157,131,205,255,184, /* 0x 10 */
|
||||
75, 69, 73, 80, 14, 80, 87, 86, 80, 80,106, 63,104, 85, 76, 69, /* 0x 20 */
|
||||
78,190, 69, 83, 73, 48,191, 69, 68, 73, 48,185, 69, 67, 88, 48, /* 0x 30 */
|
||||
253,243,165,252,190, 69, 83, 73, 49,151,233, 74, 77, 80, 68, 71, /* 0x 40 */
|
||||
137,125, 1, 57, 56,116,248,252,190, 69, 83, 73, 49,151,235, 0, /* 0x 50 */
|
||||
164,235, 0,138, 6, 70,136, 7, 71, 1,219,117, 7,139, 30,131, /* 0x 60 */
|
||||
238,252, 17,219,114, 0, 49,192, 64,138, 7,114, 0,184, 1, 0, /* 0x 70 */
|
||||
0, 0, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,192, 1, /* 0x 80 */
|
||||
219,117, 7,139, 30,131,238,252, 17,219,115, 0, 1,219,115, 0, /* 0x 90 */
|
||||
117, 9,139, 30,131,238,252, 17,219,115, 0, 49,201,131,232, 3, /* 0x a0 */
|
||||
114, 13,193,224, 8,138, 6, 70,131,240,255,116, 0,137,197, 1, /* 0x b0 */
|
||||
219,117, 7,139, 30,131,238,252, 17,219, 17,201, 1,219,117, 7, /* 0x c0 */
|
||||
139, 30,131,238,252, 17,219, 17,201,117, 0, 65, 1,219,117, 7, /* 0x d0 */
|
||||
139, 30,131,238,252, 17,219, 17,201, 1,219,117, 7,139, 30,131, /* 0x e0 */
|
||||
238,252, 17,219,115, 0, 1,219,115, 0,117, 9,139, 30,131,238, /* 0x f0 */
|
||||
252, 17,219,115, 0, 65, 65,131,193, 2,129,253, 0,243,255,255, /* 0x 100 */
|
||||
131,209, 1, 86,141, 52, 47,243,164, 94,233, 0, 0, 0, 0,141, /* 0x 110 */
|
||||
20, 47,131,253,252,138, 4, 15,118, 0,138, 2, 66,136, 7, 71, /* 0x 120 */
|
||||
73,117,247,233, 0, 0, 0, 0,139, 2,131,194, 4,137, 7,131, /* 0x 130 */
|
||||
199, 4,131,233, 4,119,241, 1,207,233, 0, 0, 0, 0,235, 0, /* 0x 140 */
|
||||
164,235, 0,138, 6, 70,136, 7, 71, 1,219,117, 7,139, 30,131, /* 0x 150 */
|
||||
238,252, 17,219,114, 0, 49,192, 64,138, 7,114, 0,184, 1, 0, /* 0x 160 */
|
||||
0, 0, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,192, 1, /* 0x 170 */
|
||||
219,117, 7,139, 30,131,238,252, 17,219,114, 0, 1,219,115, 11, /* 0x 180 */
|
||||
117, 0,139, 30,131,238,252, 17,219,114, 0, 72, 1,219,117, 7, /* 0x 190 */
|
||||
139, 30,131,238,252, 17,219, 17,192,235, 0, 49,201,131,232, 3, /* 0x 1a0 */
|
||||
114, 17,193,224, 8,138, 6, 70,131,240,255,116, 0,209,248,137, /* 0x 1b0 */
|
||||
197,235, 11, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, /* 0x 1c0 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219, 17,201,117, 0, 65, /* 0x 1d0 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, 1,219,117, /* 0x 1e0 */
|
||||
7,139, 30,131,238,252, 17,219,115, 0, 1,219,115, 0,117, 9, /* 0x 1f0 */
|
||||
139, 30,131,238,252, 17,219,115, 0, 65, 65,131,193, 2,129,253, /* 0x 200 */
|
||||
0,251,255,255,131,209, 1, 86,141, 52, 47,243,164, 94,233, 0, /* 0x 210 */
|
||||
0, 0, 0,141, 20, 47,131,253,252,138, 4, 15,118, 0,138, 2, /* 0x 220 */
|
||||
66,136, 7, 71, 73,117,247,233, 0, 0, 0, 0,139, 2,131,194, /* 0x 230 */
|
||||
4,137, 7,131,199, 4,131,233, 4,119,241, 1,207,233, 0, 0, /* 0x 240 */
|
||||
0, 0,235, 0,164,235, 0,138, 6, 70,136, 7, 71, 1,219,117, /* 0x 250 */
|
||||
7,139, 30,131,238,252, 17,219,114, 0, 49,192, 64,138, 7,114, /* 0x 260 */
|
||||
0,184, 1, 0, 0, 0, 1,219,117, 7,139, 30,131,238,252, 17, /* 0x 270 */
|
||||
219, 17,192, 1,219,117, 7,139, 30,131,238,252, 17,219,114, 0, /* 0x 280 */
|
||||
1,219,115, 11,117, 0,139, 30,131,238,252, 17,219,114, 0, 72, /* 0x 290 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219, 17,192,235, 0, 1, /* 0x 2a0 */
|
||||
219,117, 7,139, 30,131,238,252, 17,219, 17,201,235, 0, 49,201, /* 0x 2b0 */
|
||||
131,232, 3,114, 17,193,224, 8,138, 6, 70,131,240,255,116, 0, /* 0x 2c0 */
|
||||
209,248,137,197,235, 11, 1,219,117, 7,139, 30,131,238,252, 17, /* 0x 2d0 */
|
||||
219,114,204, 65, 1,219,117, 7,139, 30,131,238,252, 17,219,114, /* 0x 2e0 */
|
||||
190, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, 1,219, /* 0x 2f0 */
|
||||
117, 7,139, 30,131,238,252, 17,219,115, 0, 1,219,115, 0,117, /* 0x 300 */
|
||||
9,139, 30,131,238,252, 17,219,115, 0, 65, 65,131,193, 2,129, /* 0x 310 */
|
||||
253, 0,251,255,255,131,209, 2, 86,141, 52, 47,243,164, 94,233, /* 0x 320 */
|
||||
0, 0, 0, 0,141, 20, 47,131,253,252,138, 4, 15,118, 0,138, /* 0x 330 */
|
||||
2, 66,136, 7, 71, 73,117,247,233, 0, 0, 0, 0,139, 2,131, /* 0x 340 */
|
||||
194, 4,137, 7,131,199, 4,131,233, 4,119,241, 1,207,233, 0, /* 0x 350 */
|
||||
0, 0, 0, 89, 90, 95,235, 0,138, 7,131,199, 1, 60,128,114, /* 0x 360 */
|
||||
10, 60,143,119, 6,128,127,254, 15,116, 0, 44,232, 60, 1,119, /* 0x 370 */
|
||||
0, 56, 23,117, 0,139, 7,102,193,232, 8,193,192, 16,134,196, /* 0x 380 */
|
||||
41,248,137, 7,131,199, 4,131,233, 4,138, 7,131,199, 1,226, /* 0x 390 */
|
||||
0,131,233, 1,127, 0, 95,185, 84, 69, 88, 76,138, 7, 71, 44, /* 0x 3a0 */
|
||||
232, 60, 1,119,247,128, 63, 63,117, 0,139, 7,138, 95, 4,102, /* 0x 3b0 */
|
||||
193,232, 8,134,196,193,192, 16,134,196, 41,248,128,235,232,137, /* 0x 3c0 */
|
||||
7,131,199, 5,136,216,226, 0,185, 84, 69, 88, 76,176,232,176, /* 0x 3d0 */
|
||||
233,242,174,117, 0,128, 63, 63,117, 0,139, 7,102,193,232, 8, /* 0x 3e0 */
|
||||
134,196,193,192, 16,134,196, 41,248,171,235, 0, 94, 95, 49,219, /* 0x 3f0 */
|
||||
203, 85, 80, 88, 33,161,216,208,213, 0, 0, 0, 0, 0, 0, 0, /* 0x 400 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 410 */
|
||||
45, 0, 0, 0, 76, 73, 78, 85, 90, 48, 48, 48, 0, 0, 0, 0, /* 0x 420 */
|
||||
0, 76, 90, 67, 65, 76, 76, 84, 49, 0, 40, 0, 0, 0, 76, 90, /* 0x 430 */
|
||||
68, 85, 77, 77, 89, 48, 0, 41, 0, 0, 0, 76, 90, 67, 75, 76, /* 0x 440 */
|
||||
76, 84, 49, 0, 41, 0, 0, 0, 76, 90, 68, 85, 77, 77, 89, 49, /* 0x 450 */
|
||||
0, 49, 0, 0, 0, 76, 66, 90, 73, 77, 65, 71, 69, 0, 49, 0, /* 0x 460 */
|
||||
0, 0, 76, 90, 73, 77, 65, 71, 69, 48, 0, 79, 0, 0, 0, 76, /* 0x 470 */
|
||||
90, 67, 85, 84, 80, 79, 73, 0, 94, 0, 0, 0, 78, 50, 66, 83, /* 0x 480 */
|
||||
77, 65, 49, 48, 0, 94, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, /* 0x 490 */
|
||||
0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, /* 0x 4a0 */
|
||||
66, 70, 65, 83, 49, 48, 0, 97, 0, 0, 0, 0, 0, 0, 0, 99, /* 0x 4b0 */
|
||||
0, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, /* 0x 4c0 */
|
||||
78, 50, 66, 70, 65, 83, 49, 49, 0, 99, 0, 0, 0, 78, 50, 66, /* 0x 4d0 */
|
||||
68, 69, 67, 49, 48, 0,105, 0, 0, 0, 78, 50, 66, 83, 77, 65, /* 0x 4e0 */
|
||||
50, 48, 0,116, 0, 0, 0, 0, 0, 0, 0,118, 0, 0, 0, 78, /* 0x 4f0 */
|
||||
50, 66, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 66, 70, /* 0x 500 */
|
||||
65, 83, 50, 48, 0,121, 0, 0, 0, 0, 0, 0, 0,125, 0, 0, /* 0x 510 */
|
||||
0, 78, 50, 66, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, /* 0x 520 */
|
||||
66, 68, 69, 67, 50, 48, 0,130, 0, 0, 0, 78, 50, 66, 83, 77, /* 0x 530 */
|
||||
65, 51, 48, 0,143, 0, 0, 0, 0, 0, 0, 0,156, 0, 0, 0, /* 0x 540 */
|
||||
78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 78, 50, 66, /* 0x 550 */
|
||||
70, 65, 83, 51, 48, 0,156, 0, 0, 0, 0, 0, 0, 0,160, 0, /* 0x 560 */
|
||||
0, 0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, /* 0x 570 */
|
||||
0, 0, 0,171, 0, 0, 0, 78, 50, 66, 68, 69, 67, 50, 48, 0, /* 0x 580 */
|
||||
0, 0, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0,171, 0, 0, /* 0x 590 */
|
||||
0, 0, 0, 0, 0,189, 0, 0, 0, 78, 50, 66, 68, 69, 67, 54, /* 0x 5a0 */
|
||||
48, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 78, 50, /* 0x 5b0 */
|
||||
66, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 78, 50, 66, 83, 77, /* 0x 5c0 */
|
||||
65, 52, 48, 0,233, 0, 0, 0, 0, 0, 0, 0,246, 0, 0, 0, /* 0x 5d0 */
|
||||
78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 78, 50, 66, /* 0x 5e0 */
|
||||
70, 65, 83, 52, 48, 0,246, 0, 0, 0, 0, 0, 0, 0,250, 0, /* 0x 5f0 */
|
||||
0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 0, /* 0x 600 */
|
||||
0, 0, 0, 5, 1, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, /* 0x 610 */
|
||||
49, 0, 0, 0, 78, 50, 66, 68, 85, 77, 77, 49, 0, 5, 1, 0, /* 0x 620 */
|
||||
0, 78, 50, 66, 83, 77, 65, 53, 48, 0, 5, 1, 0, 0, 78, 50, /* 0x 630 */
|
||||
66, 70, 65, 83, 53, 48, 0, 7, 1, 0, 0, 78, 50, 66, 68, 69, /* 0x 640 */
|
||||
67, 53, 48, 0, 10, 1, 0, 0, 78, 50, 66, 83, 77, 65, 54, 48, /* 0x 650 */
|
||||
0, 19, 1, 0, 0, 0, 0, 0, 0, 31, 1, 0, 0, 78, 50, 66, /* 0x 660 */
|
||||
68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, 65, 83, /* 0x 670 */
|
||||
54, 48, 0, 31, 1, 0, 0, 0, 0, 0, 0, 42, 1, 0, 0, 78, /* 0x 680 */
|
||||
50, 66, 70, 65, 83, 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 690 */
|
||||
56, 1, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, /* 0x 6a0 */
|
||||
0, 78, 50, 66, 70, 65, 83, 54, 49, 0, 56, 1, 0, 0, 0, 0, /* 0x 6b0 */
|
||||
0, 0, 78, 1, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 0, /* 0x 6c0 */
|
||||
0, 0, 0, 78, 50, 66, 68, 69, 67, 54, 48, 0, 78, 1, 0, 0, /* 0x 6d0 */
|
||||
78, 82, 86, 50, 66, 69, 78, 68, 0, 78, 1, 0, 0, 78, 50, 68, /* 0x 6e0 */
|
||||
83, 77, 65, 49, 48, 0, 78, 1, 0, 0, 0, 0, 0, 0, 80, 1, /* 0x 6f0 */
|
||||
0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, /* 0x 700 */
|
||||
50, 68, 70, 65, 83, 49, 48, 0, 81, 1, 0, 0, 0, 0, 0, 0, /* 0x 710 */
|
||||
83, 1, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 4, 0, 0, /* 0x 720 */
|
||||
0, 78, 50, 68, 70, 65, 83, 49, 49, 0, 83, 1, 0, 0, 78, 50, /* 0x 730 */
|
||||
68, 68, 69, 67, 49, 48, 0, 89, 1, 0, 0, 78, 50, 68, 83, 77, /* 0x 740 */
|
||||
65, 50, 48, 0,100, 1, 0, 0, 0, 0, 0, 0,102, 1, 0, 0, /* 0x 750 */
|
||||
78, 50, 68, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 68, /* 0x 760 */
|
||||
70, 65, 83, 50, 48, 0,105, 1, 0, 0, 0, 0, 0, 0,109, 1, /* 0x 770 */
|
||||
0, 0, 78, 50, 68, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, /* 0x 780 */
|
||||
50, 68, 68, 69, 67, 50, 48, 0,114, 1, 0, 0, 78, 50, 68, 83, /* 0x 790 */
|
||||
77, 65, 51, 48, 0,127, 1, 0, 0, 0, 0, 0, 0,140, 1, 0, /* 0x 7a0 */
|
||||
0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, 78, 50, /* 0x 7b0 */
|
||||
68, 70, 65, 83, 51, 48, 0,140, 1, 0, 0, 0, 0, 0, 0,146, /* 0x 7c0 */
|
||||
1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, /* 0x 7d0 */
|
||||
0, 0, 0, 0,155, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, /* 0x 7e0 */
|
||||
0, 16, 0, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0,155, 1, /* 0x 7f0 */
|
||||
0, 0, 0, 0, 0, 0,171, 1, 0, 0, 78, 50, 68, 68, 69, 67, /* 0x 800 */
|
||||
50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,189, 1, 0, 0, 78, /* 0x 810 */
|
||||
50, 68, 68, 69, 67, 54, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 820 */
|
||||
223, 1, 0, 0, 78, 50, 68, 68, 69, 67, 53, 48, 0, 0, 0, 0, /* 0x 830 */
|
||||
0, 78, 50, 68, 83, 77, 65, 52, 48, 0,237, 1, 0, 0, 0, 0, /* 0x 840 */
|
||||
0, 0,250, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 69, /* 0x 850 */
|
||||
0, 0, 0, 78, 50, 68, 70, 65, 83, 52, 48, 0,250, 1, 0, 0, /* 0x 860 */
|
||||
0, 0, 0, 0,254, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, /* 0x 870 */
|
||||
0, 69, 0, 0, 0, 0, 0, 0, 0, 9, 2, 0, 0, 78, 50, 68, /* 0x 880 */
|
||||
68, 69, 67, 51, 48, 0, 69, 0, 0, 0, 78, 50, 68, 68, 85, 77, /* 0x 890 */
|
||||
77, 49, 0, 9, 2, 0, 0, 78, 50, 68, 83, 77, 65, 53, 48, 0, /* 0x 8a0 */
|
||||
9, 2, 0, 0, 78, 50, 68, 70, 65, 83, 53, 48, 0, 11, 2, 0, /* 0x 8b0 */
|
||||
0, 78, 50, 68, 68, 69, 67, 53, 48, 0, 14, 2, 0, 0, 78, 50, /* 0x 8c0 */
|
||||
68, 83, 77, 65, 54, 48, 0, 23, 2, 0, 0, 0, 0, 0, 0, 35, /* 0x 8d0 */
|
||||
2, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, /* 0x 8e0 */
|
||||
78, 50, 68, 70, 65, 83, 54, 48, 0, 35, 2, 0, 0, 0, 0, 0, /* 0x 8f0 */
|
||||
0, 46, 2, 0, 0, 78, 50, 68, 70, 65, 83, 54, 49, 0, 0, 0, /* 0x 900 */
|
||||
0, 0, 0, 0, 0, 0, 60, 2, 0, 0, 78, 50, 68, 68, 69, 67, /* 0x 910 */
|
||||
49, 48, 0, 0, 0, 0, 0, 78, 50, 68, 70, 65, 83, 54, 49, 0, /* 0x 920 */
|
||||
60, 2, 0, 0, 0, 0, 0, 0, 82, 2, 0, 0, 78, 50, 68, 68, /* 0x 930 */
|
||||
69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 68, 68, 69, 67, 54, /* 0x 940 */
|
||||
48, 0, 82, 2, 0, 0, 78, 82, 86, 50, 68, 69, 78, 68, 0, 82, /* 0x 950 */
|
||||
2, 0, 0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 82, 2, 0, 0, /* 0x 960 */
|
||||
0, 0, 0, 0, 84, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, /* 0x 970 */
|
||||
0, 4, 0, 0, 0, 78, 50, 69, 70, 65, 83, 49, 48, 0, 85, 2, /* 0x 980 */
|
||||
0, 0, 0, 0, 0, 0, 87, 2, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x 990 */
|
||||
49, 48, 0, 4, 0, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, /* 0x 9a0 */
|
||||
87, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 93, 2, 0, /* 0x 9b0 */
|
||||
0, 78, 50, 69, 83, 77, 65, 50, 48, 0,104, 2, 0, 0, 0, 0, /* 0x 9c0 */
|
||||
0, 0,106, 2, 0, 0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 2, /* 0x 9d0 */
|
||||
0, 0, 0, 78, 50, 69, 70, 65, 83, 50, 48, 0,109, 2, 0, 0, /* 0x 9e0 */
|
||||
0, 0, 0, 0,113, 2, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, /* 0x 9f0 */
|
||||
0, 0, 0, 0, 0, 78, 50, 69, 68, 69, 67, 50, 48, 0,118, 2, /* 0x a00 */
|
||||
0, 0, 78, 50, 69, 83, 77, 65, 51, 48, 0,131, 2, 0, 0, 0, /* 0x a10 */
|
||||
0, 0, 0,144, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, /* 0x a20 */
|
||||
31, 0, 0, 0, 78, 50, 69, 70, 65, 83, 51, 48, 0,144, 2, 0, /* 0x a30 */
|
||||
0, 0, 0, 0, 0,150, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, /* 0x a40 */
|
||||
48, 0, 31, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0, 78, 50, /* 0x a50 */
|
||||
69, 68, 69, 67, 51, 48, 0, 31, 0, 0, 0, 78, 50, 69, 68, 69, /* 0x a60 */
|
||||
67, 51, 48, 0,159, 2, 0, 0, 0, 0, 0, 0,175, 2, 0, 0, /* 0x a70 */
|
||||
78, 50, 69, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x a80 */
|
||||
0,190, 2, 0, 0, 78, 50, 69, 68, 69, 67, 53, 48, 0, 0, 0, /* 0x a90 */
|
||||
0, 0, 0, 0, 0, 0,208, 2, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x aa0 */
|
||||
54, 48, 0, 0, 0, 0, 0, 78, 50, 69, 83, 77, 65, 52, 48, 0, /* 0x ab0 */
|
||||
254, 2, 0, 0, 0, 0, 0, 0, 11, 3, 0, 0, 78, 50, 69, 68, /* 0x ac0 */
|
||||
69, 67, 51, 48, 0, 82, 0, 0, 0, 78, 50, 69, 70, 65, 83, 52, /* 0x ad0 */
|
||||
48, 0, 11, 3, 0, 0, 0, 0, 0, 0, 15, 3, 0, 0, 78, 50, /* 0x ae0 */
|
||||
69, 68, 69, 67, 51, 48, 0, 82, 0, 0, 0, 0, 0, 0, 0, 26, /* 0x af0 */
|
||||
3, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 82, 0, 0, 0, /* 0x b00 */
|
||||
78, 50, 69, 68, 85, 77, 77, 49, 0, 26, 3, 0, 0, 78, 50, 69, /* 0x b10 */
|
||||
83, 77, 65, 53, 48, 0, 26, 3, 0, 0, 78, 50, 69, 70, 65, 83, /* 0x b20 */
|
||||
53, 48, 0, 28, 3, 0, 0, 78, 50, 69, 68, 69, 67, 53, 48, 0, /* 0x b30 */
|
||||
31, 3, 0, 0, 78, 50, 69, 83, 77, 65, 54, 48, 0, 40, 3, 0, /* 0x b40 */
|
||||
0, 0, 0, 0, 0, 52, 3, 0, 0, 78, 50, 69, 68, 69, 67, 49, /* 0x b50 */
|
||||
48, 0, 0, 0, 0, 0, 78, 50, 69, 70, 65, 83, 54, 48, 0, 52, /* 0x b60 */
|
||||
3, 0, 0, 0, 0, 0, 0, 63, 3, 0, 0, 78, 50, 69, 70, 65, /* 0x b70 */
|
||||
83, 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 3, 0, 0, /* 0x b80 */
|
||||
78, 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, /* 0x b90 */
|
||||
70, 65, 83, 54, 49, 0, 77, 3, 0, 0, 0, 0, 0, 0, 99, 3, /* 0x ba0 */
|
||||
0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, /* 0x bb0 */
|
||||
50, 69, 68, 69, 67, 54, 48, 0, 99, 3, 0, 0, 78, 82, 86, 50, /* 0x bc0 */
|
||||
69, 69, 78, 68, 0, 99, 3, 0, 0, 76, 90, 67, 75, 76, 76, 84, /* 0x bd0 */
|
||||
57, 0, 99, 3, 0, 0, 67, 75, 76, 76, 84, 82, 48, 48, 0,102, /* 0x be0 */
|
||||
3, 0, 0, 0, 0, 0, 0,104, 3, 0, 0, 67, 75, 76, 76, 84, /* 0x bf0 */
|
||||
82, 50, 48, 0, 28, 0, 0, 0, 67, 75, 76, 76, 84, 82, 49, 48, /* 0x c00 */
|
||||
0,109, 3, 0, 0, 0, 0, 0, 0,123, 3, 0, 0, 67, 75, 76, /* 0x c10 */
|
||||
76, 84, 82, 50, 48, 0, 6, 0, 0, 0, 67, 75, 76, 76, 84, 82, /* 0x c20 */
|
||||
50, 48, 0,123, 3, 0, 0, 0, 0, 0, 0,129, 3, 0, 0, 67, /* 0x c30 */
|
||||
75, 76, 76, 84, 82, 52, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x c40 */
|
||||
133, 3, 0, 0, 67, 75, 76, 76, 84, 82, 52, 48, 0, 0, 0, 0, /* 0x c50 */
|
||||
0, 67, 75, 76, 76, 84, 82, 51, 48, 0,154, 3, 0, 0, 0, 0, /* 0x c60 */
|
||||
0, 0,161, 3, 0, 0, 67, 75, 76, 76, 84, 82, 49, 48, 0, 14, /* 0x c70 */
|
||||
0, 0, 0, 67, 75, 76, 76, 84, 82, 52, 48, 0,161, 3, 0, 0, /* 0x c80 */
|
||||
0, 0, 0, 0,166, 3, 0, 0, 67, 75, 76, 76, 84, 82, 48, 48, /* 0x c90 */
|
||||
0, 2, 0, 0, 0, 76, 90, 68, 85, 77, 77, 89, 50, 0,166, 3, /* 0x ca0 */
|
||||
0, 0, 76, 90, 67, 65, 76, 76, 84, 57, 0,166, 3, 0, 0, 67, /* 0x cb0 */
|
||||
65, 76, 76, 84, 82, 48, 48, 0,167, 3, 0, 0, 67, 84, 67, 76, /* 0x cc0 */
|
||||
69, 86, 69, 49, 0,181, 3, 0, 0, 0, 0, 0, 0,186, 3, 0, /* 0x cd0 */
|
||||
0, 67, 65, 76, 76, 84, 82, 48, 48, 0, 5, 0, 0, 0, 67, 65, /* 0x ce0 */
|
||||
76, 76, 84, 82, 48, 49, 0,186, 3, 0, 0, 67, 84, 68, 85, 77, /* 0x cf0 */
|
||||
77, 89, 49, 0,191, 3, 0, 0, 67, 84, 66, 83, 72, 82, 48, 49, /* 0x d00 */
|
||||
0,191, 3, 0, 0, 67, 84, 66, 82, 79, 82, 48, 49, 0,195, 3, /* 0x d10 */
|
||||
0, 0, 67, 84, 66, 83, 87, 65, 48, 49, 0,197, 3, 0, 0, 67, /* 0x d20 */
|
||||
65, 76, 76, 84, 82, 48, 50, 0,202, 3, 0, 0, 0, 0, 0, 0, /* 0x d30 */
|
||||
216, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, 48, 0, 10, 0, 0, /* 0x d40 */
|
||||
0, 67, 65, 76, 76, 84, 82, 49, 48, 0,216, 3, 0, 0, 67, 65, /* 0x d50 */
|
||||
76, 76, 84, 82, 69, 56, 0,221, 3, 0, 0, 67, 65, 76, 76, 84, /* 0x d60 */
|
||||
82, 69, 57, 0,223, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 49, /* 0x d70 */
|
||||
0,225, 3, 0, 0, 0, 0, 0, 0,229, 3, 0, 0, 67, 65, 76, /* 0x d80 */
|
||||
76, 84, 82, 49, 51, 0, 5, 0, 0, 0, 67, 84, 67, 76, 69, 86, /* 0x d90 */
|
||||
69, 50, 0,229, 3, 0, 0, 0, 0, 0, 0,234, 3, 0, 0, 67, /* 0x da0 */
|
||||
65, 76, 76, 84, 82, 49, 49, 0, 0, 0, 0, 0, 67, 65, 76, 76, /* 0x db0 */
|
||||
84, 82, 49, 50, 0,234, 3, 0, 0, 67, 84, 68, 85, 77, 77, 89, /* 0x dc0 */
|
||||
50, 0,236, 3, 0, 0, 67, 84, 66, 83, 72, 82, 49, 49, 0,236, /* 0x dd0 */
|
||||
3, 0, 0, 67, 84, 66, 82, 79, 82, 49, 49, 0,240, 3, 0, 0, /* 0x de0 */
|
||||
67, 84, 66, 83, 87, 65, 49, 49, 0,242, 3, 0, 0, 67, 65, 76, /* 0x df0 */
|
||||
76, 84, 82, 49, 51, 0,247, 3, 0, 0, 0, 0, 0, 0,252, 3, /* 0x e00 */
|
||||
0, 0, 67, 65, 76, 76, 84, 82, 49, 48, 0, 5, 0, 0, 0, 67, /* 0x e10 */
|
||||
84, 84, 72, 69, 69, 78, 68, 0,252, 3, 0, 0, 76, 73, 78, 85, /* 0x e20 */
|
||||
90, 57, 57, 48, 0,252, 3, 0, 0, 85, 80, 88, 49, 72, 69, 65, /* 0x e30 */
|
||||
68, 0, 1, 4, 0, 0, 76, 73, 84, 72, 69, 69, 78, 68, 0, 33, /* 0x e40 */
|
||||
4, 0, 0,255,255,255,255, 33, 4 /* 0x e50 */
|
||||
};
|
||||
308
src/stub/i386-win32.pe.h
Normal file
308
src/stub/i386-win32.pe.h
Normal file
@ -0,0 +1,308 @@
|
||||
/* i386-win32.pe.h -- created from i386-win32.pe.bin, 4365 (0x110d) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV_LOADER_SIZE 4365
|
||||
#define NRV_LOADER_ADLER32 0xf651185e
|
||||
#define NRV_LOADER_CRC32 0x6461513e
|
||||
|
||||
unsigned char nrv_loader[4365] = {
|
||||
128,124, 36, 8, 1, 15,133, 0, 0, 0, 0, 96,190, 69, 83, 73, /* 0x 0 */
|
||||
48,141,190, 69, 68, 73, 48,102,255,135, 73, 67, 79, 78,102,129, /* 0x 10 */
|
||||
135, 73, 67, 79, 78, 68, 82,199,135, 84, 76, 83, 65, 84, 76, 83, /* 0x 20 */
|
||||
86, 87,131,205,255,235, 0,164,235, 0,138, 6, 70,136, 7, 71, /* 0x 30 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219,114, 0, 49,192, 64, /* 0x 40 */
|
||||
114, 0,184, 1, 0, 0, 0, 1,219,117, 7,139, 30,131,238,252, /* 0x 50 */
|
||||
17,219, 17,192, 1,219,117, 7,139, 30,131,238,252, 17,219,115, /* 0x 60 */
|
||||
0, 1,219,115, 0,117, 9,139, 30,131,238,252, 17,219,115, 0, /* 0x 70 */
|
||||
49,201,131,232, 3,114, 13,193,224, 8,138, 6, 70,131,240,255, /* 0x 80 */
|
||||
116, 0,137,197, 1,219,117, 7,139, 30,131,238,252, 17,219, 17, /* 0x 90 */
|
||||
201, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201,117, 0, /* 0x a0 */
|
||||
65, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, 1,219, /* 0x b0 */
|
||||
117, 7,139, 30,131,238,252, 17,219,115, 0, 1,219,115, 0,117, /* 0x c0 */
|
||||
9,139, 30,131,238,252, 17,219,115, 0, 65, 65,131,193, 2,129, /* 0x d0 */
|
||||
253, 0,243,255,255,131,209, 1,137,242,141, 52, 47,243,164,137, /* 0x e0 */
|
||||
214,233, 0, 0, 0, 0,141, 20, 47,131,253,252,118, 0,138, 2, /* 0x f0 */
|
||||
66,136, 7, 71, 73,117,247,233, 0, 0, 0, 0,139, 2,131,194, /* 0x 100 */
|
||||
4,137, 7,131,199, 4,131,233, 4,119,241, 1,207,233, 0, 0, /* 0x 110 */
|
||||
0, 0,235, 0,164,235, 0,138, 6, 70,136, 7, 71, 1,219,117, /* 0x 120 */
|
||||
7,139, 30,131,238,252, 17,219,114, 0, 49,192, 64,114, 0,184, /* 0x 130 */
|
||||
1, 0, 0, 0, 1,219,117, 7,139, 30,131,238,252, 17,219, 17, /* 0x 140 */
|
||||
192, 1,219,117, 7,139, 30,131,238,252, 17,219,114, 0, 1,219, /* 0x 150 */
|
||||
115, 11,117, 0,139, 30,131,238,252, 17,219,114, 0, 72, 1,219, /* 0x 160 */
|
||||
117, 7,139, 30,131,238,252, 17,219, 17,192,235, 0, 49,201,131, /* 0x 170 */
|
||||
232, 3,114, 17,193,224, 8,138, 6, 70,131,240,255,116, 0,209, /* 0x 180 */
|
||||
248,137,197,235, 11, 1,219,117, 7,139, 30,131,238,252, 17,219, /* 0x 190 */
|
||||
17,201, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201,117, /* 0x 1a0 */
|
||||
0, 65, 1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, 1, /* 0x 1b0 */
|
||||
219,117, 7,139, 30,131,238,252, 17,219,115, 0, 1,219,115, 0, /* 0x 1c0 */
|
||||
117, 9,139, 30,131,238,252, 17,219,115, 0, 65, 65,131,193, 2, /* 0x 1d0 */
|
||||
129,253, 0,251,255,255,131,209, 1,137,242,141, 52, 47,243,164, /* 0x 1e0 */
|
||||
137,214,233, 0, 0, 0, 0,141, 20, 47,131,253,252,118, 0,138, /* 0x 1f0 */
|
||||
2, 66,136, 7, 71, 73,117,247,233, 0, 0, 0, 0,139, 2,131, /* 0x 200 */
|
||||
194, 4,137, 7,131,199, 4,131,233, 4,119,241, 1,207,233, 0, /* 0x 210 */
|
||||
0, 0, 0,235, 0,164,235, 0,138, 6, 70,136, 7, 71, 1,219, /* 0x 220 */
|
||||
117, 7,139, 30,131,238,252, 17,219,114, 0, 49,192, 64,114, 0, /* 0x 230 */
|
||||
184, 1, 0, 0, 0, 1,219,117, 7,139, 30,131,238,252, 17,219, /* 0x 240 */
|
||||
17,192, 1,219,117, 7,139, 30,131,238,252, 17,219,114, 0, 1, /* 0x 250 */
|
||||
219,115, 11,117, 0,139, 30,131,238,252, 17,219,114, 0, 72, 1, /* 0x 260 */
|
||||
219,117, 7,139, 30,131,238,252, 17,219, 17,192,235, 0, 1,219, /* 0x 270 */
|
||||
117, 7,139, 30,131,238,252, 17,219, 17,201,235, 0, 49,201,131, /* 0x 280 */
|
||||
232, 3,114, 17,193,224, 8,138, 6, 70,131,240,255,116, 0,209, /* 0x 290 */
|
||||
248,137,197,235, 11, 1,219,117, 7,139, 30,131,238,252, 17,219, /* 0x 2a0 */
|
||||
114,204, 65, 1,219,117, 7,139, 30,131,238,252, 17,219,114,190, /* 0x 2b0 */
|
||||
1,219,117, 7,139, 30,131,238,252, 17,219, 17,201, 1,219,117, /* 0x 2c0 */
|
||||
7,139, 30,131,238,252, 17,219,115, 0, 1,219,115, 0,117, 9, /* 0x 2d0 */
|
||||
139, 30,131,238,252, 17,219,115, 0, 65, 65,131,193, 2,129,253, /* 0x 2e0 */
|
||||
0,251,255,255,131,209, 2,137,242,141, 52, 47,243,164,137,214, /* 0x 2f0 */
|
||||
233, 0, 0, 0, 0,141, 20, 47,131,253,252,118, 0,138, 2, 66, /* 0x 300 */
|
||||
136, 7, 71, 73,117,247,233, 0, 0, 0, 0,139, 2,131,194, 4, /* 0x 310 */
|
||||
137, 7,131,199, 4,131,233, 4,119,241, 1,207,233, 0, 0, 0, /* 0x 320 */
|
||||
0,173, 1,199, 15,130, 0, 0, 0, 0, 94,141,190, 84, 69, 88, /* 0x 330 */
|
||||
86,137,247,185, 84, 69, 88, 76,138, 7, 71, 44,232, 60, 1,119, /* 0x 340 */
|
||||
247,128, 63, 63,117, 0,139, 7,138, 95, 4,102,193,232, 8,134, /* 0x 350 */
|
||||
196,193,192, 16,134,196, 41,248,128,235,232, 1,240,137, 7,131, /* 0x 360 */
|
||||
199, 5,136,216,226, 0,185, 84, 69, 88, 76,176,232,176,233,242, /* 0x 370 */
|
||||
174,117, 0,128, 63, 63,117, 0,139, 7,102,193,232, 8,134,196, /* 0x 380 */
|
||||
193,192, 16,134,196, 41,248, 1,240,171,235, 0,141,190, 66, 73, /* 0x 390 */
|
||||
77, 80,139, 7, 9,192,116, 0,139, 95, 4,141,132, 48, 73, 77, /* 0x 3a0 */
|
||||
80, 83, 1,243, 80,131,199, 8,255,150, 76, 79, 65, 68,149,138, /* 0x 3b0 */
|
||||
7, 71, 8,192,116,220,137,249,121, 0,122, 14,139, 7,131,199, /* 0x 3c0 */
|
||||
4,139,132, 48, 75, 51, 50, 79,235, 0, 15,183, 7, 71, 80, 71, /* 0x 3d0 */
|
||||
185, 87, 72,242,174, 85,255,150, 71, 69, 84, 80, 9,192,116, 7, /* 0x 3e0 */
|
||||
137, 3,131,195, 4,235, 0, 97, 49,192,194, 12, 0,255,150, 69, /* 0x 3f0 */
|
||||
88, 73, 84,141,190, 66, 82, 69, 76,131,199, 4,141, 94,252, 49, /* 0x 400 */
|
||||
192,138, 7, 71, 9,192,116, 0, 60,239,119, 17, 1,195,139, 3, /* 0x 410 */
|
||||
134,196,193,192, 16,134,196, 1,240,137, 3,235,226, 36, 15,193, /* 0x 420 */
|
||||
224, 16,102,139, 7,131,199, 2, 9,192,117, 0,139, 7,131,199, /* 0x 430 */
|
||||
4,235, 0,135,254,141,143, 68, 69, 76, 84,169,102, 1, 12, 7, /* 0x 440 */
|
||||
173, 9,192,117,247,193,233, 16,169,102, 1, 12, 7,173, 9,192, /* 0x 450 */
|
||||
117,247,139,174, 86, 80, 82, 79,141,190, 73, 77, 71, 66,187, 73, /* 0x 460 */
|
||||
77, 71, 76, 80, 84,106, 4, 83, 87,255,213,141,135, 83, 87, 82, /* 0x 470 */
|
||||
73,128, 32,127,128, 96, 40,127, 88, 80, 84, 80, 83, 87,255,213, /* 0x 480 */
|
||||
88, 97,141, 68, 36,128,106, 0, 57,196,117,250,131,236,128,141, /* 0x 490 */
|
||||
68, 36,128,106, 0, 57,196,117,250,131,236,128, 49,192, 64,194, /* 0x 4a0 */
|
||||
12, 0,233, 74, 77, 80, 79, 85, 80, 88, 33,161,216,208,213, 0, /* 0x 4b0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 4c0 */
|
||||
0, 0, 0, 0, 0, 0, 45, 0, 80, 69, 73, 83, 68, 76, 76, 49, /* 0x 4d0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 80, 69, 77, /* 0x 4e0 */
|
||||
65, 73, 78, 50, 49, 0, 0, 0, 0, 0, 80, 69, 77, 65, 73, 78, /* 0x 4f0 */
|
||||
48, 49, 0, 11, 0, 0, 0, 80, 69, 73, 67, 79, 78, 83, 49, 0, /* 0x 500 */
|
||||
23, 0, 0, 0, 80, 69, 73, 67, 79, 78, 83, 50, 0, 30, 0, 0, /* 0x 510 */
|
||||
0, 80, 69, 73, 67, 79, 78, 83, 90, 0, 39, 0, 0, 0, 80, 69, /* 0x 520 */
|
||||
84, 76, 83, 72, 65, 75, 0, 39, 0, 0, 0, 80, 69, 77, 65, 73, /* 0x 530 */
|
||||
78, 48, 50, 0, 49, 0, 0, 0, 78, 50, 66, 83, 77, 65, 49, 48, /* 0x 540 */
|
||||
0, 53, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 78, 50, 66, /* 0x 550 */
|
||||
68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 66, 70, 65, 83, /* 0x 560 */
|
||||
49, 48, 0, 56, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 78, /* 0x 570 */
|
||||
50, 66, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 66, 70, /* 0x 580 */
|
||||
65, 83, 49, 49, 0, 58, 0, 0, 0, 78, 50, 66, 68, 69, 67, 49, /* 0x 590 */
|
||||
48, 0, 64, 0, 0, 0, 78, 50, 66, 83, 77, 65, 50, 48, 0, 75, /* 0x 5a0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 78, 50, 66, 83, 77, /* 0x 5b0 */
|
||||
65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 66, 70, 65, 83, 50, 48, /* 0x 5c0 */
|
||||
0, 80, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 78, 50, 66, /* 0x 5d0 */
|
||||
70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, 66, 68, 69, 67, /* 0x 5e0 */
|
||||
50, 48, 0, 87, 0, 0, 0, 78, 50, 66, 83, 77, 65, 51, 48, 0, /* 0x 5f0 */
|
||||
100, 0, 0, 0, 0, 0, 0, 0,113, 0, 0, 0, 78, 50, 66, 68, /* 0x 600 */
|
||||
69, 67, 50, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, 65, 83, 51, /* 0x 610 */
|
||||
48, 0,113, 0, 0, 0, 0, 0, 0, 0,117, 0, 0, 0, 78, 50, /* 0x 620 */
|
||||
66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, /* 0x 630 */
|
||||
0, 0, 0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, /* 0x 640 */
|
||||
78, 50, 66, 68, 69, 67, 51, 48, 0,128, 0, 0, 0, 0, 0, 0, /* 0x 650 */
|
||||
0,146, 0, 0, 0, 78, 50, 66, 68, 69, 67, 54, 48, 0, 0, 0, /* 0x 660 */
|
||||
0, 0, 0, 0, 0, 0,176, 0, 0, 0, 78, 50, 66, 68, 69, 67, /* 0x 670 */
|
||||
53, 48, 0, 0, 0, 0, 0, 78, 50, 66, 83, 77, 65, 52, 48, 0, /* 0x 680 */
|
||||
190, 0, 0, 0, 0, 0, 0, 0,203, 0, 0, 0, 78, 50, 66, 68, /* 0x 690 */
|
||||
69, 67, 51, 48, 0, 49, 0, 0, 0, 78, 50, 66, 70, 65, 83, 52, /* 0x 6a0 */
|
||||
48, 0,203, 0, 0, 0, 0, 0, 0, 0,207, 0, 0, 0, 78, 50, /* 0x 6b0 */
|
||||
66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0,218, /* 0x 6c0 */
|
||||
0, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, /* 0x 6d0 */
|
||||
78, 50, 66, 68, 85, 77, 77, 49, 0,218, 0, 0, 0, 78, 50, 66, /* 0x 6e0 */
|
||||
83, 77, 65, 53, 48, 0,218, 0, 0, 0, 78, 50, 66, 70, 65, 83, /* 0x 6f0 */
|
||||
53, 48, 0,220, 0, 0, 0, 78, 50, 66, 68, 69, 67, 53, 48, 0, /* 0x 700 */
|
||||
223, 0, 0, 0, 78, 50, 66, 83, 77, 65, 54, 48, 0,232, 0, 0, /* 0x 710 */
|
||||
0, 0, 0, 0, 0,246, 0, 0, 0, 78, 50, 66, 68, 69, 67, 49, /* 0x 720 */
|
||||
48, 0, 0, 0, 0, 0, 78, 50, 66, 70, 65, 83, 54, 48, 0,246, /* 0x 730 */
|
||||
0, 0, 0, 0, 0, 0, 0,254, 0, 0, 0, 78, 50, 66, 70, 65, /* 0x 740 */
|
||||
83, 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 0, 0, /* 0x 750 */
|
||||
78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 66, /* 0x 760 */
|
||||
70, 65, 83, 54, 49, 0, 12, 1, 0, 0, 0, 0, 0, 0, 34, 1, /* 0x 770 */
|
||||
0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, /* 0x 780 */
|
||||
50, 66, 68, 69, 67, 54, 48, 0, 34, 1, 0, 0, 78, 82, 86, 50, /* 0x 790 */
|
||||
66, 69, 78, 68, 0, 34, 1, 0, 0, 78, 50, 68, 83, 77, 65, 49, /* 0x 7a0 */
|
||||
48, 0, 34, 1, 0, 0, 0, 0, 0, 0, 36, 1, 0, 0, 78, 50, /* 0x 7b0 */
|
||||
68, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 68, 70, 65, /* 0x 7c0 */
|
||||
83, 49, 48, 0, 37, 1, 0, 0, 0, 0, 0, 0, 39, 1, 0, 0, /* 0x 7d0 */
|
||||
78, 50, 68, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 68, /* 0x 7e0 */
|
||||
70, 65, 83, 49, 49, 0, 39, 1, 0, 0, 78, 50, 68, 68, 69, 67, /* 0x 7f0 */
|
||||
49, 48, 0, 45, 1, 0, 0, 78, 50, 68, 83, 77, 65, 50, 48, 0, /* 0x 800 */
|
||||
56, 1, 0, 0, 0, 0, 0, 0, 58, 1, 0, 0, 78, 50, 68, 83, /* 0x 810 */
|
||||
77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 68, 70, 65, 83, 50, /* 0x 820 */
|
||||
48, 0, 61, 1, 0, 0, 0, 0, 0, 0, 63, 1, 0, 0, 78, 50, /* 0x 830 */
|
||||
68, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, 68, 68, 69, /* 0x 840 */
|
||||
67, 50, 48, 0, 68, 1, 0, 0, 78, 50, 68, 83, 77, 65, 51, 48, /* 0x 850 */
|
||||
0, 81, 1, 0, 0, 0, 0, 0, 0, 94, 1, 0, 0, 78, 50, 68, /* 0x 860 */
|
||||
68, 69, 67, 51, 48, 0, 16, 0, 0, 0, 78, 50, 68, 70, 65, 83, /* 0x 870 */
|
||||
51, 48, 0, 94, 1, 0, 0, 0, 0, 0, 0,100, 1, 0, 0, 78, /* 0x 880 */
|
||||
50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, 0, 0, 0, 0, /* 0x 890 */
|
||||
109, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, /* 0x 8a0 */
|
||||
0, 78, 50, 68, 68, 69, 67, 51, 48, 0,109, 1, 0, 0, 0, 0, /* 0x 8b0 */
|
||||
0, 0,125, 1, 0, 0, 78, 50, 68, 68, 69, 67, 50, 48, 0, 0, /* 0x 8c0 */
|
||||
0, 0, 0, 0, 0, 0, 0,143, 1, 0, 0, 78, 50, 68, 68, 69, /* 0x 8d0 */
|
||||
67, 54, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,177, 1, 0, 0, /* 0x 8e0 */
|
||||
78, 50, 68, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 78, 50, 68, /* 0x 8f0 */
|
||||
83, 77, 65, 52, 48, 0,191, 1, 0, 0, 0, 0, 0, 0,204, 1, /* 0x 900 */
|
||||
0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 69, 0, 0, 0, 78, /* 0x 910 */
|
||||
50, 68, 70, 65, 83, 52, 48, 0,204, 1, 0, 0, 0, 0, 0, 0, /* 0x 920 */
|
||||
208, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 69, 0, 0, /* 0x 930 */
|
||||
0, 0, 0, 0, 0,219, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, /* 0x 940 */
|
||||
48, 0, 69, 0, 0, 0, 78, 50, 68, 68, 85, 77, 77, 49, 0,219, /* 0x 950 */
|
||||
1, 0, 0, 78, 50, 68, 83, 77, 65, 53, 48, 0,219, 1, 0, 0, /* 0x 960 */
|
||||
78, 50, 68, 70, 65, 83, 53, 48, 0,221, 1, 0, 0, 78, 50, 68, /* 0x 970 */
|
||||
68, 69, 67, 53, 48, 0,224, 1, 0, 0, 78, 50, 68, 83, 77, 65, /* 0x 980 */
|
||||
54, 48, 0,233, 1, 0, 0, 0, 0, 0, 0,247, 1, 0, 0, 78, /* 0x 990 */
|
||||
50, 68, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 68, 70, /* 0x 9a0 */
|
||||
65, 83, 54, 48, 0,247, 1, 0, 0, 0, 0, 0, 0,255, 1, 0, /* 0x 9b0 */
|
||||
0, 78, 50, 68, 70, 65, 83, 54, 49, 0, 0, 0, 0, 0, 0, 0, /* 0x 9c0 */
|
||||
0, 0, 13, 2, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 0, /* 0x 9d0 */
|
||||
0, 0, 0, 78, 50, 68, 70, 65, 83, 54, 49, 0, 13, 2, 0, 0, /* 0x 9e0 */
|
||||
0, 0, 0, 0, 35, 2, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, /* 0x 9f0 */
|
||||
0, 0, 0, 0, 0, 78, 50, 68, 68, 69, 67, 54, 48, 0, 35, 2, /* 0x a00 */
|
||||
0, 0, 78, 82, 86, 50, 68, 69, 78, 68, 0, 35, 2, 0, 0, 78, /* 0x a10 */
|
||||
50, 69, 83, 77, 65, 49, 48, 0, 35, 2, 0, 0, 0, 0, 0, 0, /* 0x a20 */
|
||||
37, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 4, 0, 0, /* 0x a30 */
|
||||
0, 78, 50, 69, 70, 65, 83, 49, 48, 0, 38, 2, 0, 0, 0, 0, /* 0x a40 */
|
||||
0, 0, 40, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 4, /* 0x a50 */
|
||||
0, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, 40, 2, 0, 0, /* 0x a60 */
|
||||
78, 50, 69, 68, 69, 67, 49, 48, 0, 46, 2, 0, 0, 78, 50, 69, /* 0x a70 */
|
||||
83, 77, 65, 50, 48, 0, 57, 2, 0, 0, 0, 0, 0, 0, 59, 2, /* 0x a80 */
|
||||
0, 0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, /* 0x a90 */
|
||||
50, 69, 70, 65, 83, 50, 48, 0, 62, 2, 0, 0, 0, 0, 0, 0, /* 0x aa0 */
|
||||
64, 2, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, 0, 0, 0, /* 0x ab0 */
|
||||
0, 78, 50, 69, 68, 69, 67, 50, 48, 0, 69, 2, 0, 0, 78, 50, /* 0x ac0 */
|
||||
69, 83, 77, 65, 51, 48, 0, 82, 2, 0, 0, 0, 0, 0, 0, 95, /* 0x ad0 */
|
||||
2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 31, 0, 0, 0, /* 0x ae0 */
|
||||
78, 50, 69, 70, 65, 83, 51, 48, 0, 95, 2, 0, 0, 0, 0, 0, /* 0x af0 */
|
||||
0,101, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 31, 0, /* 0x b00 */
|
||||
0, 0, 0, 0, 0, 0,110, 2, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x b10 */
|
||||
51, 48, 0, 31, 0, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, /* 0x b20 */
|
||||
110, 2, 0, 0, 0, 0, 0, 0,126, 2, 0, 0, 78, 50, 69, 68, /* 0x b30 */
|
||||
69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 2, 0, /* 0x b40 */
|
||||
0, 78, 50, 69, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 0, 0, /* 0x b50 */
|
||||
0, 0,159, 2, 0, 0, 78, 50, 69, 68, 69, 67, 54, 48, 0, 0, /* 0x b60 */
|
||||
0, 0, 0, 78, 50, 69, 83, 77, 65, 52, 48, 0,205, 2, 0, 0, /* 0x b70 */
|
||||
0, 0, 0, 0,218, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, /* 0x b80 */
|
||||
0, 82, 0, 0, 0, 78, 50, 69, 70, 65, 83, 52, 48, 0,218, 2, /* 0x b90 */
|
||||
0, 0, 0, 0, 0, 0,222, 2, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x ba0 */
|
||||
51, 48, 0, 82, 0, 0, 0, 0, 0, 0, 0,233, 2, 0, 0, 78, /* 0x bb0 */
|
||||
50, 69, 68, 69, 67, 51, 48, 0, 82, 0, 0, 0, 78, 50, 69, 68, /* 0x bc0 */
|
||||
85, 77, 77, 49, 0,233, 2, 0, 0, 78, 50, 69, 83, 77, 65, 53, /* 0x bd0 */
|
||||
48, 0,233, 2, 0, 0, 78, 50, 69, 70, 65, 83, 53, 48, 0,235, /* 0x be0 */
|
||||
2, 0, 0, 78, 50, 69, 68, 69, 67, 53, 48, 0,238, 2, 0, 0, /* 0x bf0 */
|
||||
78, 50, 69, 83, 77, 65, 54, 48, 0,247, 2, 0, 0, 0, 0, 0, /* 0x c00 */
|
||||
0, 5, 3, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, /* 0x c10 */
|
||||
0, 0, 78, 50, 69, 70, 65, 83, 54, 48, 0, 5, 3, 0, 0, 0, /* 0x c20 */
|
||||
0, 0, 0, 13, 3, 0, 0, 78, 50, 69, 70, 65, 83, 54, 49, 0, /* 0x c30 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 27, 3, 0, 0, 78, 50, 69, 68, /* 0x c40 */
|
||||
69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, 70, 65, 83, 54, /* 0x c50 */
|
||||
49, 0, 27, 3, 0, 0, 0, 0, 0, 0, 49, 3, 0, 0, 78, 50, /* 0x c60 */
|
||||
69, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, 68, 69, /* 0x c70 */
|
||||
67, 54, 48, 0, 49, 3, 0, 0, 78, 82, 86, 50, 69, 69, 78, 68, /* 0x c80 */
|
||||
0, 49, 3, 0, 0, 80, 69, 77, 85, 76, 84, 73, 80, 0, 49, 3, /* 0x c90 */
|
||||
0, 0, 0, 0, 0, 0, 58, 3, 0, 0, 80, 69, 77, 65, 73, 78, /* 0x ca0 */
|
||||
48, 50, 0, 1, 0, 0, 0, 80, 69, 77, 65, 73, 78, 49, 48, 0, /* 0x cb0 */
|
||||
58, 3, 0, 0, 80, 69, 67, 65, 76, 76, 84, 82, 0, 59, 3, 0, /* 0x cc0 */
|
||||
0, 80, 69, 67, 84, 84, 80, 79, 83, 0, 59, 3, 0, 0, 80, 69, /* 0x cd0 */
|
||||
67, 84, 84, 78, 85, 76, 0, 65, 3, 0, 0, 80, 69, 68, 85, 77, /* 0x ce0 */
|
||||
77, 89, 48, 0, 67, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, 48, /* 0x cf0 */
|
||||
0, 67, 3, 0, 0, 67, 84, 67, 76, 69, 86, 69, 49, 0, 81, 3, /* 0x d00 */
|
||||
0, 0, 0, 0, 0, 0, 86, 3, 0, 0, 67, 65, 76, 76, 84, 82, /* 0x d10 */
|
||||
48, 48, 0, 5, 0, 0, 0, 67, 65, 76, 76, 84, 82, 48, 49, 0, /* 0x d20 */
|
||||
86, 3, 0, 0, 67, 84, 68, 85, 77, 77, 89, 49, 0, 91, 3, 0, /* 0x d30 */
|
||||
0, 67, 84, 66, 83, 72, 82, 48, 49, 0, 91, 3, 0, 0, 67, 84, /* 0x d40 */
|
||||
66, 82, 79, 82, 48, 49, 0, 95, 3, 0, 0, 67, 84, 66, 83, 87, /* 0x d50 */
|
||||
65, 48, 49, 0, 97, 3, 0, 0, 67, 65, 76, 76, 84, 82, 48, 50, /* 0x d60 */
|
||||
0,102, 3, 0, 0, 0, 0, 0, 0,118, 3, 0, 0, 67, 65, 76, /* 0x d70 */
|
||||
76, 84, 82, 48, 48, 0, 10, 0, 0, 0, 67, 65, 76, 76, 84, 82, /* 0x d80 */
|
||||
49, 48, 0,118, 3, 0, 0, 67, 65, 76, 76, 84, 82, 69, 56, 0, /* 0x d90 */
|
||||
123, 3, 0, 0, 67, 65, 76, 76, 84, 82, 69, 57, 0,125, 3, 0, /* 0x da0 */
|
||||
0, 67, 65, 76, 76, 84, 82, 49, 49, 0,127, 3, 0, 0, 0, 0, /* 0x db0 */
|
||||
0, 0,131, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0, 7, /* 0x dc0 */
|
||||
0, 0, 0, 67, 84, 67, 76, 69, 86, 69, 50, 0,131, 3, 0, 0, /* 0x dd0 */
|
||||
0, 0, 0, 0,136, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 49, /* 0x de0 */
|
||||
0, 0, 0, 0, 0, 67, 65, 76, 76, 84, 82, 49, 50, 0,136, 3, /* 0x df0 */
|
||||
0, 0, 67, 84, 68, 85, 77, 77, 89, 50, 0,138, 3, 0, 0, 67, /* 0x e00 */
|
||||
84, 66, 83, 72, 82, 49, 49, 0,138, 3, 0, 0, 67, 84, 66, 82, /* 0x e10 */
|
||||
79, 82, 49, 49, 0,142, 3, 0, 0, 67, 84, 66, 83, 87, 65, 49, /* 0x e20 */
|
||||
49, 0,144, 3, 0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0,149, /* 0x e30 */
|
||||
3, 0, 0, 0, 0, 0, 0,156, 3, 0, 0, 67, 65, 76, 76, 84, /* 0x e40 */
|
||||
82, 49, 48, 0, 5, 0, 0, 0, 67, 84, 84, 72, 69, 69, 78, 68, /* 0x e50 */
|
||||
0,156, 3, 0, 0, 80, 69, 68, 85, 77, 77, 89, 49, 0,156, 3, /* 0x e60 */
|
||||
0, 0, 80, 69, 73, 77, 80, 79, 82, 84, 0,156, 3, 0, 0, 0, /* 0x e70 */
|
||||
0, 0, 0,168, 3, 0, 0, 80, 69, 73, 77, 68, 79, 78, 69, 0, /* 0x e80 */
|
||||
0, 0, 0, 0, 80, 69, 73, 66, 89, 79, 82, 68, 0,200, 3, 0, /* 0x e90 */
|
||||
0, 0, 0, 0, 0,202, 3, 0, 0, 80, 69, 73, 77, 79, 82, 68, /* 0x ea0 */
|
||||
49, 0, 7, 0, 0, 0, 80, 69, 75, 51, 50, 79, 82, 68, 0,202, /* 0x eb0 */
|
||||
3, 0, 0, 0, 0, 0, 0,218, 3, 0, 0, 80, 69, 73, 77, 80, /* 0x ec0 */
|
||||
79, 82, 50, 0, 15, 0, 0, 0, 80, 69, 73, 77, 79, 82, 68, 49, /* 0x ed0 */
|
||||
0,218, 3, 0, 0, 80, 69, 73, 77, 80, 79, 82, 50, 0,225, 3, /* 0x ee0 */
|
||||
0, 0, 0, 0, 0, 0,247, 3, 0, 0, 80, 69, 73, 77, 80, 79, /* 0x ef0 */
|
||||
82, 84, 0, 35, 0, 0, 0, 80, 69, 73, 69, 82, 68, 76, 76, 0, /* 0x f00 */
|
||||
247, 3, 0, 0, 80, 69, 73, 69, 82, 69, 88, 69, 0,253, 3, 0, /* 0x f10 */
|
||||
0, 80, 69, 73, 77, 68, 79, 78, 69, 0, 3, 4, 0, 0, 80, 69, /* 0x f20 */
|
||||
73, 77, 80, 79, 82, 57, 0, 3, 4, 0, 0, 80, 69, 82, 69, 76, /* 0x f30 */
|
||||
79, 67, 49, 0, 3, 4, 0, 0, 80, 69, 82, 69, 76, 79, 67, 50, /* 0x f40 */
|
||||
0, 9, 4, 0, 0, 80, 69, 82, 69, 76, 79, 67, 51, 0, 12, 4, /* 0x f50 */
|
||||
0, 0, 82, 69, 76, 79, 67, 51, 50, 48, 0, 15, 4, 0, 0, 0, /* 0x f60 */
|
||||
0, 0, 0, 24, 4, 0, 0, 82, 69, 76, 79, 67, 51, 50, 74, 0, /* 0x f70 */
|
||||
2, 0, 0, 0, 82, 69, 76, 51, 50, 66, 73, 71, 0, 56, 4, 0, /* 0x f80 */
|
||||
0, 0, 0, 0, 0, 60, 4, 0, 0, 82, 69, 76, 79, 67, 51, 50, /* 0x f90 */
|
||||
48, 0, 13, 0, 0, 0, 82, 69, 76, 79, 67, 51, 50, 74, 0, 65, /* 0x fa0 */
|
||||
4, 0, 0, 0, 0, 0, 0, 67, 4, 0, 0, 82, 69, 76, 79, 67, /* 0x fb0 */
|
||||
51, 50, 48, 0, 13, 0, 0, 0, 82, 69, 76, 51, 50, 69, 78, 68, /* 0x fc0 */
|
||||
0, 67, 4, 0, 0, 80, 69, 82, 69, 76, 79, 67, 57, 0, 67, 4, /* 0x fd0 */
|
||||
0, 0, 80, 69, 82, 76, 79, 72, 73, 48, 0, 67, 4, 0, 0, 80, /* 0x fe0 */
|
||||
69, 82, 76, 79, 72, 73, 90, 0, 75, 4, 0, 0, 80, 69, 82, 69, /* 0x ff0 */
|
||||
76, 76, 79, 48, 0, 75, 4, 0, 0, 80, 69, 82, 69, 76, 76, 79, /* 0x1000 */
|
||||
90, 0, 85, 4, 0, 0, 80, 69, 82, 69, 76, 72, 73, 48, 0, 85, /* 0x1010 */
|
||||
4, 0, 0, 80, 69, 82, 69, 76, 72, 73, 90, 0, 98, 4, 0, 0, /* 0x1020 */
|
||||
80, 69, 68, 69, 80, 72, 65, 75, 0, 98, 4, 0, 0, 80, 69, 68, /* 0x1030 */
|
||||
69, 80, 72, 65, 88, 0,145, 4, 0, 0, 80, 69, 77, 65, 73, 78, /* 0x1040 */
|
||||
50, 48, 0,145, 4, 0, 0, 80, 69, 82, 69, 84, 85, 82, 78, 95, /* 0x1050 */
|
||||
67, 76, 69, 65, 82, 83, 84, 65, 67, 75, 0,146, 4, 0, 0, 80, /* 0x1060 */
|
||||
69, 82, 69, 84, 85, 82, 78, 95, 67, 76, 69, 65, 82, 83, 84, 65, /* 0x1070 */
|
||||
67, 75, 57, 0,159, 4, 0, 0, 80, 69, 68, 79, 74, 85, 77, 80, /* 0x1080 */
|
||||
95, 67, 76, 69, 65, 82, 83, 84, 65, 67, 75, 0,159, 4, 0, 0, /* 0x1090 */
|
||||
80, 69, 68, 79, 74, 85, 77, 80, 95, 67, 76, 69, 65, 82, 83, 84, /* 0x10a0 */
|
||||
65, 67, 75, 57, 0,172, 4, 0, 0, 80, 69, 77, 65, 73, 78, 50, /* 0x10b0 */
|
||||
49, 0,172, 4, 0, 0, 80, 69, 82, 69, 84, 85, 82, 78, 0,172, /* 0x10c0 */
|
||||
4, 0, 0, 80, 69, 68, 79, 74, 85, 77, 80, 0,178, 4, 0, 0, /* 0x10d0 */
|
||||
80, 69, 68, 85, 77, 77, 89, 51, 0,183, 4, 0, 0, 85, 80, 88, /* 0x10e0 */
|
||||
49, 72, 69, 65, 68, 0,183, 4, 0, 0, 80, 69, 84, 72, 69, 69, /* 0x10f0 */
|
||||
78, 68, 0,215, 4, 0, 0,255,255,255,255,215, 4 /* 0x1100 */
|
||||
};
|
||||
77
src/stub/m68k-atari.tos-nrv2b.h
Normal file
77
src/stub/m68k-atari.tos-nrv2b.h
Normal file
@ -0,0 +1,77 @@
|
||||
/* m68k-atari.tos-nrv2b.h -- created from m68k-atari.tos-nrv2b.bin, 668 (0x29c) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV2B_LOADER_SIZE 668
|
||||
#define NRV2B_LOADER_ADLER32 0x36bbef0f
|
||||
#define NRV2B_LOADER_CRC32 0x4f682ad4
|
||||
|
||||
unsigned char nrv2b_loader[668] = {
|
||||
32, 8,103, 6, 46,104, 0, 4, 96, 4, 32, 47, 0, 4, 72,231, /* 0x 0 */
|
||||
127,254, 36, 64, 80,138, 44, 90, 40, 14, 36,188,117,112, 49, 49, /* 0x 10 */
|
||||
221,218, 36,206, 36,188,117,112, 49, 50,221,218, 40, 82, 36,206, /* 0x 20 */
|
||||
36,188,117,112, 49, 51, 38, 68,215,252,117,112, 50, 49, 32, 60, /* 0x 30 */
|
||||
117,112, 50, 50, 73,236,255, 96, 76,236, 39,238, 0,120, 72,227, /* 0x 40 */
|
||||
119,228, 76,236, 39,238, 0, 80, 72,227,119,228, 76,236, 39,238, /* 0x 50 */
|
||||
0, 40, 72,227,119,228, 76,212, 39,238, 72,227,119,228,117, 49, /* 0x 60 */
|
||||
102,210,117, 50, 39, 36, 81,200,255,252, 69,250, 0,188, 47, 4, /* 0x 70 */
|
||||
122, 73, 63, 34, 83,133,100,250, 63,124, 78,113, 0,130, 97, 32, /* 0x 80 */
|
||||
40, 68,112,128,126,255,124,152,235, 78, 36, 68,213,252,117,112, /* 0x 90 */
|
||||
51, 49, 78,210, 44,195, 44,195, 44,195, 44,195,117, 52,102,244, /* 0x a0 */
|
||||
72,120,255,255, 66,167, 47, 60, 1, 84, 0, 22, 78, 65, 79,239, /* 0x b0 */
|
||||
0, 12, 74,128,103, 96, 72,122, 0, 16, 63, 60, 0, 38, 78, 78, /* 0x c0 */
|
||||
92,143, 96, 82, 46, 73, 78,208, 47, 56, 0, 16, 47, 56, 0, 44, /* 0x d0 */
|
||||
47, 56, 0,244, 34, 79, 65,250,255,236, 33,200, 0, 16, 33,200, /* 0x e0 */
|
||||
0, 44, 33,200, 0,244, 78,113, 65,250, 0, 6,244,248, 96, 22, /* 0x f0 */
|
||||
65,250, 0, 20, 78,122, 0, 2, 34, 0, 0, 65, 8, 8, 78,123, /* 0x 100 */
|
||||
16, 2, 78,123, 0, 2, 33,223, 0,244, 33,223, 0, 44, 33,223, /* 0x 110 */
|
||||
0, 16, 78,113, 78,117, 78,117, 79,239, 0,152, 76,223,127,254, /* 0x 120 */
|
||||
32, 8,103, 2,159,207, 78,249, 10, 0, 36, 73,110,102,111, 58, /* 0x 130 */
|
||||
32, 84,104,105,115, 32,102,105,108,101, 32,105,115, 32,112, 97, /* 0x 140 */
|
||||
99,107,101,100, 32,119,105,116,104, 32,116,104,101, 32, 85, 80, /* 0x 150 */
|
||||
88, 32,101,120,101, 99,117,116, 97, 98,108,101, 32,112, 97, 99, /* 0x 160 */
|
||||
107,101,114, 32,104,116,116,112, 58, 47, 47,117,112,120, 46,115, /* 0x 170 */
|
||||
102, 46,110,101,116, 32, 36, 10, 0, 36, 73,100, 58, 32, 85, 80, /* 0x 180 */
|
||||
88, 32, 85, 80, 88, 86, 32, 67,111,112,121,114,105,103,104,116, /* 0x 190 */
|
||||
32, 40, 67, 41, 32, 49, 57, 57, 54, 45, 85, 80, 88, 89, 32,116, /* 0x 1a0 */
|
||||
104,101, 32, 85, 80, 88, 32, 84,101, 97,109, 46, 32, 65,108,108, /* 0x 1b0 */
|
||||
32, 82,105,103,104,116,115, 32, 82,101,115,101,114,118,101,100, /* 0x 1c0 */
|
||||
46, 32, 36, 10, 0, 0, 0, 0, 85, 80, 88, 33,161,216,208,213, /* 0x 1d0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 1e0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 45, 24,219,208, 0,100, 8,102,248, /* 0x 1f0 */
|
||||
16, 27,209, 0,101,242,114, 1,118, 0,208, 0,102, 4, 16, 27, /* 0x 200 */
|
||||
209, 0,211,129,208, 0,100,242,102, 6, 16, 27,209, 0,100,234, /* 0x 210 */
|
||||
87,129,101, 10,225,137, 18, 27, 70,129,103, 72, 42, 1,208, 0, /* 0x 220 */
|
||||
102, 4, 16, 27,209, 0,215, 67,208, 0,102, 4, 16, 27,209, 0, /* 0x 230 */
|
||||
215, 67, 74, 67,102, 26, 82, 67,208, 0,102, 4, 16, 27,209, 0, /* 0x 240 */
|
||||
215, 67,208, 0,100,242,102, 6, 16, 27,209, 0,100,234, 84, 67, /* 0x 250 */
|
||||
69,244, 88, 0, 34, 5,146,134,215, 71, 24,218, 24,218, 81,203, /* 0x 260 */
|
||||
255,252, 96,134, 44, 60,117,112, 52, 49,117, 51, 32, 78, 34, 68, /* 0x 270 */
|
||||
211,216,211,195,217,145, 22, 24,103, 10,182, 5,102,244, 67,233, /* 0x 280 */
|
||||
0,254, 96,242, 78,215, 1,248, 0,158, 0, 2 /* 0x 290 */
|
||||
};
|
||||
69
src/stub/m68k-atari.tos-nrv2b.small.h
Normal file
69
src/stub/m68k-atari.tos-nrv2b.small.h
Normal file
@ -0,0 +1,69 @@
|
||||
/* m68k-atari.tos-nrv2b.small.h -- created from m68k-atari.tos-nrv2b.small.bin, 530 (0x212) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV2B_LOADER_SMALL_SIZE 530
|
||||
#define NRV2B_LOADER_SMALL_ADLER32 0x6843b39e
|
||||
#define NRV2B_LOADER_SMALL_CRC32 0x68e5d2d4
|
||||
|
||||
unsigned char nrv2b_loader_small[530] = {
|
||||
32, 8,103, 6, 46,104, 0, 4, 96, 4, 32, 47, 0, 4, 72,231, /* 0x 0 */
|
||||
127,254, 36, 64, 80,138, 44, 90, 40, 14, 36,188,117,112, 49, 49, /* 0x 10 */
|
||||
221,218, 36,206, 36,188,117,112, 49, 50,221,218, 40, 82, 36,206, /* 0x 20 */
|
||||
36,188,117,112, 49, 51, 38, 68,215,252,117,112, 50, 49, 32, 60, /* 0x 30 */
|
||||
117,112, 50, 50, 39, 36,117, 49,102,250, 69,250, 0,182, 47, 4, /* 0x 40 */
|
||||
122, 70, 63, 34, 83,133,100,250, 63,124, 78,113, 0,124, 97, 26, /* 0x 50 */
|
||||
40, 68,112,128,126,255,124,152,235, 78, 36, 68,213,252,117,112, /* 0x 60 */
|
||||
51, 49, 78,210, 44,195,117, 52,102,250, 72,120,255,255, 66,167, /* 0x 70 */
|
||||
47, 60, 1, 84, 0, 22, 78, 65, 79,239, 0, 12, 74,128,103, 96, /* 0x 80 */
|
||||
72,122, 0, 16, 63, 60, 0, 38, 78, 78, 92,143, 96, 82, 46, 73, /* 0x 90 */
|
||||
78,208, 47, 56, 0, 16, 47, 56, 0, 44, 47, 56, 0,244, 34, 79, /* 0x a0 */
|
||||
65,250,255,236, 33,200, 0, 16, 33,200, 0, 44, 33,200, 0,244, /* 0x b0 */
|
||||
78,113, 65,250, 0, 6,244,248, 96, 22, 65,250, 0, 20, 78,122, /* 0x c0 */
|
||||
0, 2, 34, 0, 0, 65, 8, 8, 78,123, 16, 2, 78,123, 0, 2, /* 0x d0 */
|
||||
33,223, 0,244, 33,223, 0, 44, 33,223, 0, 16, 78,113, 78,117, /* 0x e0 */
|
||||
78,117, 79,239, 0,146, 76,223,127,254, 32, 8,103, 2,159,207, /* 0x f0 */
|
||||
78,249, 10, 36, 73,100, 58, 32, 85, 80, 88, 32, 40, 67, 41, 32, /* 0x 100 */
|
||||
49, 57, 57, 54, 45, 85, 80, 88, 89, 32,116,104,101, 32, 85, 80, /* 0x 110 */
|
||||
88, 32, 84,101, 97,109, 46, 32, 65,108,108, 32, 82,105,103,104, /* 0x 120 */
|
||||
116,115, 32, 82,101,115,101,114,118,101,100, 46, 32,104,116,116, /* 0x 130 */
|
||||
112, 58, 47, 47,117,112,120, 46,115,102, 46,110,101,116, 32, 36, /* 0x 140 */
|
||||
10, 0, 0, 0, 85, 80, 88, 33,161,216,208,213, 0, 0, 0, 0, /* 0x 150 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 160 */
|
||||
0, 0, 0, 45, 24,219,208, 0,102, 4, 16, 27,209, 0,101,244, /* 0x 170 */
|
||||
114, 1,118, 0,208, 0,102, 4, 16, 27,209, 0,211,129,208, 0, /* 0x 180 */
|
||||
102, 4, 16, 27,209, 0,100,236, 87,129,101, 10,225,137, 18, 27, /* 0x 190 */
|
||||
70,129,103, 70, 42, 1,208, 0,102, 4, 16, 27,209, 0,215, 67, /* 0x 1a0 */
|
||||
208, 0,102, 4, 16, 27,209, 0,215, 67, 74, 67,102, 24, 82, 67, /* 0x 1b0 */
|
||||
208, 0,102, 4, 16, 27,209, 0,215, 67,208, 0,102, 4, 16, 27, /* 0x 1c0 */
|
||||
209, 0,100,236, 84, 67, 69,244, 88, 0, 34, 5,146,134,215, 71, /* 0x 1d0 */
|
||||
24,218, 24,218, 81,203,255,252, 96,140, 44, 60,117,112, 52, 49, /* 0x 1e0 */
|
||||
117, 51, 32, 78, 34, 68,211,216,211,195,217,145, 22, 24,103, 10, /* 0x 1f0 */
|
||||
182, 5,102,244, 67,233, 0,254, 96,242, 78,215, 1,116, 0,152, /* 0x 200 */
|
||||
0, 2 /* 0x 210 */
|
||||
};
|
||||
78
src/stub/m68k-atari.tos-nrv2d.h
Normal file
78
src/stub/m68k-atari.tos-nrv2d.h
Normal file
@ -0,0 +1,78 @@
|
||||
/* m68k-atari.tos-nrv2d.h -- created from m68k-atari.tos-nrv2d.bin, 688 (0x2b0) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV2D_LOADER_SIZE 688
|
||||
#define NRV2D_LOADER_ADLER32 0x1785f4ed
|
||||
#define NRV2D_LOADER_CRC32 0xecd288cc
|
||||
|
||||
unsigned char nrv2d_loader[688] = {
|
||||
32, 8,103, 6, 46,104, 0, 4, 96, 4, 32, 47, 0, 4, 72,231, /* 0x 0 */
|
||||
127,254, 36, 64, 80,138, 44, 90, 40, 14, 36,188,117,112, 49, 49, /* 0x 10 */
|
||||
221,218, 36,206, 36,188,117,112, 49, 50,221,218, 40, 82, 36,206, /* 0x 20 */
|
||||
36,188,117,112, 49, 51, 38, 68,215,252,117,112, 50, 49, 32, 60, /* 0x 30 */
|
||||
117,112, 50, 50, 73,236,255, 96, 76,236, 39,238, 0,120, 72,227, /* 0x 40 */
|
||||
119,228, 76,236, 39,238, 0, 80, 72,227,119,228, 76,236, 39,238, /* 0x 50 */
|
||||
0, 40, 72,227,119,228, 76,212, 39,238, 72,227,119,228,117, 49, /* 0x 60 */
|
||||
102,210,117, 50, 39, 36, 81,200,255,252, 69,250, 0,188, 47, 4, /* 0x 70 */
|
||||
122, 73, 63, 34, 83,133,100,250, 63,124, 78,113, 0,130, 97, 32, /* 0x 80 */
|
||||
40, 68,112,128,126,255,124,176,233, 78, 36, 68,213,252,117,112, /* 0x 90 */
|
||||
51, 49, 78,210, 44,195, 44,195, 44,195, 44,195,117, 52,102,244, /* 0x a0 */
|
||||
72,120,255,255, 66,167, 47, 60, 1, 84, 0, 22, 78, 65, 79,239, /* 0x b0 */
|
||||
0, 12, 74,128,103, 96, 72,122, 0, 16, 63, 60, 0, 38, 78, 78, /* 0x c0 */
|
||||
92,143, 96, 82, 46, 73, 78,208, 47, 56, 0, 16, 47, 56, 0, 44, /* 0x d0 */
|
||||
47, 56, 0,244, 34, 79, 65,250,255,236, 33,200, 0, 16, 33,200, /* 0x e0 */
|
||||
0, 44, 33,200, 0,244, 78,113, 65,250, 0, 6,244,248, 96, 22, /* 0x f0 */
|
||||
65,250, 0, 20, 78,122, 0, 2, 34, 0, 0, 65, 8, 8, 78,123, /* 0x 100 */
|
||||
16, 2, 78,123, 0, 2, 33,223, 0,244, 33,223, 0, 44, 33,223, /* 0x 110 */
|
||||
0, 16, 78,113, 78,117, 78,117, 79,239, 0,152, 76,223,127,254, /* 0x 120 */
|
||||
32, 8,103, 2,159,207, 78,249, 10, 0, 36, 73,110,102,111, 58, /* 0x 130 */
|
||||
32, 84,104,105,115, 32,102,105,108,101, 32,105,115, 32,112, 97, /* 0x 140 */
|
||||
99,107,101,100, 32,119,105,116,104, 32,116,104,101, 32, 85, 80, /* 0x 150 */
|
||||
88, 32,101,120,101, 99,117,116, 97, 98,108,101, 32,112, 97, 99, /* 0x 160 */
|
||||
107,101,114, 32,104,116,116,112, 58, 47, 47,117,112,120, 46,115, /* 0x 170 */
|
||||
102, 46,110,101,116, 32, 36, 10, 0, 36, 73,100, 58, 32, 85, 80, /* 0x 180 */
|
||||
88, 32, 85, 80, 88, 86, 32, 67,111,112,121,114,105,103,104,116, /* 0x 190 */
|
||||
32, 40, 67, 41, 32, 49, 57, 57, 54, 45, 85, 80, 88, 89, 32,116, /* 0x 1a0 */
|
||||
104,101, 32, 85, 80, 88, 32, 84,101, 97,109, 46, 32, 65,108,108, /* 0x 1b0 */
|
||||
32, 82,105,103,104,116,115, 32, 82,101,115,101,114,118,101,100, /* 0x 1c0 */
|
||||
46, 32, 36, 10, 0, 0, 0, 0, 85, 80, 88, 33,161,216,208,213, /* 0x 1d0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 1e0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 45, 24,219,208, 0,100, 8,102,248, /* 0x 1f0 */
|
||||
16, 27,209, 0,101,242,114, 1,118, 0,208, 0,102, 4, 16, 27, /* 0x 200 */
|
||||
209, 0,211, 65,208, 0,100, 8,102, 22, 16, 27,209, 0,101, 16, /* 0x 210 */
|
||||
83, 65,208, 0,102, 4, 16, 27,209, 0,211, 65,106,220, 96, 88, /* 0x 220 */
|
||||
87, 65,101, 12,225,137, 18, 27, 70,129,226,129, 42, 1, 96, 8, /* 0x 230 */
|
||||
208, 0,102, 4, 16, 27,209, 0,215, 67,208, 0,102, 4, 16, 27, /* 0x 240 */
|
||||
209, 0,215, 67, 74, 67,102, 26, 82, 67,208, 0,102, 4, 16, 27, /* 0x 250 */
|
||||
209, 0,215, 67,208, 0,100,242,102, 6, 16, 27,209, 0,100,234, /* 0x 260 */
|
||||
84, 67, 69,244, 88, 0, 34, 5,146,134,215, 71, 24,218, 24,218, /* 0x 270 */
|
||||
81,203,255,252, 96, 0,255,116, 44, 60,117,112, 52, 49,117, 51, /* 0x 280 */
|
||||
32, 78, 34, 68,211,216,211,195,217,145, 22, 24,103, 10,182, 5, /* 0x 290 */
|
||||
102,244, 67,233, 0,254, 96,242, 78,215, 1,248, 0,178, 0, 2 /* 0x 2a0 */
|
||||
};
|
||||
70
src/stub/m68k-atari.tos-nrv2d.small.h
Normal file
70
src/stub/m68k-atari.tos-nrv2d.small.h
Normal file
@ -0,0 +1,70 @@
|
||||
/* m68k-atari.tos-nrv2d.small.h -- created from m68k-atari.tos-nrv2d.small.bin, 550 (0x226) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV2D_LOADER_SMALL_SIZE 550
|
||||
#define NRV2D_LOADER_SMALL_ADLER32 0x3655ba56
|
||||
#define NRV2D_LOADER_SMALL_CRC32 0x7bba64b7
|
||||
|
||||
unsigned char nrv2d_loader_small[550] = {
|
||||
32, 8,103, 6, 46,104, 0, 4, 96, 4, 32, 47, 0, 4, 72,231, /* 0x 0 */
|
||||
127,254, 36, 64, 80,138, 44, 90, 40, 14, 36,188,117,112, 49, 49, /* 0x 10 */
|
||||
221,218, 36,206, 36,188,117,112, 49, 50,221,218, 40, 82, 36,206, /* 0x 20 */
|
||||
36,188,117,112, 49, 51, 38, 68,215,252,117,112, 50, 49, 32, 60, /* 0x 30 */
|
||||
117,112, 50, 50, 39, 36,117, 49,102,250, 69,250, 0,182, 47, 4, /* 0x 40 */
|
||||
122, 70, 63, 34, 83,133,100,250, 63,124, 78,113, 0,124, 97, 26, /* 0x 50 */
|
||||
40, 68,112,128,126,255,124,176,233, 78, 36, 68,213,252,117,112, /* 0x 60 */
|
||||
51, 49, 78,210, 44,195,117, 52,102,250, 72,120,255,255, 66,167, /* 0x 70 */
|
||||
47, 60, 1, 84, 0, 22, 78, 65, 79,239, 0, 12, 74,128,103, 96, /* 0x 80 */
|
||||
72,122, 0, 16, 63, 60, 0, 38, 78, 78, 92,143, 96, 82, 46, 73, /* 0x 90 */
|
||||
78,208, 47, 56, 0, 16, 47, 56, 0, 44, 47, 56, 0,244, 34, 79, /* 0x a0 */
|
||||
65,250,255,236, 33,200, 0, 16, 33,200, 0, 44, 33,200, 0,244, /* 0x b0 */
|
||||
78,113, 65,250, 0, 6,244,248, 96, 22, 65,250, 0, 20, 78,122, /* 0x c0 */
|
||||
0, 2, 34, 0, 0, 65, 8, 8, 78,123, 16, 2, 78,123, 0, 2, /* 0x d0 */
|
||||
33,223, 0,244, 33,223, 0, 44, 33,223, 0, 16, 78,113, 78,117, /* 0x e0 */
|
||||
78,117, 79,239, 0,146, 76,223,127,254, 32, 8,103, 2,159,207, /* 0x f0 */
|
||||
78,249, 10, 36, 73,100, 58, 32, 85, 80, 88, 32, 40, 67, 41, 32, /* 0x 100 */
|
||||
49, 57, 57, 54, 45, 85, 80, 88, 89, 32,116,104,101, 32, 85, 80, /* 0x 110 */
|
||||
88, 32, 84,101, 97,109, 46, 32, 65,108,108, 32, 82,105,103,104, /* 0x 120 */
|
||||
116,115, 32, 82,101,115,101,114,118,101,100, 46, 32,104,116,116, /* 0x 130 */
|
||||
112, 58, 47, 47,117,112,120, 46,115,102, 46,110,101,116, 32, 36, /* 0x 140 */
|
||||
10, 0, 0, 0, 85, 80, 88, 33,161,216,208,213, 0, 0, 0, 0, /* 0x 150 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 160 */
|
||||
0, 0, 0, 45, 24,219,208, 0,102, 4, 16, 27,209, 0,101,244, /* 0x 170 */
|
||||
114, 1,118, 0,208, 0,102, 4, 16, 27,209, 0,211, 65,208, 0, /* 0x 180 */
|
||||
102, 4, 16, 27,209, 0,101, 16, 83, 65,208, 0,102, 4, 16, 27, /* 0x 190 */
|
||||
209, 0,211, 65,106,222, 96, 86, 87, 65,101, 12,225,137, 18, 27, /* 0x 1a0 */
|
||||
70,129,226,129, 42, 1, 96, 8,208, 0,102, 4, 16, 27,209, 0, /* 0x 1b0 */
|
||||
215, 67,208, 0,102, 4, 16, 27,209, 0,215, 67, 74, 67,102, 24, /* 0x 1c0 */
|
||||
82, 67,208, 0,102, 4, 16, 27,209, 0,215, 67,208, 0,102, 4, /* 0x 1d0 */
|
||||
16, 27,209, 0,100,236, 84, 67, 69,244, 88, 0, 34, 5,146,134, /* 0x 1e0 */
|
||||
215, 71, 24,218, 24,218, 81,203,255,252, 96, 0,255,122, 44, 60, /* 0x 1f0 */
|
||||
117,112, 52, 49,117, 51, 32, 78, 34, 68,211,216,211,195,217,145, /* 0x 200 */
|
||||
22, 24,103, 10,182, 5,102,244, 67,233, 0,254, 96,242, 78,215, /* 0x 210 */
|
||||
1,116, 0,172, 0, 2 /* 0x 220 */
|
||||
};
|
||||
79
src/stub/m68k-atari.tos-nrv2e.h
Normal file
79
src/stub/m68k-atari.tos-nrv2e.h
Normal file
@ -0,0 +1,79 @@
|
||||
/* m68k-atari.tos-nrv2e.h -- created from m68k-atari.tos-nrv2e.bin, 696 (0x2b8) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV2E_LOADER_SIZE 696
|
||||
#define NRV2E_LOADER_ADLER32 0xa0e6f701
|
||||
#define NRV2E_LOADER_CRC32 0x1d26a023
|
||||
|
||||
unsigned char nrv2e_loader[696] = {
|
||||
32, 8,103, 6, 46,104, 0, 4, 96, 4, 32, 47, 0, 4, 72,231, /* 0x 0 */
|
||||
127,254, 36, 64, 80,138, 44, 90, 40, 14, 36,188,117,112, 49, 49, /* 0x 10 */
|
||||
221,218, 36,206, 36,188,117,112, 49, 50,221,218, 40, 82, 36,206, /* 0x 20 */
|
||||
36,188,117,112, 49, 51, 38, 68,215,252,117,112, 50, 49, 32, 60, /* 0x 30 */
|
||||
117,112, 50, 50, 73,236,255, 96, 76,236, 39,238, 0,120, 72,227, /* 0x 40 */
|
||||
119,228, 76,236, 39,238, 0, 80, 72,227,119,228, 76,236, 39,238, /* 0x 50 */
|
||||
0, 40, 72,227,119,228, 76,212, 39,238, 72,227,119,228,117, 49, /* 0x 60 */
|
||||
102,210,117, 50, 39, 36, 81,200,255,252, 69,250, 0,188, 47, 4, /* 0x 70 */
|
||||
122, 73, 63, 34, 83,133,100,250, 63,124, 78,113, 0,130, 97, 32, /* 0x 80 */
|
||||
40, 68,112,128,126, 0,124,176,233, 78, 36, 68,213,252,117,112, /* 0x 90 */
|
||||
51, 49, 78,210, 44,195, 44,195, 44,195, 44,195,117, 52,102,244, /* 0x a0 */
|
||||
72,120,255,255, 66,167, 47, 60, 1, 84, 0, 22, 78, 65, 79,239, /* 0x b0 */
|
||||
0, 12, 74,128,103, 96, 72,122, 0, 16, 63, 60, 0, 38, 78, 78, /* 0x c0 */
|
||||
92,143, 96, 82, 46, 73, 78,208, 47, 56, 0, 16, 47, 56, 0, 44, /* 0x d0 */
|
||||
47, 56, 0,244, 34, 79, 65,250,255,236, 33,200, 0, 16, 33,200, /* 0x e0 */
|
||||
0, 44, 33,200, 0,244, 78,113, 65,250, 0, 6,244,248, 96, 22, /* 0x f0 */
|
||||
65,250, 0, 20, 78,122, 0, 2, 34, 0, 0, 65, 8, 8, 78,123, /* 0x 100 */
|
||||
16, 2, 78,123, 0, 2, 33,223, 0,244, 33,223, 0, 44, 33,223, /* 0x 110 */
|
||||
0, 16, 78,113, 78,117, 78,117, 79,239, 0,152, 76,223,127,254, /* 0x 120 */
|
||||
32, 8,103, 2,159,207, 78,249, 10, 0, 36, 73,110,102,111, 58, /* 0x 130 */
|
||||
32, 84,104,105,115, 32,102,105,108,101, 32,105,115, 32,112, 97, /* 0x 140 */
|
||||
99,107,101,100, 32,119,105,116,104, 32,116,104,101, 32, 85, 80, /* 0x 150 */
|
||||
88, 32,101,120,101, 99,117,116, 97, 98,108,101, 32,112, 97, 99, /* 0x 160 */
|
||||
107,101,114, 32,104,116,116,112, 58, 47, 47,117,112,120, 46,115, /* 0x 170 */
|
||||
102, 46,110,101,116, 32, 36, 10, 0, 36, 73,100, 58, 32, 85, 80, /* 0x 180 */
|
||||
88, 32, 85, 80, 88, 86, 32, 67,111,112,121,114,105,103,104,116, /* 0x 190 */
|
||||
32, 40, 67, 41, 32, 49, 57, 57, 54, 45, 85, 80, 88, 89, 32,116, /* 0x 1a0 */
|
||||
104,101, 32, 85, 80, 88, 32, 84,101, 97,109, 46, 32, 65,108,108, /* 0x 1b0 */
|
||||
32, 82,105,103,104,116,115, 32, 82,101,115,101,114,118,101,100, /* 0x 1c0 */
|
||||
46, 32, 36, 10, 0, 0, 0, 0, 85, 80, 88, 33,161,216,208,213, /* 0x 1d0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 1e0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 45, 24,219,208, 0,100, 8,102,248, /* 0x 1f0 */
|
||||
16, 27,209, 0,101,242,114, 1,118, 0,208, 0,102, 4, 16, 27, /* 0x 200 */
|
||||
209, 0,211, 65,208, 0,100, 8,102, 22, 16, 27,209, 0,101, 16, /* 0x 210 */
|
||||
83, 65,208, 0,102, 4, 16, 27,209, 0,211, 65,106,220, 96, 96, /* 0x 220 */
|
||||
87, 65,101, 22,225,137, 18, 27, 70,129,226,129,100, 24,208, 0, /* 0x 230 */
|
||||
102, 4, 16, 27,209, 0,215, 67, 96, 48, 34, 5,208, 0,102, 4, /* 0x 240 */
|
||||
16, 27,209, 0,101,232, 82, 67,208, 0,102, 4, 16, 27,209, 0, /* 0x 250 */
|
||||
101,220,208, 0,102, 4, 16, 27,209, 0,215, 67,208, 0,100,242, /* 0x 260 */
|
||||
102, 6, 16, 27,209, 0,100,234, 84, 67, 42, 1, 69,244, 24, 0, /* 0x 270 */
|
||||
146,134,215, 71, 24,218, 24,218, 81,203,255,252, 96, 0,255,108, /* 0x 280 */
|
||||
44, 60,117,112, 52, 49,117, 51, 32, 78, 34, 68,211,216,211,195, /* 0x 290 */
|
||||
217,145, 22, 24,103, 10,182, 5,102,244, 67,233, 0,254, 96,242, /* 0x 2a0 */
|
||||
78,215, 1,248, 0,186, 0, 2 /* 0x 2b0 */
|
||||
};
|
||||
70
src/stub/m68k-atari.tos-nrv2e.small.h
Normal file
70
src/stub/m68k-atari.tos-nrv2e.small.h
Normal file
@ -0,0 +1,70 @@
|
||||
/* m68k-atari.tos-nrv2e.small.h -- created from m68k-atari.tos-nrv2e.small.bin, 558 (0x22e) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV2E_LOADER_SMALL_SIZE 558
|
||||
#define NRV2E_LOADER_SMALL_ADLER32 0x4cabbc6a
|
||||
#define NRV2E_LOADER_SMALL_CRC32 0xda3e6739
|
||||
|
||||
unsigned char nrv2e_loader_small[558] = {
|
||||
32, 8,103, 6, 46,104, 0, 4, 96, 4, 32, 47, 0, 4, 72,231, /* 0x 0 */
|
||||
127,254, 36, 64, 80,138, 44, 90, 40, 14, 36,188,117,112, 49, 49, /* 0x 10 */
|
||||
221,218, 36,206, 36,188,117,112, 49, 50,221,218, 40, 82, 36,206, /* 0x 20 */
|
||||
36,188,117,112, 49, 51, 38, 68,215,252,117,112, 50, 49, 32, 60, /* 0x 30 */
|
||||
117,112, 50, 50, 39, 36,117, 49,102,250, 69,250, 0,182, 47, 4, /* 0x 40 */
|
||||
122, 70, 63, 34, 83,133,100,250, 63,124, 78,113, 0,124, 97, 26, /* 0x 50 */
|
||||
40, 68,112,128,126, 0,124,176,233, 78, 36, 68,213,252,117,112, /* 0x 60 */
|
||||
51, 49, 78,210, 44,195,117, 52,102,250, 72,120,255,255, 66,167, /* 0x 70 */
|
||||
47, 60, 1, 84, 0, 22, 78, 65, 79,239, 0, 12, 74,128,103, 96, /* 0x 80 */
|
||||
72,122, 0, 16, 63, 60, 0, 38, 78, 78, 92,143, 96, 82, 46, 73, /* 0x 90 */
|
||||
78,208, 47, 56, 0, 16, 47, 56, 0, 44, 47, 56, 0,244, 34, 79, /* 0x a0 */
|
||||
65,250,255,236, 33,200, 0, 16, 33,200, 0, 44, 33,200, 0,244, /* 0x b0 */
|
||||
78,113, 65,250, 0, 6,244,248, 96, 22, 65,250, 0, 20, 78,122, /* 0x c0 */
|
||||
0, 2, 34, 0, 0, 65, 8, 8, 78,123, 16, 2, 78,123, 0, 2, /* 0x d0 */
|
||||
33,223, 0,244, 33,223, 0, 44, 33,223, 0, 16, 78,113, 78,117, /* 0x e0 */
|
||||
78,117, 79,239, 0,146, 76,223,127,254, 32, 8,103, 2,159,207, /* 0x f0 */
|
||||
78,249, 10, 36, 73,100, 58, 32, 85, 80, 88, 32, 40, 67, 41, 32, /* 0x 100 */
|
||||
49, 57, 57, 54, 45, 85, 80, 88, 89, 32,116,104,101, 32, 85, 80, /* 0x 110 */
|
||||
88, 32, 84,101, 97,109, 46, 32, 65,108,108, 32, 82,105,103,104, /* 0x 120 */
|
||||
116,115, 32, 82,101,115,101,114,118,101,100, 46, 32,104,116,116, /* 0x 130 */
|
||||
112, 58, 47, 47,117,112,120, 46,115,102, 46,110,101,116, 32, 36, /* 0x 140 */
|
||||
10, 0, 0, 0, 85, 80, 88, 33,161,216,208,213, 0, 0, 0, 0, /* 0x 150 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 160 */
|
||||
0, 0, 0, 45, 24,219,208, 0,102, 4, 16, 27,209, 0,101,244, /* 0x 170 */
|
||||
114, 1,118, 0,208, 0,102, 4, 16, 27,209, 0,211, 65,208, 0, /* 0x 180 */
|
||||
102, 4, 16, 27,209, 0,101, 16, 83, 65,208, 0,102, 4, 16, 27, /* 0x 190 */
|
||||
209, 0,211, 65,106,222, 96, 94, 87, 65,101, 22,225,137, 18, 27, /* 0x 1a0 */
|
||||
70,129,226,129,100, 24,208, 0,102, 4, 16, 27,209, 0,215, 67, /* 0x 1b0 */
|
||||
96, 46, 34, 5,208, 0,102, 4, 16, 27,209, 0,101,232, 82, 67, /* 0x 1c0 */
|
||||
208, 0,102, 4, 16, 27,209, 0,101,220,208, 0,102, 4, 16, 27, /* 0x 1d0 */
|
||||
209, 0,215, 67,208, 0,102, 4, 16, 27,209, 0,100,236, 84, 67, /* 0x 1e0 */
|
||||
42, 1, 69,244, 24, 0,146,134,215, 71, 24,218, 24,218, 81,203, /* 0x 1f0 */
|
||||
255,252, 96, 0,255,114, 44, 60,117,112, 52, 49,117, 51, 32, 78, /* 0x 200 */
|
||||
34, 68,211,216,211,195,217,145, 22, 24,103, 10,182, 5,102,244, /* 0x 210 */
|
||||
67,233, 0,254, 96,242, 78,215, 1,116, 0,180, 0, 2 /* 0x 220 */
|
||||
};
|
||||
281
src/stub/mipsel.r3000-ps1-boot.h
Normal file
281
src/stub/mipsel.r3000-ps1-boot.h
Normal file
@ -0,0 +1,281 @@
|
||||
/* mipsel.r3000-ps1-boot.h -- created from mipsel.r3000-ps1-boot.bin, 3935 (0xf5f) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV_BOOT_LOADER_SIZE 3935
|
||||
#define NRV_BOOT_LOADER_ADLER32 0x07b10524
|
||||
#define NRV_BOOT_LOADER_CRC32 0x0ac25782
|
||||
|
||||
unsigned char nrv_boot_loader[3935] = {
|
||||
83, 80, 8, 60, 82, 86, 8, 53, 35, 64, 8, 2, 8, 0, 0, 1, /* 0x 0 */
|
||||
228,255,189, 39, 0, 0,164,175, 4, 0,165,175, 8, 0,166,175, /* 0x 10 */
|
||||
12, 0,167,175, 16, 0,162,175, 20, 0,163,175, 24, 0,191,175, /* 0x 20 */
|
||||
80, 67, 4, 60, 79, 68,132, 52, 69, 68, 6, 60, 79, 67,198, 52, /* 0x 30 */
|
||||
69, 68, 6, 60, 33, 72, 0, 0, 1, 0, 11, 36, 33, 64,128, 0, /* 0x 40 */
|
||||
127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 50 */
|
||||
1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 60 */
|
||||
1, 0, 66, 48, 6, 0, 64, 16, 1, 0, 3, 36, 0, 0, 2,145, /* 0x 70 */
|
||||
1, 0, 8, 37, 0, 0,194,160,241,255, 0, 16, 1, 0,198, 36, /* 0x 80 */
|
||||
127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 90 */
|
||||
1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x a0 */
|
||||
1, 0, 66, 48, 64, 24, 3, 0, 33, 24, 98, 0,127, 0, 34, 49, /* 0x b0 */
|
||||
5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x c0 */
|
||||
64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x d0 */
|
||||
236,255, 64, 16,127, 0, 34, 49, 2, 0, 2, 36, 3, 0, 98, 20, /* 0x e0 */
|
||||
253,255, 99, 36, 9, 0, 0, 16, 33, 24, 96, 1, 0, 0, 2,145, /* 0x f0 */
|
||||
1, 0, 8, 37, 0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, /* 0x 100 */
|
||||
77, 0, 98, 16, 1, 0, 99, 36, 33, 88, 96, 0,127, 0, 34, 49, /* 0x 110 */
|
||||
5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 120 */
|
||||
64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 130 */
|
||||
33, 96, 64, 0, 64, 96, 12, 0,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 140 */
|
||||
64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 150 */
|
||||
1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, 33, 96,130, 1, /* 0x 160 */
|
||||
26, 0,128, 21, 1, 13, 98, 44, 1, 0, 12, 36,127, 0, 34, 49, /* 0x 170 */
|
||||
5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 180 */
|
||||
64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 190 */
|
||||
64, 96, 12, 0, 33, 96,130, 1,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 1a0 */
|
||||
64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 1b0 */
|
||||
1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48,236,255, 64, 16, /* 0x 1c0 */
|
||||
127, 0, 34, 49, 2, 0,140, 37, 1, 13, 98, 44, 1, 0, 66, 56, /* 0x 1d0 */
|
||||
33, 96,130, 1, 4, 0, 98, 40, 14, 0, 64, 20, 1, 0,140, 37, /* 0x 1e0 */
|
||||
35, 24,195, 0, 4, 0,130, 41, 12, 0, 64, 20, 0, 0, 98,152, /* 0x 1f0 */
|
||||
3, 0, 98,136,252,255,140, 37, 0, 0,194,184, 3, 0,194,168, /* 0x 200 */
|
||||
4, 0, 99, 36,247,255,128, 21, 4, 0,198, 36,141,255, 0, 16, /* 0x 210 */
|
||||
127, 0, 34, 49, 35, 24,195, 0, 0, 0, 98,144,255,255,140, 37, /* 0x 220 */
|
||||
0, 0,194,160, 1, 0, 99, 36,251,255,128, 21, 1, 0,198, 36, /* 0x 230 */
|
||||
132,255, 0, 16,127, 0, 34, 49, 33, 72, 0, 0, 1, 0, 11, 36, /* 0x 240 */
|
||||
33, 64,128, 0,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 250 */
|
||||
0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 260 */
|
||||
2, 18, 9, 0, 1, 0, 66, 48, 6, 0, 64, 16, 1, 0, 3, 36, /* 0x 270 */
|
||||
0, 0, 2,145, 1, 0, 8, 37, 0, 0,194,160,241,255, 0, 16, /* 0x 280 */
|
||||
1, 0,198, 36,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 290 */
|
||||
0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 2a0 */
|
||||
2, 18, 9, 0, 1, 0, 66, 48, 64, 24, 3, 0, 33, 24, 98, 0, /* 0x 2b0 */
|
||||
127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 2c0 */
|
||||
1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 2d0 */
|
||||
1, 0, 66, 48, 13, 0, 64, 20,255,255, 98, 36, 64, 24, 2, 0, /* 0x 2e0 */
|
||||
127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 2f0 */
|
||||
1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 300 */
|
||||
1, 0, 66, 48,223,255, 0, 16, 33, 24, 98, 0, 2, 0, 2, 36, /* 0x 310 */
|
||||
13, 0, 98, 20,253,255, 99, 36,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 320 */
|
||||
64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 330 */
|
||||
1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, 33, 24, 96, 1, /* 0x 340 */
|
||||
12, 0, 0, 16, 1, 0, 76, 48, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 350 */
|
||||
0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, 70, 0, 98, 16, /* 0x 360 */
|
||||
39, 16, 3, 0, 1, 0, 76, 48, 66, 24, 3, 0, 1, 0, 99, 36, /* 0x 370 */
|
||||
33, 88, 96, 0,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 380 */
|
||||
0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 390 */
|
||||
2, 18, 9, 0, 1, 0, 66, 48, 64, 96, 12, 0, 33, 96,130, 1, /* 0x 3a0 */
|
||||
26, 0,128, 21, 1, 5, 98, 44, 1, 0, 12, 36,127, 0, 34, 49, /* 0x 3b0 */
|
||||
5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 3c0 */
|
||||
64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 3d0 */
|
||||
64, 96, 12, 0, 33, 96,130, 1,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 3e0 */
|
||||
64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 3f0 */
|
||||
1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48,236,255, 64, 16, /* 0x 400 */
|
||||
127, 0, 34, 49, 2, 0,140, 37, 1, 5, 98, 44, 1, 0, 66, 56, /* 0x 410 */
|
||||
33, 96,130, 1, 4, 0, 98, 40, 14, 0, 64, 20, 1, 0,140, 37, /* 0x 420 */
|
||||
35, 24,195, 0, 4, 0,130, 41, 12, 0, 64, 20, 0, 0, 98,152, /* 0x 430 */
|
||||
3, 0, 98,136,252,255,140, 37, 0, 0,194,184, 3, 0,194,168, /* 0x 440 */
|
||||
4, 0, 99, 36,247,255,128, 21, 4, 0,198, 36,126,255, 0, 16, /* 0x 450 */
|
||||
127, 0, 34, 49, 35, 24,195, 0, 0, 0, 98,144,255,255,140, 37, /* 0x 460 */
|
||||
0, 0,194,160, 1, 0, 99, 36,251,255,128, 21, 1, 0,198, 36, /* 0x 470 */
|
||||
117,255, 0, 16,127, 0, 34, 49, 33, 72, 0, 0, 1, 0, 11, 36, /* 0x 480 */
|
||||
33, 64,128, 0,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 490 */
|
||||
0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 4a0 */
|
||||
2, 18, 9, 0, 1, 0, 66, 48, 6, 0, 64, 16, 1, 0, 3, 36, /* 0x 4b0 */
|
||||
0, 0, 2,145, 1, 0, 8, 37, 0, 0,194,160,241,255, 0, 16, /* 0x 4c0 */
|
||||
1, 0,198, 36,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 4d0 */
|
||||
0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 4e0 */
|
||||
2, 18, 9, 0, 1, 0, 66, 48, 64, 24, 3, 0, 33, 24, 98, 0, /* 0x 4f0 */
|
||||
127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 500 */
|
||||
1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 510 */
|
||||
1, 0, 66, 48, 13, 0, 64, 20,255,255, 98, 36, 64, 24, 2, 0, /* 0x 520 */
|
||||
127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 530 */
|
||||
1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 540 */
|
||||
1, 0, 66, 48,223,255, 0, 16, 33, 24, 98, 0, 2, 0, 2, 36, /* 0x 550 */
|
||||
13, 0, 98, 20,253,255, 99, 36, 33, 24, 96, 1,127, 0, 34, 49, /* 0x 560 */
|
||||
5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 570 */
|
||||
64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 580 */
|
||||
12, 0, 0, 16, 1, 0, 76, 48, 0, 0, 2,145, 0, 26, 3, 0, /* 0x 590 */
|
||||
33, 24, 98, 0,255,255, 2, 36, 92, 0, 98, 16, 1, 0, 8, 37, /* 0x 5a0 */
|
||||
39, 16, 3, 0, 1, 0, 76, 48, 66, 24, 3, 0, 1, 0, 99, 36, /* 0x 5b0 */
|
||||
33, 88, 96, 0, 13, 0,128, 17,127, 0, 34, 49,127, 0, 34, 49, /* 0x 5c0 */
|
||||
5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 5d0 */
|
||||
64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 5e0 */
|
||||
46, 0, 0, 16, 1, 0, 76, 36,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 5f0 */
|
||||
64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 600 */
|
||||
1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, 12, 0, 64, 16, /* 0x 610 */
|
||||
1, 0,140, 37,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 620 */
|
||||
0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 630 */
|
||||
2, 18, 9, 0, 1, 0, 66, 48, 24, 0, 0, 16, 3, 0, 76, 36, /* 0x 640 */
|
||||
127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 650 */
|
||||
1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 660 */
|
||||
1, 0, 66, 48, 64, 96, 12, 0, 33, 96,130, 1,127, 0, 34, 49, /* 0x 670 */
|
||||
5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 680 */
|
||||
64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 690 */
|
||||
236,255, 64, 16,127, 0, 34, 49, 3, 0,140, 37, 1, 5, 98, 44, /* 0x 6a0 */
|
||||
1, 0, 66, 56, 33, 96,130, 1, 4, 0, 98, 40, 14, 0, 64, 20, /* 0x 6b0 */
|
||||
1, 0,140, 37, 35, 24,195, 0, 4, 0,130, 41, 12, 0, 64, 20, /* 0x 6c0 */
|
||||
0, 0, 98,152, 3, 0, 98,136,252,255,140, 37, 0, 0,194,184, /* 0x 6d0 */
|
||||
3, 0,194,168, 4, 0, 99, 36,247,255,128, 21, 4, 0,198, 36, /* 0x 6e0 */
|
||||
105,255, 0, 16,127, 0, 34, 49, 35, 24,195, 0, 0, 0, 98,144, /* 0x 6f0 */
|
||||
255,255,140, 37, 0, 0,194,160, 1, 0, 99, 36,251,255,128, 21, /* 0x 700 */
|
||||
1, 0,198, 36, 96,255, 0, 16,127, 0, 34, 49, 33, 72, 0, 0, /* 0x 710 */
|
||||
33,104, 32, 1, 1, 0, 11, 36, 33, 64,128, 0,255,255,173, 37, /* 0x 720 */
|
||||
6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, /* 0x 730 */
|
||||
3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, /* 0x 740 */
|
||||
6, 0, 64, 16, 1, 0, 3, 36, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 750 */
|
||||
0, 0,194,160,241,255, 0, 16, 1, 0,198, 36,255,255,173, 37, /* 0x 760 */
|
||||
6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, /* 0x 770 */
|
||||
3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, /* 0x 780 */
|
||||
64, 24, 3, 0, 33, 24, 98, 0,255,255,173, 37, 6, 0,161, 5, /* 0x 790 */
|
||||
6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x 7a0 */
|
||||
4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48,235,255, 64, 16, /* 0x 7b0 */
|
||||
0, 0, 0, 0, 2, 0, 2, 36, 3, 0, 98, 20,253,255, 99, 36, /* 0x 7c0 */
|
||||
9, 0, 0, 16, 33, 24, 96, 1, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 7d0 */
|
||||
0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, 77, 0, 98, 16, /* 0x 7e0 */
|
||||
1, 0, 99, 36, 33, 88, 96, 0,255,255,173, 37, 6, 0,161, 5, /* 0x 7f0 */
|
||||
6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x 800 */
|
||||
4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, 33, 96, 64, 0, /* 0x 810 */
|
||||
64, 96, 12, 0,255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, /* 0x 820 */
|
||||
31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x 830 */
|
||||
6, 16,169, 1, 1, 0, 66, 48, 33, 96,130, 1, 26, 0,128, 21, /* 0x 840 */
|
||||
1, 13, 98, 44, 1, 0, 12, 36,255,255,173, 37, 6, 0,161, 5, /* 0x 850 */
|
||||
6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x 860 */
|
||||
4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, 64, 96, 12, 0, /* 0x 870 */
|
||||
33, 96,130, 1,255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, /* 0x 880 */
|
||||
31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x 890 */
|
||||
6, 16,169, 1, 1, 0, 66, 48,235,255, 64, 16, 0, 0, 0, 0, /* 0x 8a0 */
|
||||
2, 0,140, 37, 1, 13, 98, 44, 1, 0, 66, 56, 33, 96,130, 1, /* 0x 8b0 */
|
||||
4, 0, 98, 40, 14, 0, 64, 20, 1, 0,140, 37, 35, 24,195, 0, /* 0x 8c0 */
|
||||
4, 0,130, 41, 12, 0, 64, 20, 0, 0, 98,152, 3, 0, 98,136, /* 0x 8d0 */
|
||||
252,255,140, 37, 0, 0,194,184, 3, 0,194,168, 4, 0, 99, 36, /* 0x 8e0 */
|
||||
247,255,128, 21, 4, 0,198, 36,141,255, 0, 16,255,255,173, 37, /* 0x 8f0 */
|
||||
35, 24,195, 0, 0, 0, 98,144,255,255,140, 37, 0, 0,194,160, /* 0x 900 */
|
||||
1, 0, 99, 36,251,255,128, 21, 1, 0,198, 36,132,255, 0, 16, /* 0x 910 */
|
||||
255,255,173, 37, 33, 72, 0, 0, 33,104, 32, 1, 1, 0, 11, 36, /* 0x 920 */
|
||||
33, 64,128, 0,255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, /* 0x 930 */
|
||||
31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x 940 */
|
||||
6, 16,169, 1, 1, 0, 66, 48, 6, 0, 64, 16, 1, 0, 3, 36, /* 0x 950 */
|
||||
0, 0, 2,145, 1, 0, 8, 37, 0, 0,194,160,241,255, 0, 16, /* 0x 960 */
|
||||
1, 0,198, 36,255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, /* 0x 970 */
|
||||
31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x 980 */
|
||||
6, 16,169, 1, 1, 0, 66, 48, 64, 24, 3, 0, 33, 24, 98, 0, /* 0x 990 */
|
||||
255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, /* 0x 9a0 */
|
||||
0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, /* 0x 9b0 */
|
||||
1, 0, 66, 48, 13, 0, 64, 20,255,255, 98, 36, 64, 24, 2, 0, /* 0x 9c0 */
|
||||
255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, /* 0x 9d0 */
|
||||
0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, /* 0x 9e0 */
|
||||
1, 0, 66, 48,223,255, 0, 16, 33, 24, 98, 0, 2, 0, 2, 36, /* 0x 9f0 */
|
||||
13, 0, 98, 20,253,255, 99, 36,255,255,173, 37, 6, 0,161, 5, /* 0x a00 */
|
||||
6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x a10 */
|
||||
4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, 33, 24, 96, 1, /* 0x a20 */
|
||||
12, 0, 0, 16, 1, 0, 76, 48, 0, 0, 2,145, 1, 0, 8, 37, /* 0x a30 */
|
||||
0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, 70, 0, 98, 16, /* 0x a40 */
|
||||
39, 16, 3, 0, 1, 0, 76, 48, 66, 24, 3, 0, 1, 0, 99, 36, /* 0x a50 */
|
||||
33, 88, 96, 0,255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, /* 0x a60 */
|
||||
31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x a70 */
|
||||
6, 16,169, 1, 1, 0, 66, 48, 64, 96, 12, 0, 33, 96,130, 1, /* 0x a80 */
|
||||
26, 0,128, 21, 1, 5, 98, 44, 1, 0, 12, 36,255,255,173, 37, /* 0x a90 */
|
||||
6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, /* 0x aa0 */
|
||||
3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, /* 0x ab0 */
|
||||
64, 96, 12, 0, 33, 96,130, 1,255,255,173, 37, 6, 0,161, 5, /* 0x ac0 */
|
||||
6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x ad0 */
|
||||
4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48,235,255, 64, 16, /* 0x ae0 */
|
||||
0, 0, 0, 0, 2, 0,140, 37, 1, 5, 98, 44, 1, 0, 66, 56, /* 0x af0 */
|
||||
33, 96,130, 1, 4, 0, 98, 40, 14, 0, 64, 20, 1, 0,140, 37, /* 0x b00 */
|
||||
35, 24,195, 0, 4, 0,130, 41, 12, 0, 64, 20, 0, 0, 98,152, /* 0x b10 */
|
||||
3, 0, 98,136,252,255,140, 37, 0, 0,194,184, 3, 0,194,168, /* 0x b20 */
|
||||
4, 0, 99, 36,247,255,128, 21, 4, 0,198, 36,126,255, 0, 16, /* 0x b30 */
|
||||
255,255,173, 37, 35, 24,195, 0, 0, 0, 98,144,255,255,140, 37, /* 0x b40 */
|
||||
0, 0,194,160, 1, 0, 99, 36,251,255,128, 21, 1, 0,198, 36, /* 0x b50 */
|
||||
117,255, 0, 16,255,255,173, 37, 33, 72, 0, 0, 33,104, 32, 1, /* 0x b60 */
|
||||
1, 0, 11, 36, 33, 64,128, 0,255,255,173, 37, 6, 0,161, 5, /* 0x b70 */
|
||||
6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x b80 */
|
||||
4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, 6, 0, 64, 16, /* 0x b90 */
|
||||
1, 0, 3, 36, 0, 0, 2,145, 1, 0, 8, 37, 0, 0,194,160, /* 0x ba0 */
|
||||
241,255, 0, 16, 1, 0,198, 36,255,255,173, 37, 6, 0,161, 5, /* 0x bb0 */
|
||||
6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x bc0 */
|
||||
4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, 64, 24, 3, 0, /* 0x bd0 */
|
||||
33, 24, 98, 0,255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, /* 0x be0 */
|
||||
31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x bf0 */
|
||||
6, 16,169, 1, 1, 0, 66, 48, 13, 0, 64, 20,255,255, 98, 36, /* 0x c00 */
|
||||
64, 24, 2, 0,255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, /* 0x c10 */
|
||||
31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x c20 */
|
||||
6, 16,169, 1, 1, 0, 66, 48,223,255, 0, 16, 33, 24, 98, 0, /* 0x c30 */
|
||||
2, 0, 2, 36, 13, 0, 98, 20,253,255, 99, 36, 33, 24, 96, 1, /* 0x c40 */
|
||||
255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, /* 0x c50 */
|
||||
0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, /* 0x c60 */
|
||||
1, 0, 66, 48, 12, 0, 0, 16, 1, 0, 76, 48, 0, 0, 2,145, /* 0x c70 */
|
||||
0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, 92, 0, 98, 16, /* 0x c80 */
|
||||
1, 0, 8, 37, 39, 16, 3, 0, 1, 0, 76, 48, 66, 24, 3, 0, /* 0x c90 */
|
||||
1, 0, 99, 36, 33, 88, 96, 0, 12, 0,128, 17, 0, 0, 0, 0, /* 0x ca0 */
|
||||
255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, /* 0x cb0 */
|
||||
0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, /* 0x cc0 */
|
||||
1, 0, 66, 48, 46, 0, 0, 16, 1, 0, 76, 36,255,255,173, 37, /* 0x cd0 */
|
||||
6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, /* 0x ce0 */
|
||||
3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, /* 0x cf0 */
|
||||
12, 0, 64, 16, 1, 0,140, 37,255,255,173, 37, 6, 0,161, 5, /* 0x d00 */
|
||||
6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x d10 */
|
||||
4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, 24, 0, 0, 16, /* 0x d20 */
|
||||
3, 0, 76, 36,255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, /* 0x d30 */
|
||||
31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x d40 */
|
||||
6, 16,169, 1, 1, 0, 66, 48, 64, 96, 12, 0, 33, 96,130, 1, /* 0x d50 */
|
||||
255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, /* 0x d60 */
|
||||
0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, /* 0x d70 */
|
||||
1, 0, 66, 48,235,255, 64, 16, 0, 0, 0, 0, 3, 0,140, 37, /* 0x d80 */
|
||||
1, 5, 98, 44, 1, 0, 66, 56, 33, 96,130, 1, 4, 0, 98, 40, /* 0x d90 */
|
||||
14, 0, 64, 20, 1, 0,140, 37, 35, 24,195, 0, 4, 0,130, 41, /* 0x da0 */
|
||||
12, 0, 64, 20, 0, 0, 98,152, 3, 0, 98,136,252,255,140, 37, /* 0x db0 */
|
||||
0, 0,194,184, 3, 0,194,168, 4, 0, 99, 36,247,255,128, 21, /* 0x dc0 */
|
||||
4, 0,198, 36,105,255, 0, 16,255,255,173, 37, 35, 24,195, 0, /* 0x dd0 */
|
||||
0, 0, 98,144,255,255,140, 37, 0, 0,194,160, 1, 0, 99, 36, /* 0x de0 */
|
||||
251,255,128, 21, 1, 0,198, 36, 96,255, 0, 16,255,255,173, 37, /* 0x df0 */
|
||||
67, 83, 4, 52, 67, 83, 4, 52,192, 32, 4, 0, 0, 0,192,172, /* 0x e00 */
|
||||
255,255,132, 36,253,255,128, 20, 4, 0,198, 36, 3, 0,192,168, /* 0x e10 */
|
||||
0, 0,192,184,255,255,132, 36,252,255,128, 20, 4, 0,198, 36, /* 0x e20 */
|
||||
160, 0, 10, 36, 9,248, 64, 1, 68, 0, 9, 36, 0, 0,164,143, /* 0x e30 */
|
||||
4, 0,165,143, 8, 0,166,143, 12, 0,167,143, 16, 0,162,143, /* 0x e40 */
|
||||
20, 0,163,143, 80, 69, 80, 74, 24, 0,191,143, 85, 80, 88, 33, /* 0x e50 */
|
||||
161,216,208,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x e60 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 80, 83, 49, 83, /* 0x e70 */
|
||||
84, 65, 82, 84, 0, 0, 0, 0, 0, 80, 83, 49, 69, 78, 84, 82, /* 0x e80 */
|
||||
89, 0, 20, 0, 0, 0, 80, 83, 49, 67, 79, 78, 72, 76, 0, 56, /* 0x e90 */
|
||||
0, 0, 0, 80, 83, 49, 67, 79, 78, 72, 73, 0, 64, 0, 0, 0, /* 0x ea0 */
|
||||
80, 83, 49, 78, 50, 66, 48, 56, 0, 68, 0, 0, 0, 80, 83, 49, /* 0x eb0 */
|
||||
78, 50, 68, 48, 56, 0, 72, 2, 0, 0, 80, 83, 49, 78, 50, 69, /* 0x ec0 */
|
||||
48, 56, 0,136, 4, 0, 0, 80, 83, 49, 78, 50, 66, 51, 50, 0, /* 0x ed0 */
|
||||
28, 7, 0, 0, 80, 83, 49, 78, 50, 68, 51, 50, 0, 36, 9, 0, /* 0x ee0 */
|
||||
0, 80, 83, 49, 78, 50, 69, 51, 50, 0,104, 11, 0, 0, 80, 83, /* 0x ef0 */
|
||||
49, 77, 83, 69, 84, 83, 0, 0, 14, 0, 0, 80, 83, 49, 77, 83, /* 0x f00 */
|
||||
69, 84, 66, 0, 4, 14, 0, 0, 80, 83, 49, 77, 83, 69, 84, 65, /* 0x f10 */
|
||||
0, 12, 14, 0, 0, 80, 83, 49, 77, 83, 69, 84, 85, 0, 28, 14, /* 0x f20 */
|
||||
0, 0, 80, 83, 49, 69, 88, 73, 84, 67, 0, 48, 14, 0, 0, 80, /* 0x f30 */
|
||||
83, 49, 80, 65, 72, 68, 82, 0, 92, 14, 0, 0, 80, 83, 49, 69, /* 0x f40 */
|
||||
79, 65, 83, 77, 0,124, 14, 0, 0,255,255,255,255,124, 14 /* 0x f50 */
|
||||
};
|
||||
212
src/stub/mipsel.r3000-ps1-console.h
Normal file
212
src/stub/mipsel.r3000-ps1-console.h
Normal file
@ -0,0 +1,212 @@
|
||||
/* mipsel.r3000-ps1-console.h -- created from mipsel.r3000-ps1-console.bin, 2829 (0xb0d) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define NRV_CON_LOADER_SIZE 2829
|
||||
#define NRV_CON_LOADER_ADLER32 0xa3df7da3
|
||||
#define NRV_CON_LOADER_CRC32 0x923b55c4
|
||||
|
||||
unsigned char nrv_con_loader[2829] = {
|
||||
83, 76, 1, 36, 35,232,161, 3, 0, 0,161,175, 4, 0,164,175, /* 0x 0 */
|
||||
8, 0,165,175, 12, 0,166,175, 16, 0,167,175, 20, 0,162,175, /* 0x 10 */
|
||||
24, 0,163,175, 28, 0,191,175,224,255, 38, 36, 32, 0,167, 39, /* 0x 20 */
|
||||
33, 40,224, 0, 67, 68, 4, 60, 84, 82,132, 52, 0, 0,129,140, /* 0x 30 */
|
||||
252,255,198, 36, 0, 0,161,172, 4, 0,132, 36,251,255,192, 20, /* 0x 40 */
|
||||
4, 0,165, 36, 67, 80,132, 36, 69, 68, 6, 60, 8, 0,224, 0, /* 0x 50 */
|
||||
79, 67,198, 52, 8, 0,224, 0, 69, 68, 6, 60, 33, 72, 0, 0, /* 0x 60 */
|
||||
1, 0, 11, 36, 33, 64,128, 0, 76, 0, 17, 4,127, 0, 34, 49, /* 0x 70 */
|
||||
6, 0, 64, 16, 1, 0, 3, 36, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 80 */
|
||||
0, 0,194,160,248,255, 0, 16, 1, 0,198, 36, 67, 0, 17, 4, /* 0x 90 */
|
||||
127, 0, 34, 49, 64, 24, 3, 0, 33, 24, 98, 0, 63, 0, 17, 4, /* 0x a0 */
|
||||
127, 0, 34, 49,249,255, 64, 16, 0, 0, 0, 0, 2, 0, 2, 36, /* 0x b0 */
|
||||
3, 0, 98, 20,253,255, 99, 36, 9, 0, 0, 16, 33, 24, 96, 1, /* 0x c0 */
|
||||
0, 0, 2,145, 1, 0, 8, 37, 0, 26, 3, 0, 33, 24, 98, 0, /* 0x d0 */
|
||||
255,255, 2, 36, 58, 0, 98, 16, 1, 0, 99, 36, 33, 88, 96, 0, /* 0x e0 */
|
||||
46, 0, 17, 4,127, 0, 34, 49, 33, 96, 64, 0, 64, 96, 12, 0, /* 0x f0 */
|
||||
42, 0, 17, 4,127, 0, 34, 49, 33, 96,130, 1, 12, 0,128, 21, /* 0x 100 */
|
||||
1, 13, 98, 44, 1, 0, 12, 36, 36, 0, 17, 4,127, 0, 34, 49, /* 0x 110 */
|
||||
64, 96, 12, 0, 33, 96,130, 1, 32, 0, 17, 4,127, 0, 34, 49, /* 0x 120 */
|
||||
249,255, 64, 16, 0, 0, 0, 0, 2, 0,140, 37, 1, 13, 98, 44, /* 0x 130 */
|
||||
1, 0, 66, 56, 33, 96,130, 1, 4, 0, 98, 40, 14, 0, 64, 20, /* 0x 140 */
|
||||
1, 0,140, 37, 35, 24,195, 0, 4, 0,130, 41, 12, 0, 64, 20, /* 0x 150 */
|
||||
0, 0, 98,152, 3, 0, 98,136,252,255,140, 37, 0, 0,194,184, /* 0x 160 */
|
||||
3, 0,194,168, 4, 0, 99, 36,247,255,128, 21, 4, 0,198, 36, /* 0x 170 */
|
||||
189,255, 0, 16, 0, 0, 0, 0, 35, 24,195, 0, 0, 0, 98,144, /* 0x 180 */
|
||||
255,255,140, 37, 0, 0,194,160, 1, 0, 99, 36,251,255,128, 21, /* 0x 190 */
|
||||
1, 0,198, 36,180,255, 0, 16, 0, 0, 0, 0, 5, 0, 64, 20, /* 0x 1a0 */
|
||||
64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 1b0 */
|
||||
1, 0, 73, 36, 2, 18, 9, 0, 8, 0,224, 3, 1, 0, 66, 48, /* 0x 1c0 */
|
||||
33, 72, 0, 0, 1, 0, 11, 36, 33, 64,128, 0, 84, 0, 17, 4, /* 0x 1d0 */
|
||||
127, 0, 34, 49, 6, 0, 64, 16, 1, 0, 3, 36, 0, 0, 2,145, /* 0x 1e0 */
|
||||
1, 0, 8, 37, 0, 0,194,160,248,255, 0, 16, 1, 0,198, 36, /* 0x 1f0 */
|
||||
75, 0, 17, 4,127, 0, 34, 49, 64, 24, 3, 0, 33, 24, 98, 0, /* 0x 200 */
|
||||
71, 0, 17, 4,127, 0, 34, 49, 6, 0, 64, 20,255,255, 98, 36, /* 0x 210 */
|
||||
64, 24, 2, 0, 66, 0, 17, 4,127, 0, 34, 49,244,255, 0, 16, /* 0x 220 */
|
||||
33, 24, 98, 0, 2, 0, 2, 36, 6, 0, 98, 20,253,255, 99, 36, /* 0x 230 */
|
||||
59, 0, 17, 4,127, 0, 34, 49, 33, 24, 96, 1, 12, 0, 0, 16, /* 0x 240 */
|
||||
1, 0, 76, 48, 0, 0, 2,145, 1, 0, 8, 37, 0, 26, 3, 0, /* 0x 250 */
|
||||
33, 24, 98, 0,255,255, 2, 36, 58, 0, 98, 16, 39, 16, 3, 0, /* 0x 260 */
|
||||
1, 0, 76, 48, 66, 24, 3, 0, 1, 0, 99, 36, 33, 88, 96, 0, /* 0x 270 */
|
||||
43, 0, 17, 4,127, 0, 34, 49, 64, 96, 12, 0, 33, 96,130, 1, /* 0x 280 */
|
||||
12, 0,128, 21, 1, 5, 98, 44, 1, 0, 12, 36, 36, 0, 17, 4, /* 0x 290 */
|
||||
127, 0, 34, 49, 64, 96, 12, 0, 33, 96,130, 1, 32, 0, 17, 4, /* 0x 2a0 */
|
||||
127, 0, 34, 49,249,255, 64, 16, 0, 0, 0, 0, 2, 0,140, 37, /* 0x 2b0 */
|
||||
1, 5, 98, 44, 1, 0, 66, 56, 33, 96,130, 1, 4, 0, 98, 40, /* 0x 2c0 */
|
||||
14, 0, 64, 20, 1, 0,140, 37, 35, 24,195, 0, 4, 0,130, 41, /* 0x 2d0 */
|
||||
12, 0, 64, 20, 0, 0, 98,152, 3, 0, 98,136,252,255,140, 37, /* 0x 2e0 */
|
||||
0, 0,194,184, 3, 0,194,168, 4, 0, 99, 36,247,255,128, 21, /* 0x 2f0 */
|
||||
4, 0,198, 36,181,255, 0, 16, 0, 0, 0, 0, 35, 24,195, 0, /* 0x 300 */
|
||||
0, 0, 98,144,255,255,140, 37, 0, 0,194,160, 1, 0, 99, 36, /* 0x 310 */
|
||||
251,255,128, 21, 1, 0,198, 36,172,255, 0, 16, 0, 0, 0, 0, /* 0x 320 */
|
||||
5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 330 */
|
||||
64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 8, 0,224, 3, /* 0x 340 */
|
||||
1, 0, 66, 48, 33, 72, 0, 0, 1, 0, 11, 36, 33, 64,128, 0, /* 0x 350 */
|
||||
91, 0, 17, 4,127, 0, 34, 49, 6, 0, 64, 16, 1, 0, 3, 36, /* 0x 360 */
|
||||
0, 0, 2,145, 1, 0, 8, 37, 0, 0,194,160,248,255, 0, 16, /* 0x 370 */
|
||||
1, 0,198, 36, 82, 0, 17, 4,127, 0, 34, 49, 64, 24, 3, 0, /* 0x 380 */
|
||||
33, 24, 98, 0, 78, 0, 17, 4,127, 0, 34, 49, 6, 0, 64, 20, /* 0x 390 */
|
||||
255,255, 98, 36, 64, 24, 2, 0, 73, 0, 17, 4,127, 0, 34, 49, /* 0x 3a0 */
|
||||
244,255, 0, 16, 33, 24, 98, 0, 2, 0, 2, 36, 6, 0, 98, 20, /* 0x 3b0 */
|
||||
253,255, 99, 36, 33, 24, 96, 1, 65, 0, 17, 4,127, 0, 34, 49, /* 0x 3c0 */
|
||||
12, 0, 0, 16, 1, 0, 76, 48, 0, 0, 2,145, 0, 26, 3, 0, /* 0x 3d0 */
|
||||
33, 24, 98, 0,255,255, 2, 36, 66, 0, 98, 16, 1, 0, 8, 37, /* 0x 3e0 */
|
||||
39, 16, 3, 0, 1, 0, 76, 48, 66, 24, 3, 0, 1, 0, 99, 36, /* 0x 3f0 */
|
||||
33, 88, 96, 0, 5, 0,128, 17, 0, 0, 0, 0, 48, 0, 17, 4, /* 0x 400 */
|
||||
127, 0, 34, 49, 18, 0, 0, 16, 1, 0, 76, 36, 44, 0, 17, 4, /* 0x 410 */
|
||||
127, 0, 34, 49, 5, 0, 64, 16, 1, 0,140, 37, 40, 0, 17, 4, /* 0x 420 */
|
||||
127, 0, 34, 49, 10, 0, 0, 16, 3, 0, 76, 36, 36, 0, 17, 4, /* 0x 430 */
|
||||
127, 0, 34, 49, 64, 96, 12, 0, 33, 96,130, 1, 32, 0, 17, 4, /* 0x 440 */
|
||||
127, 0, 34, 49,249,255, 64, 16, 0, 0, 0, 0, 3, 0,140, 37, /* 0x 450 */
|
||||
1, 5, 98, 44, 1, 0, 66, 56, 33, 96,130, 1, 4, 0, 98, 40, /* 0x 460 */
|
||||
14, 0, 64, 20, 1, 0,140, 37, 35, 24,195, 0, 4, 0,130, 41, /* 0x 470 */
|
||||
12, 0, 64, 20, 0, 0, 98,152, 3, 0, 98,136,252,255,140, 37, /* 0x 480 */
|
||||
0, 0,194,184, 3, 0,194,168, 4, 0, 99, 36,247,255,128, 21, /* 0x 490 */
|
||||
4, 0,198, 36,174,255, 0, 16, 0, 0, 0, 0, 35, 24,195, 0, /* 0x 4a0 */
|
||||
0, 0, 98,144,255,255,140, 37, 0, 0,194,160, 1, 0, 99, 36, /* 0x 4b0 */
|
||||
251,255,128, 21, 1, 0,198, 36,165,255, 0, 16, 0, 0, 0, 0, /* 0x 4c0 */
|
||||
5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 4d0 */
|
||||
64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 8, 0,224, 3, /* 0x 4e0 */
|
||||
1, 0, 66, 48, 33, 72, 0, 0, 33,104, 32, 1, 1, 0, 11, 36, /* 0x 4f0 */
|
||||
33, 64,128, 0, 76, 0, 17, 4,255,255,173, 37, 6, 0, 64, 16, /* 0x 500 */
|
||||
1, 0, 3, 36, 0, 0, 2,145, 1, 0, 8, 37, 0, 0,194,160, /* 0x 510 */
|
||||
248,255, 0, 16, 1, 0,198, 36, 67, 0, 17, 4,255,255,173, 37, /* 0x 520 */
|
||||
64, 24, 3, 0, 33, 24, 98, 0, 63, 0, 17, 4,255,255,173, 37, /* 0x 530 */
|
||||
249,255, 64, 16, 0, 0, 0, 0, 2, 0, 2, 36, 3, 0, 98, 20, /* 0x 540 */
|
||||
253,255, 99, 36, 9, 0, 0, 16, 33, 24, 96, 1, 0, 0, 2,145, /* 0x 550 */
|
||||
1, 0, 8, 37, 0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, /* 0x 560 */
|
||||
58, 0, 98, 16, 1, 0, 99, 36, 33, 88, 96, 0, 46, 0, 17, 4, /* 0x 570 */
|
||||
255,255,173, 37, 33, 96, 64, 0, 64, 96, 12, 0, 42, 0, 17, 4, /* 0x 580 */
|
||||
255,255,173, 37, 33, 96,130, 1, 12, 0,128, 21, 1, 13, 98, 44, /* 0x 590 */
|
||||
1, 0, 12, 36, 36, 0, 17, 4,255,255,173, 37, 64, 96, 12, 0, /* 0x 5a0 */
|
||||
33, 96,130, 1, 32, 0, 17, 4,255,255,173, 37,249,255, 64, 16, /* 0x 5b0 */
|
||||
0, 0, 0, 0, 2, 0,140, 37, 1, 13, 98, 44, 1, 0, 66, 56, /* 0x 5c0 */
|
||||
33, 96,130, 1, 4, 0, 98, 40, 14, 0, 64, 20, 1, 0,140, 37, /* 0x 5d0 */
|
||||
35, 24,195, 0, 4, 0,130, 41, 12, 0, 64, 20, 0, 0, 98,152, /* 0x 5e0 */
|
||||
3, 0, 98,136,252,255,140, 37, 0, 0,194,184, 3, 0,194,168, /* 0x 5f0 */
|
||||
4, 0, 99, 36,247,255,128, 21, 4, 0,198, 36,189,255, 0, 16, /* 0x 600 */
|
||||
0, 0, 0, 0, 35, 24,195, 0, 0, 0, 98,144,255,255,140, 37, /* 0x 610 */
|
||||
0, 0,194,160, 1, 0, 99, 36,251,255,128, 21, 1, 0,198, 36, /* 0x 620 */
|
||||
180,255, 0, 16, 0, 0, 0, 0, 6, 0,161, 5, 6, 16,169, 1, /* 0x 630 */
|
||||
31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x 640 */
|
||||
6, 16,169, 1, 8, 0,224, 3, 1, 0, 66, 48, 33, 72, 0, 0, /* 0x 650 */
|
||||
33,104, 32, 1, 1, 0, 11, 36, 33, 64,128, 0, 84, 0, 17, 4, /* 0x 660 */
|
||||
255,255,173, 37, 6, 0, 64, 16, 1, 0, 3, 36, 0, 0, 2,145, /* 0x 670 */
|
||||
1, 0, 8, 37, 0, 0,194,160,248,255, 0, 16, 1, 0,198, 36, /* 0x 680 */
|
||||
75, 0, 17, 4,255,255,173, 37, 64, 24, 3, 0, 33, 24, 98, 0, /* 0x 690 */
|
||||
71, 0, 17, 4,255,255,173, 37, 6, 0, 64, 20,255,255, 98, 36, /* 0x 6a0 */
|
||||
64, 24, 2, 0, 66, 0, 17, 4,255,255,173, 37,244,255, 0, 16, /* 0x 6b0 */
|
||||
33, 24, 98, 0, 2, 0, 2, 36, 6, 0, 98, 20,253,255, 99, 36, /* 0x 6c0 */
|
||||
59, 0, 17, 4,255,255,173, 37, 33, 24, 96, 1, 12, 0, 0, 16, /* 0x 6d0 */
|
||||
1, 0, 76, 48, 0, 0, 2,145, 1, 0, 8, 37, 0, 26, 3, 0, /* 0x 6e0 */
|
||||
33, 24, 98, 0,255,255, 2, 36, 58, 0, 98, 16, 39, 16, 3, 0, /* 0x 6f0 */
|
||||
1, 0, 76, 48, 66, 24, 3, 0, 1, 0, 99, 36, 33, 88, 96, 0, /* 0x 700 */
|
||||
43, 0, 17, 4,255,255,173, 37, 64, 96, 12, 0, 33, 96,130, 1, /* 0x 710 */
|
||||
12, 0,128, 21, 1, 5, 98, 44, 1, 0, 12, 36, 36, 0, 17, 4, /* 0x 720 */
|
||||
255,255,173, 37, 64, 96, 12, 0, 33, 96,130, 1, 32, 0, 17, 4, /* 0x 730 */
|
||||
255,255,173, 37,249,255, 64, 16, 0, 0, 0, 0, 2, 0,140, 37, /* 0x 740 */
|
||||
1, 5, 98, 44, 1, 0, 66, 56, 33, 96,130, 1, 4, 0, 98, 40, /* 0x 750 */
|
||||
14, 0, 64, 20, 1, 0,140, 37, 35, 24,195, 0, 4, 0,130, 41, /* 0x 760 */
|
||||
12, 0, 64, 20, 0, 0, 98,152, 3, 0, 98,136,252,255,140, 37, /* 0x 770 */
|
||||
0, 0,194,184, 3, 0,194,168, 4, 0, 99, 36,247,255,128, 21, /* 0x 780 */
|
||||
4, 0,198, 36,181,255, 0, 16, 0, 0, 0, 0, 35, 24,195, 0, /* 0x 790 */
|
||||
0, 0, 98,144,255,255,140, 37, 0, 0,194,160, 1, 0, 99, 36, /* 0x 7a0 */
|
||||
251,255,128, 21, 1, 0,198, 36,172,255, 0, 16, 0, 0, 0, 0, /* 0x 7b0 */
|
||||
6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, /* 0x 7c0 */
|
||||
3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, 8, 0,224, 3, /* 0x 7d0 */
|
||||
1, 0, 66, 48, 33, 72, 0, 0, 33,104, 32, 1, 1, 0, 11, 36, /* 0x 7e0 */
|
||||
33, 64,128, 0, 91, 0, 17, 4,255,255,173, 37, 6, 0, 64, 16, /* 0x 7f0 */
|
||||
1, 0, 3, 36, 0, 0, 2,145, 1, 0, 8, 37, 0, 0,194,160, /* 0x 800 */
|
||||
248,255, 0, 16, 1, 0,198, 36, 82, 0, 17, 4,255,255,173, 37, /* 0x 810 */
|
||||
64, 24, 3, 0, 33, 24, 98, 0, 78, 0, 17, 4,255,255,173, 37, /* 0x 820 */
|
||||
6, 0, 64, 20,255,255, 98, 36, 64, 24, 2, 0, 73, 0, 17, 4, /* 0x 830 */
|
||||
255,255,173, 37,244,255, 0, 16, 33, 24, 98, 0, 2, 0, 2, 36, /* 0x 840 */
|
||||
6, 0, 98, 20,253,255, 99, 36, 33, 24, 96, 1, 65, 0, 17, 4, /* 0x 850 */
|
||||
255,255,173, 37, 12, 0, 0, 16, 1, 0, 76, 48, 0, 0, 2,145, /* 0x 860 */
|
||||
0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, 66, 0, 98, 16, /* 0x 870 */
|
||||
1, 0, 8, 37, 39, 16, 3, 0, 1, 0, 76, 48, 66, 24, 3, 0, /* 0x 880 */
|
||||
1, 0, 99, 36, 33, 88, 96, 0, 5, 0,128, 17, 0, 0, 0, 0, /* 0x 890 */
|
||||
48, 0, 17, 4,255,255,173, 37, 18, 0, 0, 16, 1, 0, 76, 36, /* 0x 8a0 */
|
||||
44, 0, 17, 4,255,255,173, 37, 5, 0, 64, 16, 1, 0,140, 37, /* 0x 8b0 */
|
||||
40, 0, 17, 4,255,255,173, 37, 10, 0, 0, 16, 3, 0, 76, 36, /* 0x 8c0 */
|
||||
36, 0, 17, 4,255,255,173, 37, 64, 96, 12, 0, 33, 96,130, 1, /* 0x 8d0 */
|
||||
32, 0, 17, 4,255,255,173, 37,249,255, 64, 16, 0, 0, 0, 0, /* 0x 8e0 */
|
||||
3, 0,140, 37, 1, 5, 98, 44, 1, 0, 66, 56, 33, 96,130, 1, /* 0x 8f0 */
|
||||
4, 0, 98, 40, 14, 0, 64, 20, 1, 0,140, 37, 35, 24,195, 0, /* 0x 900 */
|
||||
4, 0,130, 41, 12, 0, 64, 20, 0, 0, 98,152, 3, 0, 98,136, /* 0x 910 */
|
||||
252,255,140, 37, 0, 0,194,184, 3, 0,194,168, 4, 0, 99, 36, /* 0x 920 */
|
||||
247,255,128, 21, 4, 0,198, 36,174,255, 0, 16, 0, 0, 0, 0, /* 0x 930 */
|
||||
35, 24,195, 0, 0, 0, 98,144,255,255,140, 37, 0, 0,194,160, /* 0x 940 */
|
||||
1, 0, 99, 36,251,255,128, 21, 1, 0,198, 36,165,255, 0, 16, /* 0x 950 */
|
||||
0, 0, 0, 0, 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, /* 0x 960 */
|
||||
0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, /* 0x 970 */
|
||||
8, 0,224, 3, 1, 0, 66, 48, 67, 83, 4, 52, 67, 83, 4, 52, /* 0x 980 */
|
||||
192, 32, 4, 0, 0, 0,192,172,255,255,132, 36,253,255,128, 20, /* 0x 990 */
|
||||
4, 0,198, 36, 3, 0,192,168, 0, 0,192,184,255,255,132, 36, /* 0x 9a0 */
|
||||
252,255,128, 20, 4, 0,198, 36,160, 0, 10, 36, 9,248, 64, 1, /* 0x 9b0 */
|
||||
68, 0, 9, 36, 0, 0,161,143, 4, 0,164,143, 8, 0,165,143, /* 0x 9c0 */
|
||||
12, 0,166,143, 16, 0,167,143, 20, 0,162,143, 24, 0,163,143, /* 0x 9d0 */
|
||||
28, 0,191,143, 80, 69, 80, 74, 33,232,161, 3, 85, 80, 88, 33, /* 0x 9e0 */
|
||||
161,216,208,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 9f0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 32, 0, 0, 0, /* 0x a00 */
|
||||
80, 83, 49, 83, 84, 65, 82, 84, 0, 0, 0, 0, 0, 80, 83, 49, /* 0x a10 */
|
||||
80, 65, 68, 67, 68, 0, 84, 0, 0, 0, 80, 83, 49, 67, 79, 78, /* 0x a20 */
|
||||
72, 76, 0, 88, 0, 0, 0, 80, 83, 49, 67, 79, 78, 72, 73, 0, /* 0x a30 */
|
||||
100, 0, 0, 0, 80, 83, 49, 69, 78, 84, 82, 89, 0,108, 0, 0, /* 0x a40 */
|
||||
0, 80, 83, 49, 78, 50, 66, 48, 56, 0,108, 0, 0, 0, 80, 83, /* 0x a50 */
|
||||
49, 78, 50, 68, 48, 56, 0,208, 1, 0, 0, 80, 83, 49, 78, 50, /* 0x a60 */
|
||||
69, 48, 56, 0, 84, 3, 0, 0, 80, 83, 49, 78, 50, 66, 51, 50, /* 0x a70 */
|
||||
0,244, 4, 0, 0, 80, 83, 49, 78, 50, 68, 51, 50, 0, 92, 6, /* 0x a80 */
|
||||
0, 0, 80, 83, 49, 78, 50, 69, 51, 50, 0,228, 7, 0, 0, 80, /* 0x a90 */
|
||||
83, 49, 77, 83, 69, 84, 83, 0,136, 9, 0, 0, 80, 83, 49, 77, /* 0x aa0 */
|
||||
83, 69, 84, 66, 0,140, 9, 0, 0, 80, 83, 49, 77, 83, 69, 84, /* 0x ab0 */
|
||||
65, 0,148, 9, 0, 0, 80, 83, 49, 77, 83, 69, 84, 85, 0,164, /* 0x ac0 */
|
||||
9, 0, 0, 80, 83, 49, 69, 88, 73, 84, 67, 0,184, 9, 0, 0, /* 0x ad0 */
|
||||
80, 83, 49, 80, 65, 72, 68, 82, 0,236, 9, 0, 0, 80, 83, 49, /* 0x ae0 */
|
||||
83, 82, 69, 71, 83, 0, 12, 10, 0, 0, 80, 83, 49, 69, 79, 65, /* 0x af0 */
|
||||
83, 77, 0, 16, 10, 0, 0,255,255,255,255, 16, 10 /* 0x b00 */
|
||||
};
|
||||
67
src/stub/powerpc-darwin.macho-entry.h
Normal file
67
src/stub/powerpc-darwin.macho-entry.h
Normal file
@ -0,0 +1,67 @@
|
||||
/* powerpc-darwin.macho-entry.h -- created from powerpc-darwin.macho-entry.bin, 508 (0x1fc) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define L_MAC_PPC32_LOADER_SIZE 508
|
||||
#define L_MAC_PPC32_LOADER_ADLER32 0x2cecab12
|
||||
#define L_MAC_PPC32_LOADER_CRC32 0x8bce10ce
|
||||
|
||||
unsigned char l_mac_ppc32_loader[508] = {
|
||||
72, 0, 1,241,124, 0, 41,236,144,166, 0, 0,124,132, 26, 20, /* 0x 0 */
|
||||
60, 0,128, 0, 61, 32,128, 0, 56, 99,255,255, 56,165,255,255, /* 0x 10 */
|
||||
57, 64,255,255,125,168, 2,166, 72, 0, 1, 12, 57, 32, 0, 1, /* 0x 20 */
|
||||
125, 41, 28, 44, 56, 99, 0, 4,124, 9, 0, 64,125, 41, 72, 20, /* 0x 30 */
|
||||
97, 41, 0, 1, 78,128, 0, 32,141, 3, 0, 1,157, 5, 0, 1, /* 0x 40 */
|
||||
124, 9, 0, 64,125, 41, 74, 20, 65,162,255,213, 65,129,255,236, /* 0x 50 */
|
||||
56,224, 0, 1, 72, 0, 0, 20, 56,231,255,255,125, 41, 72, 21, /* 0x 60 */
|
||||
65,162,255,189,124,231, 57, 20,125, 41, 72, 21, 65,162,255,177, /* 0x 70 */
|
||||
124,231, 57, 20,124, 9, 0, 64,125, 41, 74, 20, 65,162,255,161, /* 0x 80 */
|
||||
65,160,255,216, 57, 0, 0, 0, 52,231,255,253, 84,231, 64, 46, /* 0x 90 */
|
||||
65,128, 0, 32,140, 67, 0, 1,124,234, 16,249,125, 74, 14,112, /* 0x a0 */
|
||||
65,130, 0,148,112, 66, 0, 1, 65,162, 0, 80, 72, 0, 0, 20, /* 0x b0 */
|
||||
124, 9, 0, 64,125, 41, 74, 20, 65,162,255,101, 65,161, 0, 60, /* 0x c0 */
|
||||
57, 0, 0, 1,124, 9, 0, 64,125, 41, 74, 20, 65,162,255, 81, /* 0x d0 */
|
||||
65,161, 0, 40,125, 41, 72, 21, 65,162,255, 69,125, 8, 65, 20, /* 0x e0 */
|
||||
124, 9, 0, 64,125, 41, 74, 20, 65,162,255, 53, 65,160,255,232, /* 0x f0 */
|
||||
57, 8, 0, 2, 72, 0, 0, 16,125, 41, 72, 21, 65,162,255, 33, /* 0x 100 */
|
||||
125, 8, 65, 20, 32,234,250,255, 57, 8, 0, 2,125, 8, 1,148, /* 0x 110 */
|
||||
124,234, 42, 20,125, 9, 3,166,141, 7, 0, 1,157, 5, 0, 1, /* 0x 120 */
|
||||
66, 0,255,248, 56,224, 1, 0,124, 7, 41,236,124, 7, 26, 44, /* 0x 130 */
|
||||
75,255,255, 16,128, 6, 0, 0,125,168, 3,166, 56,165, 0, 1, /* 0x 140 */
|
||||
56, 99, 0, 1,124,160, 40, 80,124,100, 24, 80,144,166, 0, 0, /* 0x 150 */
|
||||
78,128, 0, 32, 10, 36, 73,100, 58, 32, 85, 80, 88, 32, 40, 67, /* 0x 160 */
|
||||
41, 32, 49, 57, 57, 54, 45, 50, 48, 48, 54, 32,116,104,101, 32, /* 0x 170 */
|
||||
85, 80, 88, 32, 84,101, 97,109, 46, 32, 65,108,108, 32, 82,105, /* 0x 180 */
|
||||
103,104,116,115, 32, 82,101,115,101,114,118,101,100, 46, 32,104, /* 0x 190 */
|
||||
116,116,112, 58, 47, 47,117,112,120, 46,115,102, 46,110,101,116, /* 0x 1a0 */
|
||||
32, 36, 10, 0,124, 72, 2,166,128,130, 0, 8,124,137, 3,166, /* 0x 1b0 */
|
||||
128,194, 0, 4,124,164, 18, 20, 56,165, 0, 16,124,102, 18, 20, /* 0x 1c0 */
|
||||
56, 99, 0,192,140, 5,255,255,156, 3,255,255, 66, 0,255,248, /* 0x 1d0 */
|
||||
127,233, 3,166, 56,162, 0,128, 56,193,255,252, 78,128, 4, 32, /* 0x 1e0 */
|
||||
127,232, 2,166, 75,255,255,193, 72, 0, 0,128 /* 0x 1f0 */
|
||||
};
|
||||
138
src/stub/powerpc-darwin.macho-fold.h
Normal file
138
src/stub/powerpc-darwin.macho-fold.h
Normal file
@ -0,0 +1,138 @@
|
||||
/* powerpc-darwin.macho-fold.h -- created from powerpc-darwin.macho-fold.bin, 1648 (0x670) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define FOLD_MACHPPC32_SIZE 1648
|
||||
#define FOLD_MACHPPC32_ADLER32 0x16162538
|
||||
#define FOLD_MACHPPC32_CRC32 0x67f187d4
|
||||
|
||||
unsigned char fold_machppc32[1648] = {
|
||||
72, 0, 0,105, 40, 6, 0,208, 76,130, 0, 32, 84,132,240,191, /* 0x 0 */
|
||||
77,130, 0, 32, 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8, /* 0x 10 */
|
||||
124, 4, 3,120, 56,165, 1, 32,124,103, 27,120, 56, 99,255,252, /* 0x 20 */
|
||||
124,137, 3,166, 72, 0, 0, 28, 84, 75, 2,186,125, 99, 88, 80, /* 0x 30 */
|
||||
125,107, 58, 20, 81, 98, 1,186,144, 67, 0, 0, 78, 64, 0, 32, /* 0x 40 */
|
||||
132, 67, 0, 4, 84, 75, 85,190,124, 11, 40, 64, 65,162,255,220, /* 0x 50 */
|
||||
66, 0,255,240, 78,128, 0, 32, 57, 32, 0, 0,149, 33,255,252, /* 0x 60 */
|
||||
124, 41, 11,120,125, 8, 2,166,128,159,255,248,124,100,248, 80, /* 0x 70 */
|
||||
128,195, 0, 24, 40, 6, 8, 0, 65,129, 0, 8, 56,192, 8, 0, /* 0x 80 */
|
||||
124, 61, 11,120,124, 38, 8, 80,124, 37, 11,120, 56, 33,255,232, /* 0x 90 */
|
||||
127,231,251,120, 72, 0, 4, 57,127,161,235,120,128, 67, 0, 0, /* 0x a0 */
|
||||
124, 73, 3,166,128, 67, 0,136,124, 79,241, 32,128, 67, 0,140, /* 0x b0 */
|
||||
124, 65, 3,166,128, 67, 0,144,124, 72, 3,166,184,131, 0, 24, /* 0x c0 */
|
||||
128, 3, 0, 8,128, 67, 0, 16,128, 99, 0, 20, 78,128, 4, 32, /* 0x d0 */
|
||||
124,199, 51,120, 56,192, 0, 0, 56, 0, 0,153, 72, 0, 0, 16, /* 0x e0 */
|
||||
125, 9, 67,120, 57, 0, 0, 0, 56, 0, 0,197, 68, 0, 0, 2, /* 0x f0 */
|
||||
56, 96,255,255, 78,128, 0, 32, 56, 0, 0, 1, 75,255,255,240, /* 0x 100 */
|
||||
56, 0, 0, 3, 75,255,255,232, 56, 0, 0, 5, 75,255,255,224, /* 0x 110 */
|
||||
56, 0, 0, 6, 75,255,255,216, 56, 0, 0, 74, 75,255,255,208, /* 0x 120 */
|
||||
124, 8, 2,166,148, 33,255,240,144, 1, 0, 20,128, 3, 0, 0, /* 0x 130 */
|
||||
129, 35, 0, 4,127,128, 40, 64, 64,188, 0, 12, 56, 96, 0,127, /* 0x 140 */
|
||||
75,255,255,185, 47,133, 0, 0, 65,158, 0, 28,124,169, 3,166, /* 0x 150 */
|
||||
136, 9, 0, 0, 57, 41, 0, 1,152, 4, 0, 0, 56,132, 0, 1, /* 0x 160 */
|
||||
66, 0,255,240,128, 3, 0, 0,129, 35, 0, 4,124, 5, 0, 80, /* 0x 170 */
|
||||
144, 3, 0, 0,125, 41, 42, 20,128, 1, 0, 20, 56, 33, 0, 16, /* 0x 180 */
|
||||
145, 35, 0, 4,124, 8, 3,166, 78,128, 0, 32,124, 8, 2,166, /* 0x 190 */
|
||||
148, 33,255,192,191,129, 0, 48,124,159, 35,120,124,126, 27,120, /* 0x 1a0 */
|
||||
124,188, 43,120,144, 1, 0, 68,124,221, 51,120,128, 4, 0, 0, /* 0x 1b0 */
|
||||
47,128, 0, 0, 65,158, 1, 32, 56,160, 0, 12,127,195,243,120, /* 0x 1c0 */
|
||||
56,129, 0, 16, 75,255,255, 93,129, 33, 0, 16,128,161, 0, 20, /* 0x 1d0 */
|
||||
47,137, 0, 0, 64,190, 0, 36, 60, 0, 33, 88, 96, 0, 80, 85, /* 0x 1e0 */
|
||||
127,133, 0, 0, 64,190, 0, 28,128, 30, 0, 0, 47,128, 0, 0, /* 0x 1f0 */
|
||||
65,190, 0,228, 72, 0, 0, 12, 47,133, 0, 0, 64,190, 0, 12, /* 0x 200 */
|
||||
56, 96, 0,127, 75,255,254,245,127, 5, 72, 64, 65,185,255,244, /* 0x 210 */
|
||||
128, 31, 0, 0,127,137, 0, 64, 65,189,255,232,128, 31, 0, 4, /* 0x 220 */
|
||||
64,152, 0,132,124,164, 43,120,128,126, 0, 4,124, 5, 3,120, /* 0x 230 */
|
||||
56,193, 0, 32,136,225, 0, 24,127,136, 3,166, 78,128, 0, 33, /* 0x 240 */
|
||||
47,131, 0, 0, 64,190,255,188,128,129, 0, 32,128, 1, 0, 16, /* 0x 250 */
|
||||
127,132, 0, 0, 64,190,255,172,136,193, 0, 25, 49, 61,255,255, /* 0x 260 */
|
||||
124, 9,233, 16,125, 38, 0,208, 85, 41, 15,254,125, 43, 0, 57, /* 0x 270 */
|
||||
65,162, 0, 20,128,127, 0, 4,127,168, 3,166,136,161, 0, 26, /* 0x 280 */
|
||||
78,128, 0, 33,128, 30, 0, 4,129, 97, 0, 20,129, 62, 0, 0, /* 0x 290 */
|
||||
124, 0, 90, 20,125, 43, 72, 80,144, 30, 0, 4,145, 62, 0, 0, /* 0x 2a0 */
|
||||
72, 0, 0, 16,124, 4, 3,120,127,195,243,120, 75,255,254,117, /* 0x 2b0 */
|
||||
129, 97, 0, 16,129, 63, 0, 0,128, 31, 0, 4,125, 43, 72, 80, /* 0x 2c0 */
|
||||
47,137, 0, 0,124, 0, 90, 20,144, 31, 0, 4,145, 63, 0, 0, /* 0x 2d0 */
|
||||
75,255,254,228,128, 1, 0, 68,187,129, 0, 48, 56, 33, 0, 64, /* 0x 2e0 */
|
||||
124, 8, 3,166, 78,128, 0, 32,124, 8, 2,166,148, 33,255,176, /* 0x 2f0 */
|
||||
190, 65, 0, 24,125,128, 0, 38, 58,224, 0, 0,124,122, 27,120, /* 0x 300 */
|
||||
144, 1, 0, 84,124,146, 35,120,128, 3, 0, 16,124,187, 43,120, /* 0x 310 */
|
||||
145,129, 0, 20,124,211, 51,120,127,151, 0, 64,124,244, 59,120, /* 0x 320 */
|
||||
125, 21, 67,120,125, 54, 75,120, 59,195, 0, 28, 59, 0, 0, 0, /* 0x 330 */
|
||||
64,156, 1,124,129, 62, 0, 0, 47,137, 0, 1, 64,190, 1, 48, /* 0x 340 */
|
||||
129, 62, 0, 24,129,126, 0, 36, 85, 61, 5, 62,128, 30, 0, 28, /* 0x 350 */
|
||||
127,139,234, 20,145, 97, 0, 8, 46, 28, 0, 0,127, 41, 2, 20, /* 0x 360 */
|
||||
145, 33, 0, 12,127,253, 72, 80, 65,146, 0, 76, 47,155, 0, 0, /* 0x 370 */
|
||||
64,190, 0, 16, 47,139, 0, 0, 56,192, 0, 18, 64,158, 0, 8, /* 0x 380 */
|
||||
56,192, 16, 18, 47,139, 0, 0,126,103,155,120, 64,158, 0, 8, /* 0x 390 */
|
||||
56,224,255,255,129, 30, 0, 32,127,227,251,120,127,132,227,120, /* 0x 3a0 */
|
||||
56,160, 0, 3,125, 8,146, 20, 75,255,253, 57,127,159, 24, 0, /* 0x 3b0 */
|
||||
64,158, 0,124, 47,155, 0, 0, 65,158, 0, 52,128, 30, 0, 36, /* 0x 3c0 */
|
||||
47,128, 0, 0, 65,158, 0, 40,128, 30, 0, 32, 47,128, 0, 0, /* 0x 3d0 */
|
||||
64,158, 0, 8,147,244, 0, 0,127, 99,219,120, 56,129, 0, 8, /* 0x 3e0 */
|
||||
126,165,171,120,126,198,179,120, 75,255,253,165,124, 28, 0,208, /* 0x 3f0 */
|
||||
125, 63,226, 20,112, 29, 15,255, 65,130, 0, 24,127,169, 3,166, /* 0x 400 */
|
||||
56, 0, 0, 0,152, 9, 0, 0, 57, 41, 0, 1, 66, 0,255,248, /* 0x 410 */
|
||||
65,178, 0, 36,128,190, 0, 44,127,227,251,120,127,132,227,120, /* 0x 420 */
|
||||
75,255,252,249, 47,131, 0, 0, 65,190, 0, 12, 56, 96, 0,127, /* 0x 430 */
|
||||
75,255,252,201,124, 28,234, 20,127,255, 2, 20,127,159,200, 64, /* 0x 440 */
|
||||
64,188, 0, 84,128,190, 0, 44,124,159,200, 80,127,227,251,120, /* 0x 450 */
|
||||
56,192, 16, 18, 56,224,255,255, 57, 0, 0, 0, 75,255,252,133, /* 0x 460 */
|
||||
127,159, 24, 0, 65,190, 0, 48, 75,255,255,196, 56, 9,255,252, /* 0x 470 */
|
||||
43,128, 0, 1, 65,157, 0, 32,128, 30, 0, 8, 47,128, 0, 1, /* 0x 480 */
|
||||
64,190, 0, 20,128, 30, 0, 12, 47,128, 0, 40, 64,190, 0, 8, /* 0x 490 */
|
||||
58,254, 0, 16,128, 26, 0, 16, 59, 24, 0, 1,127,152, 0, 64, /* 0x 4a0 */
|
||||
128, 30, 0, 4,127,222, 2, 20, 75,255,254,136,128, 1, 0, 84, /* 0x 4b0 */
|
||||
126,227,187,120,129,129, 0, 20,186, 65, 0, 24,124, 8, 3,166, /* 0x 4c0 */
|
||||
56, 33, 0, 80,125,128,129, 32, 78,128, 0, 32,148, 33,255,192, /* 0x 4d0 */
|
||||
124, 8, 2,166,144,129, 0, 8,191, 97, 0, 44,129, 97, 0, 8, /* 0x 4e0 */
|
||||
124,191, 43,120,144, 1, 0, 68, 56, 3, 0, 24, 57,107,255,232, /* 0x 4f0 */
|
||||
144, 1, 0, 20,145, 97, 0, 16,125, 27, 67,120,128, 3, 0, 24, /* 0x 500 */
|
||||
125, 60, 75,120,200, 1, 0, 16,124,253, 59,120,124,229, 59,120, /* 0x 510 */
|
||||
56, 97, 0, 16, 56,129, 0, 24,124,222, 51,120, 56,192, 0, 0, /* 0x 520 */
|
||||
144, 1, 0, 24,216, 1, 0, 32,147,225, 0, 28, 75,255,252, 97, /* 0x 530 */
|
||||
127,105,219,120,127,135,227,120,127,227,251,120,127,168,235,120, /* 0x 540 */
|
||||
56,128, 0, 0, 56,161, 0, 32, 56,192,255,255, 59, 96, 0, 0, /* 0x 550 */
|
||||
75,255,253,153,129, 95, 0, 16, 57, 96, 0, 0,124,124, 27,120, /* 0x 560 */
|
||||
127,139, 80, 64, 57, 63, 0, 28, 64,156, 0,224,128, 9, 0, 0, /* 0x 570 */
|
||||
57,107, 0, 1,127, 11, 80, 64, 47,128, 0, 14, 64,190, 0,192, /* 0x 580 */
|
||||
128,105, 0, 8, 56,128, 0, 0, 56,160, 0, 0,124,105, 26, 20, /* 0x 590 */
|
||||
75,255,251,121,124,125, 27,121, 65,128, 0, 32,127,163,235,120, /* 0x 5a0 */
|
||||
127,228,251,120,127,197,243,120,127,102,219,120, 75,255,251, 37, /* 0x 5b0 */
|
||||
127,158, 24, 0, 65,190, 0, 20, 56, 96, 0,127, 75,255,251, 61, /* 0x 5c0 */
|
||||
131,105, 0, 8, 75,255,255,216,128, 31, 0, 0, 61, 32,202,254, /* 0x 5d0 */
|
||||
97, 41,186,190,127,128, 72, 0, 64,158, 0, 52,129, 95, 0, 4, /* 0x 5e0 */
|
||||
57, 96, 0, 0, 57, 63, 0, 8,127,139, 80, 64, 64,156, 0, 32, /* 0x 5f0 */
|
||||
128, 9, 0, 0, 57,107, 0, 1,127, 11, 80, 64, 47,128, 0, 18, /* 0x 600 */
|
||||
65,190,255,192, 57, 41, 0, 20, 65,152,255,232,127,227,251,120, /* 0x 610 */
|
||||
127,100,219,120, 56,160, 0, 0,127,166,235,120, 56,224, 0, 0, /* 0x 620 */
|
||||
57, 0, 0, 0, 57, 32, 0, 0, 75,255,252,193,124,124, 27,120, /* 0x 630 */
|
||||
127,163,235,120, 75,255,250,221, 72, 0, 0, 16,128, 9, 0, 4, /* 0x 640 */
|
||||
125, 41, 2, 20, 65,152,255, 40,128, 1, 0, 68,127,131,227,120, /* 0x 650 */
|
||||
187, 97, 0, 44, 56, 33, 0, 64,124, 8, 3,166, 78,128, 0, 32 /* 0x 660 */
|
||||
};
|
||||
73
src/stub/powerpc-linux.elf-entry.h
Normal file
73
src/stub/powerpc-linux.elf-entry.h
Normal file
@ -0,0 +1,73 @@
|
||||
/* powerpc-linux.elf-entry.h -- created from powerpc-linux.elf-entry.bin, 604 (0x25c) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define LINUX_ELFPPC32_LOADER_SIZE 604
|
||||
#define LINUX_ELFPPC32_LOADER_ADLER32 0x0a8bbdb5
|
||||
#define LINUX_ELFPPC32_LOADER_CRC32 0xcfe347e7
|
||||
|
||||
unsigned char linux_elfppc32_loader[604] = {
|
||||
72, 0, 2, 77,124, 0, 41,236,144,166, 0, 0,124,132, 26, 20, /* 0x 0 */
|
||||
60, 0,128, 0, 61, 32,128, 0, 56, 99,255,255, 56,165,255,255, /* 0x 10 */
|
||||
57, 64,255,255,125,168, 2,166, 72, 0, 1, 12, 57, 32, 0, 1, /* 0x 20 */
|
||||
125, 41, 28, 44, 56, 99, 0, 4,124, 9, 0, 64,125, 41, 72, 20, /* 0x 30 */
|
||||
97, 41, 0, 1, 78,128, 0, 32,141, 3, 0, 1,157, 5, 0, 1, /* 0x 40 */
|
||||
124, 9, 0, 64,125, 41, 74, 20, 65,162,255,213, 65,129,255,236, /* 0x 50 */
|
||||
56,224, 0, 1, 72, 0, 0, 20, 56,231,255,255,125, 41, 72, 21, /* 0x 60 */
|
||||
65,162,255,189,124,231, 57, 20,125, 41, 72, 21, 65,162,255,177, /* 0x 70 */
|
||||
124,231, 57, 20,124, 9, 0, 64,125, 41, 74, 20, 65,162,255,161, /* 0x 80 */
|
||||
65,160,255,216, 57, 0, 0, 0, 52,231,255,253, 84,231, 64, 46, /* 0x 90 */
|
||||
65,128, 0, 32,140, 67, 0, 1,124,234, 16,249,125, 74, 14,112, /* 0x a0 */
|
||||
65,130, 0,148,112, 66, 0, 1, 65,162, 0, 80, 72, 0, 0, 20, /* 0x b0 */
|
||||
124, 9, 0, 64,125, 41, 74, 20, 65,162,255,101, 65,161, 0, 60, /* 0x c0 */
|
||||
57, 0, 0, 1,124, 9, 0, 64,125, 41, 74, 20, 65,162,255, 81, /* 0x d0 */
|
||||
65,161, 0, 40,125, 41, 72, 21, 65,162,255, 69,125, 8, 65, 20, /* 0x e0 */
|
||||
124, 9, 0, 64,125, 41, 74, 20, 65,162,255, 53, 65,160,255,232, /* 0x f0 */
|
||||
57, 8, 0, 2, 72, 0, 0, 16,125, 41, 72, 21, 65,162,255, 33, /* 0x 100 */
|
||||
125, 8, 65, 20, 32,234,250,255, 57, 8, 0, 2,125, 8, 1,148, /* 0x 110 */
|
||||
124,234, 42, 20,125, 9, 3,166,141, 7, 0, 1,157, 5, 0, 1, /* 0x 120 */
|
||||
66, 0,255,248, 56,224, 1, 0,124, 7, 41,236,124, 7, 26, 44, /* 0x 130 */
|
||||
75,255,255, 16,128, 6, 0, 0,125,168, 3,166, 56,165, 0, 1, /* 0x 140 */
|
||||
56, 99, 0, 1,124,160, 40, 80,124,100, 24, 80,144,166, 0, 0, /* 0x 150 */
|
||||
78,128, 0, 32, 10, 36, 73,100, 58, 32, 85, 80, 88, 32, 40, 67, /* 0x 160 */
|
||||
41, 32, 49, 57, 57, 54, 45, 50, 48, 48, 54, 32,116,104,101, 32, /* 0x 170 */
|
||||
85, 80, 88, 32, 84,101, 97,109, 46, 32, 65,108,108, 32, 82,105, /* 0x 180 */
|
||||
103,104,116,115, 32, 82,101,115,101,114,118,101,100, 46, 32,104, /* 0x 190 */
|
||||
116,116,112, 58, 47, 47,117,112,120, 46,115,102, 46,110,101,116, /* 0x 1a0 */
|
||||
32, 36, 10, 0, 72, 0, 0, 37, 80, 82, 79, 84, 95, 69, 88, 69, /* 0x 1b0 */
|
||||
67,124, 80, 82, 79, 84, 95, 87, 82, 73, 84, 69, 32,102, 97,105, /* 0x 1c0 */
|
||||
108,101,100, 46, 10, 0, 0, 0, 56,160, 0, 32,124,136, 2,166, /* 0x 1d0 */
|
||||
56, 96, 0, 2, 56, 0, 0, 4, 68, 0, 0, 2, 56, 96, 0,127, /* 0x 1e0 */
|
||||
56, 0, 0, 1, 68, 0, 0, 2,127,200, 2,166, 57, 0, 0, 0, /* 0x 1f0 */
|
||||
56,224,255,255,128,126, 0, 4, 56,192, 0, 50, 56,160, 0, 7, /* 0x 200 */
|
||||
56,128, 16, 0,124, 99,242, 20, 56, 0, 0, 90, 56, 99, 16, 11, /* 0x 210 */
|
||||
84, 99, 0, 38, 68, 0, 0, 2, 65,163,255,140,127,233, 3,166, /* 0x 220 */
|
||||
136,254, 0, 8, 56,193, 0,124,124,101, 27,120,124,104, 3,166, /* 0x 230 */
|
||||
128,158, 0, 4, 56,126, 0, 12, 78,128, 4, 32,148, 33,255,128, /* 0x 240 */
|
||||
188, 65, 0, 4,127,232, 2,166, 75,255,255,161 /* 0x 250 */
|
||||
};
|
||||
177
src/stub/powerpc-linux.elf-fold.h
Normal file
177
src/stub/powerpc-linux.elf-fold.h
Normal file
@ -0,0 +1,177 @@
|
||||
/* powerpc-linux.elf-fold.h -- created from powerpc-linux.elf-fold.bin, 2260 (0x8d4) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define LINUX_ELFPPC32_FOLD_SIZE 2260
|
||||
#define LINUX_ELFPPC32_FOLD_ADLER32 0x6c8685d0
|
||||
#define LINUX_ELFPPC32_FOLD_CRC32 0xa1bffc23
|
||||
|
||||
unsigned char linux_elfppc32_fold[2260] = {
|
||||
127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 0 */
|
||||
0, 2, 0, 20, 0, 0, 0, 1, 0, 16, 0,128, 0, 0, 0, 52, /* 0x 10 */
|
||||
0, 0, 7,188, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 40, /* 0x 20 */
|
||||
0, 7, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 0, 0, /* 0x 30 */
|
||||
0, 16, 0, 0, 0, 0, 7,132, 0, 0, 7,132, 0, 0, 0, 5, /* 0x 40 */
|
||||
0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 7,132, 0, 16, 7,132, /* 0x 50 */
|
||||
0, 16, 7,132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, /* 0x 60 */
|
||||
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 70 */
|
||||
72, 0, 0,125, 40, 6, 0,208, 76,130, 0, 32, 84,132,240,191, /* 0x 80 */
|
||||
77,130, 0, 32, 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8, /* 0x 90 */
|
||||
124, 4, 3,120, 56,165, 1, 32,124,103, 27,120, 56, 99,255,252, /* 0x a0 */
|
||||
124,137, 3,166, 72, 0, 0, 28, 84, 75, 2,186,125, 99, 88, 80, /* 0x b0 */
|
||||
125,107, 58, 20, 81, 98, 1,186,144, 67, 0, 0, 78, 64, 0, 32, /* 0x c0 */
|
||||
132, 67, 0, 4, 84, 75, 85,190,124, 11, 40, 64, 65,162,255,220, /* 0x d0 */
|
||||
66, 0,255,240, 78,128, 0, 32,128, 73, 0, 0, 57, 41, 0, 4, /* 0x e0 */
|
||||
47,130, 0, 0, 64,158,255,244, 78,128, 0, 32,125, 8, 2,166, /* 0x f0 */
|
||||
129, 33, 0, 0, 75,255,255,229, 75,255,255,225,128,159,255,248, /* 0x 100 */
|
||||
85, 30, 0, 38, 56,161,248, 0,127,231,251,120,124,100,248, 80, /* 0x 110 */
|
||||
56, 33,247,240, 84,125, 0, 38,128,195, 0, 24, 72, 0, 5, 9, /* 0x 120 */
|
||||
124,127, 27,120,127,163,235,120,124,157,240, 80, 72, 0, 0, 81, /* 0x 130 */
|
||||
127,232, 3,166,184, 65, 8, 20,128, 33, 8, 16, 78,128, 0, 32, /* 0x 140 */
|
||||
56, 0, 0, 90, 68, 0, 0, 2, 64,163, 0, 8, 56, 96,255,255, /* 0x 150 */
|
||||
78,128, 0, 32, 56, 0, 0, 1, 75,255,255,236, 56, 0, 0, 3, /* 0x 160 */
|
||||
75,255,255,228, 56, 0, 0, 5, 75,255,255,220, 56, 0, 0, 6, /* 0x 170 */
|
||||
75,255,255,212, 56, 0, 0,125, 75,255,255,204, 56, 0, 0, 91, /* 0x 180 */
|
||||
75,255,255,196, 56, 0, 0, 45, 75,255,255,188,124, 8, 2,166, /* 0x 190 */
|
||||
148, 33,255,240,144, 1, 0, 20,128, 3, 0, 0,129, 35, 0, 4, /* 0x 1a0 */
|
||||
127,128, 40, 64, 64,188, 0, 12, 56, 96, 0,127, 75,255,255,169, /* 0x 1b0 */
|
||||
47,133, 0, 0, 65,158, 0, 28,124,169, 3,166,136, 9, 0, 0, /* 0x 1c0 */
|
||||
57, 41, 0, 1,152, 4, 0, 0, 56,132, 0, 1, 66, 0,255,240, /* 0x 1d0 */
|
||||
128, 3, 0, 0,129, 35, 0, 4,124, 5, 0, 80,144, 3, 0, 0, /* 0x 1e0 */
|
||||
125, 41, 42, 20,128, 1, 0, 20, 56, 33, 0, 16,145, 35, 0, 4, /* 0x 1f0 */
|
||||
124, 8, 3,166, 78,128, 0, 32,124, 8, 2,166,148, 33,255,192, /* 0x 200 */
|
||||
191,129, 0, 48,124,159, 35,120,124,126, 27,120,124,188, 43,120, /* 0x 210 */
|
||||
144, 1, 0, 68,124,221, 51,120,128, 4, 0, 0, 47,128, 0, 0, /* 0x 220 */
|
||||
65,158, 1, 32, 56,160, 0, 12,127,195,243,120, 56,129, 0, 16, /* 0x 230 */
|
||||
75,255,255, 93,129, 33, 0, 16,128,161, 0, 20, 47,137, 0, 0, /* 0x 240 */
|
||||
64,190, 0, 36, 60, 0, 33, 88, 96, 0, 80, 85,127,133, 0, 0, /* 0x 250 */
|
||||
64,190, 0, 28,128, 30, 0, 0, 47,128, 0, 0, 65,190, 0,228, /* 0x 260 */
|
||||
72, 0, 0, 12, 47,133, 0, 0, 64,190, 0, 12, 56, 96, 0,127, /* 0x 270 */
|
||||
75,255,254,229,127, 5, 72, 64, 65,185,255,244,128, 31, 0, 0, /* 0x 280 */
|
||||
127,137, 0, 64, 65,189,255,232,128, 31, 0, 4, 64,152, 0,132, /* 0x 290 */
|
||||
124,164, 43,120,128,126, 0, 4,124, 5, 3,120, 56,193, 0, 32, /* 0x 2a0 */
|
||||
136,225, 0, 24,127,136, 3,166, 78,128, 0, 33, 47,131, 0, 0, /* 0x 2b0 */
|
||||
64,190,255,188,128,129, 0, 32,128, 1, 0, 16,127,132, 0, 0, /* 0x 2c0 */
|
||||
64,190,255,172,136,193, 0, 25, 49, 61,255,255,124, 9,233, 16, /* 0x 2d0 */
|
||||
125, 38, 0,208, 85, 41, 15,254,125, 43, 0, 57, 65,162, 0, 20, /* 0x 2e0 */
|
||||
128,127, 0, 4,127,168, 3,166,136,161, 0, 26, 78,128, 0, 33, /* 0x 2f0 */
|
||||
128, 30, 0, 4,129, 97, 0, 20,129, 62, 0, 0,124, 0, 90, 20, /* 0x 300 */
|
||||
125, 43, 72, 80,144, 30, 0, 4,145, 62, 0, 0, 72, 0, 0, 16, /* 0x 310 */
|
||||
124, 4, 3,120,127,195,243,120, 75,255,254,117,129, 97, 0, 16, /* 0x 320 */
|
||||
129, 63, 0, 0,128, 31, 0, 4,125, 43, 72, 80, 47,137, 0, 0, /* 0x 330 */
|
||||
124, 0, 90, 20,144, 31, 0, 4,145, 63, 0, 0, 75,255,254,228, /* 0x 340 */
|
||||
128, 1, 0, 68,187,129, 0, 48, 56, 33, 0, 64,124, 8, 3,166, /* 0x 350 */
|
||||
78,128, 0, 32, 44, 3, 0, 0, 77,130, 0, 32, 48, 4,255,255, /* 0x 360 */
|
||||
125, 96, 33, 16,128, 3, 0, 0,127,128, 32, 0,104, 9, 0, 1, /* 0x 370 */
|
||||
33, 73, 0, 0,125, 42, 73, 20,125, 42, 88, 57, 65,158, 0, 8, /* 0x 380 */
|
||||
65,162, 0, 16,144,163, 0, 4,144,131, 0, 0, 78,128, 0, 32, /* 0x 390 */
|
||||
56, 99, 0, 8, 75,255,255,208,124, 8, 2,166,148, 33,255,160, /* 0x 3a0 */
|
||||
125,128, 0, 38,190, 65, 0, 40,124,121, 27,120,124,151, 35,120, /* 0x 3b0 */
|
||||
144, 1, 0,100,124,178, 43,120,161, 67, 0, 44,124,211, 51,120, /* 0x 3c0 */
|
||||
160, 3, 0, 16,124,244, 59,120, 53, 74,255,255,129, 35, 0, 28, /* 0x 3d0 */
|
||||
104, 0, 0, 3,145,129, 0, 36,124, 0, 0,208,127,163, 74, 20, /* 0x 3e0 */
|
||||
84, 3, 46,246,125, 21, 67,120, 56, 99, 8, 34,127,171,235,120, /* 0x 3f0 */
|
||||
59,224,255,255, 59,192, 0, 0, 65,128, 0, 68, 57, 74, 0, 1, /* 0x 400 */
|
||||
125, 73, 3,166,128, 11, 0, 0, 47,128, 0, 1, 64,190, 0, 40, /* 0x 410 */
|
||||
129, 43, 0, 8,127,137,248, 64, 64,156, 0, 8,125, 63, 75,120, /* 0x 420 */
|
||||
128, 11, 0, 20,124, 0, 74, 20,127,158, 0, 64, 64,156, 0, 8, /* 0x 430 */
|
||||
124, 30, 3,120, 57,107, 0, 32, 66, 0,255,204, 87,255, 0, 38, /* 0x 440 */
|
||||
124,102, 27,120,125, 63,240, 80,127,227,251,120, 57, 41, 15,255, /* 0x 450 */
|
||||
56,160, 0, 0, 85, 62, 0, 38, 56,224,255,255,127,196,243,120, /* 0x 460 */
|
||||
57, 0, 0, 0, 75,255,252,221,160, 25, 0, 44, 58,192, 0, 0, /* 0x 470 */
|
||||
127, 31, 24, 80,127,150, 0, 0,124, 3,242, 20,144, 1, 0, 8, /* 0x 480 */
|
||||
64,156, 1,128, 46, 23, 0, 0, 65,146, 0, 40,128, 29, 0, 0, /* 0x 490 */
|
||||
47,128, 0, 6, 64,190, 0, 28,128,189, 0, 8,126, 99,155,120, /* 0x 4a0 */
|
||||
56,128, 0, 3,124,165,194, 20, 75,255,254,173, 72, 0, 1, 64, /* 0x 4b0 */
|
||||
128, 29, 0, 0, 47,128, 0, 1, 64,190, 1, 52,128, 29, 0, 24, /* 0x 4c0 */
|
||||
61, 32,115, 81,129, 93, 0, 8, 97, 41, 98, 64, 84, 0, 22,250, /* 0x 4d0 */
|
||||
129,125, 0, 20,125, 41, 4, 48, 85, 94, 5, 62, 48, 23,255,255, /* 0x 4e0 */
|
||||
124,160,185, 16,128, 29, 0, 16, 85, 58, 7,126,127,106, 90, 20, /* 0x 4f0 */
|
||||
84,165, 8, 60,127,254, 80, 80,144, 1, 0, 16,127,128,242, 20, /* 0x 500 */
|
||||
145, 65, 0, 20,127,255,194, 20,127,123,194, 20,124,165,211,120, /* 0x 510 */
|
||||
65,146, 0, 12, 56,192, 0, 50, 72, 0, 0, 8, 56,192, 0, 18, /* 0x 520 */
|
||||
64,146, 0, 12,126, 71,147,120, 72, 0, 0, 8, 56,224,255,255, /* 0x 530 */
|
||||
129, 29, 0, 4,127,227,251,120,127,132,227,120,125, 30, 64, 80, /* 0x 540 */
|
||||
75,255,252, 1,127,159, 24, 0, 64,158, 0,104, 65,178, 0, 24, /* 0x 550 */
|
||||
126,227,187,120, 56,129, 0, 16,126,133,163,120,126,166,171,120, /* 0x 560 */
|
||||
75,255,252,153,115, 64, 0, 2,124, 28, 0,208, 84, 30, 5, 62, /* 0x 570 */
|
||||
65,130, 0, 36, 47,158, 0, 0,125, 63,226, 20, 65,158, 0, 24, /* 0x 580 */
|
||||
127,201, 3,166, 56, 0, 0, 0,152, 9, 0, 0, 57, 41, 0, 1, /* 0x 590 */
|
||||
66, 0,255,248, 65,178, 0, 36,127,227,251,120,127,132,227,120, /* 0x 5a0 */
|
||||
127, 69,211,120, 75,255,251,209, 47,131, 0, 0, 65,190, 0, 12, /* 0x 5b0 */
|
||||
56, 96, 0,127, 75,255,251,161,124, 28,242, 20,127,255, 2, 20, /* 0x 5c0 */
|
||||
127,159,216, 64, 64,188, 0, 40,124,159,216, 80,127, 69,211,120, /* 0x 5d0 */
|
||||
127,227,251,120, 56,192, 0, 50, 56,224,255,255, 57, 0, 0, 0, /* 0x 5e0 */
|
||||
75,255,251, 97,127,159, 24, 0, 64,190,255,200,160, 25, 0, 44, /* 0x 5f0 */
|
||||
58,214, 0, 1, 59,189, 0, 32,127,150, 0, 0, 75,255,254,132, /* 0x 600 */
|
||||
128,121, 0, 24,128, 1, 0,100,129,129, 0, 36,124, 99,194, 20, /* 0x 610 */
|
||||
124, 8, 3,166,186, 65, 0, 40,125,128,129, 32, 56, 33, 0, 96, /* 0x 620 */
|
||||
78,128, 0, 32,124, 8, 2,166,148, 33,255,192, 56,132,255,232, /* 0x 630 */
|
||||
191, 97, 0, 44,144,129, 0, 8,124,191, 43,120,144, 1, 0, 68, /* 0x 640 */
|
||||
56, 3, 0, 24,144, 1, 0, 12,124,229, 59,120,128, 3, 0, 24, /* 0x 650 */
|
||||
56,192, 0, 0,200, 1, 0, 8, 56, 97, 0, 8, 56,129, 0, 16, /* 0x 660 */
|
||||
59,223, 0, 52,125, 61, 75,120,124,251, 59,120,144, 1, 0, 16, /* 0x 670 */
|
||||
125, 28, 67,120,216, 1, 0, 24,147,225, 0, 20, 75,255,251,125, /* 0x 680 */
|
||||
128,190, 0, 8,127,163,235,120, 56,128, 0, 3, 56,165, 0, 52, /* 0x 690 */
|
||||
75,255,252,197,160,191, 0, 44,127,163,235,120, 56,128, 0, 5, /* 0x 6a0 */
|
||||
75,255,252,181,128,191, 0, 24,127,163,235,120, 56,128, 0, 9, /* 0x 6b0 */
|
||||
75,255,252,165,127,103,219,120,127,136,227,120,127,227,251,120, /* 0x 6c0 */
|
||||
127,166,235,120, 56,129, 0, 24, 56,160, 0, 0, 59, 96, 0, 0, /* 0x 6d0 */
|
||||
75,255,252,201,160, 31, 0, 44,124,124, 27,120,127,155, 0, 0, /* 0x 6e0 */
|
||||
64,156, 0,124,128, 30, 0, 0, 59,123, 0, 1, 56,128, 0, 0, /* 0x 6f0 */
|
||||
56,160, 0, 0, 47,128, 0, 3, 64,190, 0, 88,128,126, 0, 8, /* 0x 700 */
|
||||
75,255,250,101,127,228,251,120,124,125, 27,121, 56,160, 2, 0, /* 0x 710 */
|
||||
65,128, 0, 40, 75,255,250, 73, 56,128, 0, 0, 47,131, 2, 0, /* 0x 720 */
|
||||
127,165,235,120,127,227,251,120, 56,192, 0, 0, 56,224, 0, 0, /* 0x 730 */
|
||||
57, 0, 0, 0, 65,190, 0, 12, 56, 96, 0,127, 75,255,250, 25, /* 0x 740 */
|
||||
75,255,252, 89,124,124, 27,120,127,163,235,120, 75,255,250, 33, /* 0x 750 */
|
||||
160, 31, 0, 44, 59,222, 0, 32, 75,255,255,132,128, 1, 0, 68, /* 0x 760 */
|
||||
127,131,227,120,187, 97, 0, 44, 56, 33, 0, 64,124, 8, 3,166, /* 0x 770 */
|
||||
78,128, 0, 32, 0, 46,115,104,115,116,114,116, 97, 98, 0, 46, /* 0x 780 */
|
||||
116,101,120,116, 0, 46, 98,115,115, 0, 46,115,100, 97,116, 97, /* 0x 790 */
|
||||
0, 46,115,100, 97,116, 97, 50, 0, 46,110,111,116,101, 46, 71, /* 0x 7a0 */
|
||||
78, 85, 45,115,116, 97, 99,107, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 7b0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 7c0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 7d0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 6, /* 0x 7e0 */
|
||||
0, 16, 0,128, 0, 0, 0,128, 0, 0, 7, 4, 0, 0, 0, 0, /* 0x 7f0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 17, /* 0x 800 */
|
||||
0, 0, 0, 8, 0, 0, 0, 3, 0, 16, 7,132, 0, 0, 7,132, /* 0x 810 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, /* 0x 820 */
|
||||
0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 1, 0, 0, 0, 3, /* 0x 830 */
|
||||
0, 16, 7,132, 0, 0, 7,132, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 840 */
|
||||
0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 29, /* 0x 850 */
|
||||
0, 0, 0, 1, 0, 0, 0, 2, 0, 16, 7,132, 0, 0, 7,132, /* 0x 860 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, /* 0x 870 */
|
||||
0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 7, 0, 0, 0, 0, /* 0x 880 */
|
||||
0, 0, 0, 0, 0, 0, 7,132, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 890 */
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, /* 0x 8a0 */
|
||||
0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7,132, /* 0x 8b0 */
|
||||
0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, /* 0x 8c0 */
|
||||
0, 0, 0, 0 /* 0x 8d0 */
|
||||
};
|
||||
50
src/stub/scripts/UNUSED/asl_m68k.sh
Normal file
50
src/stub/scripts/UNUSED/asl_m68k.sh
Normal file
@ -0,0 +1,50 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# asl_m68k.sh --
|
||||
#
|
||||
# This file is part of the UPX executable compressor.
|
||||
#
|
||||
# Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
# Copyright (C) 1996-2006 Laszlo Molnar
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# UPX and the UCL library are free software; you can redistribute them
|
||||
# and/or modify them under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; see the file COPYING.
|
||||
# If not, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
# <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
# wrapper for the ASL cross-assembler (version 1.42bld43)
|
||||
# http://john.ccac.rwth-aachen.de:8000/as/
|
||||
# http://john.ccac.rwth-aachen.de:8000/ftp/as/source/c_version/
|
||||
|
||||
file="$1"
|
||||
test -f "$file" || exit 1
|
||||
|
||||
ofile=`echo "$file" | sed 's/\.[a-z]*$/.o/'`
|
||||
|
||||
# convert ' to " in dc.x statements
|
||||
perl -p -i -e '
|
||||
s,\x27,",g if m,^\s*dc\.,;
|
||||
' "$file"
|
||||
|
||||
echo asl -q -xC -U -cpu 68000 -o "$ofile" -L "$file"
|
||||
asl -q -xC -U -cpu 68000 -o "$ofile" -L "$file"
|
||||
|
||||
exit 0
|
||||
|
||||
143
src/stub/scripts/UNUSED/bin2h.pl
Normal file
143
src/stub/scripts/UNUSED/bin2h.pl
Normal file
@ -0,0 +1,143 @@
|
||||
#! /usr/bin/perl -w
|
||||
#
|
||||
# bin2h.pl --
|
||||
#
|
||||
# This file is part of the UPX executable compressor.
|
||||
#
|
||||
# Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
# Copyright (C) 1996-2006 Laszlo Molnar
|
||||
# Copyright (C) 2000-2006 John F. Reiser
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# UPX and the UCL library are free software; you can redistribute them
|
||||
# and/or modify them under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; see the file COPYING.
|
||||
# If not, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
# <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
#
|
||||
|
||||
|
||||
use Compress::Zlib;
|
||||
|
||||
$delim = $/;
|
||||
undef $/; # undef input record separator - read file as a whole
|
||||
|
||||
$ifile = shift || die;
|
||||
$ident = shift || die;
|
||||
$ofile = shift || die;
|
||||
|
||||
$opt_q = "";
|
||||
$opt_q = shift if ($#ARGV >= 0);
|
||||
|
||||
# open ifile
|
||||
open(INFILE,$ifile) || die "open $ifile\n";
|
||||
binmode(INFILE);
|
||||
|
||||
# check file size
|
||||
@st = stat($ifile);
|
||||
if (1 && $st[7] <= 0) {
|
||||
print STDERR "$ifile: ERROR: emtpy file\n";
|
||||
exit(1);
|
||||
}
|
||||
if (1 && $st[7] > 64*1024) {
|
||||
print STDERR "$ifile: ERROR: file is too big (${st[7]} bytes)\n";
|
||||
if ($ifile =~ /^fold/) {
|
||||
print STDERR " (please upgrade your binutils to 2.12.90.0.15 or better)\n";
|
||||
}
|
||||
exit(1);
|
||||
}
|
||||
|
||||
# read whole file
|
||||
$data = <INFILE>;
|
||||
close(INFILE) || die;
|
||||
$n = length($data);
|
||||
die if ($n != $st[7]);
|
||||
|
||||
# open ofile
|
||||
open(OUTFILE,">$ofile") || die "open $ofile\n";
|
||||
binmode(OUTFILE);
|
||||
select(OUTFILE);
|
||||
|
||||
$if = $ifile;
|
||||
$if =~ s/.*[\/\\]//;
|
||||
$of = $ofile;
|
||||
$of =~ s/.*[\/\\]//;
|
||||
|
||||
if ($opt_q ne "-q") {
|
||||
printf ("/* %s -- created from %s, %d (0x%x) bytes\n", $of, $if, $n, $n);
|
||||
print <<"EOF";
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx\@users.sourceforge.net> <ml1050\@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
$s = $ident;
|
||||
$s =~ tr/a-z/A-Z/;
|
||||
printf("#define %s_SIZE %d\n", $s, $n);
|
||||
printf("#define %s_ADLER32 0x%08x\n", $s, &adler32($data));
|
||||
printf("#define %s_CRC32 0x%08x\n", $s, &crc32($data));
|
||||
printf("\n");
|
||||
|
||||
printf("unsigned char %s[%d] = {", $ident, $n);
|
||||
for ($i = 0; $i < $n; $i++) {
|
||||
if ($i % 16 == 0) {
|
||||
printf(" /* 0x%4x */", $i - 16) if $i > 0;
|
||||
print "\n";
|
||||
}
|
||||
printf("%3d", ord(substr($data, $i, 1)));
|
||||
print "," if ($i != $n - 1);
|
||||
}
|
||||
|
||||
while (($i % 16) != 0) {
|
||||
$i++;
|
||||
print " ";
|
||||
}
|
||||
printf(" /* 0x%4x */", $i - 16);
|
||||
|
||||
print "\n};\n";
|
||||
|
||||
close(OUTFILE) || die;
|
||||
select(STDOUT);
|
||||
|
||||
undef $delim;
|
||||
exit(0);
|
||||
|
||||
# vi:ts=4:et
|
||||
58
src/stub/scripts/UNUSED/setfold.pl
Normal file
58
src/stub/scripts/UNUSED/setfold.pl
Normal file
@ -0,0 +1,58 @@
|
||||
#! /usr/bin/perl -w
|
||||
#
|
||||
# setfold.pl -- set Elf32_Phdr[1].p_offset
|
||||
#
|
||||
# This file is part of the UPX executable compressor.
|
||||
#
|
||||
# Copyright (C) 2000-2006 John F. Reiser
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# UPX and the UCL library are free software; you can redistribute them
|
||||
# and/or modify them under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; see the file COPYING.
|
||||
# If not, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
# <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
#
|
||||
# John F. Reiser
|
||||
# <jreiser@users.sourceforge.net>
|
||||
#
|
||||
|
||||
|
||||
$fname = shift || die;
|
||||
sysopen (FH,$fname,2) || die;
|
||||
binmode FH;
|
||||
|
||||
$fsize = (stat($fname))[7];
|
||||
|
||||
$val = shift || die "$val";
|
||||
###print STDERR "$val\n";
|
||||
$val = oct($val); # acutally hex()
|
||||
$val = $val & 0xfff;
|
||||
printf STDERR "setfold info: $fname: setting fold to 0x%x, file size 0x%x\n", $val, $fsize;
|
||||
die unless $val > 0;
|
||||
die unless $val < $fsize;
|
||||
$num = pack("V", $val);
|
||||
|
||||
# 0x34 = sizeof(Elf32_Ehdr)
|
||||
# 0x20 = sizeof(Elf32_Phdr)
|
||||
# 4 = offset(p_offset)
|
||||
sysseek (FH,0x34+0x20+4,0) || die;
|
||||
|
||||
syswrite (FH,$num,4) || die;
|
||||
|
||||
close(FH) || die;
|
||||
exit 0;
|
||||
|
||||
# vi:ts=4:et
|
||||
52
src/stub/scripts/UNUSED/setfold.sh
Normal file
52
src/stub/scripts/UNUSED/setfold.sh
Normal file
@ -0,0 +1,52 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# setfold.sh --
|
||||
#
|
||||
# This file is part of the UPX executable compressor.
|
||||
#
|
||||
# Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
# Copyright (C) 1996-2006 Laszlo Molnar
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# UPX and the UCL library are free software; you can redistribute them
|
||||
# and/or modify them under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; see the file COPYING.
|
||||
# If not, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
# <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
file="$1"
|
||||
|
||||
# get directory of this script
|
||||
bindir=`echo "$0" | sed -e 's|[^/][^/]*$||'`
|
||||
bindir=`cd "$bindir" && pwd`
|
||||
|
||||
sstrip="./util/sstrip/sstrip"
|
||||
test -x "$sstrip" || sstrip="$bindir/../util/sstrip/sstrip"
|
||||
|
||||
# get address of symbol "fold_begin"
|
||||
fold=`nm -f bsd "$file" | grep fold_begin | sed 's/^0*\([0-9a-fA-F]*\).*/0x\1/'`
|
||||
|
||||
# strip
|
||||
objcopy -S -R .comment -R .note "$file"
|
||||
"$sstrip" "$file"
|
||||
|
||||
# patch address
|
||||
perl -w "$bindir/setfold.pl" "$file" "$fold"
|
||||
|
||||
exit 0
|
||||
|
||||
78
src/stub/scripts/UNUSED/stripelf.pl
Normal file
78
src/stub/scripts/UNUSED/stripelf.pl
Normal file
@ -0,0 +1,78 @@
|
||||
#! /usr/bin/perl -w
|
||||
#
|
||||
# stripelf.pl -- strip section headers from an ELF executable
|
||||
#
|
||||
# This file is part of the UPX executable compressor.
|
||||
#
|
||||
# Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
# Copyright (C) 1996-2006 Laszlo Molnar
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# UPX and the UCL library are free software; you can redistribute them
|
||||
# and/or modify them under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; see the file COPYING.
|
||||
# If not, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
# <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
#
|
||||
|
||||
#
|
||||
# Strip section headers from the Linux stub. Section headers are
|
||||
# optional for executables, but nevertheless binutils (2.9.1.0.25)
|
||||
# complain with a "File format not recognized" error.
|
||||
# Looks like a bug in binutils to me.
|
||||
#
|
||||
# A positive side effect of this is that `strip' cannot ruin an UPX
|
||||
# compressed file any longer.
|
||||
#
|
||||
|
||||
$fname = shift || die;
|
||||
sysopen (FH,$fname,2) || die;
|
||||
binmode FH;
|
||||
|
||||
sysseek (FH,0x20,0) || die;
|
||||
sysread (FH,$num,4) || die;
|
||||
$shpos = unpack ("V",$num); # e_shoff
|
||||
|
||||
sysseek (FH,0x2e,0) || die;
|
||||
sysread (FH,$num,2) || die;
|
||||
$ssize = unpack ("v",$num); # e_shentsize
|
||||
|
||||
sysseek (FH,0x32,0) || die;
|
||||
sysread (FH,$num,2) || die;
|
||||
$idx = unpack ("v",$num); # e_shstrndx
|
||||
|
||||
sysseek (FH,$shpos + $idx * $ssize + 16,0) || die;
|
||||
sysread (FH,$num,4) || die;
|
||||
$neweof = unpack ("V",$num); # sh_offset of the e_shstrndx section
|
||||
|
||||
$num = pack ("x6");
|
||||
sysseek (FH,0x20,0) || die;
|
||||
syswrite (FH,$num,4) || die; # clear e_shoff
|
||||
|
||||
if (1) {
|
||||
sysseek (FH,0x2e,0) || die;
|
||||
syswrite (FH,$num,6) || die; # clear e_shentsize, e_shnum & e_shstrndx
|
||||
} else {
|
||||
sysseek (FH,0x30,0) || die;
|
||||
syswrite (FH,$num,4) || die; # clear e_shnum & e_shstrndx
|
||||
}
|
||||
|
||||
truncate (FH,$neweof) || die;
|
||||
close(FH) || die;
|
||||
|
||||
print STDOUT "$0: truncated $fname to $neweof bytes.\n";
|
||||
exit 0;
|
||||
|
||||
# vi:ts=4:et
|
||||
42
src/stub/scripts/UNUSED/version.pl
Normal file
42
src/stub/scripts/UNUSED/version.pl
Normal file
@ -0,0 +1,42 @@
|
||||
#! /usr/bin/perl -w
|
||||
#
|
||||
# version.pl -- convert version.h into version.asy
|
||||
#
|
||||
# This file is part of the UPX executable compressor.
|
||||
#
|
||||
# Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
# Copyright (C) 1996-2006 Laszlo Molnar
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# UPX and the UCL library are free software; you can redistribute them
|
||||
# and/or modify them under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; see the file COPYING.
|
||||
# If not, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
# <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
#
|
||||
|
||||
|
||||
$mode = shift || "--nasm";
|
||||
while (<>) {
|
||||
chop;
|
||||
s/\s+$//;
|
||||
if (/^\s*\#\s*define\s+(.*)/) {
|
||||
print "%define $1\n" if ($mode eq "--nasm");
|
||||
}
|
||||
}
|
||||
|
||||
exit (0);
|
||||
|
||||
# vi:ts=4:et
|
||||
145
src/stub/scripts/bin2h.py
Normal file
145
src/stub/scripts/bin2h.py
Normal file
@ -0,0 +1,145 @@
|
||||
#! /usr/bin/env python
|
||||
## vim:set ts=4 sw=4 et: -*- coding: utf-8 -*-
|
||||
#
|
||||
# bin2h.py --
|
||||
#
|
||||
# This file is part of the UPX executable compressor.
|
||||
#
|
||||
# Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# UPX and the UCL library are free software; you can redistribute them
|
||||
# and/or modify them under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; see the file COPYING.
|
||||
# If not, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
# <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
#
|
||||
|
||||
|
||||
import getopt, os, re, sys, zlib
|
||||
|
||||
|
||||
class opts:
|
||||
dry_run = 0
|
||||
ident = None
|
||||
verbose = 0
|
||||
|
||||
|
||||
def w_header(w, ifile, ofile, n):
|
||||
w("/* %s -- created from %s, %d (0x%x) bytes\n" % (os.path.basename(ofile), os.path.basename(ifile), n, n))
|
||||
w("""\n\
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2006 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*/\n\n\n""")
|
||||
|
||||
|
||||
def w_checksum(w, s, data):
|
||||
w("#define %s_SIZE %d\n" % (s, len(data)))
|
||||
w("#define %s_ADLER32 0x%08x\n" % (s, 0xffffffffL & zlib.adler32(data)))
|
||||
w("#define %s_CRC32 0x%08x\n" % (s, 0xffffffffL & zlib.crc32(data)))
|
||||
w("\n")
|
||||
|
||||
|
||||
def w_data(w, data):
|
||||
def w_eol(w, i):
|
||||
if i > 0:
|
||||
w(" /* 0x%4x */" % (i - 16))
|
||||
w("\n")
|
||||
|
||||
n = len(data)
|
||||
for i in range(n):
|
||||
if i % 16 == 0:
|
||||
w_eol(w, i)
|
||||
w("%3d" % ord(data[i]))
|
||||
w(", " [i == n - 1])
|
||||
i = n
|
||||
while i % 16 != 0:
|
||||
i += 1
|
||||
w(" ")
|
||||
w_eol(w, i)
|
||||
|
||||
|
||||
def main(argv):
|
||||
shortopts, longopts = "qv", ["dry-run", "ident=", "quiet", "verbose"]
|
||||
xopts, args = getopt.gnu_getopt(argv[1:], shortopts, longopts)
|
||||
for opt, optarg in xopts:
|
||||
if 0: pass
|
||||
elif opt in ["-q", "--quiet"]: opts.verbose = opts.verbose - 1
|
||||
elif opt in ["-v", "--verbose"]: opts.verbose = opts.verbose + 1
|
||||
elif opt in ["--dry-run"]: opts.dry_run = opts.dry_run + 1
|
||||
elif opt in ["--ident"]: opts.ident = optarg
|
||||
else: assert 0, ("getopt problem:", opt, optarg, xopts, args)
|
||||
|
||||
assert len(args) == 2
|
||||
ifile = args[0]
|
||||
ofile = args[1]
|
||||
|
||||
# check file size
|
||||
st = os.stat(ifile)
|
||||
if 1 and st.st_size <= 0:
|
||||
print >> sys.stderr, "%s: ERROR: emtpy file" % (ifile)
|
||||
sys.exit(1)
|
||||
if 1 and st.st_size > 64*1024:
|
||||
print >> sys.stderr, "%s: ERROR: file is too big (%d bytes)" % (ifile, st.st_size)
|
||||
if re.search(r"^fold", ifile):
|
||||
print >> sys.stderr, " (please upgrade your binutils to 2.12.90.0.15 or better)"
|
||||
sys.exit(1)
|
||||
|
||||
# read ifile
|
||||
fp = open(ifile, "rb")
|
||||
data = fp.read()
|
||||
fp.close()
|
||||
assert len(data) == st.st_size
|
||||
|
||||
# write ofile
|
||||
fp = open(ofile, "wb")
|
||||
w = fp.write
|
||||
if opts.verbose >= 0:
|
||||
w_header(w, ifile, ofile, len(data))
|
||||
if opts.ident:
|
||||
w_checksum(w, opts.ident.upper(), data)
|
||||
w("unsigned char %s[%d] = {\n" % (opts.ident, len(data)))
|
||||
w_data(w, data)
|
||||
if opts.ident:
|
||||
w("};\n")
|
||||
fp.close()
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main(sys.argv))
|
||||
|
||||
48
src/stub/scripts/brandelf.pl
Normal file
48
src/stub/scripts/brandelf.pl
Normal file
@ -0,0 +1,48 @@
|
||||
#! /usr/bin/perl -w
|
||||
#
|
||||
# brandelf.pl -- brand an ELF binary as Linux or FreeBSD
|
||||
#
|
||||
# This file is part of the UPX executable compressor.
|
||||
#
|
||||
# Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
# Copyright (C) 1996-2006 Laszlo Molnar
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# UPX and the UCL library are free software; you can redistribute them
|
||||
# and/or modify them under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; see the file COPYING.
|
||||
# If not, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
# <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
#
|
||||
|
||||
|
||||
$fname = shift || die;
|
||||
|
||||
$sig = shift || "Linux";
|
||||
die if length($sig) > 7;
|
||||
|
||||
sysopen (FH,$fname,2) || die;
|
||||
binmode FH;
|
||||
|
||||
sysread (FH,$header,8) || die;
|
||||
die if (substr($header, 0, 7) ne "\x7f\x45\x4c\x46\x01\x01\x01");
|
||||
|
||||
syswrite (FH,$sig,length($sig)) || die;
|
||||
syswrite (FH,"\0\0\0\0\0\0\0\0",8-length($sig)) || die;
|
||||
close (FH) || die;
|
||||
|
||||
exit (0);
|
||||
|
||||
# vi:ts=4:et
|
||||
133
src/stub/scripts/gpp_inc.py
Normal file
133
src/stub/scripts/gpp_inc.py
Normal file
@ -0,0 +1,133 @@
|
||||
#! /usr/bin/env python
|
||||
## vim:set ts=4 sw=4 et: -*- coding: utf-8 -*-
|
||||
#
|
||||
# gpp_inc.py -- Generic PreProcessor: include
|
||||
#
|
||||
# This file is part of the UPX executable compressor.
|
||||
#
|
||||
# Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# UPX and the UCL library are free software; you can redistribute them
|
||||
# and/or modify them under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; see the file COPYING.
|
||||
# If not, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
# <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
#
|
||||
|
||||
|
||||
import getopt, os, re, sys
|
||||
|
||||
|
||||
class opts:
|
||||
dry_run = 0
|
||||
verbose = 0
|
||||
fatal = 1
|
||||
includes = []
|
||||
mode = "c"
|
||||
|
||||
|
||||
included_files = {}
|
||||
|
||||
|
||||
def not_found(l, s, state):
|
||||
if opts.fatal:
|
||||
raise Exception, "%s:%d: include file %s not found" % (state[0], state[2], s)
|
||||
return l
|
||||
|
||||
|
||||
def handle_inc_c(l, state, ofp):
|
||||
m = re.search(r"^\s*\#\s*include\s+([\"\<].+)", l)
|
||||
if not m:
|
||||
return l
|
||||
s = m.group(1).strip()
|
||||
if len(s) < 3 or s[0] != s[-1]:
|
||||
return not_found(l, s, state)
|
||||
if s[0] == '<':
|
||||
dirs = opts.includes
|
||||
elif s[0] == '"':
|
||||
dirs = [state[1]] + opts.includes
|
||||
else:
|
||||
assert 0
|
||||
inc = s[1:-1]
|
||||
for dir in dirs:
|
||||
fn = os.path.join(dir, inc)
|
||||
if os.path.isfile(fn):
|
||||
handle_file(fn, ofp, state)
|
||||
return None
|
||||
return not_found(l, s, state)
|
||||
|
||||
|
||||
def handle_inc_nasm(l, state, ofp):
|
||||
m = re.search(r"^\s*\%\s*include\s+([\"\<].+)", l)
|
||||
if not m:
|
||||
return l
|
||||
s = m.group(1).strip()
|
||||
if len(s) < 3 or s[0] != s[-1]:
|
||||
return not_found(l, s, state)
|
||||
inc = s[1:-1]
|
||||
# info: nasm simply does concat the includes
|
||||
for prefix in opts.includes + [""]:
|
||||
fn = prefix + inc
|
||||
if os.path.isfile(fn):
|
||||
handle_file(fn, ofp, state)
|
||||
return None
|
||||
return not_found(l, s, state)
|
||||
|
||||
|
||||
def handle_file(ifn, ofp, parent_state=None):
|
||||
state = [ifn, os.path.dirname(ifn) or ".", 0, parent_state]
|
||||
ifp = open(ifn, "rb")
|
||||
for l in ifp.readlines():
|
||||
state[2] += 1 # line counter
|
||||
l = l.rstrip("\n")
|
||||
if opts.mode == "c":
|
||||
l = handle_inc_c(l, state, ofp)
|
||||
elif opts.mode == "nasm":
|
||||
l = handle_inc_nasm(l, state, ofp)
|
||||
if l is not None:
|
||||
ofp.write(l + "\n")
|
||||
|
||||
|
||||
def main(argv):
|
||||
ofile = None
|
||||
shortopts, longopts = "qvI::o::", ["dry-run", "mode=", "quiet", "verbose"]
|
||||
xopts, args = getopt.gnu_getopt(argv[1:], shortopts, longopts)
|
||||
for opt, optarg in xopts:
|
||||
if 0: pass
|
||||
elif opt in ["-q", "--quiet"]: opts.verbose = opts.verbose - 1
|
||||
elif opt in ["-v", "--verbose"]: opts.verbose = opts.verbose + 1
|
||||
elif opt in ["--dry-run"]: opts.dry_run = opts.dry_run + 1
|
||||
elif opt in ["-I"]: opts.includes.append(optarg)
|
||||
elif opt in ["-o"]: ofile = optarg
|
||||
elif opt in ["--mode"]: opts.mode = optarg.lower()
|
||||
else: assert 0, ("getopt problem:", opt, optarg, xopts, args)
|
||||
|
||||
if ofile is None:
|
||||
assert len(args) == 2
|
||||
ifile = args[0]
|
||||
ofile = args[1]
|
||||
else:
|
||||
assert len(args) == 1
|
||||
ifile = args[0]
|
||||
|
||||
assert os.path.isfile(ifile)
|
||||
ofp = open(ofile, "wb")
|
||||
handle_file(ifile, ofp)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main(sys.argv))
|
||||
|
||||
76
src/stub/scripts/o2bin.pl
Normal file
76
src/stub/scripts/o2bin.pl
Normal file
@ -0,0 +1,76 @@
|
||||
#! /usr/bin/perl -w
|
||||
#
|
||||
# o2bin.pl --
|
||||
#
|
||||
# This file is part of the UPX executable compressor.
|
||||
#
|
||||
# Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
# Copyright (C) 1996-2006 Laszlo Molnar
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# UPX and the UCL library are free software; you can redistribute them
|
||||
# and/or modify them under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; see the file COPYING.
|
||||
# If not, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
# <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
#
|
||||
|
||||
|
||||
$delim = $/;
|
||||
undef $/; # undef input record separator - read file as a whole
|
||||
|
||||
$ifile = shift || die;
|
||||
$ofile = shift || die;
|
||||
$x_start = shift || die;
|
||||
$x_end = shift || die;
|
||||
|
||||
# read whole file
|
||||
open(INFILE,$ifile) || die "$ifile\n";
|
||||
binmode(INFILE);
|
||||
$data = <INFILE>;
|
||||
close(INFILE) || die;
|
||||
|
||||
# delete everything up to 'UPX1'
|
||||
die if ($data =~ s/^.*${x_start}//s) != 1;
|
||||
|
||||
# delete everything from 'UPX9'
|
||||
die if ($data =~ s/${x_end}.*$//s) != 1;
|
||||
|
||||
# write file
|
||||
open(OUTFILE,">$ofile") || die "$ofile\n";
|
||||
binmode(OUTFILE);
|
||||
if ($ofile =~ /\.(db)$/i) {
|
||||
# asm "db xx" output
|
||||
$n = length($data);
|
||||
$l = 16;
|
||||
for ($i = 0; $i < $n; ) {
|
||||
print OUTFILE "db " if ($i % $l == 0);
|
||||
printf OUTFILE ("%d", ord(substr($data, $i, 1)));
|
||||
++$i;
|
||||
if ($i == $n || $i % $l == 0) {
|
||||
print OUTFILE "\n";
|
||||
} else {
|
||||
print OUTFILE ",";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
print OUTFILE $data;
|
||||
}
|
||||
close(OUTFILE) || die;
|
||||
|
||||
undef $delim;
|
||||
exit(0);
|
||||
|
||||
# vi:ts=4:et
|
||||
271
src/stub/src/amd64-linux.elf-entry.S
Normal file
271
src/stub/src/amd64-linux.elf-entry.S
Normal file
@ -0,0 +1,271 @@
|
||||
/* l_lx_elf64amd.S -- Linux program entry point & decompressor (Elf binary)
|
||||
*
|
||||
* This file is part of the UPX executable compressor.
|
||||
*
|
||||
* Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer
|
||||
* Copyright (C) 1996-2004 Laszlo Molnar
|
||||
* Copyright (C) 2000-2005 John F. Reiser
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* UPX and the UCL library are free software; you can redistribute them
|
||||
* and/or modify them under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; see the file COPYING.
|
||||
* If not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
* <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*
|
||||
* John F. Reiser
|
||||
* <jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
#include "arch/amd64/regs.h"
|
||||
|
||||
sz_l_info= 12
|
||||
l_lsize= 8
|
||||
|
||||
sz_p_info= 12
|
||||
|
||||
sz_b_info= 12
|
||||
sz_unc= 0
|
||||
sz_cpr= 4
|
||||
b_method= 8
|
||||
|
||||
PROT_READ= 1
|
||||
PROT_WRITE= 2
|
||||
PROT_EXEC= 4
|
||||
|
||||
MAP_PRIVATE= 2
|
||||
MAP_FIXED= 0x10
|
||||
MAP_ANONYMOUS= 0x20
|
||||
|
||||
SYS_mmap= 9 # 64-bit mode only!
|
||||
|
||||
PAGE_SHIFT= 12
|
||||
PAGE_MASK= (~0<<PAGE_SHIFT)
|
||||
PAGE_SIZE= -PAGE_MASK
|
||||
|
||||
M_NRV2B_LE32=2 # ../conf.h
|
||||
M_NRV2E_LE32=8
|
||||
|
||||
|
||||
/*__LEXEC000__*/
|
||||
_start: .globl _start
|
||||
call main # push &decompress
|
||||
|
||||
/* Returns 0 on success; non-zero on failure. */
|
||||
decompress: # (uchar const *src, size_t lsrc, uchar *dst, u32 &ldst, uint method)
|
||||
|
||||
/* Arguments according to calling convention */
|
||||
#define src %arg1
|
||||
#define lsrc %arg2
|
||||
#define dst %arg3
|
||||
#define ldst %arg4 /* Out: actually a reference: &len_dst */
|
||||
#define meth %arg5l
|
||||
|
||||
/* Working registers */
|
||||
#define off %eax /* XXX: 2GB */
|
||||
#define len %ecx /* XXX: 2GB */
|
||||
#define lenq %rcx
|
||||
#define bits %ebx
|
||||
#define disp %rbp
|
||||
|
||||
push %rbp; push %rbx # C callable
|
||||
push ldst
|
||||
push dst
|
||||
addq src,lsrc; push lsrc # &input_eof
|
||||
|
||||
movq src,%rsi # hardware src for movsb, lodsb
|
||||
movq dst,%rdi # hardware dst for movsb
|
||||
xorl bits,bits # empty; force refill
|
||||
xorl len,len # create loop invariant
|
||||
orq $~0,disp # -1: initial displacement
|
||||
call setup # push &getbit [TUNED]
|
||||
ra_setup:
|
||||
|
||||
/* AMD64 branch prediction is much worse if there are more than 3 branches
|
||||
per 16-byte block. The jnextb would suffer unless inlined. getnextb is OK
|
||||
using closed subroutine to save space, and should be OK on cycles because
|
||||
CALL+RET should be predicted. getnextb could partially expand, using closed
|
||||
subroutine only for refill.
|
||||
*/
|
||||
/* jump on next bit {0,1} with prediction {y==>likely, n==>unlikely} */
|
||||
/* Prediction omitted for now. */
|
||||
/* On refill: prefetch next byte, for latency reduction on literals and offsets. */
|
||||
#define jnextb0np jnextb0yp
|
||||
#define jnextb0yp GETBITp; jnc
|
||||
#define jnextb1np jnextb1yp
|
||||
#define jnextb1yp GETBITp; jc
|
||||
#define GETBITp \
|
||||
addl bits,bits; jnz 0f; \
|
||||
movl (%rsi),bits; subq $-4,%rsi; \
|
||||
adcl bits,bits; movb (%rsi),%dl; \
|
||||
0:
|
||||
/* Same, but without prefetch (not useful for length of match.) */
|
||||
#define jnextb0n jnextb0y
|
||||
#define jnextb0y GETBIT; jnc
|
||||
#define jnextb1n jnextb1y
|
||||
#define jnextb1y GETBIT; jc
|
||||
#define GETBIT \
|
||||
addl bits,bits; jnz 0f; \
|
||||
movl (%rsi),bits; subq $-4,%rsi; \
|
||||
adcl bits,bits; \
|
||||
0:
|
||||
|
||||
/* rotate next bit into bottom bit of reg */
|
||||
#define getnextbp(reg) call *%r11; adcl reg,reg
|
||||
#define getnextb(reg) getnextbp(reg)
|
||||
|
||||
.p2align 3
|
||||
getbit:
|
||||
addl bits,bits; jz refill # Carry= next bit
|
||||
rep; ret
|
||||
refill:
|
||||
movl (%rsi),bits; subq $-4,%rsi # next 32 bits; set Carry
|
||||
adcl bits,bits # LSB= 1 (CarryIn); CarryOut= next bit
|
||||
movb (%rsi),%dl # speculate: literal, or bottom 8 bits of offset
|
||||
rep; ret
|
||||
|
||||
copy: # In: len, %rdi, disp; Out: 0==len, %rdi, disp; trashes %rax, %rdx
|
||||
leaq (%rdi,disp),%rax; cmpl $5,len # <=3 is forced
|
||||
movb (%rax),%dl; jbe copy1 # <=5 for better branch predict
|
||||
cmpq $-4,disp; ja copy1 # 4-byte chunks would overlap
|
||||
subl $4,len # adjust for termination cases
|
||||
copy4:
|
||||
movl (%rax),%edx; addq $4, %rax; subl $4,len
|
||||
movl %edx,(%rdi); leaq 4(%rdi),%rdi; jnc copy4
|
||||
addl $4,len; movb (%rax),%dl; jz copy0
|
||||
copy1:
|
||||
incq %rax; movb %dl,(%rdi); subl $1,len
|
||||
movb (%rax),%dl
|
||||
leaq 1(%rdi),%rdi; jnz copy1
|
||||
copy0:
|
||||
rep; ret
|
||||
|
||||
#include "arch/amd64/nrv2e_d.S"
|
||||
#include "arch/amd64/nrv2b_d.S"
|
||||
|
||||
setup:
|
||||
cld
|
||||
pop %r11 # addq $ getbit - ra_setup,%r11 # &getbit
|
||||
cmpl $ M_NRV2E_LE32,meth; je top_n2e
|
||||
cmpl $ M_NRV2B_LE32,meth; je top_n2b
|
||||
eof:
|
||||
pop %rcx # &input_eof
|
||||
movq %rsi,%rax; subq %rcx,%rax # src -= eof; // return 0: good; else: bad
|
||||
pop %rdx; subq %rdx,%rdi # dst -= original dst
|
||||
pop %rcx; movl %edi,(%rcx) # actual length used at dst XXX: 4GB
|
||||
pop %rbx; pop %rbp
|
||||
ret
|
||||
|
||||
/* Temporary until we get the buildLoader stuff working ... */
|
||||
.ascii "\n$Id: UPX (C) 1996-2006 the UPX Team. "
|
||||
.asciz "All Rights Reserved. http://upx.sf.net $\n"
|
||||
|
||||
/* These from /usr/include/asm-x86_64/unistd.h */
|
||||
__NR_write = 1
|
||||
__NR_exit = 60
|
||||
|
||||
msg_SELinux:
|
||||
push $ L71 - L70; pop %arg3 # length
|
||||
call L71
|
||||
L70:
|
||||
.asciz "PROT_EXEC|PROT_WRITE failed.\n"
|
||||
L71:
|
||||
pop %arg2 # message text
|
||||
push $2; pop %arg1 # fd stderr
|
||||
push $ __NR_write; pop %rax
|
||||
syscall
|
||||
die:
|
||||
push $127; pop %arg1
|
||||
push $ __NR_exit; pop %rax
|
||||
syscall
|
||||
|
||||
/* Decompress the rest of this loader, and jump to it.
|
||||
Map a page to hold the decompressed bytes. Logically this could
|
||||
be done by setting .p_memsz for our first PT_LOAD. But as of 2005-11-09,
|
||||
linux 2.6.14 only does ".bss expansion" on the PT_LOAD that describes the
|
||||
highest address. [I regard this as a bug, and it makes the kernel's
|
||||
fs/binfmt_elf.c complicated, buggy, and insecure.] For us, that is the 2nd
|
||||
PT_LOAD, which is the only way that linux allows to set the brk() for the
|
||||
uncompressed program. [This is a significant kernel misfeature.]
|
||||
*/
|
||||
unfold:
|
||||
pop %rbx # &b_info
|
||||
|
||||
/* Get some pages. If small, then get 1 page located just after the end
|
||||
of the first PT_LOAD of the compressed program. This will still be below
|
||||
all of the uncompressed program. If large (>=3MB compressed), then get enough
|
||||
to duplicate the entire compressed PT_LOAD, plus 1 page, located just after
|
||||
the brk() of the _un_compressed program. The address and length are pre-
|
||||
calculated by PackLinuxElf64amd::pack3(), and patched in at compress time.
|
||||
*/
|
||||
.byte 7+0xB8; .ascii "ADRM" # movl $'ADRM',%edi XXX: 4GB
|
||||
push $ PROT_READ | PROT_WRITE | PROT_EXEC; pop %arg3
|
||||
.byte 6+0xB8; .ascii "LENM" # movl $'LENM',%esi XXX: 4GB
|
||||
push $ MAP_PRIVATE | MAP_FIXED | MAP_ANONYMOUS; pop %sys4
|
||||
subl %arg5l,%arg5l #; subl %arg6l,%arg6l # MAP_ANON ==> ignore offset
|
||||
push $ SYS_mmap; pop %rax
|
||||
syscall # %rax= result; trashes %rcx,%r11 only
|
||||
cmpl %eax,%edi; jne msg_SELinux # XXX: 4GB
|
||||
|
||||
/* Load the addresses and lengths that ::pack3() patched in.
|
||||
XXX: 2GB Note that PUSH $imm32 sign-extends to 64 bits.
|
||||
XXX: 4GB Note that MOVL $imm32,reg zero-extends to 64-bits.
|
||||
(Use an temporary register to obtain 4GB range on PUSH constant.)
|
||||
*/
|
||||
.byte 0x68; .ascii "JMPU" # push $'JMPU' # for unmap in fold
|
||||
.byte 0x68; .ascii "ADRU" # push $'ADRU' # for unmap in fold
|
||||
.byte 6+0xB8; .ascii "ADRC" # movl $'ADRC',%esi
|
||||
.byte 0x68; .ascii "LENU" # push $'LENU' # for unmap in fold
|
||||
.byte 1+0xB8; .ascii "CNTC" # movl $'CNTC',%ecx
|
||||
.byte 0x68; .ascii "ADRX" # push $'ADRX' # for upx_main
|
||||
.byte 0x68; .ascii "LENX" # push $'LENX' # for upx_main
|
||||
|
||||
/* Move and relocate if compressed overlaps uncompressed.
|
||||
Move by 0 when total compressed executable is < 3MB.
|
||||
*/
|
||||
movl %edi,%edx # ADRM
|
||||
subl %esi,%edx # (ADRM - ADRC) == relocation amount
|
||||
addl %edx,%ebp # update &decompress
|
||||
addl %edx,%ebx # update &b_info
|
||||
|
||||
cld
|
||||
rep; movsq
|
||||
xchgl %eax,%edi
|
||||
|
||||
/* Decompress the folded part of this stub, then execute it. */
|
||||
movl %ebx,%esi # %arg2l= &b_info (relocated)
|
||||
push %rax # ret_addr after decompression
|
||||
xchgl %eax,%arg3l # %arg3= dst for unfolding XXX: 4GB
|
||||
lodsl; push %rax # allocate slot on stack
|
||||
movq %rsp,%arg4 # &len_dst ==> &do_not_care
|
||||
lodsl; xchgl %eax,%arg1l # sz_cpr XXX: 4GB
|
||||
lodsl; movzbl %al,%arg5l # b_method
|
||||
xchg %arg1l,%arg2l # XXX: 4GB
|
||||
call *%rbp # decompress
|
||||
pop %rcx # discard len_dst
|
||||
ret
|
||||
|
||||
main:
|
||||
# int3 # uncomment for debugging
|
||||
pop %rbp # &decompress
|
||||
call unfold # push &b_info
|
||||
/* { b_info={sz_unc, sz_cpr, {4 char}}, folded_loader...} */
|
||||
|
||||
/*__XTHEENDX__*/
|
||||
|
||||
/*
|
||||
vi:ts=8:et:nowrap
|
||||
*/
|
||||
|
||||
120
src/stub/src/amd64-linux.elf-fold.S
Normal file
120
src/stub/src/amd64-linux.elf-fold.S
Normal file
@ -0,0 +1,120 @@
|
||||
/* fold_elf64amd.S -- linkage to C code to process Elf binary
|
||||
*
|
||||
* This file is part of the UPX executable compressor.
|
||||
*
|
||||
* Copyright (C) 2000-2005 John F. Reiser
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* UPX and the UCL library are free software; you can redistribute them
|
||||
* and/or modify them under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; see the file COPYING.
|
||||
* If not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
* <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
*
|
||||
* John F. Reiser
|
||||
* <jreiser@users.sourceforge.net>
|
||||
*/
|
||||
#include "arch/amd64/regs.h"
|
||||
|
||||
PAGE_SHIFT= 12
|
||||
PAGE_MASK= 0xffffffffffffffff<<PAGE_SHIFT
|
||||
|
||||
sz_b_info= 12
|
||||
sz_unc= 0
|
||||
sz_cpr= 4
|
||||
|
||||
sz_l_info= 12
|
||||
sz_p_info= 12
|
||||
|
||||
OVERHEAD=2048
|
||||
MAX_ELF_HDR=1024
|
||||
|
||||
/* 64-bit mode only! */
|
||||
__NR_read= 0
|
||||
__NR_open= 2
|
||||
__NR_close= 3
|
||||
|
||||
__NR_mmap= 9
|
||||
__NR_mprotect= 10
|
||||
__NR_munmap= 11
|
||||
__NR_brk= 12
|
||||
|
||||
__NR_exit= 60
|
||||
|
||||
/* In:
|
||||
cld
|
||||
%rbp= &decompress
|
||||
%rsp= &{LENX,ADRX,LENU,ADRU,JMPU,argc,argv...,0,env...,0,auxv...,0...,strings}
|
||||
*/
|
||||
fold_begin:
|
||||
call L90 # push &f_unfilter
|
||||
#include "arch/amd64/bxx.S"
|
||||
L90:
|
||||
lea (1+5+1)*8(%rsp),%rsi # &argv[0]
|
||||
0:
|
||||
lodsq; testq %rax,%rax; jnz 0b # %rsi= &env;
|
||||
0:
|
||||
lodsq; testq %rax,%rax; jnz 0b # %rsi= &Elf64_auxv
|
||||
|
||||
pop %arg6 # &amdbxx: f_unfilter
|
||||
movq %rsi,%arg4 # &Elf64_auxv
|
||||
pop %arg2 # LENX
|
||||
pop %arg1 # ADRX
|
||||
|
||||
subq $ OVERHEAD,%rsp
|
||||
movq %rsp,%arg3 # &ELf64_Ehdr temporary space
|
||||
movq %rbp,%arg5 # &decompress: f_expand
|
||||
call upx_main # Out: %rax= entry
|
||||
/* entry= upx_main(b_info *arg1, total_size arg2, Elf64_Ehdr *arg3,
|
||||
Elf32_Auxv_t *arg4, f_decompr arg5, f_unfilter arg6 )
|
||||
*/
|
||||
addq $OVERHEAD,%rsp
|
||||
pop %arg2 # LENU
|
||||
pop %arg1 # ADRU
|
||||
pop %rcx # JMPU
|
||||
push %rax # &entry
|
||||
push $ __NR_munmap; pop %rax
|
||||
jmp *%rcx # goto: syscall; ret
|
||||
|
||||
munmap: .globl munmap
|
||||
movb $ __NR_munmap,%al; jmp sysgo
|
||||
mprotect: .globl mprotect
|
||||
movb $ __NR_mprotect,%al; jmp sysgo
|
||||
brk: .globl brk
|
||||
movb $ __NR_brk,%al; jmp sysgo
|
||||
|
||||
mmap: .globl mmap
|
||||
movb $ __NR_mmap,%al
|
||||
sysarg4:
|
||||
movq %arg4,%sys4
|
||||
sysgo: # NOTE: kernel demands 4th arg in %sys4, NOT %arg4
|
||||
movzbl %al,%eax
|
||||
syscall
|
||||
cmpq $ PAGE_MASK,%rax; jc no_fail
|
||||
orq $~0,%rax # failure; IGNORE errno
|
||||
no_fail:
|
||||
ret
|
||||
|
||||
read: .globl read
|
||||
movb $ __NR_read,%al; jmp sysgo
|
||||
open: .globl open
|
||||
movb $ __NR_open,%al; jmp sysgo
|
||||
close: .globl close
|
||||
movb $ __NR_close,%al; jmp sysgo
|
||||
|
||||
exit: .globl exit
|
||||
movb $ __NR_exit,%al; jmp sysgo
|
||||
|
||||
# vi:ts=8:et:nowrap
|
||||
48
src/stub/src/amd64-linux.elf-fold.lds
Normal file
48
src/stub/src/amd64-linux.elf-fold.lds
Normal file
@ -0,0 +1,48 @@
|
||||
/* l_lx_elf64amd.lds -- static linker script to build l_lx_elf64amd.bin
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 2000-2005 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
|
||||
OUTPUT_ARCH(i386:x86-64)
|
||||
/*ENTRY(_start)*/
|
||||
PHDRS
|
||||
{
|
||||
text PT_LOAD FILEHDR PHDRS FLAGS ( 5 ) ; /* r-x (no -w-) */
|
||||
data PT_LOAD ; /* for setting brk(0) */
|
||||
}
|
||||
SECTIONS
|
||||
{
|
||||
. = 0x00100000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
|
||||
.text : {
|
||||
*(.text)
|
||||
*(.data)
|
||||
} : text
|
||||
.data : {
|
||||
} : data
|
||||
}
|
||||
368
src/stub/src/amd64-linux.elf-main.c
Normal file
368
src/stub/src/amd64-linux.elf-main.c
Normal file
@ -0,0 +1,368 @@
|
||||
/* a_lx_elf64.c -- stub loader for Linux 64-bit ELF executable
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2004 Laszlo Molnar
|
||||
Copyright (C) 2000-2005 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#include "include/linux.h"
|
||||
extern void exit(int);
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// configuration section
|
||||
**************************************************************************/
|
||||
|
||||
// In order to make it much easier to move this code at runtime and execute
|
||||
// it at an address different from it load address: there must be no
|
||||
// static data, and no string constants.
|
||||
|
||||
#define MAX_ELF_HDR 1024 // Elf64_Ehdr + n*Elf64_Phdr must fit in this
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// "file" util
|
||||
**************************************************************************/
|
||||
|
||||
typedef struct {
|
||||
size_t size; // must be first to match size[0] uncompressed size
|
||||
char *buf;
|
||||
} Extent;
|
||||
|
||||
|
||||
static void
|
||||
xread(Extent *x, char *buf, size_t count)
|
||||
{
|
||||
char *p=x->buf, *q=buf;
|
||||
size_t j;
|
||||
if (x->size < count) {
|
||||
exit(127);
|
||||
}
|
||||
for (j = count; 0!=j--; ++p, ++q) {
|
||||
*q = *p;
|
||||
}
|
||||
x->buf += count;
|
||||
x->size -= count;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// util
|
||||
**************************************************************************/
|
||||
|
||||
#if 1 //{ save space
|
||||
#define ERR_LAB error: exit(127);
|
||||
#define err_exit(a) goto error
|
||||
#else //}{ save debugging time
|
||||
#define ERR_LAB
|
||||
static void
|
||||
err_exit(int a)
|
||||
{
|
||||
(void)a; // debugging convenience
|
||||
exit(127);
|
||||
}
|
||||
#endif //}
|
||||
|
||||
/*************************************************************************
|
||||
// UPX & NRV stuff
|
||||
**************************************************************************/
|
||||
|
||||
typedef void f_unfilter(
|
||||
nrv_byte *, // also addvalue
|
||||
nrv_uint,
|
||||
unsigned cto8, // junk in high 24 bits
|
||||
unsigned ftid
|
||||
);
|
||||
typedef int f_expand(
|
||||
const nrv_byte *, nrv_uint,
|
||||
nrv_byte *, nrv_uint *, unsigned );
|
||||
|
||||
static void
|
||||
unpackExtent(
|
||||
Extent *const xi, // input
|
||||
Extent *const xo, // output
|
||||
f_expand *const f_decompress,
|
||||
f_unfilter *f_unf
|
||||
)
|
||||
{
|
||||
while (xo->size) {
|
||||
struct b_info h;
|
||||
// Note: if h.sz_unc == h.sz_cpr then the block was not
|
||||
// compressible and is stored in its uncompressed form.
|
||||
|
||||
// Read and check block sizes.
|
||||
xread(xi, (char *)&h, sizeof(h));
|
||||
if (h.sz_unc == 0) { // uncompressed size 0 -> EOF
|
||||
if (h.sz_cpr != UPX_MAGIC_LE32) // h.sz_cpr must be h->magic
|
||||
err_exit(2);
|
||||
if (xi->size != 0) // all bytes must be written
|
||||
err_exit(3);
|
||||
break;
|
||||
}
|
||||
if (h.sz_cpr <= 0) {
|
||||
err_exit(4);
|
||||
ERR_LAB
|
||||
}
|
||||
if (h.sz_cpr > h.sz_unc
|
||||
|| h.sz_unc > xo->size ) {
|
||||
err_exit(5);
|
||||
}
|
||||
// Now we have:
|
||||
// assert(h.sz_cpr <= h.sz_unc);
|
||||
// assert(h.sz_unc > 0 && h.sz_unc <= blocksize);
|
||||
// assert(h.sz_cpr > 0 && h.sz_cpr <= blocksize);
|
||||
|
||||
if (h.sz_cpr < h.sz_unc) { // Decompress block
|
||||
nrv_uint out_len;
|
||||
int const j = (*f_decompress)((unsigned char *)xi->buf, h.sz_cpr,
|
||||
(unsigned char *)xo->buf, &out_len, h.b_method );
|
||||
if (j != 0 || out_len != (nrv_uint)h.sz_unc)
|
||||
err_exit(7);
|
||||
// Skip Ehdr+Phdrs: separate 1st block, not filtered
|
||||
if (h.b_ftid!=0 && f_unf // have filter
|
||||
&& ((512 < out_len) // this block is longer than Ehdr+Phdrs
|
||||
|| (xo->size==(unsigned)h.sz_unc) ) // block is last in Extent
|
||||
) {
|
||||
(*f_unf)((unsigned char *)xo->buf, out_len, h.b_cto8, h.b_ftid);
|
||||
}
|
||||
xi->buf += h.sz_cpr;
|
||||
xi->size -= h.sz_cpr;
|
||||
}
|
||||
else { // copy literal block
|
||||
xread(xi, xo->buf, h.sz_cpr);
|
||||
}
|
||||
xo->buf += h.sz_unc;
|
||||
xo->size -= h.sz_unc;
|
||||
}
|
||||
}
|
||||
|
||||
#if 0 /*{*/
|
||||
static void
|
||||
upx_bzero(char *p, size_t len)
|
||||
{
|
||||
if (len) do {
|
||||
*p++= 0;
|
||||
} while (--len);
|
||||
}
|
||||
#define bzero upx_bzero
|
||||
#else
|
||||
#define bzero(a,b) __builtin_memset(a,0,b)
|
||||
#endif /*}*/
|
||||
|
||||
static void
|
||||
auxv_up(Elf64_auxv_t *av, unsigned const type, uint64_t const value)
|
||||
{
|
||||
if (av)
|
||||
for (;; ++av) {
|
||||
if (av->a_type==type || (av->a_type==AT_IGNORE && type!=AT_NULL)) {
|
||||
av->a_type = type;
|
||||
av->a_un.a_val = value;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// The PF_* and PROT_* bits are {1,2,4}; the conversion table fits in 32 bits.
|
||||
#define REP8(x) \
|
||||
((x)|((x)<<4)|((x)<<8)|((x)<<12)|((x)<<16)|((x)<<20)|((x)<<24)|((x)<<28))
|
||||
#define EXP8(y) \
|
||||
((1&(y)) ? 0xf0f0f0f0 : (2&(y)) ? 0xff00ff00 : (4&(y)) ? 0xffff0000 : 0)
|
||||
#define PF_TO_PROT(pf) \
|
||||
((PROT_READ|PROT_WRITE|PROT_EXEC) & ( \
|
||||
( (REP8(PROT_EXEC ) & EXP8(PF_X)) \
|
||||
|(REP8(PROT_READ ) & EXP8(PF_R)) \
|
||||
|(REP8(PROT_WRITE) & EXP8(PF_W)) \
|
||||
) >> ((pf & (PF_R|PF_W|PF_X))<<2) ))
|
||||
|
||||
|
||||
// Find convex hull of PT_LOAD (the minimal interval which covers all PT_LOAD),
|
||||
// and mmap that much, to be sure that a kernel using exec-shield-randomize
|
||||
// won't place the first piece in a way that leaves no room for the rest.
|
||||
static unsigned long // returns relocation constant
|
||||
xfind_pages(unsigned mflags, Elf64_Phdr const *phdr, int phnum,
|
||||
char **const p_brk
|
||||
)
|
||||
{
|
||||
size_t lo= ~0, hi= 0, szlo= 0;
|
||||
char *addr;
|
||||
mflags += MAP_PRIVATE | MAP_ANONYMOUS; // '+' can optimize better than '|'
|
||||
for (; --phnum>=0; ++phdr) if (PT_LOAD==phdr->p_type) {
|
||||
if (phdr->p_vaddr < lo) {
|
||||
lo = phdr->p_vaddr;
|
||||
szlo = phdr->p_filesz;
|
||||
}
|
||||
if (hi < (phdr->p_memsz + phdr->p_vaddr)) {
|
||||
hi = phdr->p_memsz + phdr->p_vaddr;
|
||||
}
|
||||
}
|
||||
szlo += ~PAGE_MASK & lo; // page fragment on lo edge
|
||||
lo -= ~PAGE_MASK & lo; // round down to page boundary
|
||||
hi = PAGE_MASK & (hi - lo - PAGE_MASK -1); // page length
|
||||
szlo = PAGE_MASK & (szlo - PAGE_MASK -1); // page length
|
||||
addr = mmap((void *)lo, hi, PROT_NONE, mflags, -1, 0);
|
||||
*p_brk = hi + addr; // the logical value of brk(0)
|
||||
//mprotect(szlo + addr, hi - szlo, PROT_NONE); // no access, but keep the frames!
|
||||
return (unsigned long)addr - lo;
|
||||
}
|
||||
|
||||
static Elf64_Addr // entry address
|
||||
do_xmap(
|
||||
Elf64_Ehdr const *const ehdr,
|
||||
Extent *const xi,
|
||||
int const fdi,
|
||||
Elf64_auxv_t *const av,
|
||||
f_expand *const f_decompress,
|
||||
f_unfilter *const f_unf
|
||||
)
|
||||
{
|
||||
Elf64_Phdr const *phdr = (Elf64_Phdr const *) (ehdr->e_phoff +
|
||||
(char const *)ehdr);
|
||||
char *v_brk;
|
||||
unsigned long const reloc = xfind_pages(
|
||||
((ET_DYN!=ehdr->e_type) ? MAP_FIXED : 0), phdr, ehdr->e_phnum, &v_brk);
|
||||
int j;
|
||||
for (j=0; j < ehdr->e_phnum; ++phdr, ++j)
|
||||
if (xi && PT_PHDR==phdr->p_type) {
|
||||
auxv_up(av, AT_PHDR, phdr->p_vaddr + reloc);
|
||||
} else
|
||||
if (PT_LOAD==phdr->p_type) {
|
||||
unsigned const prot = PF_TO_PROT(phdr->p_flags);
|
||||
Extent xo;
|
||||
size_t mlen = xo.size = phdr->p_filesz;
|
||||
char *addr = xo.buf = reloc + (char *)phdr->p_vaddr;
|
||||
char *haddr = phdr->p_memsz + addr;
|
||||
size_t frag = (long)addr &~ PAGE_MASK;
|
||||
mlen += frag;
|
||||
addr -= frag;
|
||||
|
||||
if (addr != mmap(addr, mlen, prot | (xi ? PROT_WRITE : 0),
|
||||
MAP_FIXED | MAP_PRIVATE | (xi ? MAP_ANONYMOUS : 0),
|
||||
(xi ? -1 : fdi), phdr->p_offset - frag) ) {
|
||||
err_exit(8);
|
||||
}
|
||||
if (xi) {
|
||||
unpackExtent(xi, &xo, f_decompress, f_unf);
|
||||
}
|
||||
// Linux does not fixup the low end, so neither do we.
|
||||
//if (PROT_WRITE & prot) {
|
||||
// bzero(addr, frag); // fragment at lo end
|
||||
//}
|
||||
frag = (-mlen) &~ PAGE_MASK; // distance to next page boundary
|
||||
if (PROT_WRITE & prot) { // note: read-only .bss not supported here
|
||||
bzero(mlen+addr, frag); // fragment at hi end
|
||||
}
|
||||
if (xi) {
|
||||
if (0==phdr->p_offset) {
|
||||
Elf64_Ehdr *const ehdr = (Elf64_Ehdr *)addr;
|
||||
*(int *)&ehdr->e_ident[12] = 0x90c3050f; // syscall; ret; nop
|
||||
}
|
||||
if (0!=mprotect(addr, mlen, prot)) {
|
||||
err_exit(10);
|
||||
ERR_LAB
|
||||
}
|
||||
}
|
||||
addr += mlen + frag; /* page boundary on hi end */
|
||||
if (addr < haddr) { // need pages for .bss
|
||||
if (addr != mmap(addr, haddr - addr, prot,
|
||||
MAP_FIXED | MAP_PRIVATE | MAP_ANONYMOUS, -1, 0 ) ) {
|
||||
err_exit(9);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (xi) { // 1st call (main); also have (0!=av) here
|
||||
if (ET_DYN!=ehdr->e_type) {
|
||||
// Needed only if compressed shell script invokes compressed shell.
|
||||
brk(v_brk);
|
||||
}
|
||||
}
|
||||
return ehdr->e_entry + reloc;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// upx_main - called by our entry code
|
||||
//
|
||||
// This function is optimized for size.
|
||||
**************************************************************************/
|
||||
|
||||
void *
|
||||
upx_main( // returns entry address
|
||||
struct b_info const *const bi, // 1st block header
|
||||
size_t const sz_compressed, // total length
|
||||
Elf64_Ehdr *const ehdr, // temp char[sz_ehdr] for decompressing
|
||||
Elf64_auxv_t *const av,
|
||||
f_expand *const f_decompress,
|
||||
f_unfilter *const f_unf
|
||||
)
|
||||
{
|
||||
Elf64_Phdr const *phdr = (Elf64_Phdr const *)(1+ ehdr);
|
||||
Elf64_Addr entry;
|
||||
|
||||
Extent xo, xi1, xi2;
|
||||
xo.buf = (char *)ehdr;
|
||||
xo.size = bi->sz_unc;
|
||||
xi2.buf = CONST_CAST(char *, bi); xi2.size = sz_compressed;
|
||||
xi1.buf = CONST_CAST(char *, bi); xi1.size = sz_compressed;
|
||||
|
||||
// ehdr = Uncompress Ehdr and Phdrs
|
||||
unpackExtent(&xi2, &xo, f_decompress, 0); // never filtered?
|
||||
|
||||
// AT_PHDR.a_un.a_val is set again by do_xmap if PT_PHDR is present.
|
||||
auxv_up(av, AT_PHDR , (unsigned long)(1+(Elf64_Ehdr *)phdr->p_vaddr));
|
||||
auxv_up(av, AT_PHNUM , ehdr->e_phnum);
|
||||
auxv_up(av, AT_ENTRY , (unsigned long)ehdr->e_entry);
|
||||
//auxv_up(av, AT_PHENT , ehdr->e_phentsize); /* this can never change */
|
||||
//auxv_up(av, AT_PAGESZ, PAGE_SIZE); /* ld-linux.so.2 does not need this */
|
||||
|
||||
entry = do_xmap(ehdr, &xi1, 0, av, f_decompress, f_unf); // "rewind"
|
||||
|
||||
{ // Map PT_INTERP program interpreter
|
||||
int j;
|
||||
for (j=0; j < ehdr->e_phnum; ++phdr, ++j) if (PT_INTERP==phdr->p_type) {
|
||||
char const *const iname = (char const *)phdr->p_vaddr;
|
||||
int const fdi = open(iname, O_RDONLY, 0);
|
||||
if (0 > fdi) {
|
||||
err_exit(18);
|
||||
}
|
||||
if (MAX_ELF_HDR!=read(fdi, (void *)ehdr, MAX_ELF_HDR)) {
|
||||
ERR_LAB
|
||||
err_exit(19);
|
||||
}
|
||||
entry = do_xmap(ehdr, 0, fdi, 0, 0, 0);
|
||||
close(fdi);
|
||||
}
|
||||
}
|
||||
|
||||
return (void *)entry;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
vi:ts=4:et:nowrap
|
||||
*/
|
||||
|
||||
64
src/stub/src/arch/amd64/bxx.S
Normal file
64
src/stub/src/arch/amd64/bxx.S
Normal file
@ -0,0 +1,64 @@
|
||||
/* amd_bxx.S -- AMD x86_64 Call/Branch Trick unfilter
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 2005 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
#include "regs.h"
|
||||
|
||||
amdbxx: # (*f_unf)(xo->buf, out_len, h.b_cto8, h.b_ftid);
|
||||
|
||||
#define ptr %arg1 /* known to be %rdi */
|
||||
#define len %arg2
|
||||
#define cto8 %arg3l /* known to be "%dl" */
|
||||
#define ftid %arg4l
|
||||
|
||||
cmpl $0x49,ftid; jne ckend # filter: JMP, CALL, 6-byte Jxx
|
||||
movq len,%rcx # byte count
|
||||
movq ptr,%rsi # remember start of buffer
|
||||
jmp ckstart
|
||||
ckloop3:
|
||||
movb (%rdi),%al; addq $1,%rdi
|
||||
cmpb $0x80,%al; jb ckloop2 # lo of 6-byte Jcc
|
||||
cmpb $0x8F,%al; ja ckloop2 # hi of 6-byte Jcc
|
||||
cmpb $0x0F,-2(%rdi); je ckmark # prefix of 6-byte Jcc
|
||||
ckloop2:
|
||||
subb $ 0xE8,%al
|
||||
cmpb $0xE9-0xE8,%al; ja ckcount # not JMP, not CALL
|
||||
ckmark:
|
||||
cmpb %dl,(%rdi); jne ckcount # not marked with cto8
|
||||
movl (%rdi),%eax # the marked, bswapped 32-bit displacement
|
||||
andl $~0<<8,%eax # clear the mark
|
||||
bswap %eax
|
||||
subl %edi,%eax
|
||||
addl %esi,%eax
|
||||
stosl # *%rdi++ = %eax;
|
||||
ckstart:
|
||||
subq $4,%rcx
|
||||
movb (%rdi),%al; addq $1,%rdi
|
||||
decq %rcx; jnz ckloop2 # prefix cannot overlap previous displacement
|
||||
jmp ckend
|
||||
ckcount:
|
||||
decq %rcx; jnz ckloop3
|
||||
ckend:
|
||||
ret
|
||||
68
src/stub/src/arch/amd64/nrv2b_d.S
Normal file
68
src/stub/src/arch/amd64/nrv2b_d.S
Normal file
@ -0,0 +1,68 @@
|
||||
/* amd_d_nrv2b.S -- AMD64 decompressor for NRV2B
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2004 Laszlo Molnar
|
||||
Copyright (C) 2000-2005 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
.p2align 3
|
||||
lit_n2b:
|
||||
incq %rsi; movb %dl,(%rdi)
|
||||
incq %rdi
|
||||
top_n2b:
|
||||
movb (%rsi),%dl # speculate: literal, or bottom 8 bits of offset
|
||||
jnextb1yp lit_n2b
|
||||
lea 1(lenq),off # [len= 0] off= 1
|
||||
offmore_n2b:
|
||||
getnextbp(off)
|
||||
jnextb0np offmore_n2b
|
||||
|
||||
subl $ 3,off; jc len_n2b # use previous offset
|
||||
shll $ 8,off; movzbl %dl,%edx
|
||||
orl %edx,off; incq %rsi
|
||||
xorl $~0,off; jz eof
|
||||
movslq off,disp # XXX: 2GB
|
||||
len_n2b:
|
||||
lea 1(lenq),off # [len= 0] off= 1
|
||||
getnextb(len); getnextb(len) # two bits; cc set on result
|
||||
jnz gotlen_n2b # raw 1,2,3 ==> 2,3,4
|
||||
movl off,len # len= 1, the msb
|
||||
addl $3-1,off # raw 2.. ==> 5..
|
||||
lenmore_n2b:
|
||||
getnextb(len)
|
||||
jnextb0n lenmore_n2b
|
||||
gotlen_n2b:
|
||||
cmpq $-0xd00,disp
|
||||
adcl off,len # len += off + (disp < -0xd00)
|
||||
call copy
|
||||
bot_n2b: # In: 0==len
|
||||
jmp top_n2b
|
||||
|
||||
/*
|
||||
vi:ts=8:et:nowrap
|
||||
*/
|
||||
|
||||
81
src/stub/src/arch/amd64/nrv2e_d.S
Normal file
81
src/stub/src/arch/amd64/nrv2e_d.S
Normal file
@ -0,0 +1,81 @@
|
||||
/* amd_d_nrv2e.S -- AMD64 decompressor for NRV2E
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2004 Laszlo Molnar
|
||||
Copyright (C) 2000-2005 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
.p2align 3
|
||||
lit_n2e:
|
||||
incq %rsi; movb %dl,(%rdi)
|
||||
incq %rdi
|
||||
top_n2e:
|
||||
movb (%rsi),%dl # speculate: literal, or bottom 8 bits of offset
|
||||
jnextb1yp lit_n2e
|
||||
lea 1(lenq),off # [len= 0] off= 1
|
||||
jmp getoff_n2e
|
||||
|
||||
off_n2e:
|
||||
dec off
|
||||
getnextbp(off)
|
||||
getoff_n2e:
|
||||
getnextbp(off)
|
||||
jnextb0np off_n2e
|
||||
|
||||
subl $ 3,off; jc offprev_n2e
|
||||
shll $ 8,off; movzbl %dl,%edx
|
||||
orl %edx,off; incq %rsi
|
||||
xorl $~0,off; jz eof
|
||||
sarl off # Carry= original low bit
|
||||
movslq off,disp # XXX: 2GB
|
||||
jc lenlast_n2e
|
||||
jmp lenmore_n2e
|
||||
|
||||
offprev_n2e:
|
||||
jnextb1y lenlast_n2e
|
||||
lenmore_n2e:
|
||||
incl len # len= 1
|
||||
jnextb1y lenlast_n2e
|
||||
len_n2e:
|
||||
getnextb(len)
|
||||
jnextb0n len_n2e
|
||||
addl $6-2-2,len
|
||||
jmp gotlen_n2e
|
||||
|
||||
lenlast_n2e:
|
||||
getnextb(len) # 0,1,2,3
|
||||
gotlen_n2e:
|
||||
cmpq $-0x500,disp
|
||||
adcl $2,len # len += 2+ (disp < -0x500);
|
||||
call copy
|
||||
bot_n2e: # In: 0==len
|
||||
jmp top_n2e
|
||||
|
||||
/*
|
||||
vi:ts=8:et:nowrap
|
||||
*/
|
||||
|
||||
15
src/stub/src/arch/amd64/regs.h
Normal file
15
src/stub/src/arch/amd64/regs.h
Normal file
@ -0,0 +1,15 @@
|
||||
/* NOTE: THE FIRST ARGUMENT IS arg1, NOT arg0. */
|
||||
#define arg1 rdi
|
||||
#define arg1l edi
|
||||
#define arg2 rsi
|
||||
#define arg2l esi
|
||||
#define arg3 rdx
|
||||
#define arg3l edx
|
||||
#define arg4 rcx
|
||||
#define arg4l ecx
|
||||
#define sys4 r10 # 4th arg to syscall is not in %rcx
|
||||
#define sys4l r10d
|
||||
#define arg5 r8
|
||||
#define arg5l r8d
|
||||
#define arg6 r9
|
||||
#define arg6l r9d
|
||||
195
src/stub/src/arch/arm/v4a/nrv2e_d8.S
Normal file
195
src/stub/src/arch/arm/v4a/nrv2e_d8.S
Normal file
@ -0,0 +1,195 @@
|
||||
/* armv4_n2e_d8.S -- ARM decompressor for NRV2E
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2004 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
#define SAFE 0 /* 1 for src+dst bounds checking: cost 76 bytes */
|
||||
|
||||
#define src r0
|
||||
#define len r1 /* overlaps 'cnt' */
|
||||
#define dst r2
|
||||
#define tmp r3
|
||||
#define bits r4
|
||||
#define off r5
|
||||
/* r6 UNUSED in ARM code unless DEBUG mode */
|
||||
#define srclim r7
|
||||
#if 1==SAFE /*{*/
|
||||
#define dstlim r12
|
||||
#endif /*}*/
|
||||
|
||||
#define cnt r1 /* overlaps 'len' while reading an offset */
|
||||
|
||||
/* macros reduce "noise" when comparing this ARM code to corresponding THUMB code */
|
||||
#define PUSH stmdb sp!,
|
||||
#define POP ldmia sp!,
|
||||
#define ADD2( dst,src) add dst,dst,src
|
||||
#define ADD2S(dst,src) adds dst,dst,src
|
||||
#define ADC2( dst,src) adc dst,dst,src
|
||||
#define ADC2S(dst,src) adcs dst,dst,src
|
||||
#define SUB2( dst,src) sub dst,dst,src
|
||||
#define SUB2S(dst,src) subs dst,dst,src
|
||||
#define LDRB3(reg,psrc,incr) ldrb reg,psrc,incr
|
||||
#define STRB3(reg,pdst,incr) strb reg,pdst,incr
|
||||
|
||||
#if 1==SAFE /*{*/
|
||||
#define CHECK_SRC cmp srclim,src; bls bad_src_n2e /* Out: 1==Carry for get8_n2e */
|
||||
#define CHECK_DST cmp dst,dstlim; bhs bad_dst_n2e
|
||||
#else /*}{*/
|
||||
#define CHECK_SRC /*empty*/
|
||||
#define CHECK_DST /*empty*/
|
||||
#endif /*}*/
|
||||
|
||||
#if 0 /*{ DEBUG only: check newly-decompressed against original dst */
|
||||
#define CHECK_BYTE \
|
||||
ldrb r6,[dst]; \
|
||||
cmp r6,tmp; beq 0f; bkpt; 0:
|
||||
#else /*}{*/
|
||||
#define CHECK_BYTE /*empty*/
|
||||
#endif /*}*/
|
||||
|
||||
#define GETBIT ADD2S(bits,bits); bleq get8_n2e
|
||||
|
||||
#define getnextb(reg) GETBIT; ADC2(reg,reg) /* Out: condition code not changed */
|
||||
#define jnextb0 GETBIT; bcc
|
||||
#define jnextb1 GETBIT; bcs
|
||||
|
||||
ucl_nrv2e_decompress_8: .globl ucl_nrv2e_decompress_8 @ ARM mode
|
||||
.type ucl_nrv2e_decompress_8, %function
|
||||
/* error = (*)(char const *src, int len_src, char *dst, int *plen_dst)
|
||||
Actual decompressed length is stored through plen_dst.
|
||||
For SAFE mode: at call, *plen_dst must be allowed length of output buffer.
|
||||
*/
|
||||
PUSH {r2,r3, r4,r5,r6,r7, lr}
|
||||
#define sp_DST0 0 /* stack offset of original dst */
|
||||
add srclim,len,src @ srclim= eof_src;
|
||||
#if 1==SAFE /*{*/
|
||||
ldr tmp,[r3] @ len_dst
|
||||
add dstlim,tmp,dst
|
||||
#endif /*}*/
|
||||
mvn off,#~-1 @ off= -1 initial condition
|
||||
mov bits,#1<<31 @ refill next time
|
||||
b top_n2e
|
||||
|
||||
#if 1==SAFE /*{*/
|
||||
bad_dst_n2e: # return value will be 2
|
||||
bkpt
|
||||
add src,srclim,#1
|
||||
bad_src_n2e: # return value will be 1
|
||||
ADD2(src,#1)
|
||||
#endif /*}*/
|
||||
eof_n2e:
|
||||
POP {r3,r4} @ r3= orig_dst; r4= plen_dst
|
||||
SUB2(src,srclim) @ 0 if actual src length equals expected length
|
||||
SUB2(dst,r3) @ actual dst length
|
||||
str dst,[r4]
|
||||
|
||||
#if defined(LINUX_ARM_CACHEFLUSH) /*{*/
|
||||
/* linux/include/asm-arm/unistd.h */
|
||||
#define __NR_SYSCALL_BASE 0x900000
|
||||
#define __ARM_NR_BASE (__NR_SYSCALL_BASE+0x0f0000)
|
||||
#define __ARM_NR_cacheflush (__ARM_NR_BASE+2)
|
||||
mov r4,r0 @ save result value
|
||||
mov r0,r3 @ orig_dst
|
||||
add r1,r3,dst @ orig_dst + dst_len
|
||||
mov r2,#0
|
||||
swi __ARM_NR_cacheflush @ decompressed region
|
||||
mov r0,r4 @ result value
|
||||
#endif /*}*/
|
||||
|
||||
POP {r4,r5,r6,r7 ,pc}
|
||||
|
||||
get8_n2e: @ In: Carry set [from adding 0x80000000 (1<<31) to itself]
|
||||
CHECK_SRC; LDRB3(bits,[src],#1) @ zero-extend next byte
|
||||
adc bits,bits,bits @ double and insert CarryIn as low bit
|
||||
movs bits,bits,lsl #24 @ move to top byte, and set CarryOut from old bit 8
|
||||
mov pc,lr
|
||||
|
||||
lit_n2e:
|
||||
CHECK_SRC; LDRB3(tmp,[src],#1)
|
||||
CHECK_BYTE
|
||||
CHECK_DST; STRB3(tmp,[dst],#1)
|
||||
top_n2e:
|
||||
jnextb1 lit_n2e
|
||||
mov cnt,#1; b getoff_n2e
|
||||
|
||||
off_n2e:
|
||||
SUB2(cnt,#1)
|
||||
getnextb(cnt)
|
||||
getoff_n2e:
|
||||
getnextb(cnt)
|
||||
jnextb0 off_n2e
|
||||
|
||||
subs tmp,cnt,#3 @ set Carry
|
||||
mov len,#0 @ Carry unaffected
|
||||
blo offprev_n2e @ cnt was 2; tests Carry only
|
||||
CHECK_SRC; LDRB3(off,[src],#1) @ low 7+1 bits
|
||||
orr off,off,tmp,lsl #8
|
||||
mvns off,off; beq eof_n2e @ off= ~off
|
||||
movs off,off,asr #1; bcs lenlast_n2e
|
||||
b lenmore_n2e
|
||||
|
||||
offprev_n2e:
|
||||
jnextb1 lenlast_n2e
|
||||
lenmore_n2e:
|
||||
mov len,#1
|
||||
jnextb1 lenlast_n2e
|
||||
len_n2e:
|
||||
getnextb(len)
|
||||
jnextb0 len_n2e
|
||||
ADD2(len,#6-2)
|
||||
b gotlen_n2e
|
||||
|
||||
lenlast_n2e:
|
||||
getnextb(len) @ 0,1,2,3
|
||||
ADD2(len,#2)
|
||||
gotlen_n2e: @ 'cmn': add the inputs, set condition codes, discard the sum
|
||||
cmn off,#5<<8; bcs near_n2e @ within M2_MAX_OFFSET
|
||||
ADD2(len,#1) @ too far away, so minimum match length is 3
|
||||
near_n2e:
|
||||
#if 1==SAFE /*{*/
|
||||
ldr tmp,[sp,#sp_DST0]
|
||||
SUB2( tmp,dst)
|
||||
SUB2S(tmp,off); bhi bad_dst_n2e @ reaching back too far
|
||||
|
||||
add tmp,dst,cnt
|
||||
cmp tmp,dstlim; bhi bad_dst_n2e @ too much output
|
||||
#endif /*}*/
|
||||
ldrb tmp,[dst] @ force cacheline allocate
|
||||
copy_n2e:
|
||||
ldrb tmp,[dst,off]
|
||||
CHECK_BYTE
|
||||
STRB3(tmp,[dst],#1)
|
||||
SUB2S(len,#1); bne copy_n2e
|
||||
b top_n2e
|
||||
|
||||
.size ucl_nrv2e_decompress_8, .-ucl_nrv2e_decompress_8
|
||||
|
||||
/*
|
||||
vi:ts=8:et:nowrap
|
||||
*/
|
||||
|
||||
129
src/stub/src/arch/arm/v4t/nrv2b_d32.S
Normal file
129
src/stub/src/arch/arm/v4t/nrv2b_d32.S
Normal file
@ -0,0 +1,129 @@
|
||||
/* arm_nrv2b_d32.S -- ARM decompressor for NRV2B
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2004 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
#define src r0
|
||||
#define len r1
|
||||
#define dst r2
|
||||
#define tmp r3
|
||||
#define bits r4
|
||||
#define off r5
|
||||
#define g1b r6
|
||||
#define wrnk r7 /* 0xd00 M2_MAX_OFFSET before "wrinkle" */
|
||||
|
||||
/* r12 ("ip") is assumed to be a scratch register. */
|
||||
|
||||
#define GETBIT blx g1b
|
||||
|
||||
#define getnextb(reg) GETBIT; adc reg,reg
|
||||
#define jnextb0 GETBIT; bcc
|
||||
#define jnextb1 GETBIT; bcs
|
||||
|
||||
ucl_nrv2b_decompress_32: .globl ucl_nrv2b_decompress_32 @ ARM mode
|
||||
.type ucl_nrv2b_decompress_32, %function
|
||||
/* error = (*)(char const *src, int len_src, char *dst, int *plen_dst) */
|
||||
adr r12,1+go_thumb_n2b @ load pc-relative address
|
||||
bx r12 @ enter THUMB mode
|
||||
|
||||
.code 16 @ THUMB mode
|
||||
go_thumb_n2b:
|
||||
add r1,len,src @ r1= eof_src;
|
||||
push {r1,r2,r3, r4,r5,r6,r7, lr}
|
||||
mov bits,#1; neg off,bits @ off= -1 initial condition
|
||||
lsl bits,#31 @ 1<<31: refill next time
|
||||
mov wrnk,#0xd
|
||||
lsl wrnk,#8 @ 0xd00
|
||||
adr g1b,get1b @ load pc-relative address
|
||||
b top_n2b
|
||||
|
||||
eof_n2b:
|
||||
pop {r1,r3,r4} @ r1= eof_src; r3= orig_dst; r4= plen_dst
|
||||
sub src,r1 @ 0 if actual src length equals expected length
|
||||
sub dst,r3 @ actual dst length
|
||||
str dst,[r4]
|
||||
pop {r4,r5,r6,r7, pc} @ return
|
||||
|
||||
lit_n2b:
|
||||
ldrb tmp,[src]; add src,#1
|
||||
strb tmp,[dst]; add dst,#1
|
||||
top_n2b:
|
||||
jnextb1 lit_n2b
|
||||
|
||||
mov len,#1 @ the msb
|
||||
getoff_n2b: @ ss11 len= [2..)
|
||||
getnextb(len)
|
||||
jnextb0 getoff_n2b
|
||||
|
||||
sub tmp,len,#3 @ set Carry
|
||||
mov len,#0 @ Carry unaffected
|
||||
blo offprev_n2b @ ss11 returned 2
|
||||
lsl tmp,#8
|
||||
ldrb off,[src]; add src,#1 @ low 8 bits
|
||||
orr off,tmp
|
||||
mvn off,off; beq eof_n2b @ off= ~off
|
||||
offprev_n2b: @ In: 0==len
|
||||
getnextb(len); getnextb(len); bne plus1_n2b @ two bits; 1,2,3 ==> 2,3,4
|
||||
|
||||
mov len,#1 @ the msb
|
||||
getlen_n2b: @ ss11 len= [2..)
|
||||
getnextb(len)
|
||||
jnextb0 getlen_n2b
|
||||
|
||||
add len,#2 @ [2..) ==> [4..);
|
||||
plus1_n2b:
|
||||
add len,#1 @ 1,2,3 ==> 2,3,4; [4..) ==> [5..)
|
||||
/* 'cmn': add the inputs, set condition codes, discard the sum */
|
||||
cmn off,wrnk; bcs near_n2b @ within M2_MAX_OFFSET
|
||||
add len,#1 @ too far away, so minimum match length is 3
|
||||
near_n2b:
|
||||
ldrb tmp,[dst] @ force cacheline allocate
|
||||
copy_n2b:
|
||||
ldrb tmp,[dst,off]
|
||||
strb tmp,[dst]; add dst,#1
|
||||
sub len,#1; bne copy_n2b
|
||||
b top_n2b
|
||||
|
||||
.code 32 @ ARM mode
|
||||
get1b: @ Out: Carry= next_bit
|
||||
adds bits,bits,bits @ shift up, set Carry
|
||||
bxne lr @ return if reload is not needed
|
||||
/* In: Carry set (unchanged until final adcs) */
|
||||
ldrb bits,[src],#1
|
||||
ldrb tmp, [src],#1; orr bits,bits,tmp,lsl #1*8
|
||||
ldrb tmp, [src],#1; orr bits,bits,tmp,lsl #2*8
|
||||
ldrb tmp, [src],#1; orr bits,bits,tmp,lsl #3*8
|
||||
adcs bits,bits,bits @ Carry= next_bit; set bit0 flag from CarryIn
|
||||
bx lr
|
||||
|
||||
.size ucl_nrv2b_decompress_32, .-ucl_nrv2b_decompress_32
|
||||
/*
|
||||
vi:ts=8:et:nowrap
|
||||
*/
|
||||
|
||||
124
src/stub/src/arch/arm/v4t/nrv2b_d8.S
Normal file
124
src/stub/src/arch/arm/v4t/nrv2b_d8.S
Normal file
@ -0,0 +1,124 @@
|
||||
/* arm_nrv2b_d8.S -- ARM decompressor for NRV2B
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2004 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
#define src r0
|
||||
#define len r1
|
||||
#define dst r2
|
||||
#define tmp r3
|
||||
#define bits r4
|
||||
#define off r5
|
||||
/* r6 UNUSED */
|
||||
#define wrnk r7 /* 0xd00 M2_MAX_OFFSET before "wrinkle" */
|
||||
|
||||
/* r12 ("ip") is assumed to be a scratch register. */
|
||||
|
||||
#define GETBIT add bits,bits; mov lr,pc; beq get1_n2b
|
||||
|
||||
#define getnextb(reg) GETBIT; adc reg,reg
|
||||
#define jnextb0 GETBIT; bcc
|
||||
#define jnextb1 GETBIT; bcs
|
||||
|
||||
ucl_nrv2b_decompress_8: .globl ucl_nrv2b_decompress_8 @ ARM mode
|
||||
.type ucl_nrv2b_decompress_8, %function
|
||||
/* error = (*)(char const *src, int len_src, char *dst, int *plen_dst) */
|
||||
adr r12,1+go_thumb_n2b @ load pc-relative address
|
||||
bx r12 @ enter THUMB mode
|
||||
|
||||
.code 16 @ THUMB mode
|
||||
.thumb_func
|
||||
go_thumb_n2b: .globl go_thumb_n2b
|
||||
add r1,len,src @ r1= eof_src;
|
||||
push {r1,r2,r3, r4,r5,r6,r7, lr}
|
||||
mov bits,#1; neg off,bits @ off= -1 initial condition
|
||||
lsl bits,#31 @ 1<<31: refill next time
|
||||
mov wrnk,#0xd
|
||||
lsl wrnk,#8 @ 0xd00
|
||||
b top_n2b
|
||||
|
||||
eof_n2b:
|
||||
pop {r1,r3,r4} @ r1= eof_src; r3= orig_dst; r4= plen_dst
|
||||
sub src,r1 @ 0 if actual src length equals expected length
|
||||
sub dst,r3 @ actual dst length
|
||||
str dst,[r4]
|
||||
pop {r4,r5,r6,r7 /*,pc*/}
|
||||
pop {r1}; bx r1 @ "pop {,pc}" fails return to ARM mode on ARMv4T
|
||||
|
||||
get1_n2b:
|
||||
ldrb bits,[src] @ zero-extend next byte
|
||||
adc bits,bits @ double and insert CarryIn as low bit
|
||||
add src,#1
|
||||
lsl bits,#24 @ move to top byte, and set CarryOut from old bit 8
|
||||
mov pc,lr
|
||||
|
||||
lit_n2b:
|
||||
ldrb tmp,[src]; add src,#1
|
||||
strb tmp,[dst]; add dst,#1
|
||||
top_n2b:
|
||||
jnextb1 lit_n2b
|
||||
mov len,#1 @ the msb
|
||||
getoff_n2b: @ ss11 len= [2..)
|
||||
getnextb(len)
|
||||
jnextb0 getoff_n2b
|
||||
|
||||
sub tmp,len,#3 @ set Carry
|
||||
mov len,#0 @ Carry unaffected
|
||||
blo offprev_n2b @ ss11 returned 2
|
||||
lsl tmp,#8
|
||||
ldrb off,[src]; add src,#1 @ low 8 bits
|
||||
orr off,tmp
|
||||
mvn off,off; beq eof_n2b @ off= ~off
|
||||
offprev_n2b: @ In: 0==len
|
||||
getnextb(len); getnextb(len); bne plus1_n2b @ two bits; 1,2,3 ==> 2,3,4
|
||||
|
||||
mov len,#1 @ the msb
|
||||
getlen_n2b: @ ss11 len= [2..)
|
||||
getnextb(len)
|
||||
jnextb0 getlen_n2b
|
||||
|
||||
add len,#2 @ [2..) ==> [4..);
|
||||
plus1_n2b:
|
||||
add len,#1 @ 1,2,3 ==> 2,3,4; [4..) ==> [5..)
|
||||
/* 'cmn': add the inputs, set condition codes, discard the sum */
|
||||
cmn off,wrnk; bcs near_n2b @ within M2_MAX_OFFSET
|
||||
add len,#1 @ too far away, so minimum match length is 3
|
||||
near_n2b:
|
||||
ldrb tmp,[dst] @ force cacheline allocate
|
||||
copy_n2b:
|
||||
ldrb tmp,[dst,off]
|
||||
strb tmp,[dst]; add dst,#1
|
||||
sub len,#1; bne copy_n2b
|
||||
b top_n2b
|
||||
|
||||
.size ucl_nrv2b_decompress_8, .-ucl_nrv2b_decompress_8
|
||||
/*
|
||||
vi:ts=8:et:nowrap
|
||||
*/
|
||||
|
||||
138
src/stub/src/arch/arm/v4t/nrv2e_d32.S
Normal file
138
src/stub/src/arch/arm/v4t/nrv2e_d32.S
Normal file
@ -0,0 +1,138 @@
|
||||
/* arm_nrv2e_d32.S -- ARM decompressor for NRV2E
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2004 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
#define src r0
|
||||
#define len r1 /* overlaps 'cnt' */
|
||||
#define dst r2
|
||||
#define tmp r3
|
||||
#define bits r4
|
||||
#define off r5
|
||||
#define g32 r6
|
||||
#define wrnk r7 /* 0x500 M2_MAX_OFFSET before "wrinkle" */
|
||||
|
||||
#define cnt r1 /* overlaps 'len' while reading an offset */
|
||||
|
||||
#define GETBIT \
|
||||
add bits,bits; beq 1f; 0: \
|
||||
.subsection 1; \
|
||||
1: blx g32; b 0b; \
|
||||
.subsection 0
|
||||
|
||||
#define getnextb(reg) GETBIT; adc reg,reg
|
||||
#define jnextb0 GETBIT; bcc
|
||||
#define jnextb1 GETBIT; bcs
|
||||
|
||||
ucl_nrv2e_decompress_32: .globl ucl_nrv2e_decompress_32 @ ARM mode
|
||||
.type ucl_nrv2e_decompress_32, %function
|
||||
/* error = (*)(char const *src, int len_src, char *dst, int *plen_dst) */
|
||||
adr r12,1+thumb_nrv2e_d32; bx r12 @ enter THUMB mode
|
||||
.code 16 @ THUMB mode
|
||||
thumb_nrv2e_d32:
|
||||
add r1,len,src @ r1= eof_src;
|
||||
push {r1,r2,r3, r4,r5,r6,r7, lr}
|
||||
mov bits,#1; neg off,bits @ off= -1 initial condition
|
||||
lsl bits,#31 @ 1<<31; refill next time
|
||||
mov wrnk,#5
|
||||
lsl wrnk,#8 @ 0x500
|
||||
adr g32,get32 @ load pc-relative address
|
||||
b top_n2e
|
||||
|
||||
eof_n2e:
|
||||
pop {r1,r3,r4} @ r1= eof_src; r3= orig_dst; r4= plen_dst
|
||||
sub src,r1 @ 0 if actual src length equals expected length
|
||||
sub dst,r3 @ actual dst length
|
||||
str dst,[r4]
|
||||
pop {r4,r5,r6,r7, pc} @ return
|
||||
|
||||
lit_n2e:
|
||||
ldrb tmp,[src]; add src,#1
|
||||
strb tmp,[dst]; add dst,#1
|
||||
top_n2e:
|
||||
jnextb1 lit_n2e
|
||||
mov cnt,#1; b getoff_n2e
|
||||
|
||||
off_n2e:
|
||||
sub cnt,#1
|
||||
getnextb(cnt)
|
||||
getoff_n2e:
|
||||
getnextb(cnt)
|
||||
jnextb0 off_n2e
|
||||
|
||||
sub tmp,cnt,#3 @ set Carry
|
||||
mov len,#0 @ Carry unaffected
|
||||
blo offprev_n2e @ cnt was 2; tests Carry only
|
||||
lsl tmp,#8
|
||||
ldrb off,[src]; add src,#1 @ low 7+1 bits
|
||||
orr off,tmp
|
||||
mvn off,off; beq eof_n2e @ off= ~off
|
||||
asr off,#1; bcs lenlast_n2e
|
||||
b lenmore_n2e
|
||||
|
||||
offprev_n2e:
|
||||
jnextb1 lenlast_n2e
|
||||
lenmore_n2e:
|
||||
mov len,#1
|
||||
jnextb1 lenlast_n2e
|
||||
len_n2e:
|
||||
getnextb(len)
|
||||
jnextb0 len_n2e
|
||||
add len,#6-2
|
||||
b gotlen_n2e
|
||||
|
||||
lenlast_n2e:
|
||||
getnextb(len) @ 0,1,2,3
|
||||
add len,#2
|
||||
gotlen_n2e: @ 'cmn': add the inputs, set condition codes, discard the sum
|
||||
cmn off,wrnk; bcs near_n2e @ within M2_MAX_OFFSET
|
||||
add len,#1 @ too far away, so minimum match length is 3
|
||||
near_n2e:
|
||||
ldrb tmp,[dst] @ force cacheline allocate
|
||||
copy_n2e:
|
||||
ldrb tmp,[dst,off]
|
||||
strb tmp,[dst]; add dst,#1
|
||||
sub len,#1; bne copy_n2e
|
||||
b top_n2e
|
||||
|
||||
.code 32 @ ARM mode for ease of Carry manipulation
|
||||
get32: @ In: Carry set (unchanged until final adcs)
|
||||
ldrb bits,[src],#1
|
||||
ldrb tmp, [src],#1; orr bits,bits,tmp,lsl #1*8
|
||||
ldrb tmp, [src],#1; orr bits,bits,tmp,lsl #2*8
|
||||
ldrb tmp, [src],#1; orr bits,bits,tmp,lsl #3*8
|
||||
adcs bits,bits,bits @ Set Carry out
|
||||
bx lr
|
||||
|
||||
.size ucl_nrv2e_decompress_32, .-ucl_nrv2e_decompress_32
|
||||
|
||||
/*
|
||||
vi:ts=8:et:nowrap
|
||||
*/
|
||||
|
||||
182
src/stub/src/arch/arm/v4t/nrv2e_d8.S
Normal file
182
src/stub/src/arch/arm/v4t/nrv2e_d8.S
Normal file
@ -0,0 +1,182 @@
|
||||
/* arm_nrv2e_d8.S -- ARM decompressor for NRV2E
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2004 Laszlo Molnar
|
||||
Copyright (C) 2000-2006 John F. Reiser
|
||||
All Rights Reserved.
|
||||
|
||||
UPX and the UCL library are free software; you can redistribute them
|
||||
and/or modify them under the terms of the GNU General Public License as
|
||||
published by the Free Software Foundation; either version 2 of
|
||||
the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING.
|
||||
If not, write to the Free Software Foundation, Inc.,
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
<mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
#define SAFE 0 /* 1 for src+dst bounds checking: cost 40 bytes */
|
||||
|
||||
#define src r0
|
||||
#define len r1 /* overlaps 'cnt' */
|
||||
#define dst r2
|
||||
#define tmp r3
|
||||
#define bits r4
|
||||
#define off r5
|
||||
#define wrnk r6 /* 0x500 M2_MAX_OFFSET before "wrinkle" */
|
||||
#define srclim r7
|
||||
#if 1==SAFE /*{*/
|
||||
#define dstlim r12
|
||||
#endif /*}*/
|
||||
|
||||
#define cnt r1 /* overlaps 'len' while reading an offset */
|
||||
|
||||
#if 1==SAFE /*{*/
|
||||
#define CHECK_SRC cmp src,srclim; bhs bad_src_n2e
|
||||
#define CHECK_DST cmp dst,dstlim; bhs bad_dst_n2e
|
||||
#else /*}{*/
|
||||
#define CHECK_SRC /*empty*/
|
||||
#define CHECK_DST /*empty*/
|
||||
#endif /*}*/
|
||||
|
||||
#if 0 /*{ DEBUG only: check newly-decompressed against original dst */
|
||||
#define CHECK_BYTE \
|
||||
push {wrnk}; \
|
||||
ldrb wrnk,[dst]; \
|
||||
cmp wrnk,tmp; beq 0f; bkpt; \
|
||||
0: pop {wrnk}
|
||||
#else /*}{*/
|
||||
#define CHECK_BYTE /*empty*/
|
||||
#endif /*}*/
|
||||
|
||||
/* "mov lr,pc; bxx ..." implements conditional subroutine call */
|
||||
#define GETBIT add bits,bits; mov lr,pc; beq get1_n2e
|
||||
|
||||
#define getnextb(reg) GETBIT; adc reg,reg
|
||||
#define jnextb0 GETBIT; bcc
|
||||
#define jnextb1 GETBIT; bcs
|
||||
|
||||
ucl_nrv2e_decompress_8: .globl ucl_nrv2e_decompress_8 @ ARM mode
|
||||
.type ucl_nrv2e_decompress_8, %function
|
||||
/* error = (*)(char const *src, int len_src, char *dst, int *plen_dst)
|
||||
Actual decompressed length is stored through plen_dst.
|
||||
For SAFE mode: at call, *plen_dst must be allowed length of output buffer.
|
||||
*/
|
||||
adr r12,1+thumb_nrv2e_d8; bx r12 @ enter THUMB mode
|
||||
.code 16 @ THUMB mode
|
||||
.globl thumb_nrv2e_d8
|
||||
.thumb_func
|
||||
thumb_nrv2e_d8:
|
||||
push {r2,r3, r4,r5,r6,r7, lr}
|
||||
#define sp_DST0 0 /* stack offset of original dst */
|
||||
add srclim,len,src @ srclim= eof_src;
|
||||
#if 1==SAFE /*{*/
|
||||
ldr tmp,[r3] @ len_dst
|
||||
add tmp,dst
|
||||
mov dstlim,tmp
|
||||
#endif /*}*/
|
||||
mov bits,#1; neg off,bits @ off= -1 initial condition
|
||||
lsl bits,#31 @ 1<<31; refill next time
|
||||
mov wrnk,#5
|
||||
lsl wrnk,#8 @ 0x500 @ nrv2e M2_MAX_OFFSET
|
||||
b top_n2e
|
||||
|
||||
#if 1==SAFE /*{*/
|
||||
bad_dst_n2e: # return value will be 2
|
||||
add src,srclim,#1
|
||||
bad_src_n2e: # return value will be 1
|
||||
add src,#1
|
||||
#endif /*}*/
|
||||
eof_n2e:
|
||||
pop {r3,r4} @ r3= orig_dst; r4= plen_dst
|
||||
sub src,srclim @ 0 if actual src length equals expected length
|
||||
sub dst,r3 @ actual dst length
|
||||
str dst,[r4]
|
||||
pop {r4,r5,r6,r7 /*,pc*/}
|
||||
pop {r1}; bx r1 @ "pop {,pc}" fails return to ARM mode on ARMv4T
|
||||
|
||||
get1_n2e: @ In: Carry set [from adding 0x80000000 (1<<31) to itself]
|
||||
ldrb bits,[src] @ zero-extend next byte
|
||||
adc bits,bits @ double and insert CarryIn as low bit
|
||||
CHECK_SRC
|
||||
add src,#1
|
||||
lsl bits,#24 @ move to top byte, and set CarryOut from old bit 8
|
||||
mov pc,lr @ return, stay in current (THUMB) mode
|
||||
|
||||
lit_n2e:
|
||||
CHECK_SRC; ldrb tmp,[src]; add src,#1
|
||||
CHECK_BYTE
|
||||
CHECK_DST; strb tmp,[dst]; add dst,#1
|
||||
top_n2e:
|
||||
jnextb1 lit_n2e
|
||||
mov cnt,#1; b getoff_n2e
|
||||
|
||||
off_n2e:
|
||||
sub cnt,#1
|
||||
getnextb(cnt)
|
||||
getoff_n2e:
|
||||
getnextb(cnt)
|
||||
jnextb0 off_n2e
|
||||
|
||||
sub tmp,cnt,#3 @ set Carry
|
||||
mov len,#0 @ Carry unaffected
|
||||
blo offprev_n2e @ cnt was 2; tests Carry only
|
||||
lsl tmp,#8
|
||||
CHECK_SRC; ldrb off,[src]; add src,#1 @ low 7+1 bits
|
||||
orr off,tmp
|
||||
mvn off,off; beq eof_n2e @ off= ~off
|
||||
asr off,#1; bcs lenlast_n2e
|
||||
b lenmore_n2e
|
||||
|
||||
offprev_n2e:
|
||||
jnextb1 lenlast_n2e
|
||||
lenmore_n2e:
|
||||
mov len,#1
|
||||
jnextb1 lenlast_n2e
|
||||
len_n2e:
|
||||
getnextb(len)
|
||||
jnextb0 len_n2e
|
||||
add len,#6-2
|
||||
b gotlen_n2e
|
||||
|
||||
lenlast_n2e:
|
||||
getnextb(len) @ 0,1,2,3
|
||||
add len,#2
|
||||
gotlen_n2e: @ 'cmn': add the inputs, set condition codes, discard the sum
|
||||
cmn wrnk,off; bcs near_n2e @ within M2_MAX_OFFSET
|
||||
add len,#1 @ too far away, so minimum match length is 3
|
||||
near_n2e:
|
||||
#if 1==SAFE /*{*/
|
||||
ldr tmp,[sp,#sp_DST0]
|
||||
sub tmp,dst
|
||||
sub tmp,off; bhi bad_dst_n2e @ reaching back too far
|
||||
|
||||
add tmp,dst,cnt
|
||||
cmp tmp,dstlim; bhi bad_dst_n2e @ too much output
|
||||
#endif /*}*/
|
||||
ldrb tmp,[dst] @ force cacheline allocate
|
||||
copy_n2e:
|
||||
ldrb tmp,[dst,off]
|
||||
CHECK_BYTE
|
||||
strb tmp,[dst]; add dst,#1
|
||||
sub len,#1; bne copy_n2e
|
||||
b top_n2e
|
||||
.size ucl_nrv2e_decompress_8, .-ucl_nrv2e_decompress_8
|
||||
|
||||
/*
|
||||
vi:ts=8:et:nowrap
|
||||
*/
|
||||
|
||||
121
src/stub/src/arch/i086/app-nasm.pl
Normal file
121
src/stub/src/arch/i086/app-nasm.pl
Normal file
@ -0,0 +1,121 @@
|
||||
#! /usr/bin/perl -w
|
||||
#
|
||||
# app_i386.pl -- assembly preprocessor for upx
|
||||
#
|
||||
# This file is part of the UPX executable compressor.
|
||||
#
|
||||
# Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
# Copyright (C) 1996-2006 Laszlo Molnar
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# UPX and the UCL library are free software; you can redistribute them
|
||||
# and/or modify them under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; see the file COPYING.
|
||||
# If not, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
# <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
#
|
||||
|
||||
#
|
||||
# usage: app.pl infile outfile
|
||||
#
|
||||
|
||||
$in = shift || die;
|
||||
$ou = shift || die;
|
||||
|
||||
open (IN,"<$in") or die;
|
||||
open (OU,">$ou") or die;
|
||||
binmode IN;
|
||||
binmode OU;
|
||||
|
||||
@lines = <IN>;
|
||||
|
||||
%labels = ();
|
||||
$i = 0;
|
||||
$cs = "";
|
||||
|
||||
($ilabel = $in) =~ s,^.*[\/\\],,; # get basename
|
||||
$ilabel =~ s/\W//g;
|
||||
|
||||
# 1st pass
|
||||
for $line (@lines)
|
||||
{
|
||||
$labels{$1} = "$cs" if ($line =~ /^(\w+):/ && $cs);
|
||||
if ($line =~ /__([A-Z][A-Z0-9_]+)__/) {
|
||||
$cs = $1;
|
||||
# verify the line
|
||||
if ($line =~ /^[\%\;]ifdef/) {
|
||||
# ok
|
||||
} elsif ($line =~ /^([\%\;]\w+)?\s*;/) {
|
||||
# ok
|
||||
} else {
|
||||
print STDERR "$in:$i:warning 1:$line"
|
||||
}
|
||||
}
|
||||
|
||||
if ($line =~ /^[\%\;](if|el|endi)/)
|
||||
{
|
||||
if ($line =~ /__([A-Z][A-Z0-9_]+)__/)
|
||||
{
|
||||
$line=";$line" unless ($line =~ /^\;/);
|
||||
}
|
||||
else
|
||||
{
|
||||
print STDERR "$in:$i:warning 2:$line";
|
||||
}
|
||||
}
|
||||
$line =~ s/\.ash/\.asy/ if ($line =~ /^\s*\%include/);
|
||||
$i++;
|
||||
}
|
||||
|
||||
$cs = "";
|
||||
$i = 0;
|
||||
|
||||
# 2nd pass
|
||||
for $line (@lines)
|
||||
{
|
||||
if ($line =~ /^\s+(j\w+|loop|call)\s+(\w*)/)
|
||||
{
|
||||
$label = $2;
|
||||
die "$line" if ($label =~ /(\bnear\b|\bshort\b)/);
|
||||
if (defined $labels{$label})
|
||||
{
|
||||
$ts = $labels{$label};
|
||||
if ($ts ne $cs)
|
||||
{
|
||||
$line =~ s/$label/J$i$ilabel/;
|
||||
print OU $line;
|
||||
print OU "J$i$ilabel:\n";
|
||||
print OU "\t\tsection\t.data\n\t\tdd\t";
|
||||
print OU "0,J$i$ilabel\n\t\tdb\t\'$ts\',0\n\t\tdd\t$label - S$ts$ilabel\n";
|
||||
print OU "\t\tsection\t.text\n\n";
|
||||
$line = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$line = ";$line" if ($line =~ /^\s+align\s/);
|
||||
|
||||
print OU $line;
|
||||
if ($line =~ /__([A-Z][A-Z0-9_]+)__/)
|
||||
{
|
||||
print OU "S$1$ilabel:\n";
|
||||
print OU "\t\tsection\t.data\n\t\tdb\t\'$1\',0\n\t\tdd\tS$1$ilabel\n";
|
||||
print OU "\t\tsection\t.text\n\n";
|
||||
$cs = $1;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
# vi:ts=4:et
|
||||
92
src/stub/src/arch/i086/macros.ash
Normal file
92
src/stub/src/arch/i086/macros.ash
Normal file
@ -0,0 +1,92 @@
|
||||
; macros.ash --
|
||||
;
|
||||
; This file is part of the UPX executable compressor.
|
||||
;
|
||||
; Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer
|
||||
; Copyright (C) 1996-2004 Laszlo Molnar
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; UPX and the UCL library are free software; you can redistribute them
|
||||
; and/or modify them under the terms of the GNU General Public License as
|
||||
; published by the Free Software Foundation; either version 2 of
|
||||
; the License, or (at your option) any later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with this program; see the file COPYING.
|
||||
; If not, write to the Free Software Foundation, Inc.,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
; Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
; <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
;
|
||||
|
||||
|
||||
; =============
|
||||
; ============= 16-BIT CALLTRICK & JUMPTRICK
|
||||
; =============
|
||||
|
||||
|
||||
%macro cjt16 1
|
||||
%ifdef __CALLTR16__
|
||||
pop si
|
||||
mov cx, 'CT'
|
||||
cjt16_L1:
|
||||
lodsb
|
||||
sub al, 0xe8
|
||||
cmp al, 1
|
||||
ja cjt16_L1
|
||||
|
||||
%ifdef __CT16I286__
|
||||
rol word [si], 8
|
||||
; __CT16SUB0__
|
||||
sub [si], si
|
||||
%else; __CT16I086__
|
||||
mov bx, [si]
|
||||
xchg bl, bh
|
||||
sub bx, si
|
||||
mov [si], bx
|
||||
%endif; __CALLTRI2__
|
||||
lodsw
|
||||
loop cjt16_L1
|
||||
%endif; __CT16DUM1__
|
||||
|
||||
; =============
|
||||
|
||||
%ifdef __CT16E800__
|
||||
mov al, 0xe8
|
||||
%else; __CT16E900__
|
||||
mov al, 0xe9
|
||||
%endif; __CALLTRI5__
|
||||
pop di
|
||||
mov cx, 'CT'
|
||||
cjt16_L11:
|
||||
repne
|
||||
scasb
|
||||
%ifdef __CT16JEND__
|
||||
jnz %1 ; FIXME: this doesn't get relocated
|
||||
%else; __CT16JUL2__
|
||||
jnz cjt16_L2
|
||||
%endif; __CT16DUM2__
|
||||
|
||||
%ifdef __CT16I287__
|
||||
rol word [di], 8
|
||||
; __CT16SUB1__
|
||||
sub [di], di
|
||||
%else; __CT16I087__
|
||||
mov bx, [di]
|
||||
xchg bl, bh
|
||||
sub bx, di
|
||||
mov [di], bx
|
||||
%endif; __CALLTRI6__
|
||||
scasw
|
||||
jmps cjt16_L11
|
||||
cjt16_L2:
|
||||
; __CT16DUMM3__
|
||||
%endmacro
|
||||
|
||||
; vi:ts=8:et:nowrap
|
||||
184
src/stub/src/arch/i086/nrv2b_d16.ash
Normal file
184
src/stub/src/arch/i086/nrv2b_d16.ash
Normal file
@ -0,0 +1,184 @@
|
||||
; n2b_d16.ash -- ucl_nrv2b_decompress_le16 in 16-bit assembly
|
||||
;
|
||||
; This file is part of the UCL data compression library.
|
||||
;
|
||||
; Copyright (C) 1996-2005 Markus Franz Xaver Johannes Oberhumer
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; The UCL library is free software; you can redistribute it and/or
|
||||
; modify it under the terms of the GNU General Public License as
|
||||
; published by the Free Software Foundation; either version 2 of
|
||||
; the License, or (at your option) any later version.
|
||||
;
|
||||
; The UCL library is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with the UCL library; see the file COPYING.
|
||||
; If not, write to the Free Software Foundation, Inc.,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
; Markus F.X.J. Oberhumer
|
||||
; <markus@oberhumer.com>
|
||||
; http://www.oberhumer.com/opensource/ucl/
|
||||
;
|
||||
|
||||
|
||||
; ------------- DECOMPRESSION -------------
|
||||
|
||||
; Input
|
||||
; bx - 0x8000
|
||||
; cx - 0
|
||||
; si - source
|
||||
; di - dest
|
||||
; bp - -1
|
||||
|
||||
|
||||
%ifndef jmps
|
||||
%define jmps jmp short
|
||||
%endif
|
||||
%ifndef jmpn
|
||||
%define jmpn jmp near
|
||||
%endif
|
||||
|
||||
CPU 8086
|
||||
|
||||
|
||||
; __NRV2B160__
|
||||
literal_n2b:
|
||||
movsb
|
||||
decomp_start_n2b:
|
||||
call getbit_n2b
|
||||
jc literal_n2b
|
||||
|
||||
inc cx
|
||||
loop1_n2b:
|
||||
call getbit_cx_n2b
|
||||
%ifdef __NRVDDONE__
|
||||
jcxz decomp_done_n2b
|
||||
%else; __NRVDRETU__
|
||||
jcxz decomp_ret_n2b
|
||||
%endif; __NRVDECO1__
|
||||
jnb loop1_n2b
|
||||
sub cx, byte 3
|
||||
jb axbp_n2b
|
||||
mov ah, cl
|
||||
lodsb
|
||||
not ax
|
||||
xchg bp, ax
|
||||
axbp_n2b:
|
||||
xor cx, cx
|
||||
call getbit_cx_n2b
|
||||
adc cx, cx
|
||||
jnz copy_match_n2b
|
||||
inc cx
|
||||
loop2_n2b:
|
||||
call getbit_cx_n2b
|
||||
jnb loop2_n2b
|
||||
inc cx
|
||||
inc cx
|
||||
copy_match_n2b:
|
||||
%ifdef __NRVLED00__
|
||||
inc cx
|
||||
%else; __NRVGTD00__
|
||||
cmp bp, -0xd00
|
||||
adc cx, byte 1
|
||||
%endif; __NRVDECO2__
|
||||
lea ax, [di+bp]
|
||||
xchg ax, si
|
||||
rep
|
||||
movsb
|
||||
xchg ax, si
|
||||
jmps decomp_start_n2b
|
||||
getbit_cx_n2b:
|
||||
call getbit_n2b
|
||||
adc cx, cx
|
||||
getbit_n2b:
|
||||
add bx, bx
|
||||
jnz decomp_ret_n2b
|
||||
lodsw
|
||||
adc ax, ax
|
||||
xchg ax, bx
|
||||
decomp_ret_n2b:
|
||||
ret
|
||||
decomp_done_n2b:
|
||||
; __NRV2B169__
|
||||
|
||||
|
||||
|
||||
; =============
|
||||
; ============= 16-BIT CALLTRICK & JUMPTRICK
|
||||
; =============
|
||||
|
||||
|
||||
%ifdef CJT16
|
||||
|
||||
%ifdef __CALLTR16__
|
||||
pop si
|
||||
mov cx, 'CT'
|
||||
cjt16_L1:
|
||||
lodsb
|
||||
sub al, 0xe8
|
||||
cmp al, 1
|
||||
ja cjt16_L1
|
||||
|
||||
%ifdef __CT16I286__
|
||||
CPU 286
|
||||
rol word [si], 8
|
||||
CPU 8086
|
||||
; __CT16SUB0__
|
||||
sub [si], si
|
||||
%else; __CT16I086__
|
||||
mov bx, [si]
|
||||
xchg bl, bh
|
||||
sub bx, si
|
||||
mov [si], bx
|
||||
%endif; __CALLTRI2__
|
||||
lodsw
|
||||
loop cjt16_L1
|
||||
%endif; __CT16DUM1__
|
||||
|
||||
; =============
|
||||
|
||||
%ifdef __CT16E800__
|
||||
mov al, 0xe8
|
||||
%else; __CT16E900__
|
||||
mov al, 0xe9
|
||||
%endif; __CALLTRI5__
|
||||
pop di
|
||||
mov cx, 'CT'
|
||||
cjt16_L11:
|
||||
repne
|
||||
scasb
|
||||
%ifdef __CT16JEND__
|
||||
jnz decomp_ret_n2b
|
||||
%else; __CT16JUL2__
|
||||
jnz cjt16_L2
|
||||
%endif; __CT16DUM2__
|
||||
|
||||
%ifdef __CT16I287__
|
||||
CPU 286
|
||||
rol word [di], 8
|
||||
CPU 8086
|
||||
; __CT16SUB1__
|
||||
sub [di], di
|
||||
%else; __CT16I087__
|
||||
mov bx, [di]
|
||||
xchg bl, bh
|
||||
sub bx, di
|
||||
mov [di], bx
|
||||
%endif; __CALLTRI6__
|
||||
scasw
|
||||
jmps cjt16_L11
|
||||
cjt16_L2:
|
||||
; __CT16DUMM3__
|
||||
|
||||
%endif ; CJT16
|
||||
|
||||
|
||||
CPU 8086
|
||||
|
||||
; vi:ts=8:et
|
||||
|
||||
167
src/stub/src/arch/i086/nrv2b_d8.ash
Normal file
167
src/stub/src/arch/i086/nrv2b_d8.ash
Normal file
@ -0,0 +1,167 @@
|
||||
; n2b_d8e.ash -- ucl_nrv2b_decompress_8 in 16-bit assembly (dos/exe)
|
||||
;
|
||||
; This file is part of the UCL data compression library.
|
||||
;
|
||||
; Copyright (C) 1996-2005 Markus Franz Xaver Johannes Oberhumer
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; The UCL library is free software; you can redistribute it and/or
|
||||
; modify it under the terms of the GNU General Public License as
|
||||
; published by the Free Software Foundation; either version 2 of
|
||||
; the License, or (at your option) any later version.
|
||||
;
|
||||
; The UCL library is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with the UCL library; see the file COPYING.
|
||||
; If not, write to the Free Software Foundation, Inc.,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
; Markus F.X.J. Oberhumer
|
||||
; <markus@oberhumer.com>
|
||||
; http://www.oberhumer.com/opensource/ucl/
|
||||
;
|
||||
|
||||
|
||||
; ------------- DECOMPRESSION -------------
|
||||
|
||||
; Input
|
||||
; ds:si - source
|
||||
; es:di - dest
|
||||
; dx = ds
|
||||
; cx = 0
|
||||
; bx = 0x800F
|
||||
; bp = 1
|
||||
|
||||
|
||||
%ifndef jmps
|
||||
%define jmps jmp short
|
||||
%endif
|
||||
%ifndef jmpn
|
||||
%define jmpn jmp near
|
||||
%endif
|
||||
|
||||
CPU 8086
|
||||
|
||||
|
||||
; __NRV2B16S__
|
||||
literal_n2b:
|
||||
movsb
|
||||
decompr_start_n2b:
|
||||
add bh, bh
|
||||
jnz dec1_n2b
|
||||
call reloadbh_n2b
|
||||
dec1_n2b:
|
||||
jc literal_n2b
|
||||
inc cx
|
||||
mov ax, es
|
||||
%ifdef __N2B64K01__
|
||||
add di, di
|
||||
jnc di_ok_n2b
|
||||
add ah, 8
|
||||
mov es, ax
|
||||
di_ok_n2b:
|
||||
shr di, 1
|
||||
%endif; __NRV2BEX1__
|
||||
offset_loop_n2b:
|
||||
call getbit_cx_n2b
|
||||
jcxz decomp_done_n2b
|
||||
jnc offset_loop_n2b
|
||||
dec cx
|
||||
dec cx
|
||||
jz offset_ok_n2b
|
||||
%ifdef __N2BX8601__
|
||||
add cx, cx
|
||||
add cx, cx
|
||||
add cx, cx
|
||||
add cx, cx
|
||||
%else; __N2B28601__
|
||||
CPU 286
|
||||
shl cx, 4
|
||||
CPU 8086
|
||||
%endif; __NRV2BEX2__
|
||||
mov bp, cx
|
||||
mov bl, [si]
|
||||
inc si
|
||||
not bl
|
||||
xor cx, cx
|
||||
offset_ok_n2b:
|
||||
call getbit_cx_n2b
|
||||
adc cx, cx
|
||||
jnz copy_match_n2b
|
||||
inc cx
|
||||
length_loop_n2b:
|
||||
call getbit_cx_n2b
|
||||
jnc length_loop_n2b
|
||||
inc cx
|
||||
inc cx
|
||||
copy_match_n2b:
|
||||
cmp bp, 0xd1
|
||||
sbb cx, byte -2
|
||||
|
||||
sub ax, bp
|
||||
jb handle_underflow_n2b
|
||||
mov ds, ax
|
||||
lea ax, [bx + di]
|
||||
ds_ok_n2b:
|
||||
sub ah, bh
|
||||
xchg ax, si
|
||||
rep
|
||||
movsb
|
||||
xchg ax, si
|
||||
mov ds, dx
|
||||
jmps decompr_start_n2b
|
||||
handle_underflow_n2b:
|
||||
%ifdef __N2BX8602__
|
||||
shl ax, 1
|
||||
shl ax, 1
|
||||
shl ax, 1
|
||||
shl ax, 1
|
||||
push ax
|
||||
xor ax, ax
|
||||
mov ds, ax
|
||||
pop ax
|
||||
%else; __N2B28602__
|
||||
CPU 286
|
||||
shl ax, 4
|
||||
push byte 0
|
||||
pop ds
|
||||
CPU 8086
|
||||
%endif; __NRV2BEX3__
|
||||
add ax, bx
|
||||
add ax, di
|
||||
jmps ds_ok_n2b
|
||||
getbit_cx_n2b:
|
||||
add bh, bh
|
||||
jnz gb2_n2b
|
||||
call reloadbh_n2b
|
||||
gb2_n2b:
|
||||
adc cx, cx
|
||||
getbit_n2b:
|
||||
add bh, bh
|
||||
jnz f2_n2b
|
||||
reloadbh_n2b:
|
||||
mov bh, [si]
|
||||
%ifdef __N2B64K02__
|
||||
adc si, si
|
||||
jnc si_ok_n2b
|
||||
add dh, 8
|
||||
mov ds, dx
|
||||
si_ok_n2b:
|
||||
shr si, 1
|
||||
%endif; __NRV2BEX9__
|
||||
inc si
|
||||
adc bh, bh
|
||||
f2_n2b:
|
||||
ret
|
||||
decomp_done_n2b:
|
||||
; __NRV2B16E__
|
||||
|
||||
|
||||
CPU 8086
|
||||
|
||||
; vi:ts=8:et
|
||||
|
||||
177
src/stub/src/arch/i086/nrv2d_d8.ash
Normal file
177
src/stub/src/arch/i086/nrv2d_d8.ash
Normal file
@ -0,0 +1,177 @@
|
||||
; n2d_d8e.ash -- ucl_nrv2d_decompress_8 in 16-bit assembly (dos/exe)
|
||||
;
|
||||
; This file is part of the UCL data compression library.
|
||||
;
|
||||
; Copyright (C) 1996-2005 Markus Franz Xaver Johannes Oberhumer
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; The UCL library is free software; you can redistribute it and/or
|
||||
; modify it under the terms of the GNU General Public License as
|
||||
; published by the Free Software Foundation; either version 2 of
|
||||
; the License, or (at your option) any later version.
|
||||
;
|
||||
; The UCL library is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with the UCL library; see the file COPYING.
|
||||
; If not, write to the Free Software Foundation, Inc.,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
; Markus F.X.J. Oberhumer
|
||||
; <markus@oberhumer.com>
|
||||
; http://www.oberhumer.com/opensource/ucl/
|
||||
;
|
||||
|
||||
|
||||
; ------------- DECOMPRESSION -------------
|
||||
|
||||
; Input
|
||||
; ds:si - source
|
||||
; es:di - dest
|
||||
; dx = ds
|
||||
; cx = 0
|
||||
; bx = 0x800F
|
||||
; bp = 1
|
||||
|
||||
|
||||
%ifndef jmps
|
||||
%define jmps jmp short
|
||||
%endif
|
||||
%ifndef jmpn
|
||||
%define jmpn jmp near
|
||||
%endif
|
||||
|
||||
CPU 8086
|
||||
|
||||
|
||||
; __NRV2D16S__
|
||||
literal_n2d:
|
||||
movsb
|
||||
decompr_start_n2d:
|
||||
add bh, bh
|
||||
jnz dec1_n2d
|
||||
call reloadbh_n2d
|
||||
dec1_n2d:
|
||||
jc literal_n2d
|
||||
inc cx
|
||||
mov ax, es
|
||||
%ifdef __N2D64K01__
|
||||
add di, di
|
||||
jnc di_ok_n2d
|
||||
add ah, 8
|
||||
mov es, ax
|
||||
di_ok_n2d:
|
||||
shr di, 1
|
||||
%endif; __NRV2DEX1__
|
||||
offset_loop_n2d:
|
||||
call getbit_cx_n2d
|
||||
jc offset_loopend_n2d
|
||||
dec cx
|
||||
call getbit_n2d
|
||||
adc cx, cx
|
||||
jns offset_loop_n2d
|
||||
jmps decomp_done_n2d
|
||||
|
||||
offset_loopend_n2d:
|
||||
dec cx
|
||||
dec cx
|
||||
jz offset_ok_n2d
|
||||
%ifdef __N2DX8601__
|
||||
add cx, cx
|
||||
add cx, cx
|
||||
add cx, cx
|
||||
%else; __N2D28601__
|
||||
CPU 286
|
||||
shl cx, 3
|
||||
CPU 8086
|
||||
%endif; __NRV2DEX2__
|
||||
mov bp, cx
|
||||
mov bl, [si]
|
||||
inc si
|
||||
not bl
|
||||
xor cx, cx
|
||||
shr bl, 1
|
||||
jmps ook1_n2d
|
||||
offset_ok_n2d:
|
||||
call getbit_n2d
|
||||
ook1_n2d:
|
||||
adc cx, cx
|
||||
call getbit_n2d
|
||||
adc cx, cx
|
||||
jnz copy_match_n2d
|
||||
inc cx
|
||||
length_loop_n2d:
|
||||
call getbit_cx_n2d
|
||||
jnc length_loop_n2d
|
||||
inc cx
|
||||
inc cx
|
||||
copy_match_n2d:
|
||||
cmp bp, byte 0x51
|
||||
sbb cx, byte -2
|
||||
|
||||
sub ax, bp
|
||||
jb handle_underflow_n2d
|
||||
mov ds, ax
|
||||
lea ax, [bx + di]
|
||||
ds_ok_n2d:
|
||||
sub ah, bh
|
||||
xchg ax, si
|
||||
rep
|
||||
movsb
|
||||
xchg ax, si
|
||||
mov ds, dx
|
||||
jmps decompr_start_n2d
|
||||
handle_underflow_n2d:
|
||||
%ifdef __N2DX8602__
|
||||
shl ax, 1
|
||||
shl ax, 1
|
||||
shl ax, 1
|
||||
shl ax, 1
|
||||
push ax
|
||||
xor ax, ax
|
||||
mov ds, ax
|
||||
pop ax
|
||||
%else; __N2D28602__
|
||||
CPU 286
|
||||
shl ax, 4
|
||||
push byte 0
|
||||
pop ds
|
||||
CPU 8086
|
||||
%endif; __NRV2DEX3__
|
||||
add ax, bx
|
||||
add ax, di
|
||||
jmps ds_ok_n2d
|
||||
getbit_cx_n2d:
|
||||
add bh, bh
|
||||
jnz gb2_n2d
|
||||
call reloadbh_n2d
|
||||
gb2_n2d:
|
||||
adc cx, cx
|
||||
getbit_n2d:
|
||||
add bh, bh
|
||||
jnz f2_n2d
|
||||
reloadbh_n2d:
|
||||
mov bh, [si]
|
||||
%ifdef __N2D64K02__
|
||||
adc si, si
|
||||
jnc si_ok_n2d
|
||||
add dh, 8
|
||||
mov ds, dx
|
||||
si_ok_n2d:
|
||||
shr si, 1
|
||||
%endif; __NRV2DEX9__
|
||||
inc si
|
||||
adc bh, bh
|
||||
f2_n2d:
|
||||
ret
|
||||
decomp_done_n2d:
|
||||
; __NRV2D16E__
|
||||
|
||||
|
||||
CPU 8086
|
||||
|
||||
; vi:ts=8:et
|
||||
|
||||
183
src/stub/src/arch/i086/nrv2e_d8.ash
Normal file
183
src/stub/src/arch/i086/nrv2e_d8.ash
Normal file
@ -0,0 +1,183 @@
|
||||
; n2e_d8e.ash -- ucl_nrv2e_decompress_8 in 16-bit assembly (dos/exe)
|
||||
;
|
||||
; This file is part of the UCL data compression library.
|
||||
;
|
||||
; Copyright (C) 1996-2005 Markus Franz Xaver Johannes Oberhumer
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; The UCL library is free software; you can redistribute it and/or
|
||||
; modify it under the terms of the GNU General Public License as
|
||||
; published by the Free Software Foundation; either version 2 of
|
||||
; the License, or (at your option) any later version.
|
||||
;
|
||||
; The UCL library is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with the UCL library; see the file COPYING.
|
||||
; If not, write to the Free Software Foundation, Inc.,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
; Markus F.X.J. Oberhumer
|
||||
; <markus@oberhumer.com>
|
||||
; http://www.oberhumer.com/opensource/ucl/
|
||||
;
|
||||
|
||||
|
||||
; ------------- DECOMPRESSION -------------
|
||||
|
||||
; Input
|
||||
; ds:si - source
|
||||
; es:di - dest
|
||||
; dx = ds
|
||||
; cx = 0
|
||||
; bx = 0x800F
|
||||
; bp = 1
|
||||
|
||||
|
||||
%ifndef jmps
|
||||
%define jmps jmp short
|
||||
%endif
|
||||
%ifndef jmpn
|
||||
%define jmpn jmp near
|
||||
%endif
|
||||
|
||||
CPU 8086
|
||||
|
||||
|
||||
; __NRV2E16S__
|
||||
literal_n2e:
|
||||
movsb
|
||||
decompr_start_n2e:
|
||||
add bh, bh
|
||||
jnz dec1_n2e
|
||||
call reloadbh_n2e
|
||||
dec1_n2e:
|
||||
jc literal_n2e
|
||||
inc cx
|
||||
mov ax, es
|
||||
%ifdef __N2E64K01__
|
||||
add di, di
|
||||
jnc di_ok_n2e
|
||||
add ah, 8
|
||||
mov es, ax
|
||||
di_ok_n2e:
|
||||
shr di, 1
|
||||
%endif; __NRV2EEX1__
|
||||
offset_loop_n2e:
|
||||
call getbit_cx_n2e
|
||||
jc offset_loopend_n2e
|
||||
dec cx
|
||||
call getbit_n2e
|
||||
adc cx, cx
|
||||
jns offset_loop_n2e
|
||||
jmps decomp_done_n2e
|
||||
|
||||
offset_loopend_n2e:
|
||||
dec cx
|
||||
dec cx
|
||||
jz offset_ok_n2e
|
||||
%ifdef __N2EX8601__
|
||||
add cx, cx
|
||||
add cx, cx
|
||||
add cx, cx
|
||||
%else; __N2E28601__
|
||||
CPU 286
|
||||
shl cx, 3
|
||||
CPU 8086
|
||||
%endif; __NRV2EEX2__
|
||||
mov bp, cx
|
||||
mov bl, [si]
|
||||
inc si
|
||||
not bl
|
||||
xor cx, cx
|
||||
shr bl, 1
|
||||
jnc ook1_n2e
|
||||
mlen1_n2e:
|
||||
call getbit_n2e
|
||||
adc cx, cx
|
||||
jmps copy_match_n2e
|
||||
|
||||
offset_ok_n2e:
|
||||
call getbit_n2e
|
||||
jc mlen1_n2e
|
||||
ook1_n2e:
|
||||
inc cx
|
||||
call getbit_n2e
|
||||
jc mlen1_n2e
|
||||
length_loop_n2e:
|
||||
call getbit_cx_n2e
|
||||
jnc length_loop_n2e
|
||||
inc cx
|
||||
inc cx
|
||||
copy_match_n2e:
|
||||
cmp bp, byte 0x51
|
||||
sbb cx, byte -3
|
||||
|
||||
sub ax, bp
|
||||
jb handle_underflow_n2e
|
||||
mov ds, ax
|
||||
lea ax, [bx + di]
|
||||
ds_ok_n2e:
|
||||
sub ah, bh
|
||||
xchg ax, si
|
||||
rep
|
||||
movsb
|
||||
xchg ax, si
|
||||
mov ds, dx
|
||||
jmps decompr_start_n2e
|
||||
|
||||
handle_underflow_n2e:
|
||||
%ifdef __N2EX8602__
|
||||
shl ax, 1
|
||||
shl ax, 1
|
||||
shl ax, 1
|
||||
shl ax, 1
|
||||
push ax
|
||||
xor ax, ax
|
||||
mov ds, ax
|
||||
pop ax
|
||||
%else; __N2E28602__
|
||||
CPU 286
|
||||
shl ax, 4
|
||||
push byte 0
|
||||
pop ds
|
||||
CPU 8086
|
||||
%endif; __NRV2EEX3__
|
||||
add ax, bx
|
||||
add ax, di
|
||||
jmps ds_ok_n2e
|
||||
|
||||
getbit_cx_n2e:
|
||||
add bh, bh
|
||||
jnz gb2_n2e
|
||||
call reloadbh_n2e
|
||||
gb2_n2e:
|
||||
adc cx, cx
|
||||
getbit_n2e:
|
||||
add bh, bh
|
||||
jnz f2_n2e
|
||||
reloadbh_n2e:
|
||||
mov bh, [si]
|
||||
%ifdef __N2E64K02__
|
||||
adc si, si
|
||||
jnc si_ok_n2e
|
||||
add dh, 8
|
||||
mov ds, dx
|
||||
si_ok_n2e:
|
||||
shr si, 1
|
||||
%endif; __NRV2EEX9__
|
||||
inc si
|
||||
adc bh, bh
|
||||
f2_n2e:
|
||||
ret
|
||||
decomp_done_n2e:
|
||||
; __NRV2E16E__
|
||||
|
||||
|
||||
CPU 8086
|
||||
|
||||
; vi:ts=8:et
|
||||
|
||||
121
src/stub/src/arch/i386/app-nasm.pl
Normal file
121
src/stub/src/arch/i386/app-nasm.pl
Normal file
@ -0,0 +1,121 @@
|
||||
#! /usr/bin/perl -w
|
||||
#
|
||||
# app_i386.pl -- assembly preprocessor for upx
|
||||
#
|
||||
# This file is part of the UPX executable compressor.
|
||||
#
|
||||
# Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
# Copyright (C) 1996-2006 Laszlo Molnar
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# UPX and the UCL library are free software; you can redistribute them
|
||||
# and/or modify them under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; see the file COPYING.
|
||||
# If not, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
# <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
#
|
||||
|
||||
#
|
||||
# usage: app.pl infile outfile
|
||||
#
|
||||
|
||||
$in = shift || die;
|
||||
$ou = shift || die;
|
||||
|
||||
open (IN,"<$in") or die;
|
||||
open (OU,">$ou") or die;
|
||||
binmode IN;
|
||||
binmode OU;
|
||||
|
||||
@lines = <IN>;
|
||||
|
||||
%labels = ();
|
||||
$i = 0;
|
||||
$cs = "";
|
||||
|
||||
($ilabel = $in) =~ s,^.*[\/\\],,; # get basename
|
||||
$ilabel =~ s/\W//g;
|
||||
|
||||
# 1st pass
|
||||
for $line (@lines)
|
||||
{
|
||||
$labels{$1} = "$cs" if ($line =~ /^(\w+):/ && $cs);
|
||||
if ($line =~ /__([A-Z][A-Z0-9_]+)__/) {
|
||||
$cs = $1;
|
||||
# verify the line
|
||||
if ($line =~ /^[\%\;]ifdef/) {
|
||||
# ok
|
||||
} elsif ($line =~ /^([\%\;]\w+)?\s*;/) {
|
||||
# ok
|
||||
} else {
|
||||
print STDERR "$in:$i:warning 1:$line"
|
||||
}
|
||||
}
|
||||
|
||||
if ($line =~ /^[\%\;](if|el|endi)/)
|
||||
{
|
||||
if ($line =~ /__([A-Z][A-Z0-9_]+)__/)
|
||||
{
|
||||
$line=";$line" unless ($line =~ /^\;/);
|
||||
}
|
||||
else
|
||||
{
|
||||
print STDERR "$in:$i:warning 2:$line";
|
||||
}
|
||||
}
|
||||
$line =~ s/\.ash/\.asy/ if ($line =~ /^\s*\%include/);
|
||||
$i++;
|
||||
}
|
||||
|
||||
$cs = "";
|
||||
$i = 0;
|
||||
|
||||
# 2nd pass
|
||||
for $line (@lines)
|
||||
{
|
||||
if ($line =~ /^\s+(j\w+|loop|call)\s+(\w*)/)
|
||||
{
|
||||
$label = $2;
|
||||
die "$line" if ($label =~ /(\bnear\b|\bshort\b)/);
|
||||
if (defined $labels{$label})
|
||||
{
|
||||
$ts = $labels{$label};
|
||||
if ($ts ne $cs)
|
||||
{
|
||||
$line =~ s/$label/J$i$ilabel/;
|
||||
print OU $line;
|
||||
print OU "J$i$ilabel:\n";
|
||||
print OU "\t\tsection\t.data\n\t\tdd\t";
|
||||
print OU "0,J$i$ilabel\n\t\tdb\t\'$ts\',0\n\t\tdd\t$label - S$ts$ilabel\n";
|
||||
print OU "\t\tsection\t.text\n\n";
|
||||
$line = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$line = ";$line" if ($line =~ /^\s+align\s/);
|
||||
|
||||
print OU $line;
|
||||
if ($line =~ /__([A-Z][A-Z0-9_]+)__/)
|
||||
{
|
||||
print OU "S$1$ilabel:\n";
|
||||
print OU "\t\tsection\t.data\n\t\tdb\t\'$1\',0\n\t\tdd\tS$1$ilabel\n";
|
||||
print OU "\t\tsection\t.text\n\n";
|
||||
$cs = $1;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
# vi:ts=4:et
|
||||
253
src/stub/src/arch/i386/cl1_d32.ash
Normal file
253
src/stub/src/arch/i386/cl1_d32.ash
Normal file
@ -0,0 +1,253 @@
|
||||
; cl1_d32.ash -- cl1_decompress_le32 in 32-bit assembly
|
||||
; schema from ucl/nrv2b_d32.ash
|
||||
;
|
||||
; Copyright (C) 2004 John Reiser
|
||||
; Copyright (C) 1996-2003 Markus Franz Xaver Johannes Oberhumer
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; This file is free software; you can redistribute it and/or
|
||||
; modify it under the terms of the GNU General Public License as
|
||||
; published by the Free Software Foundation; either version 2 of
|
||||
; the License, or (at your option) any later version.
|
||||
;
|
||||
; This file is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with the UCL library; see the file COPYING.
|
||||
; If not, write to the Free Software Foundation, Inc.,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
; Markus F.X.J. Oberhumer John Reiser
|
||||
; <markus@oberhumer.com> <jreiser@BitWagon.com>
|
||||
;
|
||||
|
||||
|
||||
; ------------- DECOMPRESSION -------------
|
||||
|
||||
; Input:
|
||||
; esi - source
|
||||
; edi - dest
|
||||
; ebp - -1
|
||||
; cld
|
||||
|
||||
; Output:
|
||||
; eax - 0
|
||||
; ecx - 0
|
||||
|
||||
|
||||
%ifndef jmps
|
||||
%define jmps jmp short
|
||||
%endif
|
||||
%ifndef jmpn
|
||||
%define jmpn jmp near
|
||||
%endif
|
||||
|
||||
|
||||
;; One of these two is instantiated many times by buildLoader
|
||||
%ifdef __CL1SMA1B__
|
||||
call edx
|
||||
%else; __CL1FAS1B__
|
||||
add ebx, ebx
|
||||
db 0x75,2 ;jnz cl1_no_reload
|
||||
call edx
|
||||
;cl1_no_reload:
|
||||
%endif; __CL1GET1B__
|
||||
|
||||
; __CL1ENTER__
|
||||
nop ; 'int3' for debugging
|
||||
call start_cl1 ; pic push address of next instr
|
||||
; __CL1SMA10__
|
||||
getbit_cl1: ; appears only in small version
|
||||
add ebx, ebx
|
||||
jz reload_cl1
|
||||
ret
|
||||
; __CL1RLOAD__
|
||||
reload_cl1: ; for both small and fast version
|
||||
mov ebx, [esi]
|
||||
sub esi, byte -4
|
||||
adc ebx, ebx
|
||||
ret
|
||||
; __CL1WID01__
|
||||
widelit_cl1:
|
||||
sub ecx,ecx ; back to 0
|
||||
; getbit
|
||||
; __CL1WID02__
|
||||
adc ecx,ecx
|
||||
; getbit
|
||||
; __CL1WID03__
|
||||
jc lit89_cl1
|
||||
; getbit
|
||||
; __CL1WID04__
|
||||
adc ecx,ecx
|
||||
; getbit
|
||||
; __CL1WID05__
|
||||
jc lit10_12_cl1
|
||||
; getbit
|
||||
; __CL1WID06__
|
||||
adc ecx,ecx ; 0..7; -1+ (width/2) of length
|
||||
litwidth_cl1: ; ss22 algorithm, counted width<=8 pairs; returns eax= 2..0x15555
|
||||
; getbit
|
||||
; __CL1WID07__
|
||||
adc eax,eax
|
||||
dec eax
|
||||
; getbit
|
||||
; __CL1WID08__
|
||||
adc eax,eax
|
||||
sub ecx, byte 1
|
||||
jnc litwidth_cl1
|
||||
lea ecx,[17 -2 + eax] ; 17: predecessors; ss22 returns 2..
|
||||
cmp eax,0xffff-(17 -2)
|
||||
jb litgo_cl1 ; not maximal range of search
|
||||
lea eax,[esi + ecx] ; esi after copy
|
||||
push eax ; "parameter" to maxlit_cl1
|
||||
jmpn maxlit_cl1 ; can have another literal afterwards
|
||||
lit13_16_cl1:
|
||||
; getbit
|
||||
; __CL1WID09__
|
||||
adc ecx,ecx
|
||||
; getbit
|
||||
; __CL1WID10__
|
||||
adc ecx,ecx
|
||||
add ecx, byte 13
|
||||
jmps litmov_cl1
|
||||
lit10_12_cl1:
|
||||
test ecx,ecx
|
||||
jz lit13_16_cl1
|
||||
inc ecx ; 2,3,4
|
||||
lit89_cl1:
|
||||
add ecx, byte 8
|
||||
litgo_cl1:
|
||||
jmps litmov_cl1
|
||||
; __CL1START__
|
||||
start_cl1:
|
||||
sub ecx,ecx ; 0
|
||||
pop edx ; edx= getbit_cl1 or reload_cl1
|
||||
sub ebx, ebx ; cause reload on first bit
|
||||
|
||||
; __CL1TOP00__
|
||||
top_cl1: ; In: 0==ecx
|
||||
lea eax,[1+ ecx] ; 1: the msb of offset or large width
|
||||
; getbit
|
||||
; __CL1TOP01__
|
||||
jnc match_cl1
|
||||
; getbit
|
||||
; __CL1TOP02__
|
||||
jc lit1_cl1
|
||||
; getbit
|
||||
; __CL1TOP03__
|
||||
jc lit2_cl1
|
||||
; getbit
|
||||
; __CL1TOP04__
|
||||
jc lit3_cl1
|
||||
add ecx, byte 2
|
||||
; getbit
|
||||
; __CL1TOP05__
|
||||
jc lit45_cl1
|
||||
inc ecx
|
||||
; getbit
|
||||
; __CL1TOP06__
|
||||
jc lit67_cl1
|
||||
jmpn widelit_cl1
|
||||
lit67_cl1:
|
||||
lit45_cl1:
|
||||
; getbit
|
||||
; __CL1TOP07__
|
||||
adc ecx,ecx
|
||||
litmov_cl1:
|
||||
db 0xD1,((3<<6)|(5<<3)|1) ;shr ecx,1
|
||||
jnc litmovb_cl1
|
||||
movsb
|
||||
litmovb_cl1:
|
||||
db 0xD1,((3<<6)|(5<<3)|1) ;shr ecx,1
|
||||
jnc litmovw_cl1
|
||||
movsw
|
||||
litmovw_cl1:
|
||||
rep
|
||||
movsd
|
||||
lea eax,[1+ ecx] ; 1: the msb
|
||||
jmps litdone_cl1
|
||||
lit3_cl1:
|
||||
movsb
|
||||
lit2_cl1:
|
||||
movsb
|
||||
lit1_cl1:
|
||||
movsb
|
||||
litdone_cl1:
|
||||
|
||||
match_cl1: ; In: 0==ecx; 1==eax
|
||||
|
||||
offset_cl1: ; ss11 algorithm
|
||||
; getbit
|
||||
; __CL1OFF01__
|
||||
adc eax,eax
|
||||
; getbit
|
||||
; __CL1OFF02__
|
||||
jnc offset_cl1
|
||||
sub eax, byte 3 ; 2.. ==> -1[prev], (0,,<<8)|byte
|
||||
jc prev_off_cl1
|
||||
shl eax,8
|
||||
lodsb
|
||||
xor eax, byte ~0
|
||||
jz done_cl1 ; EOF
|
||||
mov ebp,eax ; -offset
|
||||
prev_off_cl1: ; 1st 2 bits encode (5<=len),2,3,4
|
||||
; getbit
|
||||
; __CL1OFF03__
|
||||
adc ecx,ecx
|
||||
; getbit
|
||||
; __CL1OFF04__
|
||||
adc ecx,ecx
|
||||
jnz wrinkle_cl1
|
||||
; __CL1LEN00__
|
||||
inc ecx ; 1: the msb
|
||||
mlen_cl1:
|
||||
; getbit
|
||||
; __CL1LEN01__
|
||||
adc ecx,ecx
|
||||
; getbit
|
||||
; __CL1LEN02__
|
||||
jnc mlen_cl1
|
||||
add ecx, byte 2 ; 2.. ==> 4..
|
||||
; __CL1COPY0__
|
||||
wrinkle_cl1:
|
||||
cmp ebp,-0xd00
|
||||
adc ecx, byte 1
|
||||
copy_cl1:
|
||||
push esi
|
||||
lea esi,[edi + ebp]
|
||||
cmp ebp, byte -4
|
||||
ja ripple_cl1
|
||||
maxlit_cl1: ; literal copy cannot overlap; omit test for ripple
|
||||
db 0xD1,((3<<6)|(5<<3)|1) ;shr ecx,1
|
||||
jnc maxlitb_cl1
|
||||
movsb
|
||||
maxlitb_cl1:
|
||||
db 0xD1,((3<<6)|(5<<3)|1) ;shr ecx,1
|
||||
jnc maxlitw_cl1
|
||||
movsw
|
||||
maxlitw_cl1:
|
||||
rep
|
||||
movsd
|
||||
popbot_cl1:
|
||||
pop esi
|
||||
bottom_cl1:
|
||||
jmpn top_cl1
|
||||
ripple_cl1:
|
||||
cmp ebp, byte -1
|
||||
jne ripmov_cl1
|
||||
lodsb
|
||||
rep
|
||||
stosb
|
||||
jmps popbot_cl1
|
||||
ripmov_cl1:
|
||||
rep
|
||||
movsb
|
||||
jmps popbot_cl1
|
||||
done_cl1:
|
||||
; __CL1END__
|
||||
|
||||
; vi:ts=8:et
|
||||
|
||||
520
src/stub/src/arch/i386/macros.ash
Normal file
520
src/stub/src/arch/i386/macros.ash
Normal file
@ -0,0 +1,520 @@
|
||||
; macros.ash --
|
||||
;
|
||||
; This file is part of the UPX executable compressor.
|
||||
;
|
||||
; Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer
|
||||
; Copyright (C) 1996-2004 Laszlo Molnar
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; UPX and the UCL library are free software; you can redistribute them
|
||||
; and/or modify them under the terms of the GNU General Public License as
|
||||
; published by the Free Software Foundation; either version 2 of
|
||||
; the License, or (at your option) any later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with this program; see the file COPYING.
|
||||
; If not, write to the Free Software Foundation, Inc.,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
; Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
; <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
;
|
||||
|
||||
|
||||
;; =============
|
||||
;; ============= 32-BIT CALLTRICK & JUMPTRICK
|
||||
;; =============
|
||||
|
||||
;; call & jump trick : 2 in 1
|
||||
%macro cjt32 1
|
||||
%ifdef __CALLTR00__
|
||||
mov ecx, 'TEXL'
|
||||
calltrickloop:
|
||||
mov al, [edi]
|
||||
inc edi
|
||||
sub al, 0xE8
|
||||
ct1:
|
||||
cmp al, 1
|
||||
ja calltrickloop
|
||||
%ifdef __CTCLEVE1__
|
||||
cmp byte [edi], '?'
|
||||
jnz calltrickloop
|
||||
%endif; __CALLTR01__
|
||||
mov eax, [edi]
|
||||
mov bl, [edi + 4]
|
||||
%ifdef __CTDUMMY1__
|
||||
%ifdef __CTBSHR01__
|
||||
shr ax, 8
|
||||
%else; __CTBROR01__
|
||||
xchg al, ah
|
||||
%endif; __CTBSWA01__
|
||||
rol eax, 16
|
||||
xchg al, ah
|
||||
%endif; __CALLTR02__
|
||||
sub eax, edi
|
||||
sub bl, 0xE8
|
||||
%ifnidn %1,0
|
||||
add eax, %1
|
||||
%endif
|
||||
mov [edi], eax
|
||||
add edi, byte 5
|
||||
mov al, bl
|
||||
loop ct1
|
||||
%else; __CALLTR10__
|
||||
;; 32-bit call XOR jump trick
|
||||
mov ecx, 'TEXL'
|
||||
ctloop1:
|
||||
%ifdef __CALLTRE8__
|
||||
mov al,0xE8
|
||||
%else; __CALLTRE9__
|
||||
mov al,0xE9
|
||||
%endif; __CALLTR11__
|
||||
ctloop2:
|
||||
repnz
|
||||
scasb
|
||||
jnz ctend
|
||||
%ifdef __CTCLEVE2__
|
||||
cmp byte [edi], '?'
|
||||
jnz ctloop2
|
||||
%endif; __CALLTR12__
|
||||
mov eax, [edi]
|
||||
%ifdef __CTDUMMY2__
|
||||
%ifdef __CTBSHR11__
|
||||
shr ax, 8
|
||||
%else; __CTBROR11__
|
||||
xchg al, ah
|
||||
%endif; __CTBSWA11__
|
||||
rol eax, 16
|
||||
xchg al, ah
|
||||
%endif; __CALLTR13__
|
||||
sub eax, edi
|
||||
%ifnidn %1,0
|
||||
add eax, %1
|
||||
%endif
|
||||
stosd
|
||||
jmps ctloop1
|
||||
ctend:
|
||||
%endif; __CTTHEEND__
|
||||
%endmacro
|
||||
|
||||
|
||||
;; call/jump/jcc trick; also used more than once (and/or optionally), so
|
||||
;; ecx has byte count (not count of applied instances), and
|
||||
;; edi points to buffer.
|
||||
%macro ckt32 2
|
||||
; 1st param: effective addvalue (typically 0 or edi; any rvalue)
|
||||
; 2nd param: where is cto8 (dl, bl, or literal)
|
||||
|
||||
;__CKLLTR00__
|
||||
%ifnidn %1,0
|
||||
mov esi, %1
|
||||
%endif
|
||||
jmps ckstart
|
||||
ckloop3:
|
||||
mov al, [edi]
|
||||
add edi, byte 1
|
||||
;__CKLLTR10__ Jcc only
|
||||
cmp al, 0x80 ; lo of 6-byte Jcc
|
||||
jb ckloop2
|
||||
cmp al, 0x8f ; hi of 6-byte Jcc
|
||||
ja ckloop2
|
||||
cmp byte [edi -2], 0x0F ; prefix of 6-byte Jcc
|
||||
je ckmark
|
||||
ckloop2:
|
||||
;__CKLLTR20__
|
||||
sub al, 0xE8
|
||||
cmp al, 0xE9 - 0xE8
|
||||
ja ckcount
|
||||
ckmark:
|
||||
cmp byte [edi], %2 ; cto8
|
||||
jnz ckcount
|
||||
mov eax, [edi]
|
||||
|
||||
shr ax, 8
|
||||
rol eax, 16
|
||||
xchg al, ah
|
||||
; above 3 instr are equivalent to the following 2 instr:
|
||||
; mov al, 0 ; clear cto8 [setup partial-write stall]
|
||||
; bswap eax ; not on 386: need 486 and up
|
||||
|
||||
sub eax, edi
|
||||
%ifnidn %1,0
|
||||
add eax, esi
|
||||
%endif
|
||||
mov [edi], eax
|
||||
add edi, byte 4
|
||||
ckstart:
|
||||
sub ecx, byte 4
|
||||
;__CKLLTR30__ Jcc only
|
||||
mov al, [edi]
|
||||
add edi, byte 1
|
||||
loop ckloop2 ; prefix cannot overlap previous displacement
|
||||
;__CKLLTR40__
|
||||
ckcount:
|
||||
sub ecx, byte 1
|
||||
jg ckloop3
|
||||
ckend:
|
||||
%endmacro
|
||||
|
||||
;; =============
|
||||
;; ============= 32-BIT RELOCATIONS
|
||||
;; =============
|
||||
|
||||
%macro reloc32 3
|
||||
; __RELOC320__
|
||||
reloc_main:
|
||||
xor eax, eax
|
||||
mov al, [%1]
|
||||
inc %1
|
||||
or eax, eax
|
||||
jz reloc_endx
|
||||
cmp al, 0xEF
|
||||
ja reloc_fx
|
||||
reloc_add:
|
||||
add %2, eax
|
||||
%if 1
|
||||
mov eax, [%2]
|
||||
xchg al, ah
|
||||
rol eax, 16
|
||||
xchg al, ah
|
||||
add eax, %3
|
||||
mov [%2], eax
|
||||
%else
|
||||
add [%2], %3
|
||||
%endif
|
||||
jmps reloc_main
|
||||
reloc_fx:
|
||||
and al, 0x0F
|
||||
shl eax, 16
|
||||
mov ax, [%1]
|
||||
add %1, byte 2
|
||||
%ifdef __REL32BIG__
|
||||
or eax, eax
|
||||
jnz reloc_add
|
||||
mov eax, [%1]
|
||||
add %1, byte 4
|
||||
%endif; __RELOC32J__
|
||||
jmps reloc_add
|
||||
reloc_endx:
|
||||
; __REL32END__
|
||||
%endmacro
|
||||
|
||||
|
||||
;; =============
|
||||
;; ============= 32-BIT CALL TRICK UNFILTER WITH MostRecentlyUsed BUFFER
|
||||
;; =============
|
||||
|
||||
;;;; names of pseudo-sections for addLoader:
|
||||
;; LXUNFnnn Linux unfilter
|
||||
;; LXMRUnnn MostRecentlyUsed recoding of destinations
|
||||
;; MRUARBnn arbitrary number of entries in wheel
|
||||
;; MRUBITSn power of 2 entries in wheel (smaller code)
|
||||
;; MRUBYTEn 256 entries in wheel (smallest code)
|
||||
|
||||
%macro ctojr32 0
|
||||
%push ctojr32
|
||||
|
||||
;; I got confused by the syntactic sugar of the fake %ifdefs.
|
||||
;; I can read the section name more easily when it is at the left margin.
|
||||
;; Also, some of the logic to select the sections is not that simple,
|
||||
;; and any mismatch between the logic and the %ifdefs is very confusing.
|
||||
;; Instead, I use comments after the section name, and blank lines for grouping.
|
||||
|
||||
;__LXUNF000__ enter at +0 for decompression; +2 for unfiltering
|
||||
jmps decompr0
|
||||
;__LXUNF002__
|
||||
;; 2+ address of decompress subroutine
|
||||
;; unfilter(upx_byte *, length, cto8)
|
||||
lxunfilter:
|
||||
pop edx ; return address
|
||||
pop eax ; upx_byte *, same as addvalue
|
||||
pop ecx ; length
|
||||
xchg eax, edi ; edi= pointer; eax= saved_edi
|
||||
pusha ; save C-convention ebx, ebp, esi, edi; also eax, edx
|
||||
|
||||
; at most one of the next 2
|
||||
;__MRUBYTE0__ 256==n_mru
|
||||
xor ebx, ebx ; zero
|
||||
;__LXMRU005__ 0!=n_mru
|
||||
mov ebx, 'NMRU' ; modified N_MRU or N_MRU -1
|
||||
|
||||
;__LXMRU006__ 0!=n_mru
|
||||
push byte 0x0f ; prefix of 6-byte Jcc <d32>
|
||||
pop eax
|
||||
mov ah, [esp + 8*4] ; cto8
|
||||
;__LXMRU007__ 0==n_mru
|
||||
push byte 0x0f ; prefix of 6-byte Jcc <d32>
|
||||
pop ebx
|
||||
mov bh, [esp + 8*4] ; cto8
|
||||
|
||||
;__LXUNF008__
|
||||
mov dl, [esp + 8*4] ; cto8
|
||||
|
||||
;__LXUNF010__
|
||||
jmpn lxunf0
|
||||
decompr0:
|
||||
|
||||
;; These %define are only if 0!=n_mru;
|
||||
;; else 0x0F==bl && cto8==bh==dh && 0xE8==dl && addvalue==esi .
|
||||
%define %$n_mru [esi]
|
||||
%define %$n_mru1 [esi]
|
||||
%define %$tail [esi + 4*1]
|
||||
%define %$cto8_e8e9 [esi + 4*2]
|
||||
%define %$cto8_0f [esi + 4*3]
|
||||
%define %$addvalue [esi + 4*4]
|
||||
%define %$tmp ebp
|
||||
%define %$hand ebx
|
||||
%define %$hand_l bl
|
||||
%define %$kh edx
|
||||
%define %$kh_l dl
|
||||
|
||||
;__LXJCC010__
|
||||
lxunf2: ; have seen 0x80..0x8f of possible recoded 6-byte Jcc <d32>
|
||||
movzx ebp, word [edi] ; 2 bytes, zero-extended
|
||||
|
||||
;__LXMRU045__ 0!=n_mru
|
||||
sub ebp, %$cto8_0f
|
||||
;__LXMRU046__ 0==n_mru
|
||||
sub ebp, ebx
|
||||
|
||||
;__LXJCC020__ 0==n_mru, or Jcc excluded ('sub' of equals clears Carry)
|
||||
jne unfcount
|
||||
;__LXJCC021__ 0!=n_mru and Jcc participates; must set Carry
|
||||
sub ebp, byte 1 ; set Carry iff in range
|
||||
jnb unfcount
|
||||
|
||||
;__LXJCC023__ found Jcc; re-swap 0x8Y opcode and 0x0f prefix
|
||||
mov byte [edi -1], bl ; 0x0f prefix
|
||||
dec ecx ; preserve Carry
|
||||
mov byte [edi], al ; Jcc opcode
|
||||
inc edi ; preserve Carry
|
||||
|
||||
;__LXUNF037__
|
||||
%define %$jc eax
|
||||
|
||||
lxunf: ; in: Carry set iff we should apply mru and 0!=n_mru
|
||||
mov eax, [edi] ; BE32 displacement with cto8 in low 8 bits
|
||||
|
||||
;__LXUNF386__ 0!=n_mru && 386
|
||||
pushf
|
||||
;__LXUNF387__ ==386
|
||||
shr ax, 8
|
||||
rol eax, 16
|
||||
xchg al, ah
|
||||
;__LXUNF388__ 0!=n_mru && 386
|
||||
popf
|
||||
jnc unf_store ; do not apply mru
|
||||
|
||||
;__LXUNF486__ >=486
|
||||
mov al, byte 0
|
||||
CPU 486
|
||||
bswap eax ; preserve Carry (2-byte instruction)
|
||||
CPU 386
|
||||
;__LXUNF487__ 0!=n_mru && >=486
|
||||
jnc unf_store ; do not apply mru
|
||||
|
||||
;__LXMRU065__ 0!=n_mru
|
||||
shr %$jc, 1 ; eax= jc, or mru index
|
||||
jnc mru4 ; not 1st time for this jc
|
||||
;__MRUBYTE3__
|
||||
dec %$hand_l
|
||||
;__MRUARB30__
|
||||
dec %$hand
|
||||
;__MRUBITS3__
|
||||
and %$hand, %$n_mru1
|
||||
;__MRUARB40__
|
||||
jge mru3
|
||||
add %$hand, %$n_mru
|
||||
mru3:
|
||||
;__LXMRU070__
|
||||
|
||||
mov [esp + 4*%$hand], %$jc ; 1st time: mru[hand] = jc
|
||||
jmps unf_store
|
||||
|
||||
mru4: ; not 1st time for this jc
|
||||
lea %$kh, [%$jc + %$hand] ; kh = jc + hand
|
||||
;__MRUBYTE4__
|
||||
movzx %$kh, %$kh_l
|
||||
;__MRUBITS4__
|
||||
and %$kh, %$n_mru1
|
||||
;__MRUARB50__
|
||||
cmp %$kh, %$n_mru
|
||||
jb mru5
|
||||
sub %$kh, %$n_mru
|
||||
mru5:
|
||||
;__LXMRU080__
|
||||
mov %$jc, [esp + 4*%$kh] ; jc = mru[kh]
|
||||
;__MRUBYTE5__
|
||||
dec %$hand_l
|
||||
;__MRUARB60__
|
||||
dec %$hand
|
||||
;__MRUBITS5__
|
||||
and %$hand, %$n_mru1
|
||||
;__MRUARB70__
|
||||
jge mru6
|
||||
add %$hand, %$n_mru
|
||||
mru6:
|
||||
;__LXMRU090__
|
||||
|
||||
mov %$tmp, [esp + 4*%$hand] ; tmp = mru[hand]
|
||||
test %$tmp,%$tmp
|
||||
jnz mru8
|
||||
|
||||
push %$jc ; ran out of registers
|
||||
mov eax, %$tail
|
||||
|
||||
;__MRUBYTE6__
|
||||
dec al
|
||||
;__MRUARB80__
|
||||
dec eax
|
||||
;__MRUBITS6__
|
||||
and eax, %$n_mru1
|
||||
;__MRUARB90__
|
||||
jge mru7
|
||||
add eax, %$n_mru
|
||||
mru7:
|
||||
;__LXMRU100__
|
||||
|
||||
xor %$tmp,%$tmp
|
||||
mov %$tail, eax
|
||||
xchg [4+ esp + 4*eax], %$tmp ; tmp = mru[tail]; mru[tail] = 0
|
||||
pop %$jc
|
||||
mru8:
|
||||
mov [esp + 4*%$kh ], %$tmp ; mru[kh] = tmp
|
||||
mov [esp + 4*%$hand], %$jc ; mru[hand] = jc
|
||||
;__LXUNF040__
|
||||
unf_store:
|
||||
sub eax, edi
|
||||
sub ecx, byte 4
|
||||
|
||||
; one of the next2
|
||||
;__LXMRU110__ 0!=n_mru
|
||||
add eax, %$addvalue
|
||||
;__LXMRU111__ 0==n_mru
|
||||
add eax, esi ; addvalue (same as initial pointer)
|
||||
|
||||
;__LXUNF041__
|
||||
mov [edi], eax
|
||||
add edi, byte 4
|
||||
jmps unfcount
|
||||
;__LXUNF042__
|
||||
lxunf0: ;; continuation of entry prolog for unfilter
|
||||
;__LEXEC016__ bug in APP: jmp and label must be in same .asx/.asy
|
||||
jmp lxunf0 ; this instr does not really go here!
|
||||
|
||||
;__LXMRU010__ 0!=n_mru
|
||||
push eax ; cto8_0f
|
||||
;__LXJMPA00__ only JMP, and not CALL, is filtered
|
||||
mov al, 0xE9
|
||||
;__LXCALLB0__ only CALL, or both CALL and JMP are filtered
|
||||
mov al, 0xE8
|
||||
;__LXUNF021__ common tail
|
||||
push eax ; cto8_e8e9
|
||||
push byte 0 ; tail
|
||||
push ebx ; n_mru or n_mru1
|
||||
mov esi, esp ; flat model "[esi]" saves a byte over "[ebp]"
|
||||
|
||||
;__LXMRU022__ 0==n_mru
|
||||
pop esi ; addvalue
|
||||
mov edx, ebx ; dh= cto8
|
||||
;__LXJMPA01__ only JMP, and not CALL, is filtered
|
||||
mov dl, 0xE9
|
||||
;__LXCALLB1__ only CALL, or both CALL and JMP are filtered
|
||||
mov dl, 0xE8
|
||||
|
||||
|
||||
;__MRUBITS1__
|
||||
inc %$hand ; n_mru1 ==> n_mru
|
||||
;__LXMRU030__
|
||||
lxunf1: ; allocate and clear mru[]
|
||||
push byte 0
|
||||
|
||||
; one of the next 2, if n_mru
|
||||
;__MRUBYTE1__
|
||||
dec %$hand_l
|
||||
;__MRUARB10__
|
||||
dec %$hand
|
||||
|
||||
;__LXMRU040__ 0!=n_mru
|
||||
jnz lxunf1 ; leaves 0=='hand'
|
||||
|
||||
;__LXUNF030__
|
||||
lxctloop:
|
||||
movzx eax, word [edi] ; 2 bytes, zero extended
|
||||
add edi, byte 1
|
||||
;__LXJCC000__
|
||||
cmp al, 0x80 ; lo of Jcc <d32>
|
||||
jb lxct1
|
||||
cmp al, 0x8f ; hi of Jcc <d32>
|
||||
jbe lxunf2
|
||||
lxct1:
|
||||
|
||||
;__LXCJ0MRU__ 0==n_mru
|
||||
sub eax, edx
|
||||
;__LXCJ1MRU__ 0!=n_mru
|
||||
sub eax, %$cto8_e8e9
|
||||
|
||||
; both CALL and JMP are filtered
|
||||
;__LXCALJMP__
|
||||
sub eax, byte 1+ (0xE9 - 0xE8) ; set Carry iff in range (result: -2, -1)
|
||||
|
||||
; only CALL, or only JMP, is filtered
|
||||
;__LXCALL00__ 0==n_mru
|
||||
je lxunf
|
||||
;__LXCALL01__ 0!=n_rmu
|
||||
sub eax, byte 1 ; set Carry iff in range
|
||||
|
||||
;__LXCJ2MRU__ 0==n_mru, or apply mru to all that are filtered here
|
||||
jb lxunf ; only Carry (Borrow) matters
|
||||
;__LXCJ4MRU__ 0!=n_mru, but apply mru only to subset of filtered here
|
||||
jnb unfcount ; was not filtered anyway: do not unfilter
|
||||
|
||||
;we will unfilter, and 0!=n_mru, but should we apply mru?
|
||||
;__LXCJ6MRU__ apply mru to JMP only (0xFF==al)
|
||||
jpe lxct3 ; jump if even number of 1 bits in al
|
||||
;__LXCJ7MRU__ apply mru to CALL only (0xFE==al)
|
||||
jpo lxct3 ; jump if odd number of 1 bits in al
|
||||
;__LXCJ8MRU__ do not apply mru to one or both
|
||||
clc
|
||||
lxct3:
|
||||
jmps lxunf
|
||||
|
||||
;__LXUNF034__
|
||||
unfcount:
|
||||
sub ecx, byte 1
|
||||
jg lxctloop
|
||||
|
||||
;__LXMRU055__
|
||||
mov edi, esp ; clear mru[] portion of stack
|
||||
;__MRUBYTE2__
|
||||
mov ecx, 4+ 256 ; unused, tail, cto8_e8e9, cto8_0f
|
||||
;__MRUBITS2__
|
||||
mov ecx, %$n_mru1
|
||||
add ecx, byte 1+ 4 ; n_mru1, tail, cto8_e8e9, cto8_0f
|
||||
;__MRUARB20__
|
||||
mov ecx, %$n_mru
|
||||
add ecx, byte 4 ; n_mru, tail, cto8_e8e9, cto8_0f
|
||||
;__LXMRU057__
|
||||
xor eax, eax
|
||||
rep
|
||||
stosd
|
||||
mov esp, edi
|
||||
|
||||
;__LXMRU058__ 0==n_mru
|
||||
push esi
|
||||
;__LXUNF035__
|
||||
popa
|
||||
xchg eax, edi
|
||||
push ecx
|
||||
push eax
|
||||
push edx
|
||||
ret
|
||||
%pop
|
||||
%endmacro
|
||||
|
||||
; vi:ts=8:et:nowrap
|
||||
198
src/stub/src/arch/i386/nrv2b_d32.ash
Normal file
198
src/stub/src/arch/i386/nrv2b_d32.ash
Normal file
@ -0,0 +1,198 @@
|
||||
; n2b_d32.ash -- ucl_nrv2b_decompress_le32 in 32-bit assembly
|
||||
;
|
||||
; This file is part of the UCL data compression library.
|
||||
;
|
||||
; Copyright (C) 1996-2005 Markus Franz Xaver Johannes Oberhumer
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; The UCL library is free software; you can redistribute it and/or
|
||||
; modify it under the terms of the GNU General Public License as
|
||||
; published by the Free Software Foundation; either version 2 of
|
||||
; the License, or (at your option) any later version.
|
||||
;
|
||||
; The UCL library is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with the UCL library; see the file COPYING.
|
||||
; If not, write to the Free Software Foundation, Inc.,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
; Markus F.X.J. Oberhumer
|
||||
; <markus@oberhumer.com>
|
||||
; http://www.oberhumer.com/opensource/ucl/
|
||||
;
|
||||
|
||||
|
||||
; ------------- DECOMPRESSION -------------
|
||||
|
||||
; Input:
|
||||
; esi - source
|
||||
; edi - dest
|
||||
; ebp - -1
|
||||
; cld
|
||||
|
||||
; Output:
|
||||
; eax - 0
|
||||
; ecx - 0
|
||||
|
||||
|
||||
%ifndef jmps
|
||||
%define jmps jmp short
|
||||
%endif
|
||||
%ifndef jmpn
|
||||
%define jmpn jmp near
|
||||
%endif
|
||||
|
||||
CPU 386
|
||||
|
||||
|
||||
%macro getbit_n2b 1
|
||||
%if %1==1
|
||||
add ebx, ebx
|
||||
jnz %%gotbit
|
||||
%endif
|
||||
mov ebx, [esi]
|
||||
sub esi, byte -4
|
||||
adc ebx, ebx
|
||||
%%gotbit:
|
||||
%endmacro
|
||||
%undef getbit
|
||||
%define getbit getbit_n2b
|
||||
|
||||
|
||||
%ifdef __N2BSMA10__
|
||||
jmps dcl1_n2b
|
||||
decompr_literals_n2b:
|
||||
movsb
|
||||
%else; __N2BFAS10__
|
||||
jmps dcl1_n2b
|
||||
align 8
|
||||
; __N2BFAS11__
|
||||
decompr_literalb_n2b:
|
||||
mov al, [esi]
|
||||
inc esi
|
||||
mov [edi], al
|
||||
inc edi
|
||||
%endif; __N2BDEC10__
|
||||
|
||||
|
||||
decompr_loop_n2b:
|
||||
add ebx, ebx
|
||||
jnz dcl2_n2b
|
||||
dcl1_n2b:
|
||||
getbit 32
|
||||
dcl2_n2b:
|
||||
%ifdef __N2BSMA20__
|
||||
jc decompr_literals_n2b
|
||||
xor eax, eax
|
||||
inc eax
|
||||
%else; __N2BFAS20__
|
||||
%ifndef UPX102
|
||||
mov al, [edi] ;; force data cache allocate (PentiumPlain or MMX)
|
||||
%endif
|
||||
jc decompr_literalb_n2b
|
||||
mov eax, 1
|
||||
%endif; __N2BDEC20__
|
||||
loop1_n2b:
|
||||
getbit 1
|
||||
adc eax, eax
|
||||
%ifdef __N2BSMA30__
|
||||
getbit 1
|
||||
jnc loop1_n2b
|
||||
%else; __N2BFAS30__
|
||||
add ebx, ebx
|
||||
jnc loop1_n2b
|
||||
jnz loopend1_n2b
|
||||
getbit 32
|
||||
jnc loop1_n2b
|
||||
loopend1_n2b:
|
||||
%endif; __N2BDEC30__
|
||||
xor ecx, ecx
|
||||
sub eax, byte 3
|
||||
jb decompr_ebpeax_n2b
|
||||
shl eax, 8
|
||||
mov al, [esi]
|
||||
inc esi
|
||||
xor eax, byte -1
|
||||
jz decompr_end_n2b
|
||||
mov ebp, eax
|
||||
decompr_ebpeax_n2b:
|
||||
getbit 1
|
||||
adc ecx, ecx
|
||||
getbit 1
|
||||
adc ecx, ecx
|
||||
jnz decompr_got_mlen_n2b
|
||||
inc ecx
|
||||
loop2_n2b:
|
||||
getbit 1
|
||||
adc ecx, ecx
|
||||
%ifdef __N2BSMA40__
|
||||
getbit 1
|
||||
jnc loop2_n2b
|
||||
%else; __N2BFAS40__
|
||||
add ebx, ebx
|
||||
jnc loop2_n2b
|
||||
jnz loopend2_n2b
|
||||
getbit 32
|
||||
jnc loop2_n2b
|
||||
loopend2_n2b:
|
||||
%endif; __N2BDUMM1__
|
||||
%ifdef __N2BSMA50__
|
||||
inc ecx
|
||||
inc ecx
|
||||
%else; __N2BFAS50__
|
||||
add ecx, byte 2
|
||||
%endif; __N2BDEC50__
|
||||
decompr_got_mlen_n2b:
|
||||
cmp ebp, -0xd00
|
||||
adc ecx, byte 1
|
||||
%ifdef __N2BSMA60__
|
||||
%ifndef UPX102
|
||||
push esi
|
||||
%else
|
||||
mov edx, esi
|
||||
%endif
|
||||
lea esi, [edi+ebp]
|
||||
rep
|
||||
movsb
|
||||
%ifndef UPX102
|
||||
pop esi
|
||||
%else
|
||||
mov esi, edx
|
||||
%endif
|
||||
jmpn decompr_loop_n2b
|
||||
%else; __N2BFAS60__
|
||||
lea edx, [edi+ebp]
|
||||
cmp ebp, byte -4
|
||||
%ifndef UPX102
|
||||
mov al, [edi+ecx] ;; force data cache allocate (PentiumPlain or MMX)
|
||||
%endif
|
||||
jbe decompr_copy4_n2b
|
||||
loop3_n2b:
|
||||
mov al, [edx]
|
||||
inc edx
|
||||
mov [edi], al
|
||||
inc edi
|
||||
dec ecx
|
||||
jnz loop3_n2b
|
||||
jmpn decompr_loop_n2b
|
||||
; __N2BFAS61__
|
||||
align 4
|
||||
decompr_copy4_n2b:
|
||||
mov eax, [edx]
|
||||
add edx, byte 4
|
||||
mov [edi], eax
|
||||
add edi, byte 4
|
||||
sub ecx, byte 4
|
||||
ja decompr_copy4_n2b
|
||||
add edi, ecx
|
||||
jmpn decompr_loop_n2b
|
||||
%endif; __N2BDEC60__
|
||||
decompr_end_n2b:
|
||||
; __NRV2BEND__
|
||||
|
||||
; vi:ts=8:et
|
||||
|
||||
206
src/stub/src/arch/i386/nrv2d_d32.ash
Normal file
206
src/stub/src/arch/i386/nrv2d_d32.ash
Normal file
@ -0,0 +1,206 @@
|
||||
; n2d_d32.ash -- ucl_nrv2d_decompress_le32 in 32-bit assembly
|
||||
;
|
||||
; This file is part of the UCL data compression library.
|
||||
;
|
||||
; Copyright (C) 1996-2005 Markus Franz Xaver Johannes Oberhumer
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; The UCL library is free software; you can redistribute it and/or
|
||||
; modify it under the terms of the GNU General Public License as
|
||||
; published by the Free Software Foundation; either version 2 of
|
||||
; the License, or (at your option) any later version.
|
||||
;
|
||||
; The UCL library is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with the UCL library; see the file COPYING.
|
||||
; If not, write to the Free Software Foundation, Inc.,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
; Markus F.X.J. Oberhumer
|
||||
; <markus@oberhumer.com>
|
||||
; http://www.oberhumer.com/opensource/ucl/
|
||||
;
|
||||
|
||||
|
||||
; ------------- DECOMPRESSION -------------
|
||||
|
||||
; Input:
|
||||
; esi - source
|
||||
; edi - dest
|
||||
; ebp - -1
|
||||
; cld
|
||||
|
||||
; Output:
|
||||
; eax - 0
|
||||
; ecx - 0
|
||||
|
||||
|
||||
%ifndef jmps
|
||||
%define jmps jmp short
|
||||
%endif
|
||||
%ifndef jmpn
|
||||
%define jmpn jmp near
|
||||
%endif
|
||||
|
||||
CPU 386
|
||||
|
||||
|
||||
%macro getbit_n2d 1
|
||||
%if %1==1
|
||||
add ebx, ebx
|
||||
jnz %%gotbit
|
||||
%endif
|
||||
mov ebx, [esi]
|
||||
sub esi, byte -4
|
||||
adc ebx, ebx
|
||||
%%gotbit:
|
||||
%endmacro
|
||||
%undef getbit
|
||||
%define getbit getbit_n2d
|
||||
|
||||
|
||||
%ifdef __N2DSMA10__
|
||||
jmps dcl1_n2d
|
||||
decompr_literals_n2d:
|
||||
movsb
|
||||
%else; __N2DFAS10__
|
||||
jmps dcl1_n2d
|
||||
align 8
|
||||
; __N2DFAS11__
|
||||
decompr_literalb_n2d:
|
||||
mov al, [esi]
|
||||
inc esi
|
||||
mov [edi], al
|
||||
inc edi
|
||||
%endif; __N2DDEC10__
|
||||
|
||||
|
||||
decompr_loop_n2d:
|
||||
add ebx, ebx
|
||||
jnz dcl2_n2d
|
||||
dcl1_n2d:
|
||||
getbit 32
|
||||
dcl2_n2d:
|
||||
%ifdef __N2DSMA20__
|
||||
jc decompr_literals_n2d
|
||||
xor eax, eax
|
||||
inc eax
|
||||
%else; __N2DFAS20__
|
||||
%ifndef UPX102
|
||||
mov al, [edi] ;; force data cache allocate (PentiumPlain or MMX)
|
||||
%endif
|
||||
jc decompr_literalb_n2d
|
||||
mov eax, 1
|
||||
%endif; __N2DDEC20__
|
||||
loop1_n2d:
|
||||
getbit 1
|
||||
adc eax, eax
|
||||
%ifdef __N2DSMA30__
|
||||
getbit 1
|
||||
jc loopend1_n2d
|
||||
%else; __N2DFAS30__
|
||||
add ebx, ebx
|
||||
jnc loopcontinue1_n2d
|
||||
jnz loopend1_n2d
|
||||
getbit 32
|
||||
jc loopend1_n2d
|
||||
loopcontinue1_n2d:
|
||||
%endif; __N2DDEC30__
|
||||
dec eax
|
||||
getbit 1
|
||||
adc eax, eax
|
||||
jmps loop1_n2d
|
||||
loopend1_n2d:
|
||||
xor ecx, ecx
|
||||
sub eax, byte 3
|
||||
jb decompr_prev_dist_n2d
|
||||
shl eax, 8
|
||||
mov al, [esi]
|
||||
inc esi
|
||||
xor eax, byte -1
|
||||
jz decompr_end_n2d
|
||||
sar eax, 1 ; shift low-bit into carry
|
||||
mov ebp, eax
|
||||
jmps decompr_ebpeax_n2d
|
||||
decompr_prev_dist_n2d:
|
||||
getbit 1
|
||||
decompr_ebpeax_n2d:
|
||||
adc ecx, ecx
|
||||
getbit 1
|
||||
adc ecx, ecx
|
||||
jnz decompr_got_mlen_n2d
|
||||
inc ecx
|
||||
loop2_n2d:
|
||||
getbit 1
|
||||
adc ecx, ecx
|
||||
%ifdef __N2DSMA40__
|
||||
getbit 1
|
||||
jnc loop2_n2d
|
||||
%else; __N2DFAS40__
|
||||
add ebx, ebx
|
||||
jnc loop2_n2d
|
||||
jnz loopend2_n2d
|
||||
getbit 32
|
||||
jnc loop2_n2d
|
||||
loopend2_n2d:
|
||||
%endif; __N2DDUMM1__
|
||||
%ifdef __N2DSMA50__
|
||||
inc ecx
|
||||
inc ecx
|
||||
%else; __N2DFAS50__
|
||||
add ecx, byte 2
|
||||
%endif; __N2DDEC50__
|
||||
decompr_got_mlen_n2d:
|
||||
cmp ebp, -0x500
|
||||
adc ecx, byte 1
|
||||
%ifdef __N2DSMA60__
|
||||
%ifndef UPX102
|
||||
push esi
|
||||
%else
|
||||
mov edx, esi
|
||||
%endif
|
||||
lea esi, [edi+ebp]
|
||||
rep
|
||||
movsb
|
||||
%ifndef UPX102
|
||||
pop esi
|
||||
%else
|
||||
mov esi, edx
|
||||
%endif
|
||||
jmpn decompr_loop_n2d
|
||||
%else; __N2DFAS60__
|
||||
lea edx, [edi+ebp]
|
||||
cmp ebp, byte -4
|
||||
%ifndef UPX102
|
||||
mov al, [edi+ecx] ;; force data cache allocate (PentiumPlain or MMX)
|
||||
%endif
|
||||
jbe decompr_copy4_n2d
|
||||
loop3_n2d:
|
||||
mov al, [edx]
|
||||
inc edx
|
||||
mov [edi], al
|
||||
inc edi
|
||||
dec ecx
|
||||
jnz loop3_n2d
|
||||
jmpn decompr_loop_n2d
|
||||
; __N2DFAS61__
|
||||
align 4
|
||||
decompr_copy4_n2d:
|
||||
mov eax, [edx]
|
||||
add edx, byte 4
|
||||
mov [edi], eax
|
||||
add edi, byte 4
|
||||
sub ecx, byte 4
|
||||
ja decompr_copy4_n2d
|
||||
add edi, ecx
|
||||
jmpn decompr_loop_n2d
|
||||
%endif; __N2DDEC60__
|
||||
decompr_end_n2d:
|
||||
; __NRV2DEND__
|
||||
|
||||
; vi:ts=8:et
|
||||
|
||||
211
src/stub/src/arch/i386/nrv2e_d32.ash
Normal file
211
src/stub/src/arch/i386/nrv2e_d32.ash
Normal file
@ -0,0 +1,211 @@
|
||||
; n2e_d32.ash -- ucl_nrv2e_decompress_le32 in 32-bit assembly
|
||||
;
|
||||
; This file is part of the UCL data compression library.
|
||||
;
|
||||
; Copyright (C) 1996-2005 Markus Franz Xaver Johannes Oberhumer
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; The UCL library is free software; you can redistribute it and/or
|
||||
; modify it under the terms of the GNU General Public License as
|
||||
; published by the Free Software Foundation; either version 2 of
|
||||
; the License, or (at your option) any later version.
|
||||
;
|
||||
; The UCL library is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with the UCL library; see the file COPYING.
|
||||
; If not, write to the Free Software Foundation, Inc.,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
; Markus F.X.J. Oberhumer
|
||||
; <markus@oberhumer.com>
|
||||
; http://www.oberhumer.com/opensource/ucl/
|
||||
;
|
||||
|
||||
|
||||
; ------------- DECOMPRESSION -------------
|
||||
|
||||
; Input:
|
||||
; esi - source
|
||||
; edi - dest
|
||||
; ebp - -1
|
||||
; cld
|
||||
|
||||
; Output:
|
||||
; eax - 0
|
||||
; ecx - 0
|
||||
|
||||
|
||||
%ifndef jmps
|
||||
%define jmps jmp short
|
||||
%endif
|
||||
%ifndef jmpn
|
||||
%define jmpn jmp near
|
||||
%endif
|
||||
|
||||
CPU 386
|
||||
|
||||
|
||||
%macro getbit_n2e 1
|
||||
%if %1==1
|
||||
add ebx, ebx
|
||||
jnz %%gotbit
|
||||
%endif
|
||||
mov ebx, [esi]
|
||||
sub esi, byte -4
|
||||
adc ebx, ebx
|
||||
%%gotbit:
|
||||
%endmacro
|
||||
%undef getbit
|
||||
%define getbit getbit_n2e
|
||||
|
||||
|
||||
%ifdef __N2ESMA10__
|
||||
jmps dcl1_n2e
|
||||
decompr_literals_n2e:
|
||||
movsb
|
||||
%else; __N2EFAS10__
|
||||
jmps dcl1_n2e
|
||||
align 8
|
||||
; __N2EFAS11__
|
||||
decompr_literalb_n2e:
|
||||
mov al, [esi]
|
||||
inc esi
|
||||
mov [edi], al
|
||||
inc edi
|
||||
%endif; __N2EDEC10__
|
||||
|
||||
|
||||
decompr_loop_n2e:
|
||||
add ebx, ebx
|
||||
jnz dcl2_n2e
|
||||
dcl1_n2e:
|
||||
getbit 32
|
||||
dcl2_n2e:
|
||||
%ifdef __N2ESMA20__
|
||||
jc decompr_literals_n2e
|
||||
xor eax, eax
|
||||
inc eax
|
||||
%else; __N2EFAS20__
|
||||
%ifndef UPX102
|
||||
mov al, [edi] ;; force data cache allocate (PentiumPlain or MMX)
|
||||
%endif
|
||||
jc decompr_literalb_n2e
|
||||
mov eax, 1
|
||||
%endif; __N2EDEC20__
|
||||
loop1_n2e:
|
||||
getbit 1
|
||||
adc eax, eax
|
||||
%ifdef __N2ESMA30__
|
||||
getbit 1
|
||||
jc loopend1_n2e
|
||||
%else; __N2EFAS30__
|
||||
add ebx, ebx
|
||||
jnc loopcontinue1_n2e
|
||||
jnz loopend1_n2e
|
||||
getbit 32
|
||||
jc loopend1_n2e
|
||||
loopcontinue1_n2e:
|
||||
%endif; __N2EDEC30__
|
||||
dec eax
|
||||
getbit 1
|
||||
adc eax, eax
|
||||
jmps loop1_n2e
|
||||
|
||||
decompr_mlen1_n2e:
|
||||
getbit 1
|
||||
adc ecx, ecx
|
||||
jmps decompr_got_mlen_n2e
|
||||
|
||||
loopend1_n2e:
|
||||
xor ecx, ecx
|
||||
sub eax, byte 3
|
||||
jb decompr_prev_dist_n2e
|
||||
shl eax, 8
|
||||
mov al, [esi]
|
||||
inc esi
|
||||
xor eax, byte -1
|
||||
jz decompr_end_n2e
|
||||
sar eax, 1 ; shift low-bit into carry
|
||||
mov ebp, eax
|
||||
jmps decompr_ebpeax_n2e
|
||||
decompr_prev_dist_n2e:
|
||||
getbit 1
|
||||
decompr_ebpeax_n2e:
|
||||
jc decompr_mlen1_n2e
|
||||
inc ecx
|
||||
getbit 1
|
||||
jc decompr_mlen1_n2e
|
||||
loop2_n2e:
|
||||
getbit 1
|
||||
adc ecx, ecx
|
||||
%ifdef __N2ESMA40__
|
||||
getbit 1
|
||||
jnc loop2_n2e
|
||||
%else; __N2EFAS40__
|
||||
add ebx, ebx
|
||||
jnc loop2_n2e
|
||||
jnz loopend2_n2e
|
||||
getbit 32
|
||||
jnc loop2_n2e
|
||||
loopend2_n2e:
|
||||
%endif; __N2EDUMM1__
|
||||
%ifdef __N2ESMA50__
|
||||
inc ecx
|
||||
inc ecx
|
||||
%else; __N2EFAS50__
|
||||
add ecx, byte 2
|
||||
%endif; __N2EDEC50__
|
||||
decompr_got_mlen_n2e:
|
||||
cmp ebp, -0x500
|
||||
adc ecx, byte 2
|
||||
%ifdef __N2ESMA60__
|
||||
%ifndef UPX102
|
||||
push esi
|
||||
%else
|
||||
mov edx, esi
|
||||
%endif
|
||||
lea esi, [edi+ebp]
|
||||
rep
|
||||
movsb
|
||||
%ifndef UPX102
|
||||
pop esi
|
||||
%else
|
||||
mov esi, edx
|
||||
%endif
|
||||
jmpn decompr_loop_n2e
|
||||
%else; __N2EFAS60__
|
||||
lea edx, [edi+ebp]
|
||||
cmp ebp, byte -4
|
||||
%ifndef UPX102
|
||||
mov al, [edi+ecx] ;; force data cache allocate (PentiumPlain or MMX)
|
||||
%endif
|
||||
jbe decompr_copy4_n2e
|
||||
loop3_n2e:
|
||||
mov al, [edx]
|
||||
inc edx
|
||||
mov [edi], al
|
||||
inc edi
|
||||
dec ecx
|
||||
jnz loop3_n2e
|
||||
jmpn decompr_loop_n2e
|
||||
; __N2EFAS61__
|
||||
align 4
|
||||
decompr_copy4_n2e:
|
||||
mov eax, [edx]
|
||||
add edx, byte 4
|
||||
mov [edi], eax
|
||||
add edi, byte 4
|
||||
sub ecx, byte 4
|
||||
ja decompr_copy4_n2e
|
||||
add edi, ecx
|
||||
jmpn decompr_loop_n2e
|
||||
%endif; __N2EDEC60__
|
||||
decompr_end_n2e:
|
||||
; __NRV2EEND__
|
||||
|
||||
; vi:ts=8:et
|
||||
|
||||
58
src/stub/src/arch/i386/upx_itoa.ash
Normal file
58
src/stub/src/arch/i386/upx_itoa.ash
Normal file
@ -0,0 +1,58 @@
|
||||
; upx_itoa.asm -- decimal print; smaller than gcc, and no relocations
|
||||
;
|
||||
; This file is part of the UPX executable compressor.
|
||||
;
|
||||
; Copyright (C) 2002-2004 John F. Reiser
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; UPX and the UCL library are free software; you can redistribute them
|
||||
; and/or modify them under the terms of the GNU General Public License as
|
||||
; published by the Free Software Foundation; either version 2 of
|
||||
; the License, or (at your option) any later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with this program; see the file COPYING.
|
||||
; If not, write to the Free Software Foundation, Inc.,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
; John F. Reiser
|
||||
; <jreiser@users.sourceforge.net>
|
||||
;
|
||||
|
||||
|
||||
BITS 32
|
||||
SECTION .text
|
||||
CPU 386
|
||||
GLOBAL upx_itoa
|
||||
|
||||
upx_itoa: ; char *upx_itoa(eax= unsigned v, edx= char *buf) /* 0<=(int)v */
|
||||
push edi ; save register
|
||||
mov edi,edx ; output ptr
|
||||
push byte 10
|
||||
cld
|
||||
pop ecx ; radix
|
||||
call recur
|
||||
mov [edi],ah ; NUL terminate
|
||||
xchg eax,edi ; eax= continuation point
|
||||
pop edi ; restore register
|
||||
ret
|
||||
recur:
|
||||
cdq ; zero extend eax into edx [use "sub edx,edx" if eax < 0 ]
|
||||
div ecx ; eax=quo, edx=rem; flags are undefined
|
||||
push edx
|
||||
test eax,eax
|
||||
je quo0
|
||||
call recur
|
||||
quo0:
|
||||
pop eax ; remainder
|
||||
add al, byte '0'
|
||||
stosb
|
||||
ret
|
||||
|
||||
|
||||
; vi:ts=8:et:nowrap
|
||||
155
src/stub/src/arch/m68k/app-a68k.pl
Normal file
155
src/stub/src/arch/m68k/app-a68k.pl
Normal file
@ -0,0 +1,155 @@
|
||||
#! /usr/bin/perl -w
|
||||
#
|
||||
# app_m68k.pl -- assembly preprocessor for upx
|
||||
#
|
||||
# This file is part of the UPX executable compressor.
|
||||
#
|
||||
# Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
# Copyright (C) 1996-2006 Laszlo Molnar
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# UPX and the UCL library are free software; you can redistribute them
|
||||
# and/or modify them under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; see the file COPYING.
|
||||
# If not, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
# <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
#
|
||||
|
||||
#
|
||||
# usage: app_m68k.pl infile outfile
|
||||
#
|
||||
|
||||
$in = shift || die;
|
||||
$ou = shift || die;
|
||||
|
||||
open (IN,"<$in") or die;
|
||||
open (OU,">$ou") or die;
|
||||
binmode IN;
|
||||
binmode OU;
|
||||
|
||||
@lines = <IN>;
|
||||
|
||||
%labels = ();
|
||||
$i = 0;
|
||||
$cs = "";
|
||||
|
||||
($ilabel = $in) =~ s,^.*[\/\\],,; # get basename
|
||||
$ilabel =~ s/\W//g;
|
||||
|
||||
# 1st pass
|
||||
for $line (@lines)
|
||||
{
|
||||
$labels{$1} = "$cs" if ($line =~ /^(\w+):/ && $cs);
|
||||
if ($line =~ /__([A-Z0-9]{8})__/) {
|
||||
$cs = $1;
|
||||
# verify the line
|
||||
if ($line =~ /^[\%\;]ifdef/) {
|
||||
# ok
|
||||
} elsif ($line =~ /^([\%\;]\w+)?\s*;/) {
|
||||
# ok
|
||||
} else {
|
||||
print STDERR "$in:$i:warning 1:$line"
|
||||
}
|
||||
}
|
||||
|
||||
if ($line =~ /^[\%\;](if|el|endi)/)
|
||||
{
|
||||
if ($line =~ /__([A-Z0-9]{8})__/)
|
||||
{
|
||||
$line=";$line" unless ($line =~ /^\;/);
|
||||
}
|
||||
else
|
||||
{
|
||||
print STDERR "$in:$i:warning 2:$line";
|
||||
}
|
||||
}
|
||||
$line =~ s/\.ash/\.asy/ if ($line =~ /^\s*\%include/);
|
||||
$i++;
|
||||
}
|
||||
|
||||
$cs = "";
|
||||
$i = 0;
|
||||
|
||||
@data = ();
|
||||
|
||||
# 2nd pass
|
||||
for $line (@lines)
|
||||
{
|
||||
last if ($line =~ /^\s*end\b/i);
|
||||
|
||||
if ($line =~ /^\s+(b[\w\.]+|db[\w\.]+)\s+(\w*)/)
|
||||
{
|
||||
$label = $2;
|
||||
##print STDERR "$label $cs\n"; # debug
|
||||
if (defined $labels{$label})
|
||||
{
|
||||
$ts = $labels{$label};
|
||||
if ($ts ne $cs)
|
||||
{
|
||||
$line =~ s/$label/J$i$ilabel/;
|
||||
print OU $line;
|
||||
print OU "J$i$ilabel:\n";
|
||||
$d = "dc.l\t0, J$i$ilabel";
|
||||
push(@data, $d);
|
||||
$d = "dc.b\t'$ts'";
|
||||
push(@data, $d);
|
||||
$d = "dc.l\t$label - S$ts$ilabel";
|
||||
push(@data, $d);
|
||||
$line = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$line = ";$line" if ($line =~ /^\s+align\b/i);
|
||||
$line = ";$line" if ($line =~ /^\s+even\b/i);
|
||||
|
||||
if ($line =~ /^;*\s+print_data\b/i) {
|
||||
&print_data();
|
||||
} else {
|
||||
print OU $line;
|
||||
}
|
||||
|
||||
if ($line =~ /__([A-Z0-9]{8})__/)
|
||||
{
|
||||
print OU "S$1$ilabel:\n";
|
||||
$cs = $1;
|
||||
$d = "dc.b\t'$1'";
|
||||
push(@data, $d);
|
||||
$d = "dc.l\tS$1$ilabel";
|
||||
push(@data, $d);
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
&print_data();
|
||||
print OU "\t\tend\n";
|
||||
exit(0);
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# //
|
||||
# ************************************************************************/
|
||||
|
||||
sub print_data {
|
||||
return if ($#data < 0);
|
||||
###print OU "\n\n\t\tsection_data\n";
|
||||
local ($d);
|
||||
for $d (@data) {
|
||||
print OU "\t\t$d\n";
|
||||
}
|
||||
@data = ();
|
||||
}
|
||||
|
||||
# vi:ts=4:et
|
||||
165
src/stub/src/arch/m68k/bits.ash
Normal file
165
src/stub/src/arch/m68k/bits.ash
Normal file
@ -0,0 +1,165 @@
|
||||
; bits.ash -- bit access for decompression
|
||||
;
|
||||
; This file is part of the UCL data compression library.
|
||||
;
|
||||
; Copyright (C) 1996-2005 Markus Franz Xaver Johannes Oberhumer
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; The UCL library is free software; you can redistribute it and/or
|
||||
; modify it under the terms of the GNU General Public License as
|
||||
; published by the Free Software Foundation; either version 2 of
|
||||
; the License, or (at your option) any later version.
|
||||
;
|
||||
; The UCL library is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with the UCL library; see the file COPYING.
|
||||
; If not, write to the Free Software Foundation, Inc.,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
; Markus F.X.J. Oberhumer
|
||||
; <markus@oberhumer.com>
|
||||
; http://www.oberhumer.com/opensource/ucl/
|
||||
;
|
||||
|
||||
|
||||
; ------------- ADDBITS -------------
|
||||
|
||||
macro(ADDBITS)
|
||||
#if (NRV_BB == 8)
|
||||
add.b d0,d0 ; sets Z, C and X ; 4
|
||||
#elif (NRV_BB == 32)
|
||||
add.l d0,d0 ; sets Z, C and X ; 6
|
||||
#endif
|
||||
endm
|
||||
|
||||
|
||||
#if 0
|
||||
macro(ADDXBITS)
|
||||
#if (NRV_BB == 8)
|
||||
addx.b d0,d0 ; sets C and X ; 4
|
||||
#elif (NRV_BB == 32)
|
||||
addx.l d0,d0 ; sets C and X ; 8
|
||||
#endif
|
||||
endm
|
||||
#endif
|
||||
|
||||
|
||||
; ------------- FILLBYTES_xx -------------
|
||||
|
||||
; get 1 byte; then get 1 bit into both C and X
|
||||
macro(FILLBYTES_8)
|
||||
; note: we shift the X flag through -> must init d0.b with $80
|
||||
move.b (a0)+,d0 ; 8
|
||||
addx.b d0,d0 ; sets C and X ; 4
|
||||
endm
|
||||
|
||||
|
||||
; get 32 bits in little endian format; then get 1 bit into both C and X
|
||||
macro(FILLBYTES_LE32)
|
||||
#if 0
|
||||
move.b (a0)+,d0 ; 8
|
||||
ror.l #8,d0 ; 24
|
||||
move.b (a0)+,d0 ; 8
|
||||
ror.l #8,d0 ; 24
|
||||
move.b (a0)+,d0 ; 8
|
||||
ror.l #8,d0 ; 24
|
||||
move.b (a0)+,d0 ; 8
|
||||
ror.l #8,d0 ; 24
|
||||
add.l d0,d0 ; sets C and X ; 6
|
||||
bset #0,d0 ; only changes Z ; 12
|
||||
; -----
|
||||
; 146
|
||||
#elif 1
|
||||
move.b 3(a0),d0 ; 12
|
||||
lsl.w #8,d0 ; 22
|
||||
move.b 2(a0),d0 ; 12
|
||||
swap d0 ; 4
|
||||
move.b 1(a0),d0 ; 12
|
||||
lsl.w #8,d0 ; 22
|
||||
move.b (a0),d0 ; 8
|
||||
addq.l #4,a0 ; does not affect flags ; 8
|
||||
add.l d0,d0 ; sets C and X ; 6
|
||||
bset #0,d0 ; only changes Z ; 12
|
||||
; -----
|
||||
; 118
|
||||
#elif 1
|
||||
; note: we shift the X flag through -> must init d0.l with $80000000
|
||||
; note: rol/ror do not change X flag (but asl/asr/lsl/lsr do)
|
||||
move.b 3(a0),d0 ; 12
|
||||
ror.w #8,d0 ; 22
|
||||
move.b 2(a0),d0 ; 12
|
||||
swap d0 ; 4
|
||||
move.b 1(a0),d0 ; 12
|
||||
ror.w #8,d0 ; 22
|
||||
move.b (a0),d0 ; 8
|
||||
addq.l #4,a0 ; does not affect flags ; 8
|
||||
addx.l d0,d0 ; sets C and X ; 8
|
||||
; -----
|
||||
; 108
|
||||
#else
|
||||
; IMPORTANT: movep is not implemented on the 68060
|
||||
# error "do not use movep"
|
||||
; note: we shift the X flag through -> must init d0.l with $80000000
|
||||
; note: must use dc.l because of a bug in the pasm assembler
|
||||
; note: may access past the end of the input; this is ok for UPX
|
||||
dc.l $01080003 ; movep.w 3(a0),d0 ; 16
|
||||
move.b 2(a0),d0 ; 12
|
||||
swap d0 ; 4
|
||||
dc.l $01080001 ; movep.w 1(a0),d0 ; 16
|
||||
move.b (a0),d0 ; 8
|
||||
addq.l #4,a0 ; does not affect flags ; 8
|
||||
addx.l d0,d0 ; sets C and X ; 8
|
||||
; -----
|
||||
; 72
|
||||
#endif
|
||||
endm
|
||||
|
||||
|
||||
; ------------- FILLBITS -------------
|
||||
|
||||
macro(FILLBITS)
|
||||
#if (NRV_BB == 8)
|
||||
; no need for a subroutine
|
||||
FILLBYTES_8
|
||||
#elif (NRV_BB == 32)
|
||||
# ifdef SMALL
|
||||
# define FILLBYTES_SR FILLBYTES_LE32
|
||||
bsr fillbytes_sr ; 18
|
||||
# else
|
||||
FILLBYTES_LE32
|
||||
# endif
|
||||
#endif
|
||||
endm
|
||||
|
||||
|
||||
; ------------- GETBIT -------------
|
||||
|
||||
; get one bit into both the Carry and eXtended flag
|
||||
macro(GETBIT)
|
||||
#if defined(__A68K__)
|
||||
ADDBITS ; 4 / 6
|
||||
bne \@ ; 10 (if jump)
|
||||
FILLBITS
|
||||
\@:
|
||||
#elif defined(__ASL__)
|
||||
ADDBITS ; 4 / 6
|
||||
bne done ; 10 (if jump)
|
||||
FILLBITS
|
||||
done:
|
||||
#else
|
||||
LOCAL done
|
||||
ADDBITS ; 4 / 6
|
||||
bne done ; 10 (if jump)
|
||||
FILLBITS
|
||||
done:
|
||||
#endif
|
||||
endm
|
||||
|
||||
|
||||
|
||||
; vi:ts=8:et
|
||||
|
||||
227
src/stub/src/arch/m68k/nrv2b_d.ash
Normal file
227
src/stub/src/arch/m68k/nrv2b_d.ash
Normal file
@ -0,0 +1,227 @@
|
||||
; n2b_d.ash -- NRV2B decompression in 68000 assembly
|
||||
;
|
||||
; This file is part of the UCL data compression library.
|
||||
;
|
||||
; Copyright (C) 1996-2005 Markus Franz Xaver Johannes Oberhumer
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; The UCL library is free software; you can redistribute it and/or
|
||||
; modify it under the terms of the GNU General Public License as
|
||||
; published by the Free Software Foundation; either version 2 of
|
||||
; the License, or (at your option) any later version.
|
||||
;
|
||||
; The UCL library is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with the UCL library; see the file COPYING.
|
||||
; If not, write to the Free Software Foundation, Inc.,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
; Markus F.X.J. Oberhumer
|
||||
; <markus@oberhumer.com>
|
||||
; http://www.oberhumer.com/opensource/ucl/
|
||||
;
|
||||
|
||||
|
||||
; ------------- DECOMPRESSION -------------
|
||||
|
||||
; decompress from a0 to a1
|
||||
; note: must preserve d4 and a5-a7
|
||||
|
||||
;
|
||||
; On entry:
|
||||
; a0 src pointer
|
||||
; a1 dest pointer
|
||||
;
|
||||
; On exit:
|
||||
; d1.l = 0
|
||||
; d2.l = 0
|
||||
;
|
||||
; Register usage:
|
||||
; a3 m_pos
|
||||
;
|
||||
; d0 bit buffer
|
||||
; d1 m_off
|
||||
; d2 m_len
|
||||
; d5 last_m_off
|
||||
;
|
||||
; d6 constant: -$d00
|
||||
; d7 constant: -1
|
||||
;
|
||||
;
|
||||
; Notes:
|
||||
; we have max_match = 65535, so we can use word arithmetics on d2
|
||||
;
|
||||
|
||||
|
||||
; ------------- constants & macros -------------
|
||||
|
||||
#if !defined(NRV_NO_INIT)
|
||||
|
||||
;;move.l #-$d00,d6 ; 0xfffff300
|
||||
moveq.l #-$68,d6 ; 0xffffff98
|
||||
lsl.w #5,d6 ; << 5
|
||||
|
||||
moveq.l #-1,d7
|
||||
moveq.l #-1,d5 ; last_off = -1
|
||||
|
||||
; init d0 with high bit set
|
||||
#if (NRV_BB == 8)
|
||||
;;move.b #$80,d0 ; init d0.b for FILLBYTES
|
||||
moveq.l #-128,d0 ; d0.b = $80
|
||||
#elif (NRV_BB == 32)
|
||||
;;move.l #$80000000,d0 ; init d0.l for FILLBYTES
|
||||
moveq.l #1,d0
|
||||
ror.l #1,d0 ; d0.l = $80000000
|
||||
#endif
|
||||
bra decompr_start
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#include "bits.ash"
|
||||
|
||||
|
||||
#if defined(FILLBYTES_SR)
|
||||
fillbytes_sr: FILLBYTES_SR
|
||||
rts ; 16
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
; ------------- DECOMPRESSION -------------
|
||||
|
||||
|
||||
decompr_literal:
|
||||
move.b (a0)+,(a1)+
|
||||
|
||||
decompr_start:
|
||||
decompr_loop:
|
||||
#ifdef SMALL
|
||||
; cost literal: 4 + 10 + 10
|
||||
; cost match: 4 + 10 + 8
|
||||
; cost fillbits: 4 + 8
|
||||
GETBIT
|
||||
bcs decompr_literal
|
||||
#else
|
||||
; optimization: carry is clear -> we know that bits are available
|
||||
; cost literal: 4 + 8 + 10
|
||||
; cost match: 4 + 10
|
||||
; cost fillbits: 4 + 8 + 8
|
||||
ADDBITS
|
||||
bcc decompr_match
|
||||
bne decompr_literal
|
||||
FILLBITS
|
||||
bcs decompr_literal
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
decompr_match:
|
||||
moveq.l #1,d1
|
||||
moveq.l #0,d2
|
||||
decompr_l1:
|
||||
GETBIT
|
||||
addx.l d1,d1
|
||||
#ifdef SMALL
|
||||
; cost loop continue: 4 + 10 + 10
|
||||
; cost loop break: 4 + 10 + 8
|
||||
; cost fillbits: 4 + 8
|
||||
GETBIT
|
||||
bcc decompr_l1
|
||||
#else
|
||||
; optimization: carry is clear -> we know that bits are available
|
||||
; cost loop continue: 4 + 10
|
||||
; cost loop break: 4 + 8 + 10
|
||||
; cost fillbits: 4 + 8 + 8
|
||||
ADDBITS
|
||||
bcc decompr_l1
|
||||
bne L(break)
|
||||
FILLBITS
|
||||
bcc decompr_l1
|
||||
L(break):
|
||||
#endif
|
||||
subq.l #3,d1
|
||||
bcs decompr_get_mlen ; last m_off
|
||||
lsl.l #8,d1
|
||||
move.b (a0)+,d1
|
||||
not.l d1
|
||||
beq decompr_end
|
||||
move.l d1,d5
|
||||
|
||||
|
||||
|
||||
decompr_get_mlen:
|
||||
GETBIT
|
||||
addx.w d2,d2
|
||||
GETBIT
|
||||
addx.w d2,d2
|
||||
tst.w d2 ; addx doesn't set the Z flag...
|
||||
bne decompr_got_mlen
|
||||
addq.w #1,d2
|
||||
|
||||
decompr_l2: GETBIT
|
||||
addx.w d2,d2
|
||||
#ifdef SMALL
|
||||
; cost loop continue: 4 + 10 + 10
|
||||
; cost loop break: 4 + 10 + 8
|
||||
; cost fillbits: 4 + 8
|
||||
GETBIT
|
||||
bcc decompr_l2
|
||||
#else
|
||||
; optimization: carry is clear -> we know that bits are available
|
||||
; cost loop continue: 4 + 10
|
||||
; cost loop break: 4 + 8 + 10
|
||||
; cost fillbits: 4 + 8 + 8
|
||||
ADDBITS
|
||||
bcc decompr_l2
|
||||
bne L(break)
|
||||
FILLBITS
|
||||
bcc decompr_l2
|
||||
L(break):
|
||||
#endif
|
||||
addq.w #2,d2
|
||||
|
||||
|
||||
|
||||
decompr_got_mlen:
|
||||
lea 0(a1,d5.l),a3
|
||||
|
||||
; must use sub as cmp doesn't affect the X flag
|
||||
move.l d5,d1
|
||||
sub.l d6,d1
|
||||
addx.w d7,d2
|
||||
|
||||
; TODO: partly unroll this loop; could use some magic with d7 for address
|
||||
; computations, then compute a nice `jmp yyy(pc,dx.w)'
|
||||
|
||||
#if 1
|
||||
; cost for any m_len: 12 + 22 * (m_len - 1) + 4
|
||||
; 38, 60, 82, 104, 126, 148, 170, 192, 214, 236
|
||||
move.b (a3)+,(a1)+ ; 12
|
||||
L(copy): move.b (a3)+,(a1)+ ; 12
|
||||
dbra d2,L(copy) ; 10 / 14
|
||||
#else
|
||||
; cost for even m_len: 18 + 34 * (m_len / 2) + 4
|
||||
; cost for odd m_len: 28 + 34 * (m_len / 2) + 4
|
||||
; 56, 66, 90, 100, 124, 134, 158, 168, 192, 202
|
||||
lsr.w #1,d2 ; 8
|
||||
bcc L(copy) ; 10 / 8
|
||||
move.b (a3)+,(a1)+ ; 12
|
||||
L(copy): move.b (a3)+,(a1)+ ; 12
|
||||
move.b (a3)+,(a1)+ ; 12
|
||||
dbra d2,L(copy) ; 10 / 14
|
||||
#endif
|
||||
|
||||
bra decompr_loop
|
||||
|
||||
|
||||
|
||||
decompr_end:
|
||||
|
||||
|
||||
; vi:ts=8:et
|
||||
|
||||
235
src/stub/src/arch/m68k/nrv2d_d.ash
Normal file
235
src/stub/src/arch/m68k/nrv2d_d.ash
Normal file
@ -0,0 +1,235 @@
|
||||
; n2d_d.ash -- NRV2D decompression in 68000 assembly
|
||||
;
|
||||
; This file is part of the UCL data compression library.
|
||||
;
|
||||
; Copyright (C) 1996-2005 Markus Franz Xaver Johannes Oberhumer
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; The UCL library is free software; you can redistribute it and/or
|
||||
; modify it under the terms of the GNU General Public License as
|
||||
; published by the Free Software Foundation; either version 2 of
|
||||
; the License, or (at your option) any later version.
|
||||
;
|
||||
; The UCL library is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with the UCL library; see the file COPYING.
|
||||
; If not, write to the Free Software Foundation, Inc.,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
; Markus F.X.J. Oberhumer
|
||||
; <markus@oberhumer.com>
|
||||
; http://www.oberhumer.com/opensource/ucl/
|
||||
;
|
||||
|
||||
|
||||
; ------------- DECOMPRESSION -------------
|
||||
|
||||
; decompress from a0 to a1
|
||||
; note: must preserve d4 and a5-a7
|
||||
|
||||
;
|
||||
; On entry:
|
||||
; a0 src pointer
|
||||
; a1 dest pointer
|
||||
;
|
||||
; On exit:
|
||||
; d1.l = 0x00008000
|
||||
; d2.l = 0
|
||||
;
|
||||
; Register usage:
|
||||
; a3 m_pos
|
||||
;
|
||||
; d0 bit buffer
|
||||
; d1 m_off
|
||||
; d2 m_len
|
||||
; d5 last_m_off
|
||||
;
|
||||
; d6 constant: -$500
|
||||
; d7 constant: -1
|
||||
;
|
||||
;
|
||||
; Notes:
|
||||
; we have max_match = 65535, so we can use word arithmetics on d2
|
||||
; we have max_offset < 2**23, so we can use partial word arithmetics on d1
|
||||
;
|
||||
|
||||
|
||||
; ------------- constants & macros -------------
|
||||
|
||||
#if !defined(NRV_NO_INIT)
|
||||
|
||||
;;move.l #-$500,d6 ; 0xfffffb00
|
||||
moveq.l #-$50,d6 ; 0xffffffb0
|
||||
lsl.w #4,d6 ; << 4
|
||||
|
||||
moveq.l #-1,d7
|
||||
moveq.l #-1,d5 ; last_off = -1
|
||||
|
||||
; init d0 with high bit set
|
||||
#if (NRV_BB == 8)
|
||||
;;move.b #$80,d0 ; init d0.b for FILLBYTES
|
||||
moveq.l #-128,d0 ; d0.b = $80
|
||||
#elif (NRV_BB == 32)
|
||||
;;move.l #$80000000,d0 ; init d0.l for FILLBYTES
|
||||
moveq.l #1,d0
|
||||
ror.l #1,d0 ; d0.l = $80000000
|
||||
#endif
|
||||
bra decompr_start
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#include "bits.ash"
|
||||
|
||||
|
||||
#if defined(FILLBYTES_SR)
|
||||
fillbytes_sr: FILLBYTES_SR
|
||||
rts ; 16
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
; ------------- DECOMPRESSION -------------
|
||||
|
||||
|
||||
decompr_literal:
|
||||
move.b (a0)+,(a1)+
|
||||
|
||||
decompr_start:
|
||||
decompr_loop:
|
||||
#ifdef SMALL
|
||||
; cost literal: 4 + 10 + 10
|
||||
; cost match: 4 + 10 + 8
|
||||
; cost fillbits: 4 + 8
|
||||
GETBIT
|
||||
bcs decompr_literal
|
||||
#else
|
||||
; optimization: carry is clear -> we know that bits are available
|
||||
; cost literal: 4 + 8 + 10
|
||||
; cost match: 4 + 10
|
||||
; cost fillbits: 4 + 8 + 8
|
||||
ADDBITS
|
||||
bcc decompr_match
|
||||
bne decompr_literal
|
||||
FILLBITS
|
||||
bcs decompr_literal
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
decompr_match:
|
||||
moveq.l #1,d1
|
||||
moveq.l #0,d2
|
||||
decompr_l1:
|
||||
GETBIT
|
||||
addx.w d1,d1
|
||||
#ifdef SMALL
|
||||
; cost loop continue: 4 + 10 + 8
|
||||
; cost loop break: 4 + 10 + 10
|
||||
; cost fillbits: 4 + 8
|
||||
GETBIT
|
||||
bcs decompr_break1
|
||||
#else
|
||||
; optimization: carry is clear -> we know that bits are available
|
||||
; cost loop continue: 4 + 10
|
||||
; cost loop break: 4 + 8 + 10
|
||||
; cost fillbits: 4 + 8 + 8
|
||||
ADDBITS
|
||||
bcc L(continue)
|
||||
bne decompr_break1
|
||||
FILLBITS
|
||||
bcs decompr_break1
|
||||
L(continue):
|
||||
#endif
|
||||
subq.w #1,d1
|
||||
GETBIT
|
||||
addx.w d1,d1
|
||||
bpl decompr_l1
|
||||
bra decompr_end
|
||||
decompr_break1:
|
||||
subq.w #3,d1
|
||||
bcs decompr_prev_dist ; last m_off
|
||||
lsl.l #8,d1
|
||||
move.b (a0)+,d1
|
||||
not.l d1
|
||||
asr.l #1,d1
|
||||
move.l d1,d5
|
||||
bra decompr_get_mlen
|
||||
|
||||
|
||||
decompr_prev_dist:
|
||||
GETBIT
|
||||
decompr_get_mlen:
|
||||
addx.w d2,d2
|
||||
GETBIT
|
||||
addx.w d2,d2
|
||||
tst.w d2 ; addx doesn't set the Z flag...
|
||||
bne decompr_got_mlen
|
||||
addq.w #1,d2
|
||||
|
||||
decompr_l2: GETBIT
|
||||
addx.w d2,d2
|
||||
#ifdef SMALL
|
||||
; cost loop continue: 4 + 10 + 10
|
||||
; cost loop break: 4 + 10 + 8
|
||||
; cost fillbits: 4 + 8
|
||||
GETBIT
|
||||
bcc decompr_l2
|
||||
#else
|
||||
; optimization: carry is clear -> we know that bits are available
|
||||
; cost loop continue: 4 + 10
|
||||
; cost loop break: 4 + 8 + 10
|
||||
; cost fillbits: 4 + 8 + 8
|
||||
ADDBITS
|
||||
bcc decompr_l2
|
||||
bne L(break)
|
||||
FILLBITS
|
||||
bcc decompr_l2
|
||||
L(break):
|
||||
#endif
|
||||
addq.w #2,d2
|
||||
|
||||
|
||||
|
||||
decompr_got_mlen:
|
||||
lea 0(a1,d5.l),a3
|
||||
|
||||
; must use sub as cmp doesn't affect the X flag
|
||||
move.l d5,d1
|
||||
sub.l d6,d1
|
||||
addx.w d7,d2
|
||||
|
||||
; TODO: partly unroll this loop; could use some magic with d7 for address
|
||||
; computations, then compute a nice `jmp yyy(pc,dx.w)'
|
||||
|
||||
#if 1
|
||||
; cost for any m_len: 12 + 22 * (m_len - 1) + 4
|
||||
; 38, 60, 82, 104, 126, 148, 170, 192, 214, 236
|
||||
move.b (a3)+,(a1)+ ; 12
|
||||
L(copy): move.b (a3)+,(a1)+ ; 12
|
||||
dbra d2,L(copy) ; 10 / 14
|
||||
#else
|
||||
; cost for even m_len: 18 + 34 * (m_len / 2) + 4
|
||||
; cost for odd m_len: 28 + 34 * (m_len / 2) + 4
|
||||
; 56, 66, 90, 100, 124, 134, 158, 168, 192, 202
|
||||
lsr.w #1,d2 ; 8
|
||||
bcc L(copy) ; 10 / 8
|
||||
move.b (a3)+,(a1)+ ; 12
|
||||
L(copy): move.b (a3)+,(a1)+ ; 12
|
||||
move.b (a3)+,(a1)+ ; 12
|
||||
dbra d2,L(copy) ; 10 / 14
|
||||
#endif
|
||||
|
||||
bra decompr_loop
|
||||
|
||||
|
||||
|
||||
decompr_end:
|
||||
|
||||
|
||||
; vi:ts=8:et
|
||||
|
||||
236
src/stub/src/arch/m68k/nrv2e_d.ash
Normal file
236
src/stub/src/arch/m68k/nrv2e_d.ash
Normal file
@ -0,0 +1,236 @@
|
||||
; n2e_d.ash -- NRV2E decompression in 68000 assembly
|
||||
;
|
||||
; This file is part of the UCL data compression library.
|
||||
;
|
||||
; Copyright (C) 1996-2005 Markus Franz Xaver Johannes Oberhumer
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; The UCL library is free software; you can redistribute it and/or
|
||||
; modify it under the terms of the GNU General Public License as
|
||||
; published by the Free Software Foundation; either version 2 of
|
||||
; the License, or (at your option) any later version.
|
||||
;
|
||||
; The UCL library is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with the UCL library; see the file COPYING.
|
||||
; If not, write to the Free Software Foundation, Inc.,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
; Markus F.X.J. Oberhumer
|
||||
; <markus@oberhumer.com>
|
||||
; http://www.oberhumer.com/opensource/ucl/
|
||||
;
|
||||
|
||||
|
||||
; ------------- DECOMPRESSION -------------
|
||||
|
||||
; decompress from a0 to a1
|
||||
; note: must preserve d4 and a5-a7
|
||||
|
||||
;
|
||||
; On entry:
|
||||
; a0 src pointer
|
||||
; a1 dest pointer
|
||||
;
|
||||
; On exit:
|
||||
; d1.l = 0x00008000
|
||||
; d2.l = 0
|
||||
;
|
||||
; Register usage:
|
||||
; a3 m_pos
|
||||
;
|
||||
; d0 bit buffer
|
||||
; d1 m_off
|
||||
; d2 m_len
|
||||
; d5 last_m_off
|
||||
;
|
||||
; d6 constant: -$500
|
||||
; d7 constant: 0
|
||||
;
|
||||
;
|
||||
; Notes:
|
||||
; we have max_match = 65535, so we can use word arithmetics on d2
|
||||
; we have max_offset < 2**23, so we can use partial word arithmetics on d1
|
||||
;
|
||||
|
||||
|
||||
; ------------- constants & macros -------------
|
||||
|
||||
#if !defined(NRV_NO_INIT)
|
||||
|
||||
;;move.l #-$500,d6 ; 0xfffffb00
|
||||
moveq.l #-$50,d6 ; 0xffffffb0
|
||||
lsl.w #4,d6 ; << 4
|
||||
|
||||
moveq.l #0,d7
|
||||
moveq.l #-1,d5 ; last_off = -1
|
||||
|
||||
; init d0 with high bit set
|
||||
#if (NRV_BB == 8)
|
||||
;;move.b #$80,d0 ; init d0.b for FILLBYTES
|
||||
moveq.l #-128,d0 ; d0.b = $80
|
||||
#elif (NRV_BB == 32)
|
||||
;;move.l #$80000000,d0 ; init d0.l for FILLBYTES
|
||||
moveq.l #1,d0
|
||||
ror.l #1,d0 ; d0.l = $80000000
|
||||
#endif
|
||||
bra decompr_start
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#include "bits.ash"
|
||||
|
||||
|
||||
#if defined(FILLBYTES_SR)
|
||||
fillbytes_sr: FILLBYTES_SR
|
||||
rts ; 16
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
; ------------- DECOMPRESSION -------------
|
||||
|
||||
|
||||
decompr_literal:
|
||||
move.b (a0)+,(a1)+
|
||||
|
||||
decompr_start:
|
||||
decompr_loop:
|
||||
#ifdef SMALL
|
||||
; cost literal: 4 + 10 + 10
|
||||
; cost match: 4 + 10 + 8
|
||||
; cost fillbits: 4 + 8
|
||||
GETBIT
|
||||
bcs decompr_literal
|
||||
#else
|
||||
; optimization: carry is clear -> we know that bits are available
|
||||
; cost literal: 4 + 8 + 10
|
||||
; cost match: 4 + 10
|
||||
; cost fillbits: 4 + 8 + 8
|
||||
ADDBITS
|
||||
bcc decompr_match
|
||||
bne decompr_literal
|
||||
FILLBITS
|
||||
bcs decompr_literal
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
decompr_match:
|
||||
moveq.l #1,d1
|
||||
moveq.l #0,d2
|
||||
decompr_l1:
|
||||
GETBIT
|
||||
addx.w d1,d1
|
||||
#ifdef SMALL
|
||||
; cost loop continue: 4 + 10 + 8
|
||||
; cost loop break: 4 + 10 + 10
|
||||
; cost fillbits: 4 + 8
|
||||
GETBIT
|
||||
bcs decompr_break1
|
||||
#else
|
||||
; optimization: carry is clear -> we know that bits are available
|
||||
; cost loop continue: 4 + 10
|
||||
; cost loop break: 4 + 8 + 10
|
||||
; cost fillbits: 4 + 8 + 8
|
||||
ADDBITS
|
||||
bcc L(continue)
|
||||
bne decompr_break1
|
||||
FILLBITS
|
||||
bcs decompr_break1
|
||||
L(continue):
|
||||
#endif
|
||||
subq.w #1,d1
|
||||
GETBIT
|
||||
addx.w d1,d1
|
||||
bpl decompr_l1
|
||||
bra decompr_end
|
||||
decompr_break1:
|
||||
subq.w #3,d1
|
||||
bcs decompr_prev_dist ; last m_off
|
||||
lsl.l #8,d1
|
||||
move.b (a0)+,d1
|
||||
not.l d1
|
||||
asr.l #1,d1
|
||||
bcc decompr_get_mlen2
|
||||
|
||||
decompr_get_mlen1:
|
||||
GETBIT
|
||||
addx.w d2,d2
|
||||
bra decompr_got_mlen
|
||||
decompr_prev_dist:
|
||||
move.l d5,d1
|
||||
GETBIT
|
||||
bcs decompr_get_mlen1
|
||||
decompr_get_mlen2:
|
||||
addq.w #1,d2
|
||||
GETBIT
|
||||
bcs decompr_get_mlen1
|
||||
|
||||
decompr_l2: GETBIT
|
||||
addx.w d2,d2
|
||||
#ifdef SMALL
|
||||
; cost loop continue: 4 + 10 + 10
|
||||
; cost loop break: 4 + 10 + 8
|
||||
; cost fillbits: 4 + 8
|
||||
GETBIT
|
||||
bcc decompr_l2
|
||||
#else
|
||||
; optimization: carry is clear -> we know that bits are available
|
||||
; cost loop continue: 4 + 10
|
||||
; cost loop break: 4 + 8 + 10
|
||||
; cost fillbits: 4 + 8 + 8
|
||||
ADDBITS
|
||||
bcc decompr_l2
|
||||
bne L(break)
|
||||
FILLBITS
|
||||
bcc decompr_l2
|
||||
L(break):
|
||||
#endif
|
||||
addq.w #2,d2
|
||||
|
||||
|
||||
|
||||
decompr_got_mlen:
|
||||
move.l d1,d5
|
||||
lea 0(a1,d1.l),a3
|
||||
|
||||
; must use sub as cmp doesn't affect the X flag
|
||||
sub.l d6,d1
|
||||
addx.w d7,d2
|
||||
|
||||
; TODO: partly unroll this loop; could use some magic with d7 for address
|
||||
; computations, then compute a nice `jmp yyy(pc,dx.w)'
|
||||
|
||||
#if 1
|
||||
; cost for any m_len: 12 + 22 * (m_len - 1) + 4
|
||||
; 38, 60, 82, 104, 126, 148, 170, 192, 214, 236
|
||||
move.b (a3)+,(a1)+ ; 12
|
||||
L(copy): move.b (a3)+,(a1)+ ; 12
|
||||
dbra d2,L(copy) ; 10 / 14
|
||||
#else
|
||||
; cost for even m_len: 18 + 34 * (m_len / 2) + 4
|
||||
; cost for odd m_len: 28 + 34 * (m_len / 2) + 4
|
||||
; 56, 66, 90, 100, 124, 134, 158, 168, 192, 202
|
||||
lsr.w #1,d2 ; 8
|
||||
bcc L(copy) ; 10 / 8
|
||||
move.b (a3)+,(a1)+ ; 12
|
||||
L(copy): move.b (a3)+,(a1)+ ; 12
|
||||
move.b (a3)+,(a1)+ ; 12
|
||||
dbra d2,L(copy) ; 10 / 14
|
||||
#endif
|
||||
|
||||
bra decompr_loop
|
||||
|
||||
|
||||
|
||||
decompr_end:
|
||||
|
||||
|
||||
; vi:ts=8:et
|
||||
|
||||
111
src/stub/src/arch/mips/mipsel.r3000/app-asm5900.pl
Normal file
111
src/stub/src/arch/mips/mipsel.r3000/app-asm5900.pl
Normal file
@ -0,0 +1,111 @@
|
||||
#! /usr/bin/perl -w
|
||||
#
|
||||
# app_mr3k.pl -- assembly preprocessor for upx
|
||||
#
|
||||
# This file is part of the UPX executable compressor.
|
||||
#
|
||||
# Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
|
||||
# Copyright (C) 1996-2006 Laszlo Molnar
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# UPX and the UCL library are free software; you can redistribute them
|
||||
# and/or modify them under the terms of the GNU General Public License as
|
||||
# published by the Free Software Foundation; either version 2 of
|
||||
# the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; see the file COPYING.
|
||||
# If not, write to the Free Software Foundation, Inc.,
|
||||
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# Markus F.X.J. Oberhumer Laszlo Molnar
|
||||
# <mfx@users.sourceforge.net> <ml1050@users.sourceforge.net>
|
||||
#
|
||||
|
||||
#
|
||||
# usage: app_mr3k.pl infile outfile
|
||||
#
|
||||
|
||||
$in = shift || die;
|
||||
$ou = shift || die;
|
||||
|
||||
open (IN,"<$in") or die;
|
||||
open (OU,">$ou") or die;
|
||||
binmode IN;
|
||||
binmode OU;
|
||||
|
||||
@lines = <IN>;
|
||||
|
||||
%labels = ();
|
||||
$i = 0;
|
||||
$cs = "";
|
||||
|
||||
($ilabel = $in) =~ s,^.*[\/\\],,; # get basename
|
||||
$ilabel =~ s/\W//g;
|
||||
|
||||
# 1st pass
|
||||
for $line (@lines)
|
||||
{
|
||||
$labels{$1} = "$cs" if ($line =~ /^(\w+):/ && $cs);
|
||||
if ($line =~ /__([A-Z0-9]{8})__/) {
|
||||
$cs = $1;
|
||||
# verify the line
|
||||
if ($line =~ /^[\%\;]ifdef/) {
|
||||
# ok
|
||||
} elsif ($line =~ /^([\%\;]\w+)?\s*;/) {
|
||||
# ok
|
||||
} else {
|
||||
print STDERR "$in:$i:warning 1:$line"
|
||||
}
|
||||
}
|
||||
|
||||
if ($line =~ /^[\%\;](if|el|endi)/)
|
||||
{
|
||||
if ($line =~ /__([A-Z0-9]{8})__/)
|
||||
{
|
||||
$line=";$line" unless ($line =~ /^\;/);
|
||||
}
|
||||
else
|
||||
{
|
||||
print STDERR "$in:$i:warning 2:$line";
|
||||
}
|
||||
}
|
||||
$line =~ s/\.ash/\.asy/ if ($line =~ /^\s*\%include/);
|
||||
$i++;
|
||||
}
|
||||
|
||||
$cs = "";
|
||||
$i = 0;
|
||||
$test = "";
|
||||
|
||||
# 2nd pass
|
||||
for $line (@lines)
|
||||
{
|
||||
$line = ";$line" if ($line =~ /^\s+align\s/);
|
||||
|
||||
print OU $line;
|
||||
|
||||
if ($line =~ /__([A-Z0-9]{8})__/)
|
||||
{
|
||||
print OU "S$1$ilabel:\n";
|
||||
push @{ $test[++$#test] }, "\t\tDB\t\t\"$1\",0\n\t\tDW_UNALIGNED\tS$1$ilabel\n";
|
||||
|
||||
$cs = $1;
|
||||
}
|
||||
$i++;
|
||||
|
||||
if ($line =~ /section .data/)
|
||||
{
|
||||
for $i ( 0 .. $#test )
|
||||
{
|
||||
print OU "@{$test[$i]}";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# vi:ts=4:et
|
||||
192
src/stub/src/arch/mips/mipsel.r3000/bits.ash
Normal file
192
src/stub/src/arch/mips/mipsel.r3000/bits.ash
Normal file
@ -0,0 +1,192 @@
|
||||
; bits.ash -- bit access for decompression
|
||||
;
|
||||
; This file is part of the UCL data compression library.
|
||||
;
|
||||
; Copyright (C) 1996-2005 Markus Franz Xaver Johannes Oberhumer
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; The UCL library is free software; you can redistribute it and/or
|
||||
; modify it under the terms of the GNU General Public License as
|
||||
; published by the Free Software Foundation; either version 2 of
|
||||
; the License, or (at your option) any later version.
|
||||
;
|
||||
; The UCL library is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
; GNU General Public License for more details.
|
||||
;
|
||||
; You should have received a copy of the GNU General Public License
|
||||
; along with the UCL library; see the file COPYING.
|
||||
; If not, write to the Free Software Foundation, Inc.,
|
||||
; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
;
|
||||
; Markus F.X.J. Oberhumer Jens Medoch
|
||||
; <markus@oberhumer.com> <jssg@users.sourceforge.net>
|
||||
; http://www.oberhumer.com/opensource/ucl/
|
||||
;
|
||||
|
||||
#ifndef _MR3K_STD_CONF_
|
||||
#define _MR3K_STD_CONF_
|
||||
|
||||
|
||||
;//////////////////////////////////////
|
||||
;// register defines
|
||||
;//////////////////////////////////////
|
||||
|
||||
#define src a0
|
||||
#define dst a2
|
||||
|
||||
#define src_ilen t0
|
||||
#define bb t1
|
||||
#define ilen t2
|
||||
#define last_m_off t3
|
||||
#define m_len t4
|
||||
#define bc t5
|
||||
|
||||
#define var v0
|
||||
#define m_off v1
|
||||
#define m_pos v1
|
||||
|
||||
|
||||
;//////////////////////////////////////
|
||||
;// optimized branch macros
|
||||
;//////////////////////////////////////
|
||||
|
||||
beqz2gb MACRO reg,label,nrv_bb
|
||||
IF (!small) && (nrv_bb == 8)
|
||||
beqz reg,label+4
|
||||
andi var,bb,0x007F
|
||||
ELSE
|
||||
beqz reg,label
|
||||
nop
|
||||
ENDIF
|
||||
beqz2gb ENDM
|
||||
|
||||
b2gb MACRO label,nrv_bb
|
||||
IF (!small)
|
||||
b label+4
|
||||
IF (nrv_bb == 8)
|
||||
andi var,bb,0x007F
|
||||
ELSE ;(nrv_bb == 32)
|
||||
addiu bc,-1
|
||||
ENDIF
|
||||
ELSE
|
||||
b label
|
||||
nop
|
||||
ENDIF
|
||||
b2gb ENDM
|
||||
|
||||
|
||||
;//////////////////////////////////////
|
||||
;// ucl memcpy
|
||||
;//////////////////////////////////////
|
||||
|
||||
uclmcpy MACRO retoffset,nrv_bb
|
||||
# ifdef FAST
|
||||
slti var,m_off,4
|
||||
bnez var,prepbytecpy
|
||||
addiu m_len,1
|
||||
subu m_pos,dst,m_off
|
||||
wordchk:
|
||||
slti var,m_len,4
|
||||
bnez var,bytecopy+4
|
||||
lwr var,0(m_pos)
|
||||
lwl var,3(m_pos)
|
||||
addiu m_len,-4
|
||||
swr var,0(dst)
|
||||
swl var,3(dst)
|
||||
addiu m_pos,4
|
||||
bnez m_len,wordchk
|
||||
addiu dst,4
|
||||
b2gb retoffset,nrv_bb
|
||||
prepbytecpy:
|
||||
# else
|
||||
addiu m_len,1
|
||||
# endif
|
||||
subu m_pos,dst,m_off
|
||||
bytecopy:
|
||||
lbu var,0(m_pos)
|
||||
addiu m_len,-1
|
||||
sb var,0(dst)
|
||||
addiu m_pos,1
|
||||
bnez m_len,bytecopy
|
||||
addiu dst,1
|
||||
b2gb retoffset,nrv_bb
|
||||
uclmcpy ENDM
|
||||
|
||||
|
||||
;//////////////////////////////////////
|
||||
;// init decompressor
|
||||
;//////////////////////////////////////
|
||||
|
||||
init MACRO nrv_bb
|
||||
move bb,zero
|
||||
IF (nrv_bb == 32)
|
||||
move bc,bb
|
||||
ENDIF
|
||||
li last_m_off,1
|
||||
move src_ilen,src
|
||||
init ENDM
|
||||
|
||||
|
||||
;//////////////////////////////////////
|
||||
;// 32bit getbit macro
|
||||
;//////////////////////////////////////
|
||||
|
||||
gbit_le32 MACRO
|
||||
IF (!small)
|
||||
addiu bc,-1
|
||||
ENDIF
|
||||
bgez bc,\@z
|
||||
srlv var,bb,bc
|
||||
li bc,31
|
||||
lwr bb,0(src_ilen)
|
||||
lwl bb,3(src_ilen)
|
||||
addiu src_ilen,4
|
||||
srlv var,bb,bc
|
||||
\@z:
|
||||
IF (small)
|
||||
jr ra
|
||||
ENDIF
|
||||
andi var,0x0001
|
||||
gbit_le32 ENDM
|
||||
|
||||
|
||||
;//////////////////////////////////////
|
||||
;// 8bit getbit macro
|
||||
;//////////////////////////////////////
|
||||
|
||||
gbit_8 MACRO
|
||||
IF (!small)
|
||||
andi var,bb,0x007F
|
||||
ENDIF
|
||||
bnez var,\@x
|
||||
sll bb,1
|
||||
lbu var,0(src_ilen)
|
||||
addiu src_ilen,1
|
||||
sll var,1
|
||||
addiu bb,var,1
|
||||
\@x:
|
||||
srl var,bb,8
|
||||
IF (small)
|
||||
jr ra
|
||||
ENDIF
|
||||
andi var,0x0001
|
||||
gbit_8 ENDM
|
||||
|
||||
|
||||
;//////////////////////////////////////
|
||||
;// getbit call macro for small version
|
||||
;//////////////////////////////////////
|
||||
|
||||
gbit_call MACRO subroutine,nrv_bb
|
||||
bal subroutine
|
||||
IF (nrv_bb == 8)
|
||||
andi var,bb,0x007F
|
||||
ELSE
|
||||
addiu bc,-1
|
||||
ENDIF
|
||||
gbit_call ENDM
|
||||
|
||||
|
||||
#endif //_MR3K_STD_CONF_
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user