ELF2 for i386-linux main programs
OpenBSD and NetBSD main programs probably need work.
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: p_lx_elf.cpp
modified: stub/Makefile
modified: stub/src/i386-linux.elf-entry.S
new file: stub/src/i386-linux.elf-entry.lds
modified: stub/src/i386-linux.elf-fold.S
modified: stub/src/i386-linux.elf-fold.lds
new file: stub/src/i386-linux.elf-main2.c
new file: stub/src/i386-linux.elf-so_entry.lds
modified: stub/src/upxfd_android.c
plus generated *.h *.map *.dump
This commit is contained in:
+14
-14
@@ -56,8 +56,8 @@ d63d4c9886b175c5388758c3d963e8d0b1e562536cf22e85792df35b028a94c1 *arm64-linux.el
|
||||
6e4ff31a80809fc5058ae714ab10ad7810c310bd7d116fad8b198009b9872312 *armeb-linux.elf/upx-3.95
|
||||
e17a126cebc32977991a292b7434d1435a7c95862ccece0e4acbf6e810bd3443 *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
88c54fa6bda1bbee0317c839dd756458ebe9bf4b0f6d746139517c7e0c3c9c6f *i386-dos32.djgpp2.coff/upx-3.95.exe
|
||||
154b474e63268578910a2117b25fd3838647fdb5af878db368f766155389c8dd *i386-linux.elf/upx-3.91
|
||||
a1bb8789d6ee1668e6dc4b0816172c14dec1745496b9e11b172dd9af37a06462 *i386-linux.elf/upx-3.95
|
||||
e5ccaa48ec0223990abc7681bb97a9f49b0192db4d04a21b0525dd610bfcbcae *i386-linux.elf/upx-3.91
|
||||
378c6902bb6c23cf425b3c135fc9bf264ae20b54b729aef0ba3cee9582131df1 *i386-linux.elf/upx-3.95
|
||||
9bc7ba34e675311527776726a98450722ac9faee73ef5df96a8e8dbd2943b734 *i386-win32.pe/upx-3.91.exe
|
||||
0a33acc8fa5549c59a87897b318ab83d1eb2ffa7d6c156e92d71c4e9ab4c6483 *i386-win32.pe/upx-3.95.exe
|
||||
22a6fe5e84dc759675c14314f1d72b84b64e22d106b4158969f5bc4f572288a1 *m68k-atari.tos/upx-3.91.ttp
|
||||
@@ -79,8 +79,8 @@ d7839b7dee866794e4ca3df32e2b1084b35aa22dee5f060fa14b5ca09c612ba3 *arm-wince.pe/u
|
||||
4a9d498ec0df4923ebb475f634c25f9b47eea115998adfd9c46b7dc4a561cf47 *armeb-linux.elf/upx-3.95
|
||||
4a434c3a14686786369c8bede8736d15e307ed7dd8c40cccb8f22003b05db968 *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
4ec6858a6c453176db25de5317269fa973f07051a15c9ff146920153dda52350 *i386-dos32.djgpp2.coff/upx-3.95.exe
|
||||
b770116a55261222e825b7fb1f46f899e371d6f1a6468c61daa6651df5426e5f *i386-linux.elf/upx-3.91
|
||||
a2e13e80a7bc4781f641ced647e37f636496dce582fa8e563d015259e136e43f *i386-linux.elf/upx-3.95
|
||||
d1c2204d10c2753b485f0aac2d58e6ec614951271436467c345e113465e9fb9b *i386-linux.elf/upx-3.91
|
||||
feda640e1409a0d7f7c84742832e76fbf9786d137eccc568b04913f24727eb51 *i386-linux.elf/upx-3.95
|
||||
18c0e4fb6bf6b26b5c943c54571007b4aba4d0a4ba7391c149eeada54a0a404d *i386-win32.pe/upx-3.91.exe
|
||||
8501c4a677eb66b482987122febc0360fc02f6720fd7c19d311cf60314d5705e *i386-win32.pe/upx-3.95.exe
|
||||
b8d481769be7aa7768bb1bd8775e766512c5720813e5d8bab6decb200a916f11 *m68k-atari.tos/upx-3.91.ttp
|
||||
@@ -102,8 +102,8 @@ expected_sha256sums__t130_compress_ucl_nrv2e_3_no_filter="\
|
||||
c3ec4a5148e25f74f6c8dca92b608f65dc5539f9c5a0f839f801612b13505bd1 *armeb-linux.elf/upx-3.95
|
||||
d454dd376db342e7650a93bd4859546711c94f5da55336e5b969dbea996465d9 *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
89fdaef155f19e1388412109c955b3368df7e39f13ae2ef5db5b0f0df3df81ab *i386-dos32.djgpp2.coff/upx-3.95.exe
|
||||
f5458dc71e68e53c8746e5f98abdc093b0b0b37ae04a941bc8c4194af3b78966 *i386-linux.elf/upx-3.91
|
||||
cd8591b7b1b3862d3c3aab6993792666be8792de474fe790ba70905cad9decbd *i386-linux.elf/upx-3.95
|
||||
313f889ea2623c553c73989949dde6404243336ee7087901e860c882620379a1 *i386-linux.elf/upx-3.91
|
||||
73857b83634cb00c62f841bce1fd6502d32392beaad3741639d4d45257e00716 *i386-linux.elf/upx-3.95
|
||||
674216006959b78ef9bfeed682a6a858f657a860123c620dc77daf5d3c46c40d *i386-win32.pe/upx-3.91.exe
|
||||
a47825b63e33e2ff5f07ec2b8e51991172a1e26e17fa1b2a19dc7857ab76db35 *i386-win32.pe/upx-3.95.exe
|
||||
2fc38c89629269a6c5ec22113f6a84a8b91e04c861359125d1c8e44d17ac190a *m68k-atari.tos/upx-3.91.ttp
|
||||
@@ -125,8 +125,8 @@ b2faa2181b1d5c3718c1c05c5ae130b61ee67a3b481b3235ac3af3d5de9ddce8 *arm64-linux.el
|
||||
895a9facf830fbcf2953adc0d7cf364fc5ab716f03940fc6165b49343c5253de *armeb-linux.elf/upx-3.95
|
||||
4e16bdab8b74ea5c7de4f255eec035189c24ac6374afef883c17696642c4fe16 *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
a526f335f984af6f8adb5dca85c5564ab888c009b79daead8631de766857e033 *i386-dos32.djgpp2.coff/upx-3.95.exe
|
||||
698284cca405aea740f425697f2ffba8c99ce68048b5db917e4d2553f8668f58 *i386-linux.elf/upx-3.91
|
||||
a66a42854bc6af7520d7f5b716353bba1e95a4837da4ba2e86bd4933e41e4221 *i386-linux.elf/upx-3.95
|
||||
94f234404c58bf66ca9197eff731a84e8aac2ac57524ce20e7282664d6e98806 *i386-linux.elf/upx-3.91
|
||||
ddaef53601380a2793b732c9c9583aa14dae24f35330007633d5f1b1aaf525c8 *i386-linux.elf/upx-3.95
|
||||
3962e6a21c0c54faa0c356ef7be6d8f025f245a7c785135d063032b3456af9a9 *i386-win32.pe/upx-3.91.exe
|
||||
2273e39a88ef856e17dddf9fc4e5b67b159fc6214b45c1110e446725239eaf97 *i386-win32.pe/upx-3.95.exe
|
||||
d81bbba6a8ede3aa9bebcd28280914c1084dc0a9ff1d000389e3f52ff05a1ac7 *m68k-atari.tos/upx-3.91.ttp
|
||||
@@ -148,8 +148,8 @@ fe3bb2d827888c20e34bf86f6b1593408d91338934530df2e7aa2af2149a1627 *arm64-linux.el
|
||||
591f023a8c6506cf8113fcb8a8672d0044890d60c6b9372a7eeeb40c9f5af464 *armeb-linux.elf/upx-3.95
|
||||
2957b481e67689a5ad43dcfdfde207b9eb16142c161f3e43fd0eeff5917fefbd *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
8f02dbfdbddad405ec599afba4ead6d300ab792f7188df7a32a9d7d3dc7d72c9 *i386-dos32.djgpp2.coff/upx-3.95.exe
|
||||
262a3de42c5cee2f9b7d38e5be0df45d9df7ee88d83b36fc566fdb0154ccec8c *i386-linux.elf/upx-3.91
|
||||
5d753125d3b1b027deccd582e6606bbb522df2c80afba13d1d5bad5dd6f2861f *i386-linux.elf/upx-3.95
|
||||
10fa881f45706adef32effd3320566d46af2f9e4c9e6198ceade511f324c3952 *i386-linux.elf/upx-3.91
|
||||
db91d9f600cdfe4996fd7b34bd89911fce9dbb9ff1f0c2363a286075f40564e4 *i386-linux.elf/upx-3.95
|
||||
b233f8508a150a20dffaeb6da057ccfd1cf78fbb89d9bdf3fbdd1c21716665e3 *i386-win32.pe/upx-3.91.exe
|
||||
57a4ff483773e64ab95963445049bff4044e055f31c13bd74c039fba1f113401 *i386-win32.pe/upx-3.95.exe
|
||||
1c8973e104c93be98db7d5411b478d0badb7b6d5373f7d28e94f435fb31faa7e *m68k-atari.tos/upx-3.91.ttp
|
||||
@@ -171,8 +171,8 @@ d33a702da5d0c46e744056c24e8323360223ed8e1be07660eecc28ade7b5fc75 *armeb-linux.el
|
||||
57790e4d030d32d19ae6ba2a485a5bc6f7244c7e65d3ec4c8b0afe395927dd83 *armeb-linux.elf/upx-3.95
|
||||
8673a20ba4b83e25daab30431ed215dcb35f595fa0cabf67ff57368a07ba4c14 *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
c7eb37a33f4f044ce444e5c258fade07c8fdf6d64236900c839196bedcb241fe *i386-dos32.djgpp2.coff/upx-3.95.exe
|
||||
498471f3578ac0272f46a4036f318374a75c147f99f93ee2bd2a85eeadd87c90 *i386-linux.elf/upx-3.91
|
||||
7a7b40312319054cb8dfa9281014e13592a93f3b7f55aa285658cb76e87c847c *i386-linux.elf/upx-3.95
|
||||
e40f96019386617f462a0216d6301639fae7ca0ed16cd7c0d52e8a95372d60c1 *i386-linux.elf/upx-3.91
|
||||
89030f9375babb8a2b72282e9fe48785bc7f2b91b23d2cb4b95d01ac405e4d70 *i386-linux.elf/upx-3.95
|
||||
577f01e1f02bf8cc9632057cf59c2a146456d768c60aa2df69c34d4631023f9d *i386-win32.pe/upx-3.91.exe
|
||||
f6a7a90073cf16f53c17a2ae7aea1c91beff0c2926d41c628a8d1a724bc37e6b *i386-win32.pe/upx-3.95.exe
|
||||
0bc481806564627f23125e3ab6fa59e8b90e35f0f117c3d185a728086ad02351 *m68k-atari.tos/upx-3.91.ttp
|
||||
@@ -194,8 +194,8 @@ cdc4ed9c5f1f724c436a3fc97a45b6b89605b34d8210ab6fdbbefb5954b5361b *amd64-linux.el
|
||||
03e9bb54264382f17dc15e451b9aff634e41d0b3e14585350479bf143b612c09 *armeb-linux.elf/upx-3.95
|
||||
6f9fbac216cd42aa370cb90965e74669daf33fd403bf0a250aaec06dd3439009 *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
902f1c5036680b0fadbebaef913c4062f0ce5ef0f2d537f7e6da31d23974139d *i386-dos32.djgpp2.coff/upx-3.95.exe
|
||||
9bfc26e7b89180c4f093dfee47c9f7b7029aec54883fa26ac2335c980eff0e74 *i386-linux.elf/upx-3.91
|
||||
6b49e38fbd8ce8db7cbdd1d438c10ba3d24bc0f03c56f1c39deabd3340eeaae7 *i386-linux.elf/upx-3.95
|
||||
5716eeb0a4dc7320c9b4f871d4bc4ad0ac33b9e7aed1437c316e1dd63f981b70 *i386-linux.elf/upx-3.91
|
||||
bbcffe672440af91438919f52d79414fb0e658ab4d97cf11d996c01ba88f69eb *i386-linux.elf/upx-3.95
|
||||
63afac5307a2385757b3d29753c64e0026241ea2ca1324f53e8ccb4263cc9f62 *i386-win32.pe/upx-3.91.exe
|
||||
eb01b6f27798690115cabb88314551579da509455232bbaa3276eddc25106d0d *i386-win32.pe/upx-3.95.exe
|
||||
3a5fa857ff517e41386062a0fb2be4f8b6fa5cb79d5624b5a00947c1f2758afb *m68k-atari.tos/upx-3.91.ttp
|
||||
|
||||
+6
-4
@@ -1496,7 +1496,7 @@ PackLinuxElf32::buildLinuxLoader(
|
||||
method = M_NRV2B_8; //only ARM v6 and above has unaligned fetch
|
||||
} // end shlib
|
||||
else if (0
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_386
|
||||
|| this->e_machine==Elf32_Ehdr::EM_386
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_MIPS
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_PPC
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_ARM
|
||||
@@ -1567,10 +1567,11 @@ PackLinuxElf32::buildLinuxLoader(
|
||||
linker->addSection("FOLDEXEC", mb_cprLoader, sizeof(b_info) + sz_cpr, 0);
|
||||
if (xct_off // shlib
|
||||
&& (0
|
||||
|| this->e_machine==Elf32_Ehdr::EM_ARM
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_ARM
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_MIPS
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_PPC
|
||||
|| this->e_machine==Elf32_Ehdr::EM_386)
|
||||
|| this->e_machine==Elf32_Ehdr::EM_386
|
||||
)
|
||||
) { // shlib with ELF2 de-compressor
|
||||
addLoader("ELFMAINX,ELFMAINZ,FOLDEXEC,IDENTSTR");
|
||||
}
|
||||
@@ -1578,7 +1579,7 @@ PackLinuxElf32::buildLinuxLoader(
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_ARM
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_MIPS
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_PPC
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_386
|
||||
|| this->e_machine==Elf32_Ehdr::EM_386
|
||||
) { // main program with ELF2 de-compressor
|
||||
addLoader("ELFMAINX,ELFMAINZ,FOLDEXEC,IDENTSTR");
|
||||
defineSymbols(ft);
|
||||
@@ -3628,6 +3629,7 @@ PackLinuxElf32::generateElfHdr(
|
||||
h2->phdr[C_TEXT].p_vaddr = h2->phdr[C_BASE].p_vaddr;
|
||||
h2->phdr[C_TEXT].p_paddr = h2->phdr[C_BASE].p_vaddr;
|
||||
set_te32(&h2->phdr[C_BASE].p_type, PT_LOAD32); // be sure
|
||||
set_te32(&h2->phdr[C_TEXT].p_type, PT_LOAD32); // be sure
|
||||
h2->phdr[C_BASE].p_offset = 0;
|
||||
h2->phdr[C_BASE].p_filesz = 0;
|
||||
// .p_memsz = brka; temporary until sz_pack2
|
||||
|
||||
+40
-16
@@ -1179,7 +1179,6 @@ i386-dos32.watcom.le.h : $(srcdir)/src/$$T.S
|
||||
# /***********************************************************************
|
||||
# // i386-linux.elf
|
||||
# ************************************************************************/
|
||||
|
||||
i386-linux.elf%.h : tc_list = i386-linux.elf arch-i386 default
|
||||
i386-linux.elf%.h : tc_bfdname = elf32-i386
|
||||
|
||||
@@ -1187,32 +1186,57 @@ tc.i386-linux.elf.gcc = i386-linux-gcc-3.4.6 -m32 -march=i386 -nostdinc -MM
|
||||
tc.i386-linux.elf.gcc += -fno-exceptions -fno-asynchronous-unwind-tables
|
||||
tc.i386-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wstrict-prototypes -Wwrite-strings -Werror
|
||||
tc.i386-linux.elf.gcc += -mtune=k6
|
||||
tc.i386-linux.elf.gcc += -Os -fno-omit-frame-pointer
|
||||
tc.i386-linux.elf.gcc += -O2 -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
|
||||
|
||||
i386-linux.elf-entry.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c -x assembler-with-cpp $< -o tmp/$T.bin
|
||||
$(call tc,f-embed_objinfo,tmp/$T.bin)
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
i386-linux.elf-so_entry.h: $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o tmp/$T.bin
|
||||
i386-linux.elf-entry.h : $(srcdir)/src/i386-linux.elf-entry.lds \
|
||||
$(srcdir)/src/$$T.S \
|
||||
tmp/i386-linux.elf-upxfd_android.o
|
||||
$(call tc,gcc) -c $(srcdir)/src/$T.S -o tmp/$T.o
|
||||
multiarch-ld-2.17 -r -Map tmp/$T.map -o tmp/$T.bin \
|
||||
-T src/i386-linux.elf-entry.lds \
|
||||
tmp/$T.o \
|
||||
tmp/i386-linux.elf-upxfd_android.o
|
||||
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
i386-linux.elf-fold.h : tmp/$$T.o tmp/i386-linux.elf-main.o $(srcdir)/src/$$T.lds
|
||||
$(call tc,ld) --strip-all -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
|
||||
$(call tc,f-objstrip,tmp/$T.bin)
|
||||
$(call tc,sstrip) tmp/$T.bin
|
||||
i386-linux.elf-so_entry.h : $(srcdir)/src/i386-linux.elf-so_entry.lds \
|
||||
$(srcdir)/src/$$T.S \
|
||||
tmp/i386-linux.elf-upxfd_android.o
|
||||
$(call tc,gcc) -c $(srcdir)/src/$T.S -o tmp/$T.o
|
||||
multiarch-ld-2.17 -r -Map tmp/$T.map -o tmp/$T.bin \
|
||||
-T src/i386-linux.elf-so_entry.lds \
|
||||
tmp/$T.o \
|
||||
tmp/i386-linux.elf-upxfd_android.o
|
||||
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
tmp/i386-linux.elf-upxfd_android.o : $(srcdir)/src/upxfd_android.c
|
||||
$(call tc,gcc) -c -O $< -o $@
|
||||
$(call tc,objcopy) -R .comment $@
|
||||
$(call tc,objdump) -Dr $(tc_objdump_disasm_options) $@ | $(RTRIM) > $@.disasm
|
||||
|
||||
i386-linux.elf-fold.h : $(srcdir)/src/$$T.lds \
|
||||
tmp/$$T.o \
|
||||
tmp/i386-linux.elf-upxfd_android.o \
|
||||
tmp/i386-expand.o \
|
||||
tmp/i386-linux.elf-main2.o
|
||||
$(call tc,ld) -r -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
|
||||
$(call tc,f-embed_objinfo_without_xstrip_keep_dot_text,tmp/$T.bin)
|
||||
$(call tc,brandelf) --elfosabi=linux tmp/$T.bin
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
i386-linux.elf-so_fold.h : tmp/$$T.o tmp/i386-linux.elf-so_main.o $(srcdir)/src/$$T.lds tmp/i386-expand.o
|
||||
multiarch-ld-2.17 -r -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
|
||||
i386-linux.elf-so_fold.h : $(srcdir)/src/$$T.lds \
|
||||
tmp/$$T.o \
|
||||
tmp/i386-linux.elf-upxfd_android.o \
|
||||
tmp/i386-expand.o \
|
||||
tmp/i386-linux.elf-so_main.o
|
||||
$(call tc,ld) -r -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
|
||||
$(call tc,f-embed_objinfo_without_xstrip,tmp/$T.bin)
|
||||
$(call tc,brandelf) --elfosabi=linux tmp/$T.bin
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
tmp/i386-linux.elf-fold.o : $(srcdir)/src/$$T.S
|
||||
@@ -1227,7 +1251,7 @@ tmp/i386-linux.elf-so_fold.o : $(srcdir)/src/$$T.S
|
||||
tmp/i386-expand.o: $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
|
||||
tmp/i386-linux.elf-main.o : $(srcdir)/src/$$T.c
|
||||
tmp/i386-linux.elf-main2.o : $(srcdir)/src/$$T.c
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
$(call tc,f-objstrip,$@)
|
||||
|
||||
|
||||
Generated
+115
-102
@@ -1,5 +1,5 @@
|
||||
/* i386-bsd.elf-fold.h
|
||||
created from i386-bsd.elf-fold.bin, 1813 (0x715) bytes
|
||||
created from i386-bsd.elf-fold.bin, 2021 (0x7e5) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@@ -32,17 +32,17 @@
|
||||
|
||||
/* clang-format off */
|
||||
|
||||
#define STUB_I386_BSD_ELF_FOLD_SIZE 1813
|
||||
#define STUB_I386_BSD_ELF_FOLD_ADLER32 0xa3ac09fc
|
||||
#define STUB_I386_BSD_ELF_FOLD_CRC32 0x02d4716d
|
||||
#define STUB_I386_BSD_ELF_FOLD_SIZE 2021
|
||||
#define STUB_I386_BSD_ELF_FOLD_ADLER32 0xa6e88778
|
||||
#define STUB_I386_BSD_ELF_FOLD_CRC32 0xcef3e019
|
||||
|
||||
unsigned char stub_i386_bsd_elf_fold[1813] = {
|
||||
unsigned char stub_i386_bsd_elf_fold[2021] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 9, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 2, 0, 3, 0, 1, 0, 0, 0,128, 16,192, 0, 52, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 16,192, 0,
|
||||
/* 0x0040 */ 0, 16,192, 0, 21, 7, 0, 0, 24, 7, 0, 0, 5, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0, 21, 7, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 0, 16,192, 0,229, 7, 0, 0,232, 7, 0, 0, 5, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,229, 7, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0070 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0080 */ 41,201,186,248, 2, 0, 0,137,230,137,231,232,134, 0, 0, 0,
|
||||
@@ -51,104 +51,117 @@ unsigned char stub_i386_bsd_elf_fold[1813] = {
|
||||
/* 0x00b0 */ 141,148, 26,255, 31, 0, 0,129,226, 0,240,255,255, 82, 41,192,
|
||||
/* 0x00c0 */ 102,131,123, 16, 3,117, 1,146, 80,139, 67, 24,139,112,248, 41,
|
||||
/* 0x00d0 */ 240,139, 24,139, 72, 4,131,193, 12,141, 84, 36, 12, 96, 71,232,
|
||||
/* 0x00e0 */ 140, 4, 0, 0,131,196, 36, 89, 91,129,196, 0, 10, 0, 0, 90,
|
||||
/* 0x00e0 */ 75, 5, 0, 0,131,196, 36, 89, 91,129,196, 0, 10, 0, 0, 90,
|
||||
/* 0x00f0 */ 193,226, 12, 1,211, 80,106, 0,137,229, 41,217, 41,192, 81, 83,
|
||||
/* 0x0100 */ 80, 79, 60,175,175,117,252,255, 55, 49,255, 49,246, 49,210, 49,
|
||||
/* 0x0110 */ 201, 49,219,176, 73,195,173,171,173,171,133,192,117,250,173,171,
|
||||
/* 0x0120 */ 133,192,117,250, 87,173,171,131,248, 32,115, 3, 15,179,194,133,
|
||||
/* 0x0130 */ 192,173,171,117,240,131,239, 8, 1,201, 64,243,171, 72,171,171,
|
||||
/* 0x0140 */ 95,195, 0, 0, 85,137,229, 87, 86,137,206, 83,137,195, 57, 8,
|
||||
/* 0x0150 */ 139,120, 4,115, 7,106,127,232,113, 5, 0, 0,133,201,116, 8,
|
||||
/* 0x0160 */ 138, 7, 71,136, 2, 66,226,248, 1,115, 4, 41, 51,141,101,244,
|
||||
/* 0x0170 */ 91, 94, 95,201,195, 85,137,229, 87, 86,137,198, 83,137,211,131,
|
||||
/* 0x0180 */ 236, 24,139, 69, 8,139,125, 12,137, 69,220,131, 58, 0, 15,132,
|
||||
/* 0x0190 */ 182, 0, 0, 0,141, 85,228,185, 12, 0, 0, 0,137,240,232,161,
|
||||
/* 0x01a0 */ 255,255,255,139, 69,228,139, 77,232,133,192,117, 19,129,249, 85,
|
||||
/* 0x01b0 */ 80, 88, 33,117, 15,131, 62, 0, 15,132,140, 0, 0, 0,235, 4,
|
||||
/* 0x01c0 */ 133,201,117, 7,106,127,232, 2, 5, 0, 0, 57,193,119,245, 59,
|
||||
/* 0x01d0 */ 3,119,241, 57,193,115, 86,137, 69,224,141, 69,224,255,117,236,
|
||||
/* 0x01e0 */ 80,255,115, 4, 81,255,118, 4,255, 85,220,131,196, 20,133,192,
|
||||
/* 0x01f0 */ 117,210,139, 85,224, 59, 85,228,117,202,138, 69,237,132,192,116,
|
||||
/* 0x0200 */ 34,133,255,116, 30,129,250, 0, 2, 0, 0,119, 4, 57, 19,117,
|
||||
/* 0x0210 */ 18, 15,182,192, 80, 15,182, 69,238, 80, 82,255,115, 4,255,215,
|
||||
/* 0x0220 */ 131,196, 16,139, 69,232, 1, 70, 4, 41, 6,235, 10,139, 83, 4,
|
||||
/* 0x0230 */ 137,240,232, 13,255,255,255,139, 85,228,139, 3, 1, 83, 4, 41,
|
||||
/* 0x0240 */ 208,133,192,137, 3,233, 68,255,255,255,141,101,244, 91, 94, 95,
|
||||
/* 0x0250 */ 201,195,133,192, 83,137,195,116, 35,168, 1,117, 31,139, 3, 57,
|
||||
/* 0x0260 */ 208,116, 9,131,248, 1,117, 11,133,210,116, 11,137, 19,137, 75,
|
||||
/* 0x0270 */ 4,235, 9,133,192,116, 5,131,195, 8,235,225, 91,195, 85,137,
|
||||
/* 0x0280 */ 229, 87, 86, 83,131,236, 60,137, 85,224,137, 69,228,139, 85, 12,
|
||||
/* 0x0290 */ 139, 69, 8,199, 69,204,255,255,255,255,137, 85,216,139,125,224,
|
||||
/* 0x02a0 */ 139, 85,224,137, 69,220,139, 69, 20, 3,127, 28,137, 69,212, 49,
|
||||
/* 0x02b0 */ 192,102,131,122, 16, 2, 15,183, 74, 44,137,251, 15,148,192, 49,
|
||||
/* 0x02c0 */ 246,193,224, 4,137,202, 5, 2, 16, 0, 0, 74,120, 30,131, 59,
|
||||
/* 0x02d0 */ 1,117, 20,139, 83, 8, 59, 85,204,115, 3,137, 85,204, 3, 83,
|
||||
/* 0x02e0 */ 20, 57,214,115, 2,137,214,131,195, 32,226,226,139, 93,204,106,
|
||||
/* 0x02f0 */ 0,106,255,129,227, 0,240,255,255, 80, 41,222,106, 0,129,198,
|
||||
/* 0x0300 */ 255, 15, 0, 0,129,230, 0,240,255,255, 86, 83,232,151, 3, 0,
|
||||
/* 0x0310 */ 0,131,196, 24,141, 52, 48, 41,216,137, 69,208,139, 69,224,137,
|
||||
/* 0x0320 */ 117,240,102,131,120, 44, 0,199, 69,200, 0, 0, 0, 0, 15,132,
|
||||
/* 0x0330 */ 242, 1, 0, 0,139, 7,131,248, 6,117, 34,131,125,220, 0, 15,
|
||||
/* 0x0340 */ 132,203, 1, 0, 0,139, 77,208,186, 3, 0, 0, 0, 3, 79, 8,
|
||||
/* 0x0350 */ 139, 69,216,232,250,254,255,255,233,179, 1, 0, 0, 72, 15,133,
|
||||
/* 0x0360 */ 172, 1, 0, 0,139, 95, 20,133,219, 15,132,161, 1, 0, 0,139,
|
||||
/* 0x0370 */ 79, 24,199, 69,196, 64, 98, 81,115,139, 69,208, 3, 71, 8,131,
|
||||
/* 0x0380 */ 225, 7,193,225, 2,139, 87, 16,211,109,196,137,193,137,198,129,
|
||||
/* 0x0390 */ 225,255, 15, 0, 0,131,101,196, 7,137, 85,232, 41,206, 1,202,
|
||||
/* 0x03a0 */ 131,125,220, 0,141, 28, 24,137, 69,236,137, 93,188,137, 85,192,
|
||||
/* 0x03b0 */ 116, 41,106, 0,139, 69,196,106,255,104, 18, 16, 0, 0,131,200,
|
||||
/* 0x03c0 */ 2, 80,137,208,131,192, 3, 80, 86,232,218, 2, 0, 0,131,196,
|
||||
/* 0x03d0 */ 24, 57,198, 15,133,226, 0, 0, 0,235, 36,139, 71, 4, 41,200,
|
||||
/* 0x03e0 */ 80,255,117,228,106, 18,255,117,196,255,117,192, 86,232,182, 2,
|
||||
/* 0x03f0 */ 0, 0,131,196, 24, 57,198, 15,133,190, 0, 0, 0,235, 34,131,
|
||||
/* 0x0400 */ 125,220, 0,116, 28,246, 69,196, 4,139, 69,212,117, 2, 49,192,
|
||||
/* 0x0410 */ 80,139, 69,220,255,117,228,141, 85,232,232, 86,253,255,255, 88,
|
||||
/* 0x0420 */ 90,139, 85,192,247,218,129,226,255, 15, 0, 0,246, 69,196, 2,
|
||||
/* 0x0430 */ 137, 85,184,116, 21,131,125,184, 0,139, 85,192,141, 4, 22,116,
|
||||
/* 0x0440 */ 9,139, 77,184,198, 0, 0, 64,226,250,131,125,220, 0,116,114,
|
||||
/* 0x0450 */ 131, 63, 1,117, 83,246, 71, 24, 1,116, 77,139, 87, 20,139, 95,
|
||||
/* 0x0460 */ 8,141, 12, 26, 3, 77,208, 59, 87, 16,117, 14,137,200,247,216,
|
||||
/* 0x0470 */ 37,255, 15, 0, 0,131,248, 3,119, 14,107, 69,208, 52,131,127,
|
||||
/* 0x0480 */ 4, 0,141, 76, 3, 12,117, 15,139, 1, 61,205,128,201,195,116,
|
||||
/* 0x0490 */ 6,199, 1,205,128,201,195,133,201,116, 13,139, 69,216, 49,210,
|
||||
/* 0x04a0 */ 131,224,254,232,170,253,255,255,255,117,196,255,117,192, 86,232,
|
||||
/* 0x04b0 */ 53, 2, 0, 0,131,196, 12,133,192,116, 7,106,127,232, 11, 2,
|
||||
/* 0x04c0 */ 0, 0,139, 69,192, 3, 69,184,141, 28, 6, 59, 93,188,115, 33,
|
||||
/* 0x04d0 */ 106, 0,106,255,104, 18, 16, 0, 0,255,117,196, 41, 93,188,255,
|
||||
/* 0x04e0 */ 117,188, 83,232,192, 1, 0, 0,131,196, 24, 57,195,116, 33,235,
|
||||
/* 0x04f0 */ 202,131,125,220, 0,116, 25,139, 69,192,131,192, 3, 37,255, 15,
|
||||
/* 0x0500 */ 0, 0,131,248, 3,119, 9, 80, 83,232,215, 1, 0, 0, 89, 91,
|
||||
/* 0x0510 */ 139, 85,224,131,199, 32,255, 69,200, 15,183, 66, 44, 57, 69,200,
|
||||
/* 0x0520 */ 15,140, 14,254,255,255,131,125,220, 0,117, 15,255,117,228,232,
|
||||
/* 0x0530 */ 173, 1, 0, 0, 90,133,192,116, 21,235,128,139, 69,224,102,131,
|
||||
/* 0x0540 */ 120, 16, 3,116, 9,255,117,240,232,127, 1, 0, 0, 88,131,125,
|
||||
/* 0x0550 */ 16, 0,116, 8,139, 69,208,139, 85, 16,137, 2,139, 85,224,139,
|
||||
/* 0x0560 */ 82, 24, 1, 85,208,139, 69,208,141,101,244, 91, 94, 95,201,195,
|
||||
/* 0x0570 */ 85,137,229, 87, 86, 83,131,236, 16,141, 85, 24,139, 69, 8,106,
|
||||
/* 0x0580 */ 0,139,125, 28,137, 69,236,139, 69, 16,139, 93, 32,141,119, 52,
|
||||
/* 0x0590 */ 137, 69,232,131,192, 2,255,117,232,137, 69,228,141, 69, 32,232,
|
||||
/* 0x05a0 */ 209,251,255,255,139, 69, 12,185, 0, 16, 0, 0,186, 6, 0, 0,
|
||||
/* 0x05b0 */ 0,137, 69, 32,139, 69,236, 41, 93, 36,232,147,252,255,255, 15,
|
||||
/* 0x05c0 */ 183, 79, 44,139, 69,236,186, 5, 0, 0, 0,232,130,252,255,255,
|
||||
/* 0x05d0 */ 15,183, 79, 42,139, 69,236,186, 4, 0, 0, 0,232,113,252,255,
|
||||
/* 0x05e0 */ 255,139, 77, 40, 3, 78, 8,186, 3, 0, 0, 0,139, 69,236,131,
|
||||
/* 0x05f0 */ 193, 52,232, 91,252,255,255,141, 69,240,255,117,228,137,250, 80,
|
||||
/* 0x0600 */ 141, 69, 32,255,117,236, 80,139, 69,232,232,111,252,255,255,186,
|
||||
/* 0x0610 */ 9, 0, 0, 0,137,193,137,195,139, 69,236,232, 50,252,255,255,
|
||||
/* 0x0620 */ 102,139, 79, 44,131,196, 24, 49,210,102,133,201,116,112,131, 62,
|
||||
/* 0x0630 */ 3,117, 96,106, 0,139, 69,240,106, 0, 3, 70, 8, 80,232,154,
|
||||
/* 0x0640 */ 0, 0, 0,131,196, 12,133,192,137,195,120, 22,104, 0, 2, 0,
|
||||
/* 0x0650 */ 0, 87, 80,232,125, 0, 0, 0,131,196, 12, 61, 0, 2, 0, 0,
|
||||
/* 0x0660 */ 116, 7,106,127,232,100, 0, 0, 0,141, 69,240,137,250,106, 0,
|
||||
/* 0x0670 */ 80,137,216,106, 0,106, 0,232, 2,252,255,255,139, 77,240,137,
|
||||
/* 0x0680 */ 195,139, 69,236,186, 7, 0, 0, 0,232,196,251,255,255,131,196,
|
||||
/* 0x0690 */ 16,235, 11, 66, 15,183,193,131,198, 32, 57,194,124,144,141,101,
|
||||
/* 0x06a0 */ 244,137,216, 91, 94, 95,201,195, 85,137,229, 49,192, 80,255,117,
|
||||
/* 0x06b0 */ 28, 80,255,117, 24,255,117, 20,255,117, 16,255,117, 12,255,117,
|
||||
/* 0x06c0 */ 8, 80,176,197, 80, 80,176,198,205,128,201,195,195,176, 1, 15,
|
||||
/* 0x06d0 */ 182,192,205,128,195,176, 3,235,246,176, 4,235,242,176, 5,235,
|
||||
/* 0x06e0 */ 238,176, 6,235,234,176, 73,235,230,176, 74,235,226,176, 33,235,
|
||||
/* 0x06f0 */ 222,176, 20,235,218,176, 92,235,214,176, 59,235,210,176, 2,235,
|
||||
/* 0x0700 */ 206,176,130,235,202,176,116,235,198,176,240,235,194,176, 10,235,
|
||||
/* 0x0710 */ 190,176, 7,235,186
|
||||
/* 0x0140 */ 95,195, 0, 0, 85,137,229, 87, 86,137,199, 83,137,206,139, 15,
|
||||
/* 0x0150 */ 139, 64, 4, 57,241,137,195,114, 36,133,246,116, 15,137,241,138,
|
||||
/* 0x0160 */ 3, 67,136, 2, 66,226,248,139, 71, 4,139, 15, 1,240, 41,241,
|
||||
/* 0x0170 */ 137, 71, 4,137, 15,141,101,244, 91, 94, 95,201,195,106,127,232,
|
||||
/* 0x0180 */ 25, 6, 0, 0, 85,137,229, 87, 86,137,198, 83,137,211,131,236,
|
||||
/* 0x0190 */ 24,139, 58,139, 69, 8,133,255,137, 69,220, 15,132,153, 0, 0,
|
||||
/* 0x01a0 */ 0,141,125,228,137,240,185, 12, 0, 0, 0,137,250,232,146,255,
|
||||
/* 0x01b0 */ 255,255,139, 69,228,133,192, 15,132,203, 0, 0, 0,139, 77,232,
|
||||
/* 0x01c0 */ 133,201, 15,132,201, 0, 0, 0, 57,193, 15,135,193, 0, 0, 0,
|
||||
/* 0x01d0 */ 59, 3, 15,135,185, 0, 0, 0, 57,193,115,102,137, 69,224,141,
|
||||
/* 0x01e0 */ 69,224,255,117,236, 80,255,115, 4, 81,255,118, 4,255, 85,220,
|
||||
/* 0x01f0 */ 131,196, 20,133,192, 15,133,150, 0, 0, 0,139, 85,228, 59, 85,
|
||||
/* 0x0200 */ 224, 15,133,138, 0, 0, 0,138, 69,237,132,192,116, 19,139, 77,
|
||||
/* 0x0210 */ 12,133,201,116, 12,129,250, 0, 2, 0, 0,119, 75, 57, 19,116,
|
||||
/* 0x0220 */ 71,139, 69,232, 1, 70, 4, 41, 6,139, 3, 1, 83, 4, 41,208,
|
||||
/* 0x0230 */ 133,192,137, 3, 15,133,106,255,255,255,141,101,244, 91, 94, 95,
|
||||
/* 0x0240 */ 201,195,139, 83, 4,137,240,232,248,254,255,255,139, 85,228,139,
|
||||
/* 0x0250 */ 3, 1, 83, 4, 41,208,133,192,137, 3, 15,133, 68,255,255,255,
|
||||
/* 0x0260 */ 141,101,244, 91, 94, 95,201,195, 15,182,192, 80, 15,182, 69,238,
|
||||
/* 0x0270 */ 80, 82,255,115, 4,255, 85, 12,139, 69,232, 1, 70, 4,131,196,
|
||||
/* 0x0280 */ 16, 41, 6,139, 85,228,235,161,129,125,232, 85, 80, 88, 33,116,
|
||||
/* 0x0290 */ 7,106,127,232, 5, 5, 0, 0,139, 30,133,219,116,156,235,241,
|
||||
/* 0x02a0 */ 133,192, 83,137,195,116, 33,168, 1,117, 29,139, 3, 57,208,116,
|
||||
/* 0x02b0 */ 18,131,248, 1,116, 20,133,192,116, 14,131,195, 8,139, 3, 57,
|
||||
/* 0x02c0 */ 208,117,238,137, 19,137, 75, 4, 91,195,133,210,117,245,131,195,
|
||||
/* 0x02d0 */ 8,235,234, 85,137,229, 87, 86,190, 0, 0, 0, 0, 83,131,236,
|
||||
/* 0x02e0 */ 64,137, 69,228,139, 69, 8,137, 85,224,139,125,224,199, 69,204,
|
||||
/* 0x02f0 */ 255,255,255,255,139, 85, 12,137, 69,220,139, 69,224,139, 77, 20,
|
||||
/* 0x0300 */ 137, 85,216, 3,127, 28,139, 85,224,137, 77,212,102,131,120, 16,
|
||||
/* 0x0310 */ 2, 15,183, 74, 44,137,251, 15,148,192, 15,182,192,137,202,193,
|
||||
/* 0x0320 */ 224, 4, 5, 2, 16, 0, 0, 74,120, 14,131, 59, 1, 15,132,209,
|
||||
/* 0x0330 */ 0, 0, 0,131,195, 32,226,242,139, 93,204,106, 0,106,255,129,
|
||||
/* 0x0340 */ 227, 0,240,255,255, 80, 41,222,106, 0,129,198,255, 15, 0, 0,
|
||||
/* 0x0350 */ 129,230, 0,240,255,255, 86, 83,232, 27, 4, 0, 0,139, 77,224,
|
||||
/* 0x0360 */ 141, 52, 48,131,196, 24,102,139, 81, 44, 41,216,137,117,240,190,
|
||||
/* 0x0370 */ 0, 0, 0, 0,102,133,210,137, 69,208,117, 20,235, 69, 72, 15,
|
||||
/* 0x0380 */ 132,156, 0, 0, 0, 70, 15,183,194,131,199, 32, 57,240,126, 51,
|
||||
/* 0x0390 */ 139, 7,131,248, 6,117,231,139, 69,220,133,192,116,231,139, 77,
|
||||
/* 0x03a0 */ 208,186, 3, 0, 0, 0, 3, 79, 8,139, 69,216,232,239,254,255,
|
||||
/* 0x03b0 */ 255,139, 69,224, 70,131,199, 32,102,139, 80, 44, 15,183,194, 57,
|
||||
/* 0x03c0 */ 240,127,205,139, 77,220,133,201, 15,132, 56, 2, 0, 0,139, 85,
|
||||
/* 0x03d0 */ 224,102,131,122, 16, 3,116, 9,255,117,240,232,188, 3, 0, 0,
|
||||
/* 0x03e0 */ 88,139, 69, 16,133,192,116, 8,139, 69,208,139, 77, 16,137, 1,
|
||||
/* 0x03f0 */ 139, 85,224,139, 82, 24, 1, 85,208,139, 69,208,141,101,244, 91,
|
||||
/* 0x0400 */ 94, 95,201,195,139, 83, 8, 59, 85,204,115, 3,137, 85,204, 3,
|
||||
/* 0x0410 */ 83, 20, 57,242, 15,134, 25,255,255,255,137,214,233, 18,255,255,
|
||||
/* 0x0420 */ 255,139, 95, 20,133,219, 15,132, 89,255,255,255,139, 69,208,199,
|
||||
/* 0x0430 */ 69,200, 64, 98, 81,115, 3, 71, 8,139, 79, 24,139, 87, 16,131,
|
||||
/* 0x0440 */ 225, 7, 1,195,193,225, 2,137, 93,188,211,109,200,137,193,139,
|
||||
/* 0x0450 */ 93,220,129,225,255, 15, 0, 0,131,101,200, 7,137, 85,232, 1,
|
||||
/* 0x0460 */ 202,137, 69,236, 41,200,133,219,137, 85,196,137, 69,192, 15,132,
|
||||
/* 0x0470 */ 104, 1, 0, 0,106, 0,139, 69,200,106,255,104, 18, 16, 0, 0,
|
||||
/* 0x0480 */ 131,200, 2, 80,137,208,131,192, 3, 80,255,117,192,232,230, 2,
|
||||
/* 0x0490 */ 0, 0,131,196, 24, 59, 69,192, 15,133,204, 0, 0, 0,139, 77,
|
||||
/* 0x04a0 */ 220,133,201,116, 31,246, 69,200, 4,139, 69,212,117, 5,184, 0,
|
||||
/* 0x04b0 */ 0, 0, 0, 80,139, 69,220,255,117,228,141, 85,232,232,194,252,
|
||||
/* 0x04c0 */ 255,255, 88, 90,139, 93,196,247,219,129,227,255, 15, 0, 0,246,
|
||||
/* 0x04d0 */ 69,200, 2,116, 14,139, 69,192, 3, 69,196,133,219, 15,133,142,
|
||||
/* 0x04e0 */ 0, 0, 0,139, 69,220,133,192,116, 30,131, 63, 1, 15,132,139,
|
||||
/* 0x04f0 */ 0, 0, 0,255,117,200,255,117,196,255,117,192,232,184, 2, 0,
|
||||
/* 0x0500 */ 0,131,196, 12,133,192,117, 98,139, 69,196, 1,216,139, 93,192,
|
||||
/* 0x0510 */ 1,195, 59, 93,188,114, 48,139, 69,220,133,192,116, 29,139, 69,
|
||||
/* 0x0520 */ 196,131,192, 3, 37,255, 15, 0, 0,131,248, 3, 15,135,127,254,
|
||||
/* 0x0530 */ 255,255, 80, 83,232,124, 2, 0, 0, 91, 88,139, 77,224,102,139,
|
||||
/* 0x0540 */ 81, 44,233, 62,254,255,255,106, 0,106,255,104, 18, 16, 0, 0,
|
||||
/* 0x0550 */ 255,117,200, 41, 93,188,255,117,188, 83,232, 25, 2, 0, 0,131,
|
||||
/* 0x0560 */ 196, 24, 57,216, 15,132, 71,254,255,255,106,127,232, 44, 2, 0,
|
||||
/* 0x0570 */ 0,137,217,198, 0, 0, 64,226,250,233,101,255,255,255,246, 71,
|
||||
/* 0x0580 */ 24, 1, 15,132,107,255,255,255,139, 87, 20,139, 79, 8,137, 77,
|
||||
/* 0x0590 */ 184, 1,209,137, 77,180, 3, 77,208, 59, 87, 16,116,126,107, 69,
|
||||
/* 0x05a0 */ 208, 52,139, 85,184,141, 76, 2, 12,139, 71, 4,133,192,117, 15,
|
||||
/* 0x05b0 */ 139, 1, 61,205,128,201,195,116, 6,199, 1,205,128,201,195,133,
|
||||
/* 0x05c0 */ 201, 15,132, 44,255,255,255,139, 69,216,186, 0, 0, 0, 0,131,
|
||||
/* 0x05d0 */ 224,254,232,201,252,255,255,233, 23,255,255,255,139, 71, 4, 41,
|
||||
/* 0x05e0 */ 200, 80,255,117,228,106, 18,255,117,200,255,117,196,255,117,192,
|
||||
/* 0x05f0 */ 232,131, 1, 0, 0,131,196, 24, 59, 69,192, 15,132,195,254,255,
|
||||
/* 0x0600 */ 255,233,100,255,255,255,255,117,228,232,163, 1, 0, 0, 90,133,
|
||||
/* 0x0610 */ 192, 15,132,202,253,255,255,233, 78,255,255,255,137,200,247,216,
|
||||
/* 0x0620 */ 37,255, 15, 0, 0,131,248, 3,119,134,233,111,255,255,255, 85,
|
||||
/* 0x0630 */ 137,229, 87, 86, 83,131,236, 16,141, 85, 24,139, 69, 8,106, 0,
|
||||
/* 0x0640 */ 139,117, 16,137, 69,236,139, 69, 28, 86,139, 93, 32,137, 69,228,
|
||||
/* 0x0650 */ 137,199,141, 70, 2,131,199, 52,137, 69,232,141, 69, 32,232, 33,
|
||||
/* 0x0660 */ 251,255,255,139, 69, 12,185, 0, 16, 0, 0,186, 6, 0, 0, 0,
|
||||
/* 0x0670 */ 137, 69, 32,139, 69,236, 41, 93, 36,232, 34,252,255,255,139, 69,
|
||||
/* 0x0680 */ 228,186, 5, 0, 0, 0, 15,183, 72, 44,139, 69,236,232, 14,252,
|
||||
/* 0x0690 */ 255,255,139, 69,228,186, 4, 0, 0, 0, 15,183, 72, 42,139, 69,
|
||||
/* 0x06a0 */ 236,232,250,251,255,255,139, 77, 40, 3, 79, 8,186, 3, 0, 0,
|
||||
/* 0x06b0 */ 0,139, 69,236,131,193, 52,232,228,251,255,255,141, 69,240,255,
|
||||
/* 0x06c0 */ 117,232, 80,139, 85,228,255,117,236,141, 69, 32, 80,137,240,232,
|
||||
/* 0x06d0 */ 255,251,255,255,186, 9, 0, 0, 0,137,193,137,195,139, 69,236,
|
||||
/* 0x06e0 */ 232,187,251,255,255,139, 69,228,131,196, 24,186, 0, 0, 0, 0,
|
||||
/* 0x06f0 */ 102,139, 72, 44,102,133,201,116, 16,131, 63, 3,116, 21, 66, 15,
|
||||
/* 0x0700 */ 183,193,131,199, 32, 57,208,127,240,141,101,244,137,216, 91, 94,
|
||||
/* 0x0710 */ 95,201,195,106, 0,139, 69,240,106, 0, 3, 71, 8, 80,232,138,
|
||||
/* 0x0720 */ 0, 0, 0,131,196, 12,133,192,137,195,120, 24,104, 0, 2, 0,
|
||||
/* 0x0730 */ 0,255,117,228, 80,232,107, 0, 0, 0,131,196, 12, 61, 0, 2,
|
||||
/* 0x0740 */ 0, 0,116, 7,106,127,232, 82, 0, 0, 0,141, 69,240,139, 85,
|
||||
/* 0x0750 */ 228,106, 0, 80,137,216,106, 0,106, 0,232,116,251,255,255,139,
|
||||
/* 0x0760 */ 77,240,137,195,139, 69,236,186, 7, 0, 0, 0,232, 47,251,255,
|
||||
/* 0x0770 */ 255,131,196, 16,235,147, 0, 0, 85,137,229, 49,192, 80,255,117,
|
||||
/* 0x0780 */ 28, 80,255,117, 24,255,117, 20,255,117, 16,255,117, 12,255,117,
|
||||
/* 0x0790 */ 8, 80,176,197, 80, 80,176,198,205,128,201,195,195,176, 1, 15,
|
||||
/* 0x07a0 */ 182,192,205,128,195,176, 3,235,246,176, 4,235,242,176, 5,235,
|
||||
/* 0x07b0 */ 238,176, 6,235,234,176, 73,235,230,176, 74,235,226,176, 33,235,
|
||||
/* 0x07c0 */ 222,176, 20,235,218,176, 92,235,214,176, 59,235,210,176, 2,235,
|
||||
/* 0x07d0 */ 206,176,130,235,202,176,116,235,198,176,240,235,194,176, 10,235,
|
||||
/* 0x07e0 */ 190,176, 7,235,186
|
||||
};
|
||||
|
||||
Generated
+47
-47
@@ -33,8 +33,8 @@
|
||||
/* clang-format off */
|
||||
|
||||
#define STUB_I386_BSD_ELF_EXECVE_FOLD_SIZE 1031
|
||||
#define STUB_I386_BSD_ELF_EXECVE_FOLD_ADLER32 0x73c799a0
|
||||
#define STUB_I386_BSD_ELF_EXECVE_FOLD_CRC32 0xef2fbdb2
|
||||
#define STUB_I386_BSD_ELF_EXECVE_FOLD_ADLER32 0x978c9983
|
||||
#define STUB_I386_BSD_ELF_EXECVE_FOLD_CRC32 0x28f950a1
|
||||
|
||||
unsigned char stub_i386_bsd_elf_execve_fold[1031] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 9, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@@ -46,53 +46,53 @@ unsigned char stub_i386_bsd_elf_execve_fold[1031] = {
|
||||
/* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0070 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0080 */ 88,137,225,141, 84,132, 4,139,123, 24,141,179,128, 0, 0, 0,
|
||||
/* 0x0090 */ 41,247,141, 93, 2, 96,232,184, 0, 0, 0,244, 83,137,195,139,
|
||||
/* 0x0090 */ 41,247,141, 93, 2, 96,232,188, 0, 0, 0,244, 83,137,195,139,
|
||||
/* 0x00a0 */ 76, 36, 8,136,208,131,224, 31, 60, 25,118, 3,131,232, 43,131,
|
||||
/* 0x00b0 */ 192, 65, 75,136, 3,137,208,193,232, 5,137,194,226,229, 91,195,
|
||||
/* 0x00c0 */ 85,137,229, 87, 86, 83,131,236, 32,106, 0,106, 0,255,117, 8,
|
||||
/* 0x00d0 */ 232,212, 2, 0, 0,131,196, 12,133,192,137,198,120,105,141, 93,
|
||||
/* 0x00e0 */ 218,199, 69,212, 47,112,114,111,199, 69,216, 99, 47, 0, 0,232,
|
||||
/* 0x00f0 */ 201, 2, 0, 0,137,218,141,125,212,232,230, 2, 0, 0,141, 80,
|
||||
/* 0x0100 */ 4,199, 0, 47,102,100, 47,137,240,232,214, 2, 0, 0,106, 5,
|
||||
/* 0x0110 */ 87,232,163, 2, 0, 0, 90, 61, 85, 80, 88, 50, 89,117, 33,255,
|
||||
/* 0x0120 */ 117, 8,232,178, 2, 0, 0,106, 1,106, 2, 86,232,144, 2, 0,
|
||||
/* 0x0130 */ 0,255,117, 16,255,117, 12, 87,232,136, 2, 0, 0,131,196, 28,
|
||||
/* 0x0140 */ 86,232,103, 2, 0, 0, 88,141,101,244,137,240, 91, 94, 95,201,
|
||||
/* 0x0150 */ 194, 12, 0, 85,137,229, 87, 86, 83,131,236, 92,141,125,228,139,
|
||||
/* 0x0160 */ 69, 16,139,117, 12,137, 69,156,165,165,165,131,109, 8, 12,129,
|
||||
/* 0x0170 */ 125,228, 85, 80, 88, 51,137,117, 12, 15,133,110, 1, 0, 0,141,
|
||||
/* 0x0180 */ 93,215,199, 69,196, 47,116,109,112,199, 69,200, 47,117,112,120,
|
||||
/* 0x0190 */ 232, 40, 2, 0, 0,137,194,106, 4,137,216,141,117,211,232,249,
|
||||
/* 0x01a0 */ 254,255,255,106, 0,137,195,141, 69,172, 51, 93,228,198, 69,215,
|
||||
/* 0x01b0 */ 0, 80,232, 26, 2, 0, 0, 51, 93,172,139, 69,176,106, 7,193,
|
||||
/* 0x01c0 */ 224, 12, 49,195,137,240,137,218,232,207,254,255,255,141, 69,196,
|
||||
/* 0x01d0 */ 80,232, 3, 2, 0, 0,131,196, 20,131,248,254,116, 8,133,192,
|
||||
/* 0x01e0 */ 15,133, 7, 1, 0, 0,104,192, 1, 0, 0,141, 85,196,104,194,
|
||||
/* 0x01f0 */ 0, 0, 0, 82,232,176, 1, 0, 0,255,117,232, 80,137, 69,152,
|
||||
/* 0x0200 */ 232,200, 1, 0, 0,131,196, 20,133,192, 15,133,211, 0, 0, 0,
|
||||
/* 0x0210 */ 106, 0,255,117,152,106, 1,106, 3,255,117,232,106, 0,232, 81,
|
||||
/* 0x0220 */ 1, 0, 0,131,196, 24, 61, 0,240,255,255,137,195, 15,135,176,
|
||||
/* 0x0230 */ 0, 0, 0,139, 69,232,106, 0,106,255, 5,255, 15, 0, 0,104,
|
||||
/* 0x0240 */ 18, 16, 0, 0, 37, 0,240,255,255,106, 3,141, 4, 3,104, 0,
|
||||
/* 0x0250 */ 16, 0, 0, 80,232, 27, 1, 0, 0,131,196, 24,141,125,180,139,
|
||||
/* 0x0260 */ 117, 12,165,165,165,139, 77,180,131,109, 8, 12,133,201,137,117,
|
||||
/* 0x0270 */ 12,139, 85,184,117, 16,129,250, 85, 80, 88, 33,117,101,131,125,
|
||||
/* 0x0280 */ 232, 0,116,109,235, 93, 57,202,119, 89, 59, 85,236,119, 84, 57,
|
||||
/* 0x0290 */ 202,115, 35,141, 69,168,255,117,188, 80, 83, 82,255,117, 12,137,
|
||||
/* 0x02a0 */ 77,168,255, 85,156,131,196, 20,133,192,117, 55,139, 69,180, 57,
|
||||
/* 0x02b0 */ 69,168,117, 47,235, 7,137,223,139,117, 12,243,164,255,117,180,
|
||||
/* 0x02c0 */ 83,232,235, 0, 0, 0,139, 69,180, 41, 69,232, 1,195,139, 69,
|
||||
/* 0x02d0 */ 184, 41, 69, 8, 1, 69, 12,131,125, 8, 0, 95, 88, 15,137,121,
|
||||
/* 0x02e0 */ 255,255,255,141, 69,196, 80,232,237, 0, 0, 0, 94,106,127,235,
|
||||
/* 0x02f0 */ 89,255,117,152,232,180, 0, 0, 0, 91,133,192,117,229,255,117,
|
||||
/* 0x0300 */ 28,255,117, 32,141, 85,196, 82,232,179,253,255,255,133,192,120,
|
||||
/* 0x0310 */ 210,232,179, 0, 0, 0,133,192,117, 53,232,170, 0, 0, 0,133,
|
||||
/* 0x0320 */ 192,117, 37,141, 69,160,106, 0,141,117,196, 80,199, 69,160, 85,
|
||||
/* 0x0330 */ 80, 88, 52,199, 69,164, 0, 0, 0, 0,232,150, 0, 0, 0, 86,
|
||||
/* 0x0340 */ 232,148, 0, 0, 0,131,196, 12,106, 0,232, 74, 0, 0, 0,106,
|
||||
/* 0x0350 */ 0,106, 0,106,255,232,131, 0, 0, 0,255,117, 28,255,117, 32,
|
||||
/* 0x0360 */ 141, 69,196, 80,232, 92, 0, 0, 0,131,196, 24,233,114,255,255,
|
||||
/* 0x0370 */ 255, 0, 0, 0, 85,137,229, 49,192, 80,255,117, 28, 80,255,117,
|
||||
/* 0x00c0 */ 85,137,229, 87, 86, 83,131,236, 32,106, 0,139,125, 8,106, 0,
|
||||
/* 0x00d0 */ 87,232,211, 2, 0, 0,131,196, 12,133,192,137,198,120, 72,141,
|
||||
/* 0x00e0 */ 93,218,199, 69,212, 47,112,114,111,199, 69,216, 99, 47, 0, 0,
|
||||
/* 0x00f0 */ 232,200, 2, 0, 0,137,218,232,232, 2, 0, 0,141, 80, 4,199,
|
||||
/* 0x0100 */ 0, 47,102,100, 47,137,240,232,216, 2, 0, 0,141, 69,212,106,
|
||||
/* 0x0110 */ 5, 80,232,162, 2, 0, 0, 90, 61, 85, 80, 88, 50, 89,116, 19,
|
||||
/* 0x0120 */ 86,232,135, 2, 0, 0, 88,141,101,244,137,240, 91, 94, 95,201,
|
||||
/* 0x0130 */ 194, 12, 0, 87,232,160, 2, 0, 0,106, 1,106, 2, 86,232,126,
|
||||
/* 0x0140 */ 2, 0, 0,255,117, 16,255,117, 12,141, 69,212, 80,232,115, 2,
|
||||
/* 0x0150 */ 0, 0,131,196, 28,235,201, 85,137,229, 87, 86, 83,131,236, 92,
|
||||
/* 0x0160 */ 141,125,228,139, 69, 16,139,117, 12,137, 69,156,165,165,165,131,
|
||||
/* 0x0170 */ 109, 8, 12,129,125,228, 85, 80, 88, 51,137,117, 12, 15,133, 90,
|
||||
/* 0x0180 */ 1, 0, 0,141, 93,215,199, 69,196, 47,116,109,112,199, 69,200,
|
||||
/* 0x0190 */ 47,117,112,120,232, 36, 2, 0, 0,137,194,106, 4,137,216,141,
|
||||
/* 0x01a0 */ 117,211,232,245,254,255,255,106, 0,137,195,141, 69,172, 51, 93,
|
||||
/* 0x01b0 */ 228,198, 69,215, 0, 80,232, 22, 2, 0, 0, 51, 93,172,139, 69,
|
||||
/* 0x01c0 */ 176,106, 7,193,224, 12, 49,195,137,240,137,218,232,203,254,255,
|
||||
/* 0x01d0 */ 255,141, 69,196, 80,232,255, 1, 0, 0,131,196, 20,131,248,254,
|
||||
/* 0x01e0 */ 116, 8,133,192, 15,133,243, 0, 0, 0,104,192, 1, 0, 0,141,
|
||||
/* 0x01f0 */ 85,196,104,194, 0, 0, 0, 82,232,172, 1, 0, 0,255,117,232,
|
||||
/* 0x0200 */ 80,137, 69,152,232,196, 1, 0, 0,131,196, 20,133,192, 15,133,
|
||||
/* 0x0210 */ 191, 0, 0, 0,106, 0,255,117,152,106, 1,106, 3,255,117,232,
|
||||
/* 0x0220 */ 106, 0,232, 77, 1, 0, 0,131,196, 24, 61, 0,240,255,255,137,
|
||||
/* 0x0230 */ 195, 15,135,156, 0, 0, 0,106, 0,139, 69,232,106,255,104, 18,
|
||||
/* 0x0240 */ 16, 0, 0, 5,255, 15, 0, 0,106, 3, 37, 0,240,255,255,104,
|
||||
/* 0x0250 */ 0, 16, 0, 0, 1,216, 80,232, 24, 1, 0, 0,131,196, 24,235,
|
||||
/* 0x0260 */ 42,137,223,139,117, 12,243,164,255,117,180, 83,232, 64, 1, 0,
|
||||
/* 0x0270 */ 0,139, 69,180, 41, 69,232, 1,195,139, 69,184, 41, 69, 8,139,
|
||||
/* 0x0280 */ 125, 8, 1, 69, 12, 88,133,255, 90,120, 72,141,125,180,139,117,
|
||||
/* 0x0290 */ 12,165,165,165,139, 77,180,131,109, 8, 12,133,201,137,117, 12,
|
||||
/* 0x02a0 */ 116, 66,139, 85,184, 57,202,119, 42, 59, 85,236,119, 37, 57,202,
|
||||
/* 0x02b0 */ 115,175,141, 69,168,255,117,188, 80, 83, 82,255,117, 12,137, 77,
|
||||
/* 0x02c0 */ 168,255, 85,156,131,196, 20,133,192,117, 8,139, 69,168, 57, 69,
|
||||
/* 0x02d0 */ 180,116,149,141, 69,196, 80,232,253, 0, 0, 0, 94,106,127,232,
|
||||
/* 0x02e0 */ 181, 0, 0, 0,129,125,184, 85, 80, 88, 33,117,230,139, 77,232,
|
||||
/* 0x02f0 */ 133,201,117,223,255,117,152,232,177, 0, 0, 0, 91,133,192,117,
|
||||
/* 0x0300 */ 210,255,117, 28,255,117, 32,141, 85,196, 82,232,176,253,255,255,
|
||||
/* 0x0310 */ 133,192,120,191,232,176, 0, 0, 0,133,192,116, 31,106, 0,106,
|
||||
/* 0x0320 */ 0,106,255,232,181, 0, 0, 0,255,117, 28,255,117, 32,141, 69,
|
||||
/* 0x0330 */ 196, 80,232,142, 0, 0, 0,131,196, 24,235,151,232,136, 0, 0,
|
||||
/* 0x0340 */ 0,133,192,117, 37,141, 69,160,106, 0,141,117,196, 80,199, 69,
|
||||
/* 0x0350 */ 160, 85, 80, 88, 52,199, 69,164, 0, 0, 0, 0,232,116, 0, 0,
|
||||
/* 0x0360 */ 0, 86,232,114, 0, 0, 0,131,196, 12,106, 0,232, 40, 0, 0,
|
||||
/* 0x0370 */ 0, 0, 0, 0, 85,137,229, 49,192, 80,255,117, 28, 80,255,117,
|
||||
/* 0x0380 */ 24,255,117, 20,255,117, 16,255,117, 12,255,117, 8, 80,176,197,
|
||||
/* 0x0390 */ 80, 80,176,198,205,128,201,195,195,176, 1, 15,182,192,205,128,
|
||||
/* 0x03a0 */ 195,176, 3,235,246,176, 4,235,242,176, 5,235,238,176, 6,235,
|
||||
|
||||
Generated
+223
-1902
File diff suppressed because it is too large
Load Diff
Generated
+973
-136
File diff suppressed because it is too large
Load Diff
Generated
+176
-69
@@ -1,5 +1,5 @@
|
||||
/* i386-linux.elf-so_entry.h
|
||||
created from i386-linux.elf-so_entry.bin, 1295 (0x50f) bytes
|
||||
created from i386-linux.elf-so_entry.bin, 3001 (0xbb9) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@@ -32,14 +32,14 @@
|
||||
|
||||
/* clang-format off */
|
||||
|
||||
#define STUB_I386_LINUX_ELF_SO_ENTRY_SIZE 1295
|
||||
#define STUB_I386_LINUX_ELF_SO_ENTRY_ADLER32 0x9b5a12ef
|
||||
#define STUB_I386_LINUX_ELF_SO_ENTRY_CRC32 0xae0c7724
|
||||
#define STUB_I386_LINUX_ELF_SO_ENTRY_SIZE 3001
|
||||
#define STUB_I386_LINUX_ELF_SO_ENTRY_ADLER32 0x202c422f
|
||||
#define STUB_I386_LINUX_ELF_SO_ENTRY_CRC32 0xe8c600b0
|
||||
|
||||
unsigned char stub_i386_linux_elf_so_entry[1295] = {
|
||||
unsigned char stub_i386_linux_elf_so_entry[3001] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0020 */ 96, 1, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0,
|
||||
/* 0x0020 */ 224, 4, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0,
|
||||
/* 0x0030 */ 8, 0, 5, 0,144, 96,232,252,255,255,255, 1,219,116, 2,243,
|
||||
/* 0x0040 */ 195,139, 30,131,238,252, 17,219,195, 94,102,131,126, 8, 2,116,
|
||||
/* 0x0050 */ 1,244,141, 74,233, 81,139, 6, 80,137,229, 41,196,131,228,248,
|
||||
@@ -55,67 +55,174 @@ unsigned char stub_i386_linux_elf_so_entry[1295] = {
|
||||
/* 0x00f0 */ 106, 5,255,116, 36, 16,106, 0,137,227,106, 90, 88,205,128,131,
|
||||
/* 0x0100 */ 196, 24, 80,137,251,106, 6, 88,205,128, 88, 80,255,224,141, 92,
|
||||
/* 0x0110 */ 36, 4,106, 90, 88,205,128, 61, 0,240,255,255,114, 1,244,194,
|
||||
/* 0x0120 */ 24, 0, 90,232, 17, 0, 0, 0, 0, 46,115,121,109,116, 97, 98,
|
||||
/* 0x0130 */ 0, 46,115,116,114,116, 97, 98, 0, 46,115,104,115,116,114,116,
|
||||
/* 0x0140 */ 97, 98, 0, 46,114,101,108, 69, 76, 70, 77, 65, 73, 78, 88, 0,
|
||||
/* 0x0150 */ 46,114,101,108, 69, 76, 70, 77, 65, 73, 78, 90, 0, 0, 0, 0,
|
||||
/* 0x0160 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0170 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0180 */ 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
|
||||
/* 0x0190 */ 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0,238, 0, 0, 0,
|
||||
/* 0x01a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x01b0 */ 27, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x01c0 */ 232, 2, 0, 0, 8, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0,
|
||||
/* 0x01d0 */ 4, 0, 0, 0, 8, 0, 0, 0, 44, 0, 0, 0, 1, 0, 0, 0,
|
||||
/* 0x01e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 0, 0, 6, 0, 0, 0,
|
||||
/* 0x01f0 */ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0200 */ 40, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0210 */ 240, 2, 0, 0, 8, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0,
|
||||
/* 0x0220 */ 4, 0, 0, 0, 8, 0, 0, 0, 17, 0, 0, 0, 3, 0, 0, 0,
|
||||
/* 0x0230 */ 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 0, 0, 53, 0, 0, 0,
|
||||
/* 0x0240 */ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0250 */ 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0260 */ 160, 2, 0, 0, 64, 0, 0, 0, 7, 0, 0, 0, 4, 0, 0, 0,
|
||||
/* 0x0270 */ 4, 0, 0, 0, 16, 0, 0, 0, 9, 0, 0, 0, 3, 0, 0, 0,
|
||||
/* 0x0280 */ 0, 0, 0, 0, 0, 0, 0, 0,224, 2, 0, 0, 8, 0, 0, 0,
|
||||
/* 0x0290 */ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x02a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x02b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0,
|
||||
/* 0x02c0 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
/* 0x02d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0,
|
||||
/* 0x02e0 */ 0, 95,115,116, 97,114,116, 0, 3, 0, 0, 0, 2, 3, 0, 0,
|
||||
/* 0x02f0 */ 2, 0, 0, 0, 2, 1, 0, 0,102,105,108,101, 32,102,111,114,
|
||||
/* 0x0300 */ 109, 97,116, 32,101,108,102, 51, 50, 45,105, 51, 56, 54, 10, 10,
|
||||
/* 0x0310 */ 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,
|
||||
/* 0x0320 */ 109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101,
|
||||
/* 0x0330 */ 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x0340 */ 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,
|
||||
/* 0x0350 */ 102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10,
|
||||
/* 0x0360 */ 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32,
|
||||
/* 0x0370 */ 32, 32, 48,101,101, 32, 32, 48, 32, 32, 48, 32, 32, 48, 51, 52,
|
||||
/* 0x0380 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
|
||||
/* 0x0390 */ 10, 32, 32, 49, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32,
|
||||
/* 0x03a0 */ 32, 32, 32, 48, 54, 32, 32, 48, 32, 32, 48, 32, 32, 48, 49, 50,
|
||||
/* 0x03b0 */ 50, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
|
||||
/* 0x03c0 */ 83, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10,
|
||||
/* 0x03d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32,
|
||||
/* 0x03e0 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 69, 76, 70, 77,
|
||||
/* 0x03f0 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x0400 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48,
|
||||
/* 0x0410 */ 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x0420 */ 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78,
|
||||
/* 0x0430 */ 90, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 10, 82, 69,
|
||||
/* 0x0440 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83,
|
||||
/* 0x0450 */ 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58,
|
||||
/* 0x0460 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32,
|
||||
/* 0x0470 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85,
|
||||
/* 0x0480 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 51, 32, 82, 95, 51, 56, 54,
|
||||
/* 0x0490 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70,
|
||||
/* 0x04a0 */ 77, 65, 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79,
|
||||
/* 0x04b0 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69,
|
||||
/* 0x04c0 */ 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84,
|
||||
/* 0x04d0 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x04e0 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x04f0 */ 48, 48, 50, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32,
|
||||
/* 0x0500 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10
|
||||
/* 0x0120 */ 24, 0, 0, 0, 85,137,229, 86, 83,131,236, 64,139,117, 8,106,
|
||||
/* 0x0130 */ 64,104,255, 0, 0, 0,141, 93,184, 83,232,252,255,255,255, 83,
|
||||
/* 0x0140 */ 86,232,252,255,255,255,137,194,131,196, 20,133,192,120, 21, 15,
|
||||
/* 0x0150 */ 183, 69,192, 37, 0,240, 0, 0,185, 0, 0, 0, 0, 61, 0, 64,
|
||||
/* 0x0160 */ 0, 0,116, 23,131,250,254,117, 16,104,192, 1, 0, 0, 86,232,
|
||||
/* 0x0170 */ 252,255,255,255,137,194,131,196, 8,137,209,137,200,141,101,248,
|
||||
/* 0x0180 */ 91, 94,201,195,139, 68, 36, 4,137,194,131,226, 31,131,224, 63,
|
||||
/* 0x0190 */ 131,250, 26,118, 12,168, 32,116, 5,131,232, 70,235, 3,131,232,
|
||||
/* 0x01a0 */ 43,131,192, 64,195, 85,137,229, 87, 86, 83,131,236, 20,232, 12,
|
||||
/* 0x01b0 */ 0, 0, 0, 47,100, 97,116, 97, 47,100, 97,116, 97, 47, 0, 90,
|
||||
/* 0x01c0 */ 139, 2,139, 77, 8,137, 1,139, 66, 4,137, 65, 4,102,139, 66,
|
||||
/* 0x01d0 */ 8,102,137, 65, 8,138, 66, 10,136, 65, 10,198, 65, 11, 0, 81,
|
||||
/* 0x01e0 */ 232, 63,255,255,255,131,196, 4,232, 19, 0, 0, 0, 47,112,114,
|
||||
/* 0x01f0 */ 111, 99, 47,115,101,108,102, 47, 99,109,100,108,105,110,101, 0,
|
||||
/* 0x0200 */ 94,185, 0, 0, 0, 0,137,243,137,202,106, 5, 88,205,128,137,
|
||||
/* 0x0210 */ 69,232,139,117, 12,186,255, 15, 0, 0,137,195,137,241,106, 3,
|
||||
/* 0x0220 */ 88,205,128,137,199,139, 93,232,106, 6, 88,205,128,137,248,133,
|
||||
/* 0x0230 */ 255, 15,136,178, 0, 0, 0,198, 4, 62, 0,128, 62, 0,116, 6,
|
||||
/* 0x0240 */ 70,128, 62, 0,117,250,137,240,128, 62, 47,116, 6, 78,128, 62,
|
||||
/* 0x0250 */ 47,117,250, 41,240, 80, 86,139, 69, 8,131,192, 10, 80,232,252,
|
||||
/* 0x0260 */ 255,255,255,137,195,198, 0, 0,255,117, 8,232,180,254,255,255,
|
||||
/* 0x0270 */ 131,196, 16,232, 7, 0, 0, 0, 47, 99, 97, 99,104,101, 0, 90,
|
||||
/* 0x0280 */ 139, 2,137, 3,102,139, 66, 4,102,137, 67, 4,131,195, 6,198,
|
||||
/* 0x0290 */ 3, 0,255,117, 8,232,138,254,255,255,232, 5, 0, 0, 0, 47,
|
||||
/* 0x02a0 */ 117,112,120, 0, 88,139, 0,137, 3,141,115, 4,106, 20, 88,205,
|
||||
/* 0x02b0 */ 128,137,195,137, 4, 36,232,201,254,255,255,136, 6,137,216,193,
|
||||
/* 0x02c0 */ 232, 6,137, 4, 36,232,186,254,255,255,136, 70, 1,137,216,193,
|
||||
/* 0x02d0 */ 232, 12,137, 4, 36,232,170,254,255,255,131,196, 4,136, 70, 2,
|
||||
/* 0x02e0 */ 198, 70, 3, 0,184, 0, 0, 0, 0,141,101,244, 91, 94, 95,201,
|
||||
/* 0x02f0 */ 195, 86, 83,139,116, 36, 12,139, 92, 36, 16,139, 76, 36, 20, 73,
|
||||
/* 0x0300 */ 131,249,255,116, 30,138, 22,131,202, 32, 15,190,210,138, 3,131,
|
||||
/* 0x0310 */ 200, 32, 15,190,192, 67, 70, 41,194,137,208,117, 11, 73,131,249,
|
||||
/* 0x0320 */ 255,117,226,184, 0, 0, 0, 0, 91, 94,195, 85,137,229, 87, 86,
|
||||
/* 0x0330 */ 83,129,236, 44, 16, 0, 0,232, 4, 0, 0, 0,117,112,120, 0,
|
||||
/* 0x0340 */ 91,185, 16, 0, 0, 0,186,100, 1, 0, 0,137,208,205,128,137,
|
||||
/* 0x0350 */ 198,141, 68, 36, 15,131,224,240,137, 69,240,199, 0, 0, 0, 0,
|
||||
/* 0x0360 */ 0, 80,232,252,255,255,255,232, 5, 0, 0, 0, 97,110,100,114,
|
||||
/* 0x0370 */ 0, 88,199, 4, 36, 4, 0, 0, 0,255,117,240, 80,232,111,255,
|
||||
/* 0x0380 */ 255,255,137,199,131,196, 12,133,192,117, 99,131,125, 16, 0,117,
|
||||
/* 0x0390 */ 8,232,252,255,255,255,137, 69, 16,133,255,117, 81,131,254,218,
|
||||
/* 0x03a0 */ 117, 76,131,125, 16, 0,116, 70,139, 85, 16,128, 58, 0,117, 22,
|
||||
/* 0x03b0 */ 255,117,240, 82,232,236,253,255,255,131,196, 8,137,193,133,192,
|
||||
/* 0x03c0 */ 15,136,211, 0, 0, 0,185,194, 0, 0, 0,190,192, 1, 0, 0,
|
||||
/* 0x03d0 */ 139, 93, 16,137,242,106, 5, 88,205,128,137,198,137,193,133,192,
|
||||
/* 0x03e0 */ 15,136,179, 0, 0, 0,139, 93, 16,106, 10, 88,205,128,131,125,
|
||||
/* 0x03f0 */ 12, 0,116,106,133,255,116, 22,137,243,139, 77, 12,106, 93, 88,
|
||||
/* 0x0400 */ 205,128,137,193,133,192, 15,136,141, 0, 0, 0,235, 80,104, 0,
|
||||
/* 0x0410 */ 16, 0, 0,106, 0,255,117,240,232,252,255,255,255,139,125, 12,
|
||||
/* 0x0420 */ 131,196, 12,133,255,116, 41,137,125,216,129,255, 0, 16, 0, 0,
|
||||
/* 0x0430 */ 118, 7,199, 69,216, 0, 16, 0, 0,137,243,139, 77,240,139, 85,
|
||||
/* 0x0440 */ 216,106, 4, 88,205,128, 59, 69,216,117, 64, 43,125,216,117,215,
|
||||
/* 0x0450 */ 185, 0, 0, 0, 0,137,243,137,202,106, 19, 88,205,128,106, 0,
|
||||
/* 0x0460 */ 86,131,125, 8, 1, 25,192,131,224,240,131,192, 17, 80,106, 3,
|
||||
/* 0x0470 */ 255,117, 12,255,117, 8,232,252,255,255,255,137,194,131,196, 24,
|
||||
/* 0x0480 */ 137,193, 61, 0,240,255,255,119, 16,235, 7,185,228,255,255,255,
|
||||
/* 0x0490 */ 235, 7,141, 70, 1,137,193, 9,209,137,200,141,101,244, 91, 94,
|
||||
/* 0x04a0 */ 95,201,195, 90,232, 17, 0, 0, 0, 0, 46,115,121,109,116, 97,
|
||||
/* 0x04b0 */ 98, 0, 46,115,116,114,116, 97, 98, 0, 46,115,104,115,116,114,
|
||||
/* 0x04c0 */ 116, 97, 98, 0, 46,114,101,108, 69, 76, 70, 77, 65, 73, 78, 88,
|
||||
/* 0x04d0 */ 0, 46,114,101,108, 69, 76, 70, 77, 65, 73, 78, 90, 0, 0, 0,
|
||||
/* 0x04e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x04f0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0500 */ 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
|
||||
/* 0x0510 */ 6, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0,111, 4, 0, 0,
|
||||
/* 0x0520 */ 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0530 */ 27, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0540 */ 44, 7, 0, 0, 72, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0,
|
||||
/* 0x0550 */ 4, 0, 0, 0, 8, 0, 0, 0, 44, 0, 0, 0, 1, 0, 0, 0,
|
||||
/* 0x0560 */ 0, 0, 0, 0, 0, 0, 0, 0,163, 4, 0, 0, 6, 0, 0, 0,
|
||||
/* 0x0570 */ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0580 */ 40, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0590 */ 116, 7, 0, 0, 8, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0,
|
||||
/* 0x05a0 */ 4, 0, 0, 0, 8, 0, 0, 0, 17, 0, 0, 0, 3, 0, 0, 0,
|
||||
/* 0x05b0 */ 0, 0, 0, 0, 0, 0, 0, 0,169, 4, 0, 0, 53, 0, 0, 0,
|
||||
/* 0x05c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x05d0 */ 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x05e0 */ 32, 6, 0, 0,192, 0, 0, 0, 7, 0, 0, 0, 4, 0, 0, 0,
|
||||
/* 0x05f0 */ 4, 0, 0, 0, 16, 0, 0, 0, 9, 0, 0, 0, 3, 0, 0, 0,
|
||||
/* 0x0600 */ 0, 0, 0, 0, 0, 0, 0, 0,224, 6, 0, 0, 76, 0, 0, 0,
|
||||
/* 0x0610 */ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0620 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0630 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0,
|
||||
/* 0x0640 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0,
|
||||
/* 0x0650 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
/* 0x0660 */ 8, 0, 0, 0,247, 2, 0, 0,120, 1, 0, 0, 18, 0, 1, 0,
|
||||
/* 0x0670 */ 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
|
||||
/* 0x0680 */ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
|
||||
/* 0x0690 */ 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
|
||||
/* 0x06a0 */ 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
|
||||
/* 0x06b0 */ 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
|
||||
/* 0x06c0 */ 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
|
||||
/* 0x06d0 */ 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
|
||||
/* 0x06e0 */ 0, 95,115,116, 97,114,116, 0,117,112,120, 95,109,109, 97,112,
|
||||
/* 0x06f0 */ 95, 97,110,100, 95,102,100, 0,109,101,109,112, 99,112,121, 0,
|
||||
/* 0x0700 */ 109,109, 97,112, 0,117,110, 97,109,101, 0,103,101,116, 95,117,
|
||||
/* 0x0710 */ 112,120,102,110, 95,112, 97,116,104, 0,109,101,109,115,101,116,
|
||||
/* 0x0720 */ 0,115,116, 97,116, 0,109,107,100,105,114, 0, 3, 0, 0, 0,
|
||||
/* 0x0730 */ 2, 2, 0, 0, 7, 1, 0, 0, 2, 9, 0, 0, 14, 1, 0, 0,
|
||||
/* 0x0740 */ 2, 10, 0, 0, 60, 1, 0, 0, 2, 11, 0, 0, 43, 2, 0, 0,
|
||||
/* 0x0750 */ 2, 5, 0, 0, 47, 3, 0, 0, 2, 7, 0, 0, 94, 3, 0, 0,
|
||||
/* 0x0760 */ 2, 8, 0, 0,229, 3, 0, 0, 2, 9, 0, 0, 67, 4, 0, 0,
|
||||
/* 0x0770 */ 2, 6, 0, 0, 2, 0, 0, 0, 2, 1, 0, 0,102,105,108,101,
|
||||
/* 0x0780 */ 32,102,111,114,109, 97,116, 32,101,108,102, 51, 50, 45,105, 51,
|
||||
/* 0x0790 */ 56, 54, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,
|
||||
/* 0x07a0 */ 120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x07b0 */ 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32,
|
||||
/* 0x07c0 */ 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,105,
|
||||
/* 0x07d0 */ 108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108,
|
||||
/* 0x07e0 */ 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88,
|
||||
/* 0x07f0 */ 32, 32, 32, 32, 32, 32, 48, 52, 54,102, 32, 32, 48, 32, 32, 48,
|
||||
/* 0x0800 */ 32, 32, 48, 51, 52, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78,
|
||||
/* 0x0810 */ 84, 69, 78, 84, 83, 10, 32, 32, 49, 32, 69, 76, 70, 77, 65, 73,
|
||||
/* 0x0820 */ 78, 90, 32, 32, 32, 32, 32, 32, 48, 54, 32, 32, 48, 32, 32, 48,
|
||||
/* 0x0830 */ 32, 32, 48, 52, 97, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
|
||||
/* 0x0840 */ 78, 84, 69, 78, 84, 83, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65,
|
||||
/* 0x0850 */ 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x0860 */ 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48,
|
||||
/* 0x0870 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x0880 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65,
|
||||
/* 0x0890 */ 73, 78, 90, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48,
|
||||
/* 0x08a0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x08b0 */ 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 95,115,116, 97,114,
|
||||
/* 0x08c0 */ 116, 10, 48, 48, 48, 48, 48, 50,102, 55, 32,103, 32, 32, 32, 32,
|
||||
/* 0x08d0 */ 32, 70, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 49, 55, 56,
|
||||
/* 0x08e0 */ 32,117,112,120, 95,109,109, 97,112, 95, 97,110,100, 95,102,100,
|
||||
/* 0x08f0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x0900 */ 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,109,101,109,112, 99,112,
|
||||
/* 0x0910 */ 121, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x0920 */ 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,109,109, 97,112, 10,
|
||||
/* 0x0930 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x0940 */ 32, 42, 85, 78, 68, 42, 32, 48, 32,117,110, 97,109,101, 10, 48,
|
||||
/* 0x0950 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x0960 */ 42, 85, 78, 68, 42, 32, 48, 32,103,101,116, 95,117,112,120,102,
|
||||
/* 0x0970 */ 110, 95,112, 97,116,104, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x0980 */ 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,
|
||||
/* 0x0990 */ 109,101,109,115,101,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x09a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,
|
||||
/* 0x09b0 */ 115,116, 97,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32,
|
||||
/* 0x09c0 */ 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,109,107,
|
||||
/* 0x09d0 */ 100,105,114, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32,
|
||||
/* 0x09e0 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70,
|
||||
/* 0x09f0 */ 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32,
|
||||
/* 0x0a00 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x0a10 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x0a20 */ 51, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32,
|
||||
/* 0x0a30 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48,
|
||||
/* 0x0a40 */ 48, 48, 49, 48, 55, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50,
|
||||
/* 0x0a50 */ 32, 32, 32, 32, 32, 32, 32, 32,109,101,109,115,101,116, 10, 48,
|
||||
/* 0x0a60 */ 48, 48, 48, 48, 49, 48,101, 32, 82, 95, 51, 56, 54, 95, 80, 67,
|
||||
/* 0x0a70 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,115,116, 97,116, 10, 48,
|
||||
/* 0x0a80 */ 48, 48, 48, 48, 49, 51, 99, 32, 82, 95, 51, 56, 54, 95, 80, 67,
|
||||
/* 0x0a90 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,109,107,100,105,114, 10,
|
||||
/* 0x0aa0 */ 48, 48, 48, 48, 48, 50, 50, 98, 32, 82, 95, 51, 56, 54, 95, 80,
|
||||
/* 0x0ab0 */ 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,109,101,109,112, 99,
|
||||
/* 0x0ac0 */ 112,121, 10, 48, 48, 48, 48, 48, 51, 50,102, 32, 82, 95, 51, 56,
|
||||
/* 0x0ad0 */ 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,117,110,
|
||||
/* 0x0ae0 */ 97,109,101, 10, 48, 48, 48, 48, 48, 51, 53,101, 32, 82, 95, 51,
|
||||
/* 0x0af0 */ 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,103,
|
||||
/* 0x0b00 */ 101,116, 95,117,112,120,102,110, 95,112, 97,116,104, 10, 48, 48,
|
||||
/* 0x0b10 */ 48, 48, 48, 51,101, 53, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51,
|
||||
/* 0x0b20 */ 50, 32, 32, 32, 32, 32, 32, 32, 32,109,101,109,115,101,116, 10,
|
||||
/* 0x0b30 */ 48, 48, 48, 48, 48, 52, 52, 51, 32, 82, 95, 51, 56, 54, 95, 80,
|
||||
/* 0x0b40 */ 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,109,109, 97,112, 10,
|
||||
/* 0x0b50 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79,
|
||||
/* 0x0b60 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78,
|
||||
/* 0x0b70 */ 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80,
|
||||
/* 0x0b80 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86,
|
||||
/* 0x0b90 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 50, 32, 82, 95,
|
||||
/* 0x0ba0 */ 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x0bb0 */ 69, 76, 70, 77, 65, 73, 78, 88, 10
|
||||
};
|
||||
|
||||
Generated
+66
-64
@@ -1,5 +1,5 @@
|
||||
/* i386-linux.elf.execve-fold.h
|
||||
created from i386-linux.elf.execve-fold.bin, 1095 (0x447) bytes
|
||||
created from i386-linux.elf.execve-fold.bin, 1135 (0x46f) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@@ -32,78 +32,80 @@
|
||||
|
||||
/* clang-format off */
|
||||
|
||||
#define STUB_I386_LINUX_ELF_EXECVE_FOLD_SIZE 1095
|
||||
#define STUB_I386_LINUX_ELF_EXECVE_FOLD_ADLER32 0xd19cb5b7
|
||||
#define STUB_I386_LINUX_ELF_EXECVE_FOLD_CRC32 0xc7a67867
|
||||
#define STUB_I386_LINUX_ELF_EXECVE_FOLD_SIZE 1135
|
||||
#define STUB_I386_LINUX_ELF_EXECVE_FOLD_ADLER32 0xdc72c842
|
||||
#define STUB_I386_LINUX_ELF_EXECVE_FOLD_CRC32 0xf94d4195
|
||||
|
||||
unsigned char stub_i386_linux_elf_execve_fold[1095] = {
|
||||
unsigned char stub_i386_linux_elf_execve_fold[1135] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 2, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 16, 64, 0,
|
||||
/* 0x0040 */ 0, 16, 64, 0, 71, 4, 0, 0, 72, 4, 0, 0, 5, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0, 71, 4, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 0, 16, 64, 0,111, 4, 0, 0,112, 4, 0, 0, 5, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,111, 4, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0070 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0080 */ 88,137,225,141, 84,132, 4,139,123, 24,141,179,128, 0, 0, 0,
|
||||
/* 0x0090 */ 41,247,141, 93, 2, 96,232, 39, 1, 0, 0,244, 83,141, 92, 36,
|
||||
/* 0x0090 */ 41,247,141, 93, 2, 96,232, 43, 1, 0, 0,244, 83,141, 92, 36,
|
||||
/* 0x00a0 */ 8,106, 90, 88,205,128, 91,195, 83,137,195,139, 76, 36, 8,136,
|
||||
/* 0x00b0 */ 208,131,224, 31, 60, 25,118, 3,131,232, 43,131,192, 65, 75,136,
|
||||
/* 0x00c0 */ 3,137,208,193,232, 5,137,194,226,229, 91,195, 85,137,229, 87,
|
||||
/* 0x00d0 */ 86, 49,255, 83,137,249,131,236, 96,137,250,139, 93, 8,106, 5,
|
||||
/* 0x00e0 */ 88,205,128,133,192,137,198, 15,136,199, 0, 0, 0,199, 69,212,
|
||||
/* 0x00f0 */ 47,112,114,111,199, 69,216, 99, 47, 0, 0,106, 20, 88,205,128,
|
||||
/* 0x0100 */ 141, 85,218,141, 93,212,232, 25, 3, 0, 0,141, 80, 4,199, 0,
|
||||
/* 0x0110 */ 47,102,100, 47,137,240,232, 9, 3, 0, 0,186, 1, 0, 0, 0,
|
||||
/* 0x0120 */ 106, 33, 88,106, 5, 89,205,128, 61, 85, 80, 88, 50,117,126,139,
|
||||
/* 0x0130 */ 93, 8,106, 10, 88,205,128,185, 2, 0, 0, 0,137,243,106, 55,
|
||||
/* 0x0140 */ 88,205,128,141, 93,212,139, 77, 12,139, 85, 16,106, 11, 88,205,
|
||||
/* 0x0150 */ 128,186, 2, 0, 0, 0,137,243,137,249,106, 19, 88,205,128,106,
|
||||
/* 0x0160 */ 0,137,199, 86,106, 2,106, 3, 80,106, 0,232, 44,255,255,255,
|
||||
/* 0x0170 */ 131,196, 24,137, 69,152,185,193, 0, 0, 0,186,192, 1, 0, 0,
|
||||
/* 0x0180 */ 139, 93, 8,106, 5, 88,205,128,137, 69,148,137,195,139, 77,152,
|
||||
/* 0x0190 */ 137,250,106, 4, 88,205,128, 57,199,116, 10,106,127, 91,106, 1,
|
||||
/* 0x01a0 */ 88,205,128,235,254,139, 93,148,106, 6, 88,205,128,137,243,106,
|
||||
/* 0x01b0 */ 6, 88,205,128,141,101,244,137,240, 91, 94, 95,201,194, 12, 0,
|
||||
/* 0x01c0 */ 204,195, 85,137,229, 87, 86, 83,131,236,124,141,125,228,139, 69,
|
||||
/* 0x01d0 */ 16,139,117, 12,137, 69,156,165,165,165,131,109, 8, 12,129,125,
|
||||
/* 0x01e0 */ 228, 85, 80, 88, 51,137,117, 12,116, 4,106, 11,235,107,199, 69,
|
||||
/* 0x01f0 */ 196, 47,116,109,112,199, 69,200, 47,117,112,120,141, 77,215,106,
|
||||
/* 0x0200 */ 20, 88,205,128,137,194,106, 4,137,200,141,125,211,232,150,254,
|
||||
/* 0x0210 */ 255,255,139, 85,228,198, 69,215, 0, 49,201, 49,208,141, 93,172,
|
||||
/* 0x0220 */ 137, 69,132,106, 78, 88,205,128,139, 85,172,137,248, 49, 85,132,
|
||||
/* 0x0230 */ 139, 85,176,199, 4, 36, 7, 0, 0, 0,141, 93,196,193,226, 12,
|
||||
/* 0x0240 */ 51, 85,132,232, 96,254,255,255, 89,106, 10, 88,205,128,131,248,
|
||||
/* 0x0250 */ 254,116, 17,133,192,116, 13,106, 12,232, 98,255,255,255, 90,233,
|
||||
/* 0x0260 */ 43, 1, 0, 0,185,194, 0, 0, 0,186,192, 1, 0, 0,141, 93,
|
||||
/* 0x0270 */ 196,106, 5, 88,205,128,139, 85,232,137, 69,148,137,195,137,209,
|
||||
/* 0x0280 */ 106, 93, 88,205,128,133,192,116, 7,106, 14,233,137, 1, 0, 0,
|
||||
/* 0x0290 */ 106, 0,255,117,148,106, 1,141,130, 0, 16, 0, 0,106, 3, 80,
|
||||
/* 0x02a0 */ 106, 0,232,245,253,255,255,131,196, 24, 61, 0,240,255,255,137,
|
||||
/* 0x02b0 */ 69,136,118, 7,106, 15,233, 94, 1, 0, 0,139, 69,232,106, 0,
|
||||
/* 0x02c0 */ 106,255, 5,255, 15, 0, 0,106, 50, 37, 0,240,255,255,106, 3,
|
||||
/* 0x02d0 */ 3, 69,136,104, 0, 16, 0, 0, 80,232,190,253,255,255,131,196,
|
||||
/* 0x02e0 */ 24,141,125,180,139,117, 12,165,165,165,139, 77,180,131,109, 8,
|
||||
/* 0x02f0 */ 12,133,201,137,117, 12,139, 85,184,117, 32,129,250, 85, 80, 88,
|
||||
/* 0x0300 */ 33,116, 7,106, 17,233, 15, 1, 0, 0,131,125,232, 0, 15,132,
|
||||
/* 0x0310 */ 133, 0, 0, 0,106, 18,233,254, 0, 0, 0, 57,202,119, 5, 59,
|
||||
/* 0x0320 */ 85,236,118, 7,106, 19,233,238, 0, 0, 0, 57,202,115, 42,141,
|
||||
/* 0x0330 */ 69,168,255,117,188, 80,255,117,136, 82,255,117, 12,137, 77,168,
|
||||
/* 0x0340 */ 255, 85,156,131,196, 20,133,192,117, 8,139, 69,180, 57, 69,168,
|
||||
/* 0x0350 */ 116, 15,106, 20,233,192, 0, 0, 0,139,125,136,139,117, 12,243,
|
||||
/* 0x0360 */ 164,139, 85,180,139, 93,136,137,209,106, 91, 88,205,128,139, 69,
|
||||
/* 0x0370 */ 184, 41, 69, 8, 1, 85,136, 41, 85,232, 1, 69, 12,131,125, 8,
|
||||
/* 0x0380 */ 0, 15,137, 90,255,255,255,141, 93,196,106, 10, 88,205,128,106,
|
||||
/* 0x0390 */ 127, 91,106, 1, 88,205,128,235,254,139, 93,148,106, 6, 88,205,
|
||||
/* 0x03a0 */ 128,133,192,116, 4,106, 22,235,112,255,117, 28,255,117, 32,141,
|
||||
/* 0x03b0 */ 117,196, 86,232, 20,253,255,255,133,192,121, 4,106, 23,235, 89,
|
||||
/* 0x03c0 */ 106, 2, 88,205,128,133,192,117, 52,106, 2, 88,205,128,133,192,
|
||||
/* 0x03d0 */ 137,193,117, 32,199, 69,160, 85, 80, 88, 52,184,162, 0, 0, 0,
|
||||
/* 0x03e0 */ 141, 93,160,199, 69,164, 0, 0, 0, 0,205,128,141, 93,196,106,
|
||||
/* 0x03f0 */ 10, 88,205,128, 49,219,106, 1, 88,205,128,235,254, 49,201,131,
|
||||
/* 0x0400 */ 203,255,137,202,106, 7, 88,205,128,141, 93,196,139, 77, 32,139,
|
||||
/* 0x0410 */ 85, 28,106, 11, 88,205,128,106, 24,232,162,253,255,255, 88,233,
|
||||
/* 0x0420 */ 99,255,255,255, 87,137,215,106, 10,252, 89,232, 5, 0, 0, 0,
|
||||
/* 0x0430 */ 136, 39,151, 95,195,153,247,241, 82,133,192,116, 5,232,243,255,
|
||||
/* 0x0440 */ 255,255, 88, 4, 48,170,195
|
||||
/* 0x00d0 */ 86,191, 0, 0, 0, 0, 83,137,249,131,236, 96,137,250,139, 93,
|
||||
/* 0x00e0 */ 8,106, 5, 88,205,128,133,192,137,198,120, 73,199, 69,212, 47,
|
||||
/* 0x00f0 */ 112,114,111,199, 69,216, 99, 47, 0, 0,106, 20, 88,205,128,141,
|
||||
/* 0x0100 */ 85,218,141, 93,212,232, 66, 3, 0, 0,141, 80, 4,199, 0, 47,
|
||||
/* 0x0110 */ 102,100, 47,137,240,232, 50, 3, 0, 0,186, 1, 0, 0, 0,106,
|
||||
/* 0x0120 */ 33, 88,106, 5, 89,205,128, 61, 85, 80, 88, 50,116, 19,137,243,
|
||||
/* 0x0130 */ 106, 6, 88,205,128,141,101,244,137,240, 91, 94, 95,201,194, 12,
|
||||
/* 0x0140 */ 0,139, 93, 8,106, 10, 88,205,128,185, 2, 0, 0, 0,137,243,
|
||||
/* 0x0150 */ 106, 55, 88,205,128,141, 93,212,139, 77, 12,139, 85, 16,106, 11,
|
||||
/* 0x0160 */ 88,205,128,186, 2, 0, 0, 0,137,243,137,249,106, 19, 88,205,
|
||||
/* 0x0170 */ 128,106, 0,137,199, 86,106, 2,106, 3, 80,106, 0,232, 26,255,
|
||||
/* 0x0180 */ 255,255,131,196, 24,137, 69,152,185,193, 0, 0, 0,186,192, 1,
|
||||
/* 0x0190 */ 0, 0,139, 93, 8,106, 5, 88,205,128,137, 69,148,137,195,139,
|
||||
/* 0x01a0 */ 77,152,137,250,106, 4, 88,205,128, 57,248,116, 10,106,127, 91,
|
||||
/* 0x01b0 */ 106, 1, 88,205,128,235,254,139, 93,148,106, 6, 88,205,128,233,
|
||||
/* 0x01c0 */ 106,255,255,255,204,195, 85,137,229, 87, 86, 83,131,236,120,141,
|
||||
/* 0x01d0 */ 125,228,139, 69, 16,139,117, 12,137, 69,156,165,165,165,131,109,
|
||||
/* 0x01e0 */ 8, 12,129,125,228, 85, 80, 88, 51,137,117, 12, 15,133,203, 1,
|
||||
/* 0x01f0 */ 0, 0,199, 69,196, 47,116,109,112,199, 69,200, 47,117,112,120,
|
||||
/* 0x0200 */ 141, 77,215,106, 20, 88,205,128,137,194,106, 4,137,200,141,125,
|
||||
/* 0x0210 */ 211,232,146,254,255,255,139, 85,228,198, 69,215, 0,185, 0, 0,
|
||||
/* 0x0220 */ 0, 0, 49,208,141, 93,172,137, 69,136,106, 78, 88,205,128,139,
|
||||
/* 0x0230 */ 85,172,137,248, 49, 85,136,139, 85,176,199, 4, 36, 7, 0, 0,
|
||||
/* 0x0240 */ 0,141, 93,196,193,226, 12, 51, 85,136,232, 89,254,255,255, 94,
|
||||
/* 0x0250 */ 106, 10, 88,205,128,131,248,254,116, 8,133,192, 15,133,109, 1,
|
||||
/* 0x0260 */ 0, 0,185,194, 0, 0, 0,186,192, 1, 0, 0,141, 93,196,106,
|
||||
/* 0x0270 */ 5, 88,205,128,139, 85,232,137, 69,148,137,195,137,209,106, 93,
|
||||
/* 0x0280 */ 88,205,128,133,192, 15,133,145, 1, 0, 0,106, 0,255,117,148,
|
||||
/* 0x0290 */ 106, 1,141,130, 0, 16, 0, 0,106, 3, 80,106, 0,232,250,253,
|
||||
/* 0x02a0 */ 255,255,131,196, 24, 61, 0,240,255,255,137, 69,140, 15,135,101,
|
||||
/* 0x02b0 */ 1, 0, 0,139, 69,232,106, 0,106,255, 5,255, 15, 0, 0,106,
|
||||
/* 0x02c0 */ 50, 37, 0,240,255,255,106, 3, 3, 69,140,104, 0, 16, 0, 0,
|
||||
/* 0x02d0 */ 80,232,198,253,255,255,131,196, 24,235, 75,139, 69,184, 57,200,
|
||||
/* 0x02e0 */ 15,135,237, 0, 0, 0, 59, 69,236, 15,135,228, 0, 0, 0, 57,
|
||||
/* 0x02f0 */ 200, 15,130,238, 0, 0, 0,139,125,140,139,117, 12,243,164,139,
|
||||
/* 0x0300 */ 85,180,139, 93,140,137,209,106, 91, 88,205,128,139, 69,184, 41,
|
||||
/* 0x0310 */ 69, 8, 1, 85,140, 41, 85,232,139, 85, 8, 1, 69, 12,133,210,
|
||||
/* 0x0320 */ 15,136,181, 0, 0, 0,141,125,180,139,117, 12,165,165,165,139,
|
||||
/* 0x0330 */ 77,180,131,109, 8, 12,133,201,137,117, 12,117,158,129,125,184,
|
||||
/* 0x0340 */ 85, 80, 88, 33, 15,133,202, 0, 0, 0,139, 77,232,133,201, 15,
|
||||
/* 0x0350 */ 133,242, 0, 0, 0,139, 93,148,106, 6, 88,205,128,133,192, 15,
|
||||
/* 0x0360 */ 133,171, 0, 0, 0,255,117, 28,255,117, 32,141,117,196, 86,232,
|
||||
/* 0x0370 */ 88,253,255,255,133,192, 15,136,199, 0, 0, 0,106, 2, 88,205,
|
||||
/* 0x0380 */ 128,133,192, 15,133,151, 0, 0, 0,106, 2, 88,205,128,133,192,
|
||||
/* 0x0390 */ 137,193,117, 32,199, 69,160, 85, 80, 88, 52,184,162, 0, 0, 0,
|
||||
/* 0x03a0 */ 141, 93,160,199, 69,164, 0, 0, 0, 0,205,128,141, 93,196,106,
|
||||
/* 0x03b0 */ 10, 88,205,128, 49,219,106, 1, 88,205,128,235,254,106, 11,232,
|
||||
/* 0x03c0 */ 0,254,255,255, 91,106,127, 91,106, 1, 88,205,128,235,254,106,
|
||||
/* 0x03d0 */ 12,235,236,106, 19,232,234,253,255,255, 88,141, 93,196,106, 10,
|
||||
/* 0x03e0 */ 88,205,128,235,224,141, 85,168,255,117,188, 82,255,117,140, 80,
|
||||
/* 0x03f0 */ 255,117, 12,137, 77,168,255, 85,156,131,196, 20,133,192,117, 12,
|
||||
/* 0x0400 */ 139, 85,180, 59, 85,168, 15,132,246,254,255,255,106, 20,235,197,
|
||||
/* 0x0410 */ 106, 22,235,193,106, 17,235,189,106, 15,235,185,106, 14,235,181,
|
||||
/* 0x0420 */ 185, 0, 0, 0, 0,187,255,255,255,255,137,202,106, 7, 88,205,
|
||||
/* 0x0430 */ 128,141, 93,196,139, 77, 32,139, 85, 28,106, 11, 88,205,128,106,
|
||||
/* 0x0440 */ 24,235,146,106, 23,235,142,106, 18,235,138, 0, 87,137,215,106,
|
||||
/* 0x0450 */ 10,252, 89,232, 5, 0, 0, 0,136, 39,151, 95,195,153,247,241,
|
||||
/* 0x0460 */ 82,133,192,116, 5,232,243,255,255,255, 88, 4, 48,170,195
|
||||
};
|
||||
|
||||
Generated
+101
-90
@@ -1,5 +1,5 @@
|
||||
/* i386-linux.elf.interp-fold.h
|
||||
created from i386-linux.elf.interp-fold.bin, 1525 (0x5f5) bytes
|
||||
created from i386-linux.elf.interp-fold.bin, 1699 (0x6a3) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@@ -32,105 +32,116 @@
|
||||
|
||||
/* clang-format off */
|
||||
|
||||
#define STUB_I386_LINUX_ELF_INTERP_FOLD_SIZE 1525
|
||||
#define STUB_I386_LINUX_ELF_INTERP_FOLD_ADLER32 0x416b996b
|
||||
#define STUB_I386_LINUX_ELF_INTERP_FOLD_CRC32 0x97caa5e0
|
||||
#define STUB_I386_LINUX_ELF_INTERP_FOLD_SIZE 1699
|
||||
#define STUB_I386_LINUX_ELF_INTERP_FOLD_ADLER32 0x99edeba0
|
||||
#define STUB_I386_LINUX_ELF_INTERP_FOLD_CRC32 0x216ca19d
|
||||
|
||||
unsigned char stub_i386_linux_elf_interp_fold[1525] = {
|
||||
unsigned char stub_i386_linux_elf_interp_fold[1699] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 2, 0, 3, 0, 1, 0, 0, 0,116, 0, 1, 0, 52, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
|
||||
/* 0x0040 */ 0, 0, 1, 0,245, 5, 0, 0,248, 5, 0, 0, 5, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,245, 5, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 0, 0, 1, 0,163, 6, 0, 0,164, 6, 0, 0, 5, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,163, 6, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0070 */ 0, 16, 0, 0, 93, 89, 88,141,124,132, 4, 80, 41,192,175,117,
|
||||
/* 0x0080 */ 253,175,137,254,139, 6,131,248, 3,116, 8,131,198, 8,131,248,
|
||||
/* 0x0090 */ 0,117,241,139, 94, 4, 83,129,236, 0, 10, 0, 0,137,226, 81,
|
||||
/* 0x00a0 */ 141, 67, 88,139,115, 24, 41,198,139, 24,139, 72, 4,131,193, 12,
|
||||
/* 0x00b0 */ 96,232, 68, 4, 0, 0,129,196, 36, 10, 0, 0, 91, 80,139, 75,
|
||||
/* 0x00b0 */ 96,232,233, 4, 0, 0,129,196, 36, 10, 0, 0, 91, 80,139, 75,
|
||||
/* 0x00c0 */ 20,139, 91, 8,184, 91, 0, 0, 0,205,128, 41,192, 41,201, 41,
|
||||
/* 0x00d0 */ 210, 41,219, 41,237, 41,246, 41,255,195, 83,141, 92, 36, 8,106,
|
||||
/* 0x00e0 */ 90, 88,205,128, 91,195, 0, 0, 87, 86,137,206, 83,137,195, 57,
|
||||
/* 0x00f0 */ 8,139,120, 4,115, 10,106,127, 91,106, 1, 88,205,128,235,254,
|
||||
/* 0x0100 */ 133,201,116, 8,138, 7, 71,136, 2, 66,226,248, 1,115, 4, 41,
|
||||
/* 0x0110 */ 51, 91, 94, 95,195, 85,137,229, 87, 86,137,198, 83,137,211,131,
|
||||
/* 0x0120 */ 236, 20,139,125, 12,131, 58, 0, 15,132,185, 0, 0, 0,141, 85,
|
||||
/* 0x0130 */ 228,185, 12, 0, 0, 0,137,240,232,171,255,255,255,139, 69,228,
|
||||
/* 0x0140 */ 139, 77,232,133,192,117, 19,129,249, 85, 80, 88, 33,117, 15,131,
|
||||
/* 0x0150 */ 62, 0, 15,132,143, 0, 0, 0,235, 4,133,201,117, 10,106,127,
|
||||
/* 0x0160 */ 91,106, 1, 88,205,128,235,254, 57,193,119,242, 59, 3,119,238,
|
||||
/* 0x0170 */ 57,193,115, 86,137, 69,224, 15,182, 69,236, 80,255, 85, 8, 90,
|
||||
/* 0x0180 */ 141, 85,224,255,117,236, 82,255,115, 4,255,117,232,255,118, 4,
|
||||
/* 0x0190 */ 255, 16,131,196, 20,133,192,117,197,139, 69,228, 57, 69,224,117,
|
||||
/* 0x01a0 */ 189,138, 69,237,132,192,116, 24, 15,182,192, 80,255,215, 15,182,
|
||||
/* 0x01b0 */ 85,238,137, 20, 36,255,117,224,255,115, 4,255, 16,131,196, 12,
|
||||
/* 0x01c0 */ 139, 69,232, 1, 70, 4, 41, 6,235, 10,139, 83, 4,137,240,232,
|
||||
/* 0x01d0 */ 20,255,255,255,139, 85,228,139, 3, 1, 83, 4, 41,208,133,192,
|
||||
/* 0x01e0 */ 137, 3,233, 65,255,255,255,141,101,244, 91, 94, 95,201,195,133,
|
||||
/* 0x01f0 */ 210,137,209,116, 6,198, 0, 0, 64,226,250,195,133,192, 83,137,
|
||||
/* 0x0200 */ 195,116, 35,168, 1,117, 31,139, 3, 57,208,116, 9,131,248, 1,
|
||||
/* 0x0210 */ 117, 11,133,210,116, 11,137, 19,137, 75, 4,235, 9,133,192,116,
|
||||
/* 0x0220 */ 5,131,195, 8,235,225, 91,195, 85,137,229, 87, 86, 83,131,236,
|
||||
/* 0x0230 */ 84,137, 69,228,139, 69, 8,137, 85,224,139, 77, 16,137, 69,220,
|
||||
/* 0x0240 */ 3, 64, 28,139, 93,220,137, 77,212,139, 85, 12,137, 69,208, 49,
|
||||
/* 0x0250 */ 192,102,131,123, 16, 3,137, 85,216, 15,183, 75, 44,139, 85,208,
|
||||
/* 0x0260 */ 15,149,192,131,206,255,193,224, 4,131,192, 34, 49,219,137, 69,
|
||||
/* 0x0270 */ 184,137,200, 49,255, 72,120, 31,131, 58, 1,117, 21,139, 66, 8,
|
||||
/* 0x0280 */ 57,240,115, 5,137,198,139,122, 16, 3, 66, 20, 57,195,115, 2,
|
||||
/* 0x0290 */ 137,195,131,194, 32,226,225,137,240,129,230, 0,240,255,255,106,
|
||||
/* 0x02a0 */ 0, 41,243,106, 0, 37,255, 15, 0, 0,137,117,188,141,179,255,
|
||||
/* 0x02b0 */ 15, 0, 0,255,117,184,129,230, 0,240,255,255,106, 7, 86,255,
|
||||
/* 0x02c0 */ 117,188,141,188, 7,255, 15, 0, 0,232, 12,254,255,255,129,231,
|
||||
/* 0x02d0 */ 0,240,255,255,137,194,137,195, 1,242, 41,254,131,196, 24,137,
|
||||
/* 0x02e0 */ 69,172,137, 85,240, 1,251,137,241,106, 91, 88,205,128,139, 69,
|
||||
/* 0x02f0 */ 220,199, 69,196, 0, 0, 0, 0,139, 93,172, 43, 93,188,102,131,
|
||||
/* 0x0300 */ 120, 44, 0,137, 93,204, 15,132,180, 1, 0, 0,139, 85,208,139,
|
||||
/* 0x0310 */ 2,131,248, 6,117, 24,139, 77,204, 3, 74, 8,186, 3, 0, 0,
|
||||
/* 0x0320 */ 0,139, 69,212,232,211,254,255,255,233,123, 1, 0, 0, 72, 15,
|
||||
/* 0x0330 */ 133,116, 1, 0, 0,139, 93,208,199, 69,192, 64, 98, 81,115,139,
|
||||
/* 0x0340 */ 75, 24,139, 67, 8,131,225, 7,139, 83, 16,193,225, 2,137, 69,
|
||||
/* 0x0350 */ 236,211,109,192,137,193, 3, 75, 20,137,195,129,227,255, 15, 0,
|
||||
/* 0x0360 */ 0,137, 85,232,141, 60, 26,139, 85,204, 41,216,131,101,192, 7,
|
||||
/* 0x0370 */ 1,209,141, 52, 16,137, 77,176,139, 77,208,139, 65, 4, 41,216,
|
||||
/* 0x0380 */ 131,125,216, 1, 80,255,117,228, 25,192,131,224,224,131,192, 50,
|
||||
/* 0x0390 */ 131,125,216, 0, 80,137,248,106, 3,116, 3,141, 71, 3, 80, 86,
|
||||
/* 0x03a0 */ 232, 53,253,255,255,131,196, 24, 57,198, 15,133,170, 0, 0, 0,
|
||||
/* 0x03b0 */ 131,125,216, 0,116, 19,255,117,224,255,117,228,139, 69,216,141,
|
||||
/* 0x03c0 */ 85,232,232, 78,253,255,255, 89, 88,137,218,137,251,137,240,247,
|
||||
/* 0x03d0 */ 219,232, 25,254,255,255,129,227,255, 15, 0, 0,141, 4, 62,137,
|
||||
/* 0x03e0 */ 218,137, 93,180,232, 6,254,255,255,131,125,216, 0,116, 91,139,
|
||||
/* 0x03f0 */ 69,208,131, 56, 1,117, 83,246, 64, 24, 1,116, 77,139, 93,208,
|
||||
/* 0x0400 */ 137,194,139, 64, 20, 59, 67, 16,139, 82, 8,141, 12, 16,117, 14,
|
||||
/* 0x0410 */ 137,200,247,216, 37,255, 15, 0, 0,131,248, 3,119, 12,139, 69,
|
||||
/* 0x0420 */ 208,141, 74, 12,131,120, 4, 0,117, 15,139, 1, 61,205,128, 97,
|
||||
/* 0x0430 */ 195,116, 6,199, 1,205,128, 97,195,133,201,116, 13,139, 69,212,
|
||||
/* 0x0440 */ 49,210,131,224,254,232,178,253,255,255,137,243,137,249,139, 85,
|
||||
/* 0x0450 */ 192,106,125, 88,205,128,133,192,116, 10,106,127, 91,106, 1, 88,
|
||||
/* 0x0460 */ 205,128,235,254,139, 85,180,141, 4, 23,141, 28, 6, 59, 93,176,
|
||||
/* 0x0470 */ 115, 30,106, 0,106, 0,106, 50,255,117,192, 41, 93,176,255,117,
|
||||
/* 0x0480 */ 176, 83,232, 83,252,255,255,131,196, 24, 57,195,116, 27,235,202,
|
||||
/* 0x0490 */ 131,125,216, 0,116, 19,141, 79, 3,129,225,255, 15, 0, 0,131,
|
||||
/* 0x04a0 */ 249, 3,119, 5,106, 91, 88,205,128,139, 77,220,255, 69,196, 15,
|
||||
/* 0x04b0 */ 183, 65, 44,131, 69,208, 32, 57, 69,196, 15,140, 76,254,255,255,
|
||||
/* 0x04c0 */ 131,125,216, 0,117, 14,139, 93,228,106, 6, 88,205,128,133,192,
|
||||
/* 0x04d0 */ 116, 20,235,134,139, 69,220,102,131,120, 16, 3,116, 8,139, 93,
|
||||
/* 0x04e0 */ 240,106, 45, 88,205,128,139, 85,220,139, 82, 24, 1, 85,204,139,
|
||||
/* 0x04f0 */ 69,204,141,101,244, 91, 94, 95,201,195, 85,137,229, 87, 86, 83,
|
||||
/* 0x0500 */ 131,236, 16,141, 85, 24,139,125, 20,255,117, 40,141, 71, 52,139,
|
||||
/* 0x0510 */ 93, 8,255,117, 16,137, 69,240,139,117, 32,141, 69, 32,232,242,
|
||||
/* 0x0520 */ 251,255,255,139, 85,240,139, 69, 12,139, 74, 8,186, 3, 0, 0,
|
||||
/* 0x0530 */ 0,137, 69, 32,137,216,131,193, 52, 41,117, 36,232,187,252,255,
|
||||
/* 0x0540 */ 255, 15,183, 79, 42,137,216,186, 4, 0, 0, 0,232,171,252,255,
|
||||
/* 0x0550 */ 255, 15,183, 79, 44,137,216,186, 5, 0, 0, 0,232,155,252,255,
|
||||
/* 0x0560 */ 255,139, 79, 24,137,216,186, 9, 0, 0, 0,232,140,252,255,255,
|
||||
/* 0x0570 */ 141, 69, 32, 83,139, 85, 40, 80,139, 69, 16, 87,232,167,252,255,
|
||||
/* 0x0580 */ 255,102,139, 79, 44,131,196, 20, 49,210,102,133,201,137,195,116,
|
||||
/* 0x0590 */ 90,139, 69,240,131, 56, 3,117, 70, 49,201,139, 88, 8,137,202,
|
||||
/* 0x05a0 */ 106, 5, 88,205,128,133,192,137,198,120, 21,186, 0, 2, 0, 0,
|
||||
/* 0x05b0 */ 137,195,137,249,106, 3, 88,205,128, 61, 0, 2, 0, 0,116, 10,
|
||||
/* 0x05c0 */ 106,127, 91,106, 1, 88,205,128,235,254,106, 0, 49,210,106, 0,
|
||||
/* 0x05d0 */ 137,240, 87,232, 80,252,255,255,131,196, 12,137,195,235, 12, 66,
|
||||
/* 0x05e0 */ 15,183,193,131, 69,240, 32, 57,194,124,166,141,101,244,137,216,
|
||||
/* 0x05f0 */ 91, 94, 95,201,195
|
||||
/* 0x00e0 */ 90, 88,205,128, 91,195, 0, 0, 85, 87,137,215, 86,137,206, 83,
|
||||
/* 0x00f0 */ 137,195,139, 19,139, 64, 4, 57,202,137,197,115, 10,106,127, 91,
|
||||
/* 0x0100 */ 106, 1, 88,205,128,235,254,133,201,116, 14,138, 69, 0, 69,136,
|
||||
/* 0x0110 */ 7, 71,226,247,139, 67, 4,139, 19, 1,240, 41,242,137, 67, 4,
|
||||
/* 0x0120 */ 137, 19, 91, 94, 95, 93,195, 85,137,229, 87, 86,137,198, 83,137,
|
||||
/* 0x0130 */ 211,131,236, 20,131, 58, 0,139,125, 8, 15,132,133, 0, 0, 0,
|
||||
/* 0x0140 */ 141, 85,228,137,240,185, 12, 0, 0, 0,232,153,255,255,255,139,
|
||||
/* 0x0150 */ 69,228,133,192, 15,132,160, 0, 0, 0,139, 77,232,133,201, 15,
|
||||
/* 0x0160 */ 132,164, 0, 0, 0, 57,193, 15,135,156, 0, 0, 0, 59, 3, 15,
|
||||
/* 0x0170 */ 135,148, 0, 0, 0, 57,193,115, 84,137, 69,224, 15,182, 69,236,
|
||||
/* 0x0180 */ 80,255,215, 90,141, 85,224,255,117,236, 82,255,115, 4,255,117,
|
||||
/* 0x0190 */ 232,255,118, 4,255, 16,131,196, 20,133,192,117,108,139, 85,228,
|
||||
/* 0x01a0 */ 59, 85,224,117,100,138, 69,237,132,192,117, 48,139, 69,232, 1,
|
||||
/* 0x01b0 */ 70, 4, 41, 6,139, 3, 1, 83, 4, 41,208,137, 3,133,192, 15,
|
||||
/* 0x01c0 */ 133,123,255,255,255,141,101,244, 91, 94, 95,201,195,139, 83, 4,
|
||||
/* 0x01d0 */ 137,240,232, 17,255,255,255,139, 85,228,235,216, 15,182,192, 80,
|
||||
/* 0x01e0 */ 255, 85, 12, 15,182, 85,238,137, 20, 36,255,117,224,255,115, 4,
|
||||
/* 0x01f0 */ 255, 16,139, 85,228,131,196, 12,235,178,129,125,232, 85, 80, 88,
|
||||
/* 0x0200 */ 33,117, 6,139, 14,133,201,116,188,106,127, 91,106, 1, 88,205,
|
||||
/* 0x0210 */ 128,235,254,133,210,116, 8,137,209,198, 0, 0, 64,226,250,195,
|
||||
/* 0x0220 */ 133,192, 83,137,195,116, 33,168, 1,117, 29,139, 3, 57,208,116,
|
||||
/* 0x0230 */ 18,131,248, 1,116, 20,133,192,116, 14,131,195, 8,139, 3, 57,
|
||||
/* 0x0240 */ 208,117,238,137, 19,137, 75, 4, 91,195,133,210,117,245,131,195,
|
||||
/* 0x0250 */ 8,235,234, 85,137,229, 87, 86,191, 0, 0, 0, 0, 83,190, 0,
|
||||
/* 0x0260 */ 0, 0, 0,131,236, 84,137, 69,228,139, 69, 8,137, 85,224,139,
|
||||
/* 0x0270 */ 77, 16,137, 69,220, 3, 64, 28,139, 93,220,137, 77,212,139, 85,
|
||||
/* 0x0280 */ 12,102,131,123, 16, 3,137, 69,208,184, 0, 0, 0, 0, 15,183,
|
||||
/* 0x0290 */ 75, 44,137, 85,216,187,255,255,255,255, 15,149,192,139, 85,208,
|
||||
/* 0x02a0 */ 193,224, 4,131,192, 34,137, 69,184,137,200, 72,120, 14,131, 58,
|
||||
/* 0x02b0 */ 1, 15,132,249, 1, 0, 0,131,194, 32,226,242,106, 0,137,216,
|
||||
/* 0x02c0 */ 129,227, 0,240,255,255,106, 0, 41,222,255,117,184,129,198,255,
|
||||
/* 0x02d0 */ 15, 0, 0,106, 7,129,230, 0,240,255,255, 37,255, 15, 0, 0,
|
||||
/* 0x02e0 */ 86, 83,141,188, 7,255, 15, 0, 0,137, 93,188,232,233,253,255,
|
||||
/* 0x02f0 */ 255,129,231, 0,240,255,255,137,194, 1,242,137,195, 41,254,131,
|
||||
/* 0x0300 */ 196, 24,137, 69,172, 1,251,137, 85,240,137,241,106, 91, 88,205,
|
||||
/* 0x0310 */ 128,139, 69,220,139, 93,172,199, 69,196, 0, 0, 0, 0, 43, 93,
|
||||
/* 0x0320 */ 188,102,139, 80, 44,102,133,210,137, 93,204,117, 24,233, 77, 1,
|
||||
/* 0x0330 */ 0, 0,255, 69,196, 15,183,194,131, 69,208, 32, 59, 69,196, 15,
|
||||
/* 0x0340 */ 142, 58, 1, 0, 0,139, 77,208,139, 1,131,248, 6, 15,132,253,
|
||||
/* 0x0350 */ 1, 0, 0, 72,117,220,139, 85,208,199, 69,192, 64, 98, 81,115,
|
||||
/* 0x0360 */ 139, 74, 24,131,225, 7,193,225, 2,211,109,192,137,209,139, 65,
|
||||
/* 0x0370 */ 8,139, 82, 16,137,195,139, 73, 20,129,227,255, 15, 0, 0,137,
|
||||
/* 0x0380 */ 85,232,141, 52, 26,139, 85,204, 1,193,137, 69,236, 1,209, 41,
|
||||
/* 0x0390 */ 216,137, 77,176,139, 77,208,141, 60, 16,139, 85,216,139, 65, 4,
|
||||
/* 0x03a0 */ 131,101,192, 7, 41,216,131,125,216, 1, 80,255,117,228, 25,192,
|
||||
/* 0x03b0 */ 131,224,224,131,192, 50,133,210, 80,137,240,106, 3,116, 3,141,
|
||||
/* 0x03c0 */ 70, 3, 80, 87,232, 17,253,255,255,131,196, 24, 57,248, 15,133,
|
||||
/* 0x03d0 */ 174, 1, 0, 0,139, 77,216,133,201,116, 19,255,117,224,255,117,
|
||||
/* 0x03e0 */ 228,141, 85,232,139, 69,216,232, 59,253,255,255, 88, 90,137,218,
|
||||
/* 0x03f0 */ 137,243,137,248,247,219,232, 24,254,255,255,129,227,255, 15, 0,
|
||||
/* 0x0400 */ 0,141, 4, 55,137,218,137, 93,180,232, 5,254,255,255,139, 69,
|
||||
/* 0x0410 */ 216,133,192,116, 12,139, 69,208,131, 56, 1, 15,132,217, 0, 0,
|
||||
/* 0x0420 */ 0,137,251,137,241,139, 85,192,106,125, 88,205,128,133,192, 15,
|
||||
/* 0x0430 */ 133, 77, 1, 0, 0,139, 85,180,141, 4, 22,141, 28, 7, 59, 93,
|
||||
/* 0x0440 */ 176, 15,130,135, 0, 0, 0,139,125,216,133,255, 15,132, 20, 1,
|
||||
/* 0x0450 */ 0, 0,141, 78, 3,129,225,255, 15, 0, 0,131,249, 3,119, 5,
|
||||
/* 0x0460 */ 106, 91, 88,205,128,139, 77,220,255, 69,196,102,139, 81, 44,131,
|
||||
/* 0x0470 */ 69,208, 32, 15,183,194, 59, 69,196, 15,143,198,254,255,255,139,
|
||||
/* 0x0480 */ 93,216,133,219, 15,132,232, 0, 0, 0,139, 69,220,102,131,120,
|
||||
/* 0x0490 */ 16, 3,116, 8,139, 93,240,106, 45, 88,205,128,139, 85,220,139,
|
||||
/* 0x04a0 */ 82, 24, 1, 85,204,139, 69,204,141,101,244, 91, 94, 95,201,195,
|
||||
/* 0x04b0 */ 139, 66, 8, 57,216,115, 5,137,195,139,122, 16, 3, 66, 20, 57,
|
||||
/* 0x04c0 */ 240, 15,134,240,253,255,255,137,198,233,233,253,255,255,106, 0,
|
||||
/* 0x04d0 */ 106, 0,106, 50,255,117,192, 41, 93,176,255,117,176, 83,232,247,
|
||||
/* 0x04e0 */ 251,255,255,131,196, 24, 57,216, 15,133,148, 0, 0, 0,139, 93,
|
||||
/* 0x04f0 */ 220,102,139, 83, 44,233, 56,254,255,255,246, 64, 24, 1, 15,132,
|
||||
/* 0x0500 */ 29,255,255,255,139, 93,208,137,194,139, 64, 20, 59, 67, 16,139,
|
||||
/* 0x0510 */ 82, 8,141, 12, 16,116,117,139, 69,208,141, 74, 12,139, 64, 4,
|
||||
/* 0x0520 */ 133,192,117, 15,139, 1, 61,205,128, 97,195,116, 6,199, 1,205,
|
||||
/* 0x0530 */ 128, 97,195,133,201, 15,132,230,254,255,255,139, 69,212,186, 0,
|
||||
/* 0x0540 */ 0, 0, 0,131,224,254,232,213,252,255,255,233,209,254,255,255,
|
||||
/* 0x0550 */ 139, 93,208,186, 3, 0, 0, 0,139, 77,204, 3, 75, 8,139, 69,
|
||||
/* 0x0560 */ 212,232,186,252,255,255,139, 69,220,102,139, 80, 44,233,192,253,
|
||||
/* 0x0570 */ 255,255,139, 93,228,106, 6, 88,205,128,133,192, 15,132, 26,255,
|
||||
/* 0x0580 */ 255,255,106,127, 91,106, 1, 88,205,128,235,254,137,200,247,216,
|
||||
/* 0x0590 */ 37,255, 15, 0, 0,131,248, 3,119,138,233,120,255,255,255, 85,
|
||||
/* 0x05a0 */ 137,229, 87, 86, 83,131,236, 16,141, 85, 24,139,125, 20,255,117,
|
||||
/* 0x05b0 */ 40,141, 71, 52,139, 93, 8,255,117, 16,137, 69,240,139,117, 32,
|
||||
/* 0x05c0 */ 141, 69, 32,232, 95,251,255,255,139, 85,240,139, 69, 12,139, 74,
|
||||
/* 0x05d0 */ 8,186, 3, 0, 0, 0,137, 69, 32,137,216,131,193, 52, 41,117,
|
||||
/* 0x05e0 */ 36,232, 58,252,255,255, 15,183, 79, 42,137,216,186, 4, 0, 0,
|
||||
/* 0x05f0 */ 0,232, 42,252,255,255, 15,183, 79, 44,137,216,186, 5, 0, 0,
|
||||
/* 0x0600 */ 0,232, 26,252,255,255,139, 79, 24,137,216,186, 9, 0, 0, 0,
|
||||
/* 0x0610 */ 232, 11,252,255,255,141, 69, 32, 83,139, 85, 40, 80,139, 69, 16,
|
||||
/* 0x0620 */ 87,232, 45,252,255,255,102,139, 79, 44,131,196, 20,137,195,102,
|
||||
/* 0x0630 */ 133,201,186, 0, 0, 0, 0,116, 20,139, 69,240,131, 56, 3,116,
|
||||
/* 0x0640 */ 22, 66, 15,183,193,131, 69,240, 32, 57,208,127,236,141,101,244,
|
||||
/* 0x0650 */ 137,216, 91, 94, 95,201,195,185, 0, 0, 0, 0,139, 88, 8,137,
|
||||
/* 0x0660 */ 202,106, 5, 88,205,128,133,192,137,198,120, 21,186, 0, 2, 0,
|
||||
/* 0x0670 */ 0,137,195,137,249,106, 3, 88,205,128, 61, 0, 2, 0, 0,116,
|
||||
/* 0x0680 */ 10,106,127, 91,106, 1, 88,205,128,235,254,106, 0,186, 0, 0,
|
||||
/* 0x0690 */ 0, 0,106, 0,137,240, 87,232,183,251,255,255,131,196, 12,137,
|
||||
/* 0x06a0 */ 195,235,170
|
||||
};
|
||||
|
||||
Generated
+72
-68
@@ -1,5 +1,5 @@
|
||||
/* i386-linux.elf.shell-fold.h
|
||||
created from i386-linux.elf.shell-fold.bin, 1324 (0x52c) bytes
|
||||
created from i386-linux.elf.shell-fold.bin, 1392 (0x570) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@@ -32,24 +32,24 @@
|
||||
|
||||
/* clang-format off */
|
||||
|
||||
#define STUB_I386_LINUX_ELF_SHELL_FOLD_SIZE 1324
|
||||
#define STUB_I386_LINUX_ELF_SHELL_FOLD_ADLER32 0x62152a92
|
||||
#define STUB_I386_LINUX_ELF_SHELL_FOLD_CRC32 0x427dee0b
|
||||
#define STUB_I386_LINUX_ELF_SHELL_FOLD_SIZE 1392
|
||||
#define STUB_I386_LINUX_ELF_SHELL_FOLD_ADLER32 0xea6047e4
|
||||
#define STUB_I386_LINUX_ELF_SHELL_FOLD_CRC32 0x840b538d
|
||||
|
||||
unsigned char stub_i386_linux_elf_shell_fold[1324] = {
|
||||
unsigned char stub_i386_linux_elf_shell_fold[1392] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 2, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1,
|
||||
/* 0x0040 */ 0, 0, 64, 1, 44, 5, 0, 0, 44, 5, 0, 0, 5, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0, 44, 5, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 0, 0, 64, 1,112, 5, 0, 0,112, 5, 0, 0, 5, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,112, 5, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0070 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0080 */ 137,230,129,236, 80, 1, 0, 0,137,231,173,171,173,171,133,192,
|
||||
/* 0x0090 */ 117,250,173,171,133,192,117,250, 87, 64,106, 82, 89,243,171, 72,
|
||||
/* 0x00a0 */ 171,171, 95,173,133,192,145,173,116, 15,131,249, 42,115,244,137,
|
||||
/* 0x00b0 */ 76,207,248,137, 68,207,252,235,234,129,236, 0, 10, 0, 0,147,
|
||||
/* 0x00c0 */ 139, 10,139, 90, 4,137,198, 96,232,239, 2, 0, 0, 89, 80, 97,
|
||||
/* 0x00c0 */ 139, 10,139, 90, 4,137,198, 96,232, 31, 3, 0, 0, 89, 80, 97,
|
||||
/* 0x00d0 */ 129,196, 0, 10, 0, 0, 89, 90, 82, 65, 86,131,238, 3,102,199,
|
||||
/* 0x00e0 */ 6, 45, 99, 65, 86, 65, 82, 81, 87,141,188, 36, 0,245,255,255,
|
||||
/* 0x00f0 */ 96,137,227,137,252,185,192, 2, 0, 0, 49,192,243,171,137,220,
|
||||
@@ -60,64 +60,68 @@ unsigned char stub_i386_linux_elf_shell_fold[1324] = {
|
||||
/* 0x0140 */ 247, 60, 10,116, 12,141, 78,255,172, 60, 10,117,251,198, 70,255,
|
||||
/* 0x0150 */ 0, 86, 87,227, 1, 81, 85,137,225,106, 11, 88,205,128,247,216,
|
||||
/* 0x0160 */ 147,106, 1, 88,205,128,244, 83,141, 92, 36, 8,106, 90, 88,205,
|
||||
/* 0x0170 */ 128, 91,195, 0, 87, 86, 83,137,195,139,124, 36, 16, 57, 56,139,
|
||||
/* 0x0180 */ 112, 4,115, 10,106,127, 91,106, 1, 88,205,128,235,254,133,255,
|
||||
/* 0x0190 */ 116, 10,137,249,138, 6, 70,136, 2, 66,226,248, 1,123, 4, 41,
|
||||
/* 0x01a0 */ 59, 91, 94, 95,195,133,210,137,209,116, 6,198, 0, 0, 64,226,
|
||||
/* 0x01b0 */ 250,195, 85, 49,201,137,229, 87, 86, 83,137,195,131,236, 52,137,
|
||||
/* 0x01c0 */ 85,240,139, 69, 8,137,202,137, 69,236,106, 5, 88,205,128,133,
|
||||
/* 0x01d0 */ 192,137, 69,232,121, 10,106,127, 91,106, 1, 88,205,128,235,254,
|
||||
/* 0x01e0 */ 186, 0, 2, 0, 0,139, 93,232,139, 77,240,106, 3, 88,205,128,
|
||||
/* 0x01f0 */ 61, 0, 2, 0, 0,117,223,139, 85,240,102,184, 1, 0,102,131,
|
||||
/* 0x0200 */ 122, 18, 3, 15,133,171, 1, 0, 0, 3, 82, 28, 49,192,139, 77,
|
||||
/* 0x0210 */ 240,102,131,121, 16, 3,137, 85,228,137,209,139, 85,240, 15,149,
|
||||
/* 0x0220 */ 192, 15,183, 90, 44,193,224, 4,131,192, 34,131,207,255,137, 69,
|
||||
/* 0x0230 */ 212,137,216, 49,210, 72,120, 33,137,222,131, 57, 1,117, 20,139,
|
||||
/* 0x0240 */ 65, 8, 57,248,115, 2,137,199,139, 89, 20, 1,195, 57,218,115,
|
||||
/* 0x0250 */ 2,137,218,131,193, 32, 78,117,225,246, 69,212, 16,116, 7,137,
|
||||
/* 0x0260 */ 211,106, 45, 88,205,128,137,251,106, 0,129,227, 0,240,255,255,
|
||||
/* 0x0270 */ 106,255, 41,218,255,117,212,141,130,255, 15, 0, 0,106, 7, 37,
|
||||
/* 0x0280 */ 0,240,255,255, 80, 83,232,220,254,255,255,131,196, 24, 41,216,
|
||||
/* 0x0290 */ 199, 69,220, 0, 0, 0, 0,137, 69,224,139, 69,240,102,131,120,
|
||||
/* 0x02a0 */ 44, 0, 15,132,247, 0, 0, 0,139, 85,228,139, 2,131,248, 6,
|
||||
/* 0x02b0 */ 117, 14,139, 66, 8,139, 77,236,137, 65, 20,233,200, 0, 0, 0,
|
||||
/* 0x02c0 */ 72, 15,133,193, 0, 0, 0,139, 93,228,199, 69,216, 64, 98, 81,
|
||||
/* 0x02d0 */ 115,139, 75, 24,139, 67, 8,131,225, 7,193,225, 2,137,194,211,
|
||||
/* 0x02e0 */ 109,216,139, 77,228, 3, 83, 20,137,195,139,121, 16,129,227,255,
|
||||
/* 0x02f0 */ 15, 0, 0,139, 77,224, 41,216, 1,223,131,101,216, 7, 1,202,
|
||||
/* 0x0300 */ 141, 52, 8,137, 85,204,139, 85,228,139, 66, 4, 41,216, 80,255,
|
||||
/* 0x0310 */ 117,232,106, 18,106, 3, 87, 86,232, 74,254,255,255,131,196, 24,
|
||||
/* 0x0320 */ 57,198,117, 48,137,218,137,240,232,120,254,255,255,137,249,247,
|
||||
/* 0x0330 */ 217,141, 4, 62,129,225,255, 15, 0, 0,137,243,137,202,137, 77,
|
||||
/* 0x0340 */ 208,232, 95,254,255,255,137,249,139, 85,216,106,125, 88,205,128,
|
||||
/* 0x0350 */ 133,192,116, 10,106,127, 91,106, 1, 88,205,128,235,254,139, 85,
|
||||
/* 0x0360 */ 208,141, 4, 23,141, 28, 6, 59, 93,204,115, 28,106, 0,106,255,
|
||||
/* 0x0370 */ 106, 50,255,117,216, 41, 93,204,255,117,204, 83,232,230,253,255,
|
||||
/* 0x0380 */ 255,131,196, 24, 57,195,117,204,139, 77,240,255, 69,220, 15,183,
|
||||
/* 0x0390 */ 65, 44,131, 69,228, 32, 57, 69,220, 15,140, 9,255,255,255,139,
|
||||
/* 0x03a0 */ 93,232,106, 6, 88,205,128,133,192,117,169,139, 85,240,139, 69,
|
||||
/* 0x03b0 */ 224, 3, 66, 24,141,101,244, 91, 94, 95,201,195, 85,137,229, 87,
|
||||
/* 0x03c0 */ 86, 83,131,236, 36,141,117, 32,139, 69, 16,141, 93, 24,139, 85,
|
||||
/* 0x03d0 */ 20,137, 69,212,139, 69, 36,139,125, 8,137, 85,208, 5, 85, 80,
|
||||
/* 0x03e0 */ 88, 50,137, 69,240,139, 69,240, 5, 85, 80, 88, 51,131,125, 32,
|
||||
/* 0x03f0 */ 0,137, 69,236, 15,132,140, 0, 0, 0,141, 85,220,137,216,106,
|
||||
/* 0x0400 */ 12,232,110,253,255,255, 88,139, 69,220,139, 77,224,133,192,117,
|
||||
/* 0x0410 */ 15,129,249, 85, 80, 88, 33,117, 11,131, 59, 0,116,104,235, 4,
|
||||
/* 0x0420 */ 133,201,117, 10,106,127, 91,106, 1, 88,205,128,235,254, 57,193,
|
||||
/* 0x0430 */ 119,242, 59, 6,119,238, 57,193,115, 45,137, 69,216,141, 69,216,
|
||||
/* 0x0440 */ 255,117,228, 80,255,118, 4, 81,255,115, 4,255, 85,212,131,196,
|
||||
/* 0x0450 */ 20,133,192,117,207,139, 69,220, 57, 69,216,117,199,139, 69,224,
|
||||
/* 0x0460 */ 1, 67, 4, 41, 3,235, 12,139, 86, 4,137,216, 81,232, 2,253,
|
||||
/* 0x0470 */ 255,255, 89,139, 85,220,139, 6, 1, 86, 4, 41,208,133,192,137,
|
||||
/* 0x0480 */ 6,233,110,255,255,255,139, 69,236,139, 85,208,138, 24,139, 69,
|
||||
/* 0x0490 */ 236,198, 0, 0,139, 69,240, 87,232, 21,253,255,255,137,198,139,
|
||||
/* 0x04a0 */ 69,236,131,254, 1,136, 24,184, 1, 0, 0, 0, 90,116,117,235,
|
||||
/* 0x04b0 */ 18,139, 66, 8,106, 0,139, 85,208,232,244,252,255,255,137,198,
|
||||
/* 0x04c0 */ 88,235, 95,139, 85,208, 49,201,199, 71, 16, 3, 0, 0, 0, 15,
|
||||
/* 0x04d0 */ 183, 66, 42,199, 71, 24, 4, 0, 0, 0,199, 71, 32, 5, 0, 0,
|
||||
/* 0x04e0 */ 0,199, 71, 40, 6, 0, 0, 0,137, 71, 28, 15,183, 66, 44,199,
|
||||
/* 0x04f0 */ 71, 44, 0, 16, 0, 0,137,119, 68,131,194, 52,199, 71, 64, 9,
|
||||
/* 0x0500 */ 0, 0, 0,137, 71, 36,139, 69,208,102,139, 88, 44,102,133,219,
|
||||
/* 0x0510 */ 116, 16,131, 58, 3,116,154, 65, 15,183,195,131,194, 32, 57,193,
|
||||
/* 0x0520 */ 124,240,137,240,141,101,244, 91, 94, 95,201,195
|
||||
/* 0x0170 */ 128, 91,195, 0, 87, 86, 83,137,195,139,124, 36, 16,139, 11,139,
|
||||
/* 0x0180 */ 64, 4, 57,249,137,198,115, 10,106,127, 91,106, 1, 88,205,128,
|
||||
/* 0x0190 */ 235,254,133,255,116, 15,137,249,138, 6, 70,136, 2, 66,226,248,
|
||||
/* 0x01a0 */ 139, 67, 4,139, 11, 1,248, 41,249,137, 67, 4,137, 11, 91, 94,
|
||||
/* 0x01b0 */ 95,195,133,210,116, 8,137,209,198, 0, 0, 64,226,250,195, 85,
|
||||
/* 0x01c0 */ 185, 0, 0, 0, 0,137,229, 87, 86, 83,137,195,131,236, 52,137,
|
||||
/* 0x01d0 */ 85,240,139, 69, 8,137,202,137, 69,236,106, 5, 88,205,128,133,
|
||||
/* 0x01e0 */ 192,137, 69,232,120, 45,186, 0, 2, 0, 0,139, 93,232,139, 77,
|
||||
/* 0x01f0 */ 240,106, 3, 88,205,128, 61, 0, 2, 0, 0,117, 22,139, 85,240,
|
||||
/* 0x0200 */ 102,184, 1, 0,102,131,122, 18, 3,116, 18,141,101,244, 91, 94,
|
||||
/* 0x0210 */ 95,201,195,106,127, 91,106, 1, 88,205,128,235,254, 3, 82, 28,
|
||||
/* 0x0220 */ 184, 0, 0, 0, 0,139, 77,240,191,255,255,255,255,102,131,121,
|
||||
/* 0x0230 */ 16, 3,137, 85,228,137,209,139, 85,240, 15,149,192, 15,183, 90,
|
||||
/* 0x0240 */ 44,193,224, 4,186, 0, 0, 0, 0,131,192, 34,137, 69,212,137,
|
||||
/* 0x0250 */ 216, 72,120, 37,137,222,235, 6,131,193, 32, 78,116, 27,131, 57,
|
||||
/* 0x0260 */ 1,117,245,139, 65, 8, 57,248,115, 2,137,199,139, 89, 20, 1,
|
||||
/* 0x0270 */ 195, 57,211,118,227,137,218,235,223,246, 69,212, 16,116, 7,137,
|
||||
/* 0x0280 */ 211,106, 45, 88,205,128,137,251,106, 0,129,227, 0,240,255,255,
|
||||
/* 0x0290 */ 106,255, 41,218,255,117,212,141,130,255, 15, 0, 0,106, 7, 37,
|
||||
/* 0x02a0 */ 0,240,255,255, 80, 83,232,188,254,255,255,131,196, 24, 41,216,
|
||||
/* 0x02b0 */ 199, 69,220, 0, 0, 0, 0,137, 69,224,139, 69,240,102,139, 80,
|
||||
/* 0x02c0 */ 44,102,133,210,117, 20,235, 46, 72,116, 73,255, 69,220, 15,183,
|
||||
/* 0x02d0 */ 194,131, 69,228, 32, 59, 69,220,126, 28,139, 77,228,139, 1,131,
|
||||
/* 0x02e0 */ 248, 6,117,228,139, 65, 8,139, 93,236,137, 67, 20,139, 69,240,
|
||||
/* 0x02f0 */ 102,139, 80, 44,235,213,139, 93,232,106, 6, 88,205,128,133,192,
|
||||
/* 0x0300 */ 15,133,180, 0, 0, 0,139, 85,240,139, 69,224, 3, 66, 24,233,
|
||||
/* 0x0310 */ 247,254,255,255,139, 85,228,199, 69,216, 64, 98, 81,115,139, 74,
|
||||
/* 0x0320 */ 24,139, 66, 8,131,225, 7,193,225, 2,137,195,211,109,216,137,
|
||||
/* 0x0330 */ 209,139, 82, 20,129,227,255, 15, 0, 0,139,121, 16,139, 77,224,
|
||||
/* 0x0340 */ 1,194, 41,216, 1,223, 1,202,141, 52, 8,137, 85,204,139, 85,
|
||||
/* 0x0350 */ 228,131,101,216, 7,139, 66, 4, 41,216, 80,255,117,232,106, 18,
|
||||
/* 0x0360 */ 106, 3, 87, 86,232,254,253,255,255,131,196, 24, 57,240,117, 74,
|
||||
/* 0x0370 */ 137,218,137,240,232, 57,254,255,255,137,249,247,217,141, 4, 62,
|
||||
/* 0x0380 */ 129,225,255, 15, 0, 0,137,243,137,202,137, 77,208,232, 32,254,
|
||||
/* 0x0390 */ 255,255,137,249,139, 85,216,106,125, 88,205,128,133,192,117, 26,
|
||||
/* 0x03a0 */ 139, 85,208,141, 4, 23,141, 28, 6, 59, 93,204,114, 22,139, 93,
|
||||
/* 0x03b0 */ 240,102,139, 83, 44,233, 17,255,255,255,106,127, 91,106, 1, 88,
|
||||
/* 0x03c0 */ 205,128,235,254,106, 0,106,255,106, 50,255,117,216, 41, 93,204,
|
||||
/* 0x03d0 */ 255,117,204, 83,232,142,253,255,255,131,196, 24, 57,216,117,218,
|
||||
/* 0x03e0 */ 139, 77,240,102,139, 81, 44,233,223,254,255,255, 85,137,229, 87,
|
||||
/* 0x03f0 */ 86, 83,131,236, 36,141, 93, 32,139, 69, 16,141,117, 24,139, 85,
|
||||
/* 0x0400 */ 20,137, 69,212,139, 69, 36,139,125, 8,137, 85,208, 5, 85, 80,
|
||||
/* 0x0410 */ 88, 50,137, 69,240,139, 69,240, 5, 85, 80, 88, 51,131,125, 32,
|
||||
/* 0x0420 */ 0,137, 69,236,235, 62,137, 69,216,141, 69,216,255,117,228, 80,
|
||||
/* 0x0430 */ 255,115, 4, 81,255,118, 4,255, 85,212,131,196, 20,133,192, 15,
|
||||
/* 0x0440 */ 133, 13, 1, 0, 0,139, 85,220, 59, 85,216, 15,133, 1, 1, 0,
|
||||
/* 0x0450 */ 0,139, 69,224, 1, 70, 4, 41, 6,139, 3, 1, 83, 4, 41,208,
|
||||
/* 0x0460 */ 137, 3,133,192,116, 91,141, 85,220,137,240,106, 12,232, 2,253,
|
||||
/* 0x0470 */ 255,255, 88,139, 69,220,133,192,116, 48,139, 77,224,133,201, 15,
|
||||
/* 0x0480 */ 132,205, 0, 0, 0, 57,193, 15,135,197, 0, 0, 0, 59, 3, 15,
|
||||
/* 0x0490 */ 135,189, 0, 0, 0, 57,193,114,141,139, 83, 4,137,240, 81,232,
|
||||
/* 0x04a0 */ 208,252,255,255, 89,139, 85,220,235,175,129,125,224, 85, 80, 88,
|
||||
/* 0x04b0 */ 33, 15,133,155, 0, 0, 0,139, 30,133,219, 15,133,145, 0, 0,
|
||||
/* 0x04c0 */ 0,139, 69,236,139, 85,208,138, 24,139, 69,236,198, 0, 0,139,
|
||||
/* 0x04d0 */ 69,240, 87,232,231,252,255,255,137,198,139, 69,236,131,254, 1,
|
||||
/* 0x04e0 */ 136, 24,184, 1, 0, 0, 0, 90,116, 96,139, 93,208,185, 0, 0,
|
||||
/* 0x04f0 */ 0, 0,199, 71, 16, 3, 0, 0, 0, 15,183, 67, 42,199, 71, 24,
|
||||
/* 0x0500 */ 4, 0, 0, 0,199, 71, 32, 5, 0, 0, 0,199, 71, 40, 6, 0,
|
||||
/* 0x0510 */ 0, 0,137, 71, 28, 15,183, 67, 44,199, 71, 44, 0, 16, 0, 0,
|
||||
/* 0x0520 */ 137,119, 68,199, 71, 64, 9, 0, 0, 0,137, 71, 36,137,216, 15,
|
||||
/* 0x0530 */ 183, 83, 44,131,192, 52,131,250, 0,235, 11,131, 56, 3,116, 28,
|
||||
/* 0x0540 */ 65,131,192, 32, 57,202,127,243,137,240,141,101,244, 91, 94, 95,
|
||||
/* 0x0550 */ 201,195,106,127, 91,106, 1, 88,205,128,235,254,139, 64, 8,106,
|
||||
/* 0x0560 */ 0,139, 85,208,232, 86,252,255,255,137,198, 88,137,240,235,218
|
||||
};
|
||||
|
||||
Generated
+115
-102
@@ -1,5 +1,5 @@
|
||||
/* i386-netbsd.elf-fold.h
|
||||
created from i386-netbsd.elf-fold.bin, 1813 (0x715) bytes
|
||||
created from i386-netbsd.elf-fold.bin, 2021 (0x7e5) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@@ -32,17 +32,17 @@
|
||||
|
||||
/* clang-format off */
|
||||
|
||||
#define STUB_I386_NETBSD_ELF_FOLD_SIZE 1813
|
||||
#define STUB_I386_NETBSD_ELF_FOLD_ADLER32 0x724a09f5
|
||||
#define STUB_I386_NETBSD_ELF_FOLD_CRC32 0x2a95f51f
|
||||
#define STUB_I386_NETBSD_ELF_FOLD_SIZE 2021
|
||||
#define STUB_I386_NETBSD_ELF_FOLD_ADLER32 0x6fd68771
|
||||
#define STUB_I386_NETBSD_ELF_FOLD_CRC32 0x23ed5a87
|
||||
|
||||
unsigned char stub_i386_netbsd_elf_fold[1813] = {
|
||||
unsigned char stub_i386_netbsd_elf_fold[2021] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 2, 0, 3, 0, 1, 0, 0, 0,128, 16,192, 0, 52, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 16,192, 0,
|
||||
/* 0x0040 */ 0, 16,192, 0, 21, 7, 0, 0, 24, 7, 0, 0, 5, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0, 21, 7, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 0, 16,192, 0,229, 7, 0, 0,232, 7, 0, 0, 5, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,229, 7, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0070 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0080 */ 41,201,186,248, 2, 0, 0,137,230,137,231,232,134, 0, 0, 0,
|
||||
@@ -51,104 +51,117 @@ unsigned char stub_i386_netbsd_elf_fold[1813] = {
|
||||
/* 0x00b0 */ 141,148, 26,255, 31, 0, 0,129,226, 0,240,255,255, 82, 41,192,
|
||||
/* 0x00c0 */ 102,131,123, 16, 3,117, 1,146, 80,139, 67, 24,139,112,248, 41,
|
||||
/* 0x00d0 */ 240,139, 24,139, 72, 4,131,193, 12,141, 84, 36, 12, 96, 71,232,
|
||||
/* 0x00e0 */ 140, 4, 0, 0,131,196, 36, 89, 91,129,196, 0, 10, 0, 0, 90,
|
||||
/* 0x00e0 */ 75, 5, 0, 0,131,196, 36, 89, 91,129,196, 0, 10, 0, 0, 90,
|
||||
/* 0x00f0 */ 193,226, 12, 1,211, 80,106, 0,137,229, 41,217, 41,192, 81, 83,
|
||||
/* 0x0100 */ 80, 79, 60,175,175,117,252,255, 55, 49,255, 49,246, 49,210, 49,
|
||||
/* 0x0110 */ 201, 49,219,176, 73,195,173,171,173,171,133,192,117,250,173,171,
|
||||
/* 0x0120 */ 133,192,117,250, 87,173,171,131,248, 32,115, 3, 15,179,194,133,
|
||||
/* 0x0130 */ 192,173,171,117,240,131,239, 8, 1,201, 64,243,171, 72,171,171,
|
||||
/* 0x0140 */ 95,195, 0, 0, 85,137,229, 87, 86,137,206, 83,137,195, 57, 8,
|
||||
/* 0x0150 */ 139,120, 4,115, 7,106,127,232,113, 5, 0, 0,133,201,116, 8,
|
||||
/* 0x0160 */ 138, 7, 71,136, 2, 66,226,248, 1,115, 4, 41, 51,141,101,244,
|
||||
/* 0x0170 */ 91, 94, 95,201,195, 85,137,229, 87, 86,137,198, 83,137,211,131,
|
||||
/* 0x0180 */ 236, 24,139, 69, 8,139,125, 12,137, 69,220,131, 58, 0, 15,132,
|
||||
/* 0x0190 */ 182, 0, 0, 0,141, 85,228,185, 12, 0, 0, 0,137,240,232,161,
|
||||
/* 0x01a0 */ 255,255,255,139, 69,228,139, 77,232,133,192,117, 19,129,249, 85,
|
||||
/* 0x01b0 */ 80, 88, 33,117, 15,131, 62, 0, 15,132,140, 0, 0, 0,235, 4,
|
||||
/* 0x01c0 */ 133,201,117, 7,106,127,232, 2, 5, 0, 0, 57,193,119,245, 59,
|
||||
/* 0x01d0 */ 3,119,241, 57,193,115, 86,137, 69,224,141, 69,224,255,117,236,
|
||||
/* 0x01e0 */ 80,255,115, 4, 81,255,118, 4,255, 85,220,131,196, 20,133,192,
|
||||
/* 0x01f0 */ 117,210,139, 85,224, 59, 85,228,117,202,138, 69,237,132,192,116,
|
||||
/* 0x0200 */ 34,133,255,116, 30,129,250, 0, 2, 0, 0,119, 4, 57, 19,117,
|
||||
/* 0x0210 */ 18, 15,182,192, 80, 15,182, 69,238, 80, 82,255,115, 4,255,215,
|
||||
/* 0x0220 */ 131,196, 16,139, 69,232, 1, 70, 4, 41, 6,235, 10,139, 83, 4,
|
||||
/* 0x0230 */ 137,240,232, 13,255,255,255,139, 85,228,139, 3, 1, 83, 4, 41,
|
||||
/* 0x0240 */ 208,133,192,137, 3,233, 68,255,255,255,141,101,244, 91, 94, 95,
|
||||
/* 0x0250 */ 201,195,133,192, 83,137,195,116, 35,168, 1,117, 31,139, 3, 57,
|
||||
/* 0x0260 */ 208,116, 9,131,248, 1,117, 11,133,210,116, 11,137, 19,137, 75,
|
||||
/* 0x0270 */ 4,235, 9,133,192,116, 5,131,195, 8,235,225, 91,195, 85,137,
|
||||
/* 0x0280 */ 229, 87, 86, 83,131,236, 60,137, 85,224,137, 69,228,139, 85, 12,
|
||||
/* 0x0290 */ 139, 69, 8,199, 69,204,255,255,255,255,137, 85,216,139,125,224,
|
||||
/* 0x02a0 */ 139, 85,224,137, 69,220,139, 69, 20, 3,127, 28,137, 69,212, 49,
|
||||
/* 0x02b0 */ 192,102,131,122, 16, 2, 15,183, 74, 44,137,251, 15,148,192, 49,
|
||||
/* 0x02c0 */ 246,193,224, 4,137,202, 5, 2, 16, 0, 0, 74,120, 30,131, 59,
|
||||
/* 0x02d0 */ 1,117, 20,139, 83, 8, 59, 85,204,115, 3,137, 85,204, 3, 83,
|
||||
/* 0x02e0 */ 20, 57,214,115, 2,137,214,131,195, 32,226,226,139, 93,204,106,
|
||||
/* 0x02f0 */ 0,106,255,129,227, 0,240,255,255, 80, 41,222,106, 0,129,198,
|
||||
/* 0x0300 */ 255, 15, 0, 0,129,230, 0,240,255,255, 86, 83,232,151, 3, 0,
|
||||
/* 0x0310 */ 0,131,196, 24,141, 52, 48, 41,216,137, 69,208,139, 69,224,137,
|
||||
/* 0x0320 */ 117,240,102,131,120, 44, 0,199, 69,200, 0, 0, 0, 0, 15,132,
|
||||
/* 0x0330 */ 242, 1, 0, 0,139, 7,131,248, 6,117, 34,131,125,220, 0, 15,
|
||||
/* 0x0340 */ 132,203, 1, 0, 0,139, 77,208,186, 3, 0, 0, 0, 3, 79, 8,
|
||||
/* 0x0350 */ 139, 69,216,232,250,254,255,255,233,179, 1, 0, 0, 72, 15,133,
|
||||
/* 0x0360 */ 172, 1, 0, 0,139, 95, 20,133,219, 15,132,161, 1, 0, 0,139,
|
||||
/* 0x0370 */ 79, 24,199, 69,196, 64, 98, 81,115,139, 69,208, 3, 71, 8,131,
|
||||
/* 0x0380 */ 225, 7,193,225, 2,139, 87, 16,211,109,196,137,193,137,198,129,
|
||||
/* 0x0390 */ 225,255, 15, 0, 0,131,101,196, 7,137, 85,232, 41,206, 1,202,
|
||||
/* 0x03a0 */ 131,125,220, 0,141, 28, 24,137, 69,236,137, 93,188,137, 85,192,
|
||||
/* 0x03b0 */ 116, 41,106, 0,139, 69,196,106,255,104, 18, 16, 0, 0,131,200,
|
||||
/* 0x03c0 */ 2, 80,137,208,131,192, 3, 80, 86,232,218, 2, 0, 0,131,196,
|
||||
/* 0x03d0 */ 24, 57,198, 15,133,226, 0, 0, 0,235, 36,139, 71, 4, 41,200,
|
||||
/* 0x03e0 */ 80,255,117,228,106, 18,255,117,196,255,117,192, 86,232,182, 2,
|
||||
/* 0x03f0 */ 0, 0,131,196, 24, 57,198, 15,133,190, 0, 0, 0,235, 34,131,
|
||||
/* 0x0400 */ 125,220, 0,116, 28,246, 69,196, 4,139, 69,212,117, 2, 49,192,
|
||||
/* 0x0410 */ 80,139, 69,220,255,117,228,141, 85,232,232, 86,253,255,255, 88,
|
||||
/* 0x0420 */ 90,139, 85,192,247,218,129,226,255, 15, 0, 0,246, 69,196, 2,
|
||||
/* 0x0430 */ 137, 85,184,116, 21,131,125,184, 0,139, 85,192,141, 4, 22,116,
|
||||
/* 0x0440 */ 9,139, 77,184,198, 0, 0, 64,226,250,131,125,220, 0,116,114,
|
||||
/* 0x0450 */ 131, 63, 1,117, 83,246, 71, 24, 1,116, 77,139, 87, 20,139, 95,
|
||||
/* 0x0460 */ 8,141, 12, 26, 3, 77,208, 59, 87, 16,117, 14,137,200,247,216,
|
||||
/* 0x0470 */ 37,255, 15, 0, 0,131,248, 3,119, 14,107, 69,208, 52,131,127,
|
||||
/* 0x0480 */ 4, 0,141, 76, 3, 12,117, 15,139, 1, 61,205,128,201,195,116,
|
||||
/* 0x0490 */ 6,199, 1,205,128,201,195,133,201,116, 13,139, 69,216, 49,210,
|
||||
/* 0x04a0 */ 131,224,254,232,170,253,255,255,255,117,196,255,117,192, 86,232,
|
||||
/* 0x04b0 */ 53, 2, 0, 0,131,196, 12,133,192,116, 7,106,127,232, 11, 2,
|
||||
/* 0x04c0 */ 0, 0,139, 69,192, 3, 69,184,141, 28, 6, 59, 93,188,115, 33,
|
||||
/* 0x04d0 */ 106, 0,106,255,104, 18, 16, 0, 0,255,117,196, 41, 93,188,255,
|
||||
/* 0x04e0 */ 117,188, 83,232,192, 1, 0, 0,131,196, 24, 57,195,116, 33,235,
|
||||
/* 0x04f0 */ 202,131,125,220, 0,116, 25,139, 69,192,131,192, 3, 37,255, 15,
|
||||
/* 0x0500 */ 0, 0,131,248, 3,119, 9, 80, 83,232,215, 1, 0, 0, 89, 91,
|
||||
/* 0x0510 */ 139, 85,224,131,199, 32,255, 69,200, 15,183, 66, 44, 57, 69,200,
|
||||
/* 0x0520 */ 15,140, 14,254,255,255,131,125,220, 0,117, 15,255,117,228,232,
|
||||
/* 0x0530 */ 173, 1, 0, 0, 90,133,192,116, 21,235,128,139, 69,224,102,131,
|
||||
/* 0x0540 */ 120, 16, 3,116, 9,255,117,240,232,127, 1, 0, 0, 88,131,125,
|
||||
/* 0x0550 */ 16, 0,116, 8,139, 69,208,139, 85, 16,137, 2,139, 85,224,139,
|
||||
/* 0x0560 */ 82, 24, 1, 85,208,139, 69,208,141,101,244, 91, 94, 95,201,195,
|
||||
/* 0x0570 */ 85,137,229, 87, 86, 83,131,236, 16,141, 85, 24,139, 69, 8,106,
|
||||
/* 0x0580 */ 0,139,125, 28,137, 69,236,139, 69, 16,139, 93, 32,141,119, 52,
|
||||
/* 0x0590 */ 137, 69,232,131,192, 2,255,117,232,137, 69,228,141, 69, 32,232,
|
||||
/* 0x05a0 */ 209,251,255,255,139, 69, 12,185, 0, 16, 0, 0,186, 6, 0, 0,
|
||||
/* 0x05b0 */ 0,137, 69, 32,139, 69,236, 41, 93, 36,232,147,252,255,255, 15,
|
||||
/* 0x05c0 */ 183, 79, 44,139, 69,236,186, 5, 0, 0, 0,232,130,252,255,255,
|
||||
/* 0x05d0 */ 15,183, 79, 42,139, 69,236,186, 4, 0, 0, 0,232,113,252,255,
|
||||
/* 0x05e0 */ 255,139, 77, 40, 3, 78, 8,186, 3, 0, 0, 0,139, 69,236,131,
|
||||
/* 0x05f0 */ 193, 52,232, 91,252,255,255,141, 69,240,255,117,228,137,250, 80,
|
||||
/* 0x0600 */ 141, 69, 32,255,117,236, 80,139, 69,232,232,111,252,255,255,186,
|
||||
/* 0x0610 */ 9, 0, 0, 0,137,193,137,195,139, 69,236,232, 50,252,255,255,
|
||||
/* 0x0620 */ 102,139, 79, 44,131,196, 24, 49,210,102,133,201,116,112,131, 62,
|
||||
/* 0x0630 */ 3,117, 96,106, 0,139, 69,240,106, 0, 3, 70, 8, 80,232,154,
|
||||
/* 0x0640 */ 0, 0, 0,131,196, 12,133,192,137,195,120, 22,104, 0, 2, 0,
|
||||
/* 0x0650 */ 0, 87, 80,232,125, 0, 0, 0,131,196, 12, 61, 0, 2, 0, 0,
|
||||
/* 0x0660 */ 116, 7,106,127,232,100, 0, 0, 0,141, 69,240,137,250,106, 0,
|
||||
/* 0x0670 */ 80,137,216,106, 0,106, 0,232, 2,252,255,255,139, 77,240,137,
|
||||
/* 0x0680 */ 195,139, 69,236,186, 7, 0, 0, 0,232,196,251,255,255,131,196,
|
||||
/* 0x0690 */ 16,235, 11, 66, 15,183,193,131,198, 32, 57,194,124,144,141,101,
|
||||
/* 0x06a0 */ 244,137,216, 91, 94, 95,201,195, 85,137,229, 49,192, 80,255,117,
|
||||
/* 0x06b0 */ 28, 80,255,117, 24,255,117, 20,255,117, 16,255,117, 12,255,117,
|
||||
/* 0x06c0 */ 8, 80,176,197, 80, 80,176,198,205,128,201,195,195,176, 1, 15,
|
||||
/* 0x06d0 */ 182,192,205,128,195,176, 3,235,246,176, 4,235,242,176, 5,235,
|
||||
/* 0x06e0 */ 238,176, 6,235,234,176, 73,235,230,176, 74,235,226,176, 33,235,
|
||||
/* 0x06f0 */ 222,176, 20,235,218,176, 92,235,214,176, 59,235,210,176, 2,235,
|
||||
/* 0x0700 */ 206,176,130,235,202,176,116,235,198,176,240,235,194,176, 10,235,
|
||||
/* 0x0710 */ 190,176, 7,235,186
|
||||
/* 0x0140 */ 95,195, 0, 0, 85,137,229, 87, 86,137,199, 83,137,206,139, 15,
|
||||
/* 0x0150 */ 139, 64, 4, 57,241,137,195,114, 36,133,246,116, 15,137,241,138,
|
||||
/* 0x0160 */ 3, 67,136, 2, 66,226,248,139, 71, 4,139, 15, 1,240, 41,241,
|
||||
/* 0x0170 */ 137, 71, 4,137, 15,141,101,244, 91, 94, 95,201,195,106,127,232,
|
||||
/* 0x0180 */ 25, 6, 0, 0, 85,137,229, 87, 86,137,198, 83,137,211,131,236,
|
||||
/* 0x0190 */ 24,139, 58,139, 69, 8,133,255,137, 69,220, 15,132,153, 0, 0,
|
||||
/* 0x01a0 */ 0,141,125,228,137,240,185, 12, 0, 0, 0,137,250,232,146,255,
|
||||
/* 0x01b0 */ 255,255,139, 69,228,133,192, 15,132,203, 0, 0, 0,139, 77,232,
|
||||
/* 0x01c0 */ 133,201, 15,132,201, 0, 0, 0, 57,193, 15,135,193, 0, 0, 0,
|
||||
/* 0x01d0 */ 59, 3, 15,135,185, 0, 0, 0, 57,193,115,102,137, 69,224,141,
|
||||
/* 0x01e0 */ 69,224,255,117,236, 80,255,115, 4, 81,255,118, 4,255, 85,220,
|
||||
/* 0x01f0 */ 131,196, 20,133,192, 15,133,150, 0, 0, 0,139, 85,228, 59, 85,
|
||||
/* 0x0200 */ 224, 15,133,138, 0, 0, 0,138, 69,237,132,192,116, 19,139, 77,
|
||||
/* 0x0210 */ 12,133,201,116, 12,129,250, 0, 2, 0, 0,119, 75, 57, 19,116,
|
||||
/* 0x0220 */ 71,139, 69,232, 1, 70, 4, 41, 6,139, 3, 1, 83, 4, 41,208,
|
||||
/* 0x0230 */ 133,192,137, 3, 15,133,106,255,255,255,141,101,244, 91, 94, 95,
|
||||
/* 0x0240 */ 201,195,139, 83, 4,137,240,232,248,254,255,255,139, 85,228,139,
|
||||
/* 0x0250 */ 3, 1, 83, 4, 41,208,133,192,137, 3, 15,133, 68,255,255,255,
|
||||
/* 0x0260 */ 141,101,244, 91, 94, 95,201,195, 15,182,192, 80, 15,182, 69,238,
|
||||
/* 0x0270 */ 80, 82,255,115, 4,255, 85, 12,139, 69,232, 1, 70, 4,131,196,
|
||||
/* 0x0280 */ 16, 41, 6,139, 85,228,235,161,129,125,232, 85, 80, 88, 33,116,
|
||||
/* 0x0290 */ 7,106,127,232, 5, 5, 0, 0,139, 30,133,219,116,156,235,241,
|
||||
/* 0x02a0 */ 133,192, 83,137,195,116, 33,168, 1,117, 29,139, 3, 57,208,116,
|
||||
/* 0x02b0 */ 18,131,248, 1,116, 20,133,192,116, 14,131,195, 8,139, 3, 57,
|
||||
/* 0x02c0 */ 208,117,238,137, 19,137, 75, 4, 91,195,133,210,117,245,131,195,
|
||||
/* 0x02d0 */ 8,235,234, 85,137,229, 87, 86,190, 0, 0, 0, 0, 83,131,236,
|
||||
/* 0x02e0 */ 64,137, 69,228,139, 69, 8,137, 85,224,139,125,224,199, 69,204,
|
||||
/* 0x02f0 */ 255,255,255,255,139, 85, 12,137, 69,220,139, 69,224,139, 77, 20,
|
||||
/* 0x0300 */ 137, 85,216, 3,127, 28,139, 85,224,137, 77,212,102,131,120, 16,
|
||||
/* 0x0310 */ 2, 15,183, 74, 44,137,251, 15,148,192, 15,182,192,137,202,193,
|
||||
/* 0x0320 */ 224, 4, 5, 2, 16, 0, 0, 74,120, 14,131, 59, 1, 15,132,209,
|
||||
/* 0x0330 */ 0, 0, 0,131,195, 32,226,242,139, 93,204,106, 0,106,255,129,
|
||||
/* 0x0340 */ 227, 0,240,255,255, 80, 41,222,106, 0,129,198,255, 15, 0, 0,
|
||||
/* 0x0350 */ 129,230, 0,240,255,255, 86, 83,232, 27, 4, 0, 0,139, 77,224,
|
||||
/* 0x0360 */ 141, 52, 48,131,196, 24,102,139, 81, 44, 41,216,137,117,240,190,
|
||||
/* 0x0370 */ 0, 0, 0, 0,102,133,210,137, 69,208,117, 20,235, 69, 72, 15,
|
||||
/* 0x0380 */ 132,156, 0, 0, 0, 70, 15,183,194,131,199, 32, 57,240,126, 51,
|
||||
/* 0x0390 */ 139, 7,131,248, 6,117,231,139, 69,220,133,192,116,231,139, 77,
|
||||
/* 0x03a0 */ 208,186, 3, 0, 0, 0, 3, 79, 8,139, 69,216,232,239,254,255,
|
||||
/* 0x03b0 */ 255,139, 69,224, 70,131,199, 32,102,139, 80, 44, 15,183,194, 57,
|
||||
/* 0x03c0 */ 240,127,205,139, 77,220,133,201, 15,132, 56, 2, 0, 0,139, 85,
|
||||
/* 0x03d0 */ 224,102,131,122, 16, 3,116, 9,255,117,240,232,188, 3, 0, 0,
|
||||
/* 0x03e0 */ 88,139, 69, 16,133,192,116, 8,139, 69,208,139, 77, 16,137, 1,
|
||||
/* 0x03f0 */ 139, 85,224,139, 82, 24, 1, 85,208,139, 69,208,141,101,244, 91,
|
||||
/* 0x0400 */ 94, 95,201,195,139, 83, 8, 59, 85,204,115, 3,137, 85,204, 3,
|
||||
/* 0x0410 */ 83, 20, 57,242, 15,134, 25,255,255,255,137,214,233, 18,255,255,
|
||||
/* 0x0420 */ 255,139, 95, 20,133,219, 15,132, 89,255,255,255,139, 69,208,199,
|
||||
/* 0x0430 */ 69,200, 64, 98, 81,115, 3, 71, 8,139, 79, 24,139, 87, 16,131,
|
||||
/* 0x0440 */ 225, 7, 1,195,193,225, 2,137, 93,188,211,109,200,137,193,139,
|
||||
/* 0x0450 */ 93,220,129,225,255, 15, 0, 0,131,101,200, 7,137, 85,232, 1,
|
||||
/* 0x0460 */ 202,137, 69,236, 41,200,133,219,137, 85,196,137, 69,192, 15,132,
|
||||
/* 0x0470 */ 104, 1, 0, 0,106, 0,139, 69,200,106,255,104, 18, 16, 0, 0,
|
||||
/* 0x0480 */ 131,200, 2, 80,137,208,131,192, 3, 80,255,117,192,232,230, 2,
|
||||
/* 0x0490 */ 0, 0,131,196, 24, 59, 69,192, 15,133,204, 0, 0, 0,139, 77,
|
||||
/* 0x04a0 */ 220,133,201,116, 31,246, 69,200, 4,139, 69,212,117, 5,184, 0,
|
||||
/* 0x04b0 */ 0, 0, 0, 80,139, 69,220,255,117,228,141, 85,232,232,194,252,
|
||||
/* 0x04c0 */ 255,255, 88, 90,139, 93,196,247,219,129,227,255, 15, 0, 0,246,
|
||||
/* 0x04d0 */ 69,200, 2,116, 14,139, 69,192, 3, 69,196,133,219, 15,133,142,
|
||||
/* 0x04e0 */ 0, 0, 0,139, 69,220,133,192,116, 30,131, 63, 1, 15,132,139,
|
||||
/* 0x04f0 */ 0, 0, 0,255,117,200,255,117,196,255,117,192,232,184, 2, 0,
|
||||
/* 0x0500 */ 0,131,196, 12,133,192,117, 98,139, 69,196, 1,216,139, 93,192,
|
||||
/* 0x0510 */ 1,195, 59, 93,188,114, 48,139, 69,220,133,192,116, 29,139, 69,
|
||||
/* 0x0520 */ 196,131,192, 3, 37,255, 15, 0, 0,131,248, 3, 15,135,127,254,
|
||||
/* 0x0530 */ 255,255, 80, 83,232,124, 2, 0, 0, 91, 88,139, 77,224,102,139,
|
||||
/* 0x0540 */ 81, 44,233, 62,254,255,255,106, 0,106,255,104, 18, 16, 0, 0,
|
||||
/* 0x0550 */ 255,117,200, 41, 93,188,255,117,188, 83,232, 25, 2, 0, 0,131,
|
||||
/* 0x0560 */ 196, 24, 57,216, 15,132, 71,254,255,255,106,127,232, 44, 2, 0,
|
||||
/* 0x0570 */ 0,137,217,198, 0, 0, 64,226,250,233,101,255,255,255,246, 71,
|
||||
/* 0x0580 */ 24, 1, 15,132,107,255,255,255,139, 87, 20,139, 79, 8,137, 77,
|
||||
/* 0x0590 */ 184, 1,209,137, 77,180, 3, 77,208, 59, 87, 16,116,126,107, 69,
|
||||
/* 0x05a0 */ 208, 52,139, 85,184,141, 76, 2, 12,139, 71, 4,133,192,117, 15,
|
||||
/* 0x05b0 */ 139, 1, 61,205,128,201,195,116, 6,199, 1,205,128,201,195,133,
|
||||
/* 0x05c0 */ 201, 15,132, 44,255,255,255,139, 69,216,186, 0, 0, 0, 0,131,
|
||||
/* 0x05d0 */ 224,254,232,201,252,255,255,233, 23,255,255,255,139, 71, 4, 41,
|
||||
/* 0x05e0 */ 200, 80,255,117,228,106, 18,255,117,200,255,117,196,255,117,192,
|
||||
/* 0x05f0 */ 232,131, 1, 0, 0,131,196, 24, 59, 69,192, 15,132,195,254,255,
|
||||
/* 0x0600 */ 255,233,100,255,255,255,255,117,228,232,163, 1, 0, 0, 90,133,
|
||||
/* 0x0610 */ 192, 15,132,202,253,255,255,233, 78,255,255,255,137,200,247,216,
|
||||
/* 0x0620 */ 37,255, 15, 0, 0,131,248, 3,119,134,233,111,255,255,255, 85,
|
||||
/* 0x0630 */ 137,229, 87, 86, 83,131,236, 16,141, 85, 24,139, 69, 8,106, 0,
|
||||
/* 0x0640 */ 139,117, 16,137, 69,236,139, 69, 28, 86,139, 93, 32,137, 69,228,
|
||||
/* 0x0650 */ 137,199,141, 70, 2,131,199, 52,137, 69,232,141, 69, 32,232, 33,
|
||||
/* 0x0660 */ 251,255,255,139, 69, 12,185, 0, 16, 0, 0,186, 6, 0, 0, 0,
|
||||
/* 0x0670 */ 137, 69, 32,139, 69,236, 41, 93, 36,232, 34,252,255,255,139, 69,
|
||||
/* 0x0680 */ 228,186, 5, 0, 0, 0, 15,183, 72, 44,139, 69,236,232, 14,252,
|
||||
/* 0x0690 */ 255,255,139, 69,228,186, 4, 0, 0, 0, 15,183, 72, 42,139, 69,
|
||||
/* 0x06a0 */ 236,232,250,251,255,255,139, 77, 40, 3, 79, 8,186, 3, 0, 0,
|
||||
/* 0x06b0 */ 0,139, 69,236,131,193, 52,232,228,251,255,255,141, 69,240,255,
|
||||
/* 0x06c0 */ 117,232, 80,139, 85,228,255,117,236,141, 69, 32, 80,137,240,232,
|
||||
/* 0x06d0 */ 255,251,255,255,186, 9, 0, 0, 0,137,193,137,195,139, 69,236,
|
||||
/* 0x06e0 */ 232,187,251,255,255,139, 69,228,131,196, 24,186, 0, 0, 0, 0,
|
||||
/* 0x06f0 */ 102,139, 72, 44,102,133,201,116, 16,131, 63, 3,116, 21, 66, 15,
|
||||
/* 0x0700 */ 183,193,131,199, 32, 57,208,127,240,141,101,244,137,216, 91, 94,
|
||||
/* 0x0710 */ 95,201,195,106, 0,139, 69,240,106, 0, 3, 71, 8, 80,232,138,
|
||||
/* 0x0720 */ 0, 0, 0,131,196, 12,133,192,137,195,120, 24,104, 0, 2, 0,
|
||||
/* 0x0730 */ 0,255,117,228, 80,232,107, 0, 0, 0,131,196, 12, 61, 0, 2,
|
||||
/* 0x0740 */ 0, 0,116, 7,106,127,232, 82, 0, 0, 0,141, 69,240,139, 85,
|
||||
/* 0x0750 */ 228,106, 0, 80,137,216,106, 0,106, 0,232,116,251,255,255,139,
|
||||
/* 0x0760 */ 77,240,137,195,139, 69,236,186, 7, 0, 0, 0,232, 47,251,255,
|
||||
/* 0x0770 */ 255,131,196, 16,235,147, 0, 0, 85,137,229, 49,192, 80,255,117,
|
||||
/* 0x0780 */ 28, 80,255,117, 24,255,117, 20,255,117, 16,255,117, 12,255,117,
|
||||
/* 0x0790 */ 8, 80,176,197, 80, 80,176,198,205,128,201,195,195,176, 1, 15,
|
||||
/* 0x07a0 */ 182,192,205,128,195,176, 3,235,246,176, 4,235,242,176, 5,235,
|
||||
/* 0x07b0 */ 238,176, 6,235,234,176, 73,235,230,176, 74,235,226,176, 33,235,
|
||||
/* 0x07c0 */ 222,176, 20,235,218,176, 92,235,214,176, 59,235,210,176, 2,235,
|
||||
/* 0x07d0 */ 206,176,130,235,202,176,116,235,198,176,240,235,194,176, 10,235,
|
||||
/* 0x07e0 */ 190,176, 7,235,186
|
||||
};
|
||||
|
||||
Generated
+130
-116
@@ -1,5 +1,5 @@
|
||||
/* i386-openbsd.elf-fold.h
|
||||
created from i386-openbsd.elf-fold.bin, 2041 (0x7f9) bytes
|
||||
created from i386-openbsd.elf-fold.bin, 2257 (0x8d1) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@@ -32,17 +32,17 @@
|
||||
|
||||
/* clang-format off */
|
||||
|
||||
#define STUB_I386_OPENBSD_ELF_FOLD_SIZE 2041
|
||||
#define STUB_I386_OPENBSD_ELF_FOLD_ADLER32 0xd82f6816
|
||||
#define STUB_I386_OPENBSD_ELF_FOLD_CRC32 0x8c403cd5
|
||||
#define STUB_I386_OPENBSD_ELF_FOLD_SIZE 2257
|
||||
#define STUB_I386_OPENBSD_ELF_FOLD_ADLER32 0xf505de87
|
||||
#define STUB_I386_OPENBSD_ELF_FOLD_CRC32 0x63002e21
|
||||
|
||||
unsigned char stub_i386_openbsd_elf_fold[2041] = {
|
||||
unsigned char stub_i386_openbsd_elf_fold[2257] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 12, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 2, 0, 3, 0, 1, 0, 0, 0,128, 16,192, 0, 52, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 16,192, 0,
|
||||
/* 0x0040 */ 0, 16,192, 0,249, 7, 0, 0,252, 7, 0, 0, 5, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,249, 7, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 0, 16,192, 0,209, 8, 0, 0,212, 8, 0, 0, 5, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,209, 8, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0070 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0080 */ 41,201,186,248, 2, 0, 0,137,230,137,231,232,134, 0, 0, 0,
|
||||
@@ -51,118 +51,132 @@ unsigned char stub_i386_openbsd_elf_fold[2041] = {
|
||||
/* 0x00b0 */ 141,148, 26,255, 31, 0, 0,129,226, 0,240,255,255, 82, 41,192,
|
||||
/* 0x00c0 */ 102,131,123, 16, 3,117, 1,146, 80,139, 67, 24,139,112,248, 41,
|
||||
/* 0x00d0 */ 240,139, 24,139, 72, 4,131,193, 12,141, 84, 36, 12, 96, 71,232,
|
||||
/* 0x00e0 */ 90, 5, 0, 0,131,196, 36, 89, 91,129,196, 0, 10, 0, 0, 90,
|
||||
/* 0x00e0 */ 32, 6, 0, 0,131,196, 36, 89, 91,129,196, 0, 10, 0, 0, 90,
|
||||
/* 0x00f0 */ 193,226, 12, 1,211, 80,106, 0,137,229, 41,217, 41,192, 81, 83,
|
||||
/* 0x0100 */ 80, 79, 60,175,175,117,252,255, 55, 49,255, 49,246, 49,210, 49,
|
||||
/* 0x0110 */ 201, 49,219,176, 73,195,173,171,173,171,133,192,117,250,173,171,
|
||||
/* 0x0120 */ 133,192,117,250, 87,173,171,131,248, 32,115, 3, 15,179,194,133,
|
||||
/* 0x0130 */ 192,173,171,117,240,131,239, 8, 1,201, 64,243,171, 72,171,171,
|
||||
/* 0x0140 */ 95,195, 0, 0, 85,137,229, 87, 86,137,206, 83,137,195, 57, 8,
|
||||
/* 0x0150 */ 139,120, 4,115, 7,106,127,232, 85, 6, 0, 0,133,201,116, 8,
|
||||
/* 0x0160 */ 138, 7, 71,136, 2, 66,226,248, 1,115, 4, 41, 51,141,101,244,
|
||||
/* 0x0170 */ 91, 94, 95,201,195, 85,137,229, 87, 86,137,198, 83,137,211,131,
|
||||
/* 0x0180 */ 236, 24,139, 69, 8,139,125, 12,137, 69,220,131, 58, 0, 15,132,
|
||||
/* 0x0190 */ 182, 0, 0, 0,141, 85,228,185, 12, 0, 0, 0,137,240,232,161,
|
||||
/* 0x01a0 */ 255,255,255,139, 69,228,139, 77,232,133,192,117, 19,129,249, 85,
|
||||
/* 0x01b0 */ 80, 88, 33,117, 15,131, 62, 0, 15,132,140, 0, 0, 0,235, 4,
|
||||
/* 0x01c0 */ 133,201,117, 7,106,127,232,230, 5, 0, 0, 57,193,119,245, 59,
|
||||
/* 0x01d0 */ 3,119,241, 57,193,115, 86,137, 69,224,141, 69,224,255,117,236,
|
||||
/* 0x01e0 */ 80,255,115, 4, 81,255,118, 4,255, 85,220,131,196, 20,133,192,
|
||||
/* 0x01f0 */ 117,210,139, 85,224, 59, 85,228,117,202,138, 69,237,132,192,116,
|
||||
/* 0x0200 */ 34,133,255,116, 30,129,250, 0, 2, 0, 0,119, 4, 57, 19,117,
|
||||
/* 0x0210 */ 18, 15,182,192, 80, 15,182, 69,238, 80, 82,255,115, 4,255,215,
|
||||
/* 0x0220 */ 131,196, 16,139, 69,232, 1, 70, 4, 41, 6,235, 10,139, 83, 4,
|
||||
/* 0x0230 */ 137,240,232, 13,255,255,255,139, 85,228,139, 3, 1, 83, 4, 41,
|
||||
/* 0x0240 */ 208,133,192,137, 3,233, 68,255,255,255,141,101,244, 91, 94, 95,
|
||||
/* 0x0250 */ 201,195,133,192, 83,137,195,116, 35,168, 1,117, 31,139, 3, 57,
|
||||
/* 0x0260 */ 208,116, 9,131,248, 1,117, 11,133,210,116, 11,137, 19,137, 75,
|
||||
/* 0x0270 */ 4,235, 9,133,192,116, 5,131,195, 8,235,225, 91,195, 85,137,
|
||||
/* 0x0280 */ 229, 87, 86, 83,131,236,104,137, 69,200,139, 69, 12,137, 85,196,
|
||||
/* 0x0290 */ 139, 77, 24,199, 69,228, 0, 0, 0, 0,137, 69,192,139, 69,196,
|
||||
/* 0x02a0 */ 137, 77,184,139, 93,196,139,117,196,199, 69,232, 0, 0, 0, 0,
|
||||
/* 0x02b0 */ 15,183, 72, 44,199, 69,220, 0, 0, 0, 0,139, 85, 16,199, 69,
|
||||
/* 0x02c0 */ 224, 0, 0, 0, 0, 3, 91, 28,199, 69,236,255,255,255,255, 15,
|
||||
/* 0x02d0 */ 183,118, 16,137, 85,188,137,202,199, 69,240,255,255,255,255, 74,
|
||||
/* 0x02e0 */ 137, 93,180,137,117,176,199, 69,148, 0, 0, 0, 0,120, 62,137,
|
||||
/* 0x02f0 */ 206,131, 59, 1,117, 49,139, 67, 24,139, 75, 8,131,224, 1,141,
|
||||
/* 0x0300 */ 20,133, 0, 0, 0, 0, 57, 76, 42,236,118, 11,139, 67, 16,137,
|
||||
/* 0x0310 */ 76, 42,236,137, 68, 21,228,139, 67, 20,141,125,220, 1,200, 57,
|
||||
/* 0x0320 */ 4, 58,115, 3,137, 4, 58,131,195, 32, 78,117,196,131,125,176,
|
||||
/* 0x0330 */ 2,116, 63,129,125,220,255,255,255, 31,118, 54,139, 77, 8,139,
|
||||
/* 0x0340 */ 93, 8,139, 65, 4,137,194,137,193,139, 3,129,225,255,255,255,
|
||||
/* 0x0350 */ 3,129,226, 0, 0, 0,252, 37,255,255,255, 3, 57,193,118, 2,
|
||||
/* 0x0360 */ 137,200,141,148, 2,255, 15, 0, 0,129,226, 0,240,255,255,137,
|
||||
/* 0x0370 */ 85,148,139,117, 8, 49,255,199, 69,144, 1, 0, 0, 0,137,117,
|
||||
/* 0x0380 */ 152,141, 69,236,139, 85,148,139,117,152,139, 28, 7,137,217,129,
|
||||
/* 0x0390 */ 227, 0,240,255,255,129,225,255, 15, 0, 0, 3, 76, 47,228,137,
|
||||
/* 0x03a0 */ 28, 7,139, 68, 47,220, 1,194, 41,216,137, 22, 3, 93,148,106,
|
||||
/* 0x03b0 */ 0, 5,255, 15, 0, 0,106,255, 37, 0,240,255,255,104, 18, 16,
|
||||
/* 0x03c0 */ 0, 0,129,193,255, 15, 0, 0,106, 0,129,225, 0,240,255,255,
|
||||
/* 0x03d0 */ 80,131,198, 4, 83,137, 68, 47,220,137, 76, 47,228,232,170, 3,
|
||||
/* 0x03e0 */ 0, 0,137, 68, 61,212,131,196, 24,131,199, 4,255, 77,144,137,
|
||||
/* 0x03f0 */ 117,152,121,141,139, 69,212,199, 69,168, 0, 0, 0, 0,139, 85,
|
||||
/* 0x0400 */ 236,139, 77,196, 41,208,102,131,121, 44, 0,137, 69,172, 15,132,
|
||||
/* 0x0410 */ 245, 1, 0, 0,139, 93,180,139, 3,131,248, 6,117, 34,131,125,
|
||||
/* 0x0420 */ 192, 0, 15,132,202, 1, 0, 0,139, 77,172,186, 3, 0, 0, 0,
|
||||
/* 0x0430 */ 3, 75, 8,139, 69,188,232, 23,254,255,255,233,178, 1, 0, 0,
|
||||
/* 0x0440 */ 72, 15,133,171, 1, 0, 0,139,117,180,139, 86, 20,133,210, 15,
|
||||
/* 0x0450 */ 132,157, 1, 0, 0,139, 69,172,199, 69,164, 64, 98, 81,115, 3,
|
||||
/* 0x0460 */ 70, 8,139, 78, 24,141, 20, 16,131,225, 7,193,225, 2,137, 69,
|
||||
/* 0x0470 */ 208,211,109,164,137, 85,156,139, 78, 16,137,194,131,101,164, 7,
|
||||
/* 0x0480 */ 129,226,255, 15, 0, 0,137, 77,204,141, 52, 17,139, 77,180, 41,
|
||||
/* 0x0490 */ 208,137, 69,160,139, 65, 4, 41,208,131,125,192, 0, 80,139, 69,
|
||||
/* 0x04a0 */ 200,116, 3,131,200,255,131,125,192, 1, 80, 25,192, 37, 0,240,
|
||||
/* 0x04b0 */ 255,255, 5, 18, 16, 0, 0,131,125,192, 0, 80,139, 69,164,116,
|
||||
/* 0x04c0 */ 3,131,200, 2,131,125,192, 0, 80,137,240,116, 3,141, 70, 3,
|
||||
/* 0x04d0 */ 80,255,117,160,232,179, 2, 0, 0,131,196, 24, 57, 69,160, 15,
|
||||
/* 0x04e0 */ 133,188, 0, 0, 0,131,125,192, 0,116, 28,246, 69,164, 4,139,
|
||||
/* 0x04f0 */ 69,184,117, 2, 49,192, 80,139, 69,192,255,117,200,141, 85,204,
|
||||
/* 0x0500 */ 232,112,252,255,255, 95, 88,137,247,247,223,129,231,255, 15, 0,
|
||||
/* 0x0510 */ 0,246, 69,164, 2,116, 17,139, 69,160, 1,240,133,255,116, 8,
|
||||
/* 0x0520 */ 137,249,198, 0, 0, 64,226,250,131,125,192, 0,116,122,139, 93,
|
||||
/* 0x0530 */ 180,131, 59, 1,117, 88,246, 67, 24, 1,116, 82,139, 83, 20,137,
|
||||
/* 0x0540 */ 216,139, 91, 8,141, 12, 26, 3, 77,172, 59, 80, 16,117, 14,137,
|
||||
/* 0x0550 */ 200,247,216, 37,255, 15, 0, 0,131,248, 3,119, 17,139, 85,180,
|
||||
/* 0x0560 */ 107, 69,172, 52,131,122, 4, 0,141, 76, 3, 12,117, 15,139, 1,
|
||||
/* 0x0570 */ 61,205,128,201,195,116, 6,199, 1,205,128,201,195,133,201,116,
|
||||
/* 0x0580 */ 13,139, 69,188, 49,210,131,224,254,232,196,252,255,255,255,117,
|
||||
/* 0x0590 */ 164, 86,255,117,160,232, 51, 2, 0, 0,131,196, 12,133,192,116,
|
||||
/* 0x05a0 */ 7,106,127,232, 9, 2, 0, 0,141, 4, 62,139, 93,160, 1,195,
|
||||
/* 0x05b0 */ 59, 93,156,115, 33,106, 0,106,255,104, 18, 16, 0, 0,255,117,
|
||||
/* 0x05c0 */ 164, 41, 93,156,255,117,156, 83,232,191, 1, 0, 0,131,196, 24,
|
||||
/* 0x05d0 */ 57,195,116, 30,235,203,131,125,192, 0,116, 22,141, 70, 3, 37,
|
||||
/* 0x05e0 */ 255, 15, 0, 0,131,248, 3,119, 9, 80, 83,232,217, 1, 0, 0,
|
||||
/* 0x05f0 */ 89, 91,139, 77,196,255, 69,168, 15,183, 65, 44,131, 69,180, 32,
|
||||
/* 0x0600 */ 57, 69,168, 15,140, 11,254,255,255,131,125,192, 0,117, 13,255,
|
||||
/* 0x0610 */ 117,200,232,174, 1, 0, 0, 90,133,192,117,133,131,125, 20, 0,
|
||||
/* 0x0620 */ 116, 8,139,117,172,139, 93, 20,137, 51,139, 69,196,139, 64, 24,
|
||||
/* 0x0630 */ 1, 69,172,139, 69,172,141,101,244, 91, 94, 95,201,195, 85,137,
|
||||
/* 0x0640 */ 229, 87, 86, 83,131,236, 24,141, 85, 24,139, 69, 8,106, 0,139,
|
||||
/* 0x0650 */ 125, 28,199, 69,232, 0, 0, 0, 0,137, 69,228,139, 69, 16,139,
|
||||
/* 0x0660 */ 93, 32,199, 69,236, 0, 0, 0, 0,137, 69,224,131,192, 2,255,
|
||||
/* 0x0670 */ 117,224,137, 69,220,141, 69, 32,141,119, 52,232,245,250,255,255,
|
||||
/* 0x0680 */ 139, 69, 12,185, 0, 16, 0, 0,186, 6, 0, 0, 0,137, 69, 32,
|
||||
/* 0x0690 */ 139, 69,228, 41, 93, 36,232,183,251,255,255, 15,183, 79, 44,139,
|
||||
/* 0x06a0 */ 69,228,186, 5, 0, 0, 0,232,166,251,255,255, 15,183, 79, 42,
|
||||
/* 0x06b0 */ 139, 69,228,186, 4, 0, 0, 0,232,149,251,255,255,139, 77, 40,
|
||||
/* 0x06c0 */ 3, 78, 8,186, 3, 0, 0, 0,139, 69,228,131,193, 52,232,127,
|
||||
/* 0x06d0 */ 251,255,255,141, 69,240,255,117,220,137,250, 80,141, 69, 32,255,
|
||||
/* 0x06e0 */ 117,228, 80,141, 69,232, 80,139, 69,224,232,143,251,255,255,186,
|
||||
/* 0x06f0 */ 9, 0, 0, 0,137,193,137,195,139, 69,228,232, 82,251,255,255,
|
||||
/* 0x0700 */ 102,139, 79, 44,131,196, 28, 49,210,102,133,201,116,116,131, 62,
|
||||
/* 0x0710 */ 3,117,100,106, 0,139, 69,240,106, 0, 3, 70, 8, 80,232,158,
|
||||
/* 0x0720 */ 0, 0, 0,131,196, 12,133,192,137,195,120, 22,104, 0, 2, 0,
|
||||
/* 0x0730 */ 0, 87, 80,232,129, 0, 0, 0,131,196, 12, 61, 0, 2, 0, 0,
|
||||
/* 0x0740 */ 116, 7,106,127,232,104, 0, 0, 0,141, 69,240,137,250,106, 0,
|
||||
/* 0x0750 */ 80,106, 0,141, 69,232,106, 0, 80,137,216,232, 30,251,255,255,
|
||||
/* 0x0760 */ 139, 77,240,137,195,139, 69,228,186, 7, 0, 0, 0,232,224,250,
|
||||
/* 0x0770 */ 255,255,131,196, 20,235, 11, 66, 15,183,193,131,198, 32, 57,194,
|
||||
/* 0x0780 */ 124,140,141,101,244,137,216, 91, 94, 95,201,195, 85,137,229, 49,
|
||||
/* 0x0790 */ 192, 80,255,117, 28, 80,255,117, 24,255,117, 20,255,117, 16,255,
|
||||
/* 0x07a0 */ 117, 12,255,117, 8, 80,176,197, 80, 80,176,198,205,128,201,195,
|
||||
/* 0x07b0 */ 195,176, 1, 15,182,192,205,128,195,176, 3,235,246,176, 4,235,
|
||||
/* 0x07c0 */ 242,176, 5,235,238,176, 6,235,234,176, 73,235,230,176, 74,235,
|
||||
/* 0x07d0 */ 226,176, 33,235,222,176, 20,235,218,176, 92,235,214,176, 59,235,
|
||||
/* 0x07e0 */ 210,176, 2,235,206,176,130,235,202,176,116,235,198,176,240,235,
|
||||
/* 0x07f0 */ 194,176, 10,235,190,176, 7,235,186
|
||||
/* 0x0140 */ 95,195, 0, 0, 85,137,229, 87, 86,137,199, 83,137,206,139, 15,
|
||||
/* 0x0150 */ 139, 64, 4, 57,241,137,195,114, 36,133,246,116, 15,137,241,138,
|
||||
/* 0x0160 */ 3, 67,136, 2, 66,226,248,139, 71, 4,139, 15, 1,240, 41,241,
|
||||
/* 0x0170 */ 137, 71, 4,137, 15,141,101,244, 91, 94, 95,201,195,106,127,232,
|
||||
/* 0x0180 */ 5, 7, 0, 0, 85,137,229, 87, 86,137,198, 83,137,211,131,236,
|
||||
/* 0x0190 */ 24,139, 58,139, 69, 8,133,255,137, 69,220, 15,132,153, 0, 0,
|
||||
/* 0x01a0 */ 0,141,125,228,137,240,185, 12, 0, 0, 0,137,250,232,146,255,
|
||||
/* 0x01b0 */ 255,255,139, 69,228,133,192, 15,132,203, 0, 0, 0,139, 77,232,
|
||||
/* 0x01c0 */ 133,201, 15,132,201, 0, 0, 0, 57,193, 15,135,193, 0, 0, 0,
|
||||
/* 0x01d0 */ 59, 3, 15,135,185, 0, 0, 0, 57,193,115,102,137, 69,224,141,
|
||||
/* 0x01e0 */ 69,224,255,117,236, 80,255,115, 4, 81,255,118, 4,255, 85,220,
|
||||
/* 0x01f0 */ 131,196, 20,133,192, 15,133,150, 0, 0, 0,139, 85,228, 59, 85,
|
||||
/* 0x0200 */ 224, 15,133,138, 0, 0, 0,138, 69,237,132,192,116, 19,139, 77,
|
||||
/* 0x0210 */ 12,133,201,116, 12,129,250, 0, 2, 0, 0,119, 75, 57, 19,116,
|
||||
/* 0x0220 */ 71,139, 69,232, 1, 70, 4, 41, 6,139, 3, 1, 83, 4, 41,208,
|
||||
/* 0x0230 */ 133,192,137, 3, 15,133,106,255,255,255,141,101,244, 91, 94, 95,
|
||||
/* 0x0240 */ 201,195,139, 83, 4,137,240,232,248,254,255,255,139, 85,228,139,
|
||||
/* 0x0250 */ 3, 1, 83, 4, 41,208,133,192,137, 3, 15,133, 68,255,255,255,
|
||||
/* 0x0260 */ 141,101,244, 91, 94, 95,201,195, 15,182,192, 80, 15,182, 69,238,
|
||||
/* 0x0270 */ 80, 82,255,115, 4,255, 85, 12,139, 69,232, 1, 70, 4,131,196,
|
||||
/* 0x0280 */ 16, 41, 6,139, 85,228,235,161,129,125,232, 85, 80, 88, 33,116,
|
||||
/* 0x0290 */ 7,106,127,232,241, 5, 0, 0,139, 30,133,219,116,156,235,241,
|
||||
/* 0x02a0 */ 133,192, 83,137,195,116, 33,168, 1,117, 29,139, 3, 57,208,116,
|
||||
/* 0x02b0 */ 18,131,248, 1,116, 20,133,192,116, 14,131,195, 8,139, 3, 57,
|
||||
/* 0x02c0 */ 208,117,238,137, 19,137, 75, 4, 91,195,133,210,117,245,131,195,
|
||||
/* 0x02d0 */ 8,235,234, 85,137,229, 87, 86, 83,131,236,108,137, 85,196,139,
|
||||
/* 0x02e0 */ 77, 24,137, 69,200,139, 93,196,199, 69,228, 0, 0, 0, 0,139,
|
||||
/* 0x02f0 */ 69, 12,137, 77,184,139, 77,196,199, 69,232, 0, 0, 0, 0, 15,
|
||||
/* 0x0300 */ 183, 91, 16,137, 69,192,139,125,196,199, 69,220, 0, 0, 0, 0,
|
||||
/* 0x0310 */ 15,183, 65, 44,199, 69,224, 0, 0, 0, 0, 3,127, 28,137, 93,
|
||||
/* 0x0320 */ 180,139, 85, 16,199, 69,236,255,255,255,255,137,195,199, 69,240,
|
||||
/* 0x0330 */ 255,255,255,255, 75,137, 85,188,199, 69,148, 0, 0, 0, 0,137,
|
||||
/* 0x0340 */ 250,120, 15,131, 58, 1, 15,132,114, 1, 0, 0,131,194, 32, 75,
|
||||
/* 0x0350 */ 121,241,131,125,180, 2,116, 60,129,125,220,255,255,255, 31,118,
|
||||
/* 0x0360 */ 51,139, 93, 8,139, 67, 4,137,193,137,194,139, 3,129,226,255,
|
||||
/* 0x0370 */ 255,255, 3,129,225, 0, 0, 0,252, 37,255,255,255, 3, 57,194,
|
||||
/* 0x0380 */ 118, 2,137,208,141,140, 1,255, 15, 0, 0,129,225, 0,240,255,
|
||||
/* 0x0390 */ 255,137, 77,148,199, 69,172, 0, 0, 0, 0,139,117,172,139, 85,
|
||||
/* 0x03a0 */ 148,193,230, 2,139, 92, 46,236,139, 68, 46,220,137,217,129,227,
|
||||
/* 0x03b0 */ 0,240,255,255,137, 69,140, 1,194,137, 93,144,139, 69, 8,137,
|
||||
/* 0x03c0 */ 92, 46,236,139, 93,172,129,225,255, 15, 0, 0,137, 20,152,139,
|
||||
/* 0x03d0 */ 85,144, 41, 85,140,106, 0,139, 69,140,106,255, 3, 76, 46,228,
|
||||
/* 0x03e0 */ 137,211,104, 18, 16, 0, 0, 3, 93,148, 5,255, 15, 0, 0, 37,
|
||||
/* 0x03f0 */ 0,240,255,255,106, 0, 80,129,193,255, 15, 0, 0,129,225, 0,
|
||||
/* 0x0400 */ 240,255,255, 83,137, 68, 46,220,137, 76, 46,228,232, 83, 4, 0,
|
||||
/* 0x0410 */ 0,255, 69,172,131,196, 24,131,125,172, 1,137, 68, 46,212, 15,
|
||||
/* 0x0420 */ 142,118,255,255,255,139, 69,196,199, 69,168, 0, 0, 0, 0,139,
|
||||
/* 0x0430 */ 77,212,139, 93,236,102,139, 80, 44, 41,217,102,133,210,137, 77,
|
||||
/* 0x0440 */ 176,117, 23,235, 75, 72, 15,132,174, 0, 0, 0,255, 69,168, 15,
|
||||
/* 0x0450 */ 183,194,131,199, 32, 59, 69,168,126, 54,139, 7,131,248, 6,117,
|
||||
/* 0x0460 */ 228,139, 93,192,133,219,116,228,139, 77,176,186, 3, 0, 0, 0,
|
||||
/* 0x0470 */ 3, 79, 8,139, 69,188,232, 37,254,255,255,139, 77,196,131,199,
|
||||
/* 0x0480 */ 32,255, 69,168,102,139, 81, 44, 15,183,194, 59, 69,168,127,202,
|
||||
/* 0x0490 */ 139, 77,192,133,201, 15,132, 65, 2, 0, 0,139, 69, 20,133,192,
|
||||
/* 0x04a0 */ 116, 8,139, 69,176,139, 93, 20,137, 3,139, 85,196,139, 82, 24,
|
||||
/* 0x04b0 */ 1, 85,176,139, 69,176,141,101,244, 91, 94, 95,201,195,139, 66,
|
||||
/* 0x04c0 */ 24,139, 74, 8,131,224, 1,141, 52,133, 0, 0, 0, 0, 57, 76,
|
||||
/* 0x04d0 */ 46,236,118, 11,139, 66, 16,137, 76, 46,236,137, 68, 46,228,139,
|
||||
/* 0x04e0 */ 66, 20, 1,200, 57, 68, 46,220, 15,131, 94,254,255,255,131,194,
|
||||
/* 0x04f0 */ 32,137, 68, 46,220,233, 85,254,255,255,139, 95, 20,133,219, 15,
|
||||
/* 0x0500 */ 132, 71,255,255,255,139, 69,176,199, 69,164, 64, 98, 81,115, 3,
|
||||
/* 0x0510 */ 71, 8,139, 79, 24,131,225, 7,137,194,193,225, 2,129,226,255,
|
||||
/* 0x0520 */ 15, 0, 0,211,109,164, 1,195,139, 79, 16,137, 69,208, 41,208,
|
||||
/* 0x0530 */ 131,101,164, 7,137, 77,204,141, 52, 17,139, 77,192,137, 69,160,
|
||||
/* 0x0540 */ 139, 71, 4,137, 93,156, 41,208,133,201, 80,139, 69,200,116, 5,
|
||||
/* 0x0550 */ 184,255,255,255,255,131,125,192, 1, 80,139, 85,192, 25,192, 37,
|
||||
/* 0x0560 */ 0,240,255,255, 5, 18, 16, 0, 0,133,210, 80,139, 69,164,116,
|
||||
/* 0x0570 */ 3,131,200, 2,139, 93,192, 80,137,240,133,219,116, 3,141, 70,
|
||||
/* 0x0580 */ 3, 80,255,117,160,232,218, 2, 0, 0,131,196, 24, 59, 69,160,
|
||||
/* 0x0590 */ 15,133, 87, 1, 0, 0,139, 77,192,133,201,116, 31,246, 69,164,
|
||||
/* 0x05a0 */ 4,139, 69,184,117, 5,184, 0, 0, 0, 0, 80,139, 69,192,255,
|
||||
/* 0x05b0 */ 117,200,141, 85,204,232,202,251,255,255, 88, 90,137,243,247,219,
|
||||
/* 0x05c0 */ 129,227,255, 15, 0, 0,246, 69,164, 2,116, 13,139, 69,160, 1,
|
||||
/* 0x05d0 */ 240,133,219, 15,133,141, 0, 0, 0,139, 69,192,133,192,116, 32,
|
||||
/* 0x05e0 */ 131, 63, 1, 15,132,138, 0, 0, 0,255,117,164, 86,255,117,160,
|
||||
/* 0x05f0 */ 232,176, 2, 0, 0,131,196, 12,133,192, 15,133,237, 0, 0, 0,
|
||||
/* 0x0600 */ 141, 4, 30,139, 93,160, 1,195, 59, 93,156,114, 42,139, 69,192,
|
||||
/* 0x0610 */ 133,192, 15,132,184, 0, 0, 0,141, 70, 3, 37,255, 15, 0, 0,
|
||||
/* 0x0620 */ 131,248, 3, 15,135, 82,254,255,255, 80, 83,232,113, 2, 0, 0,
|
||||
/* 0x0630 */ 91, 94,233, 68,254,255,255,106, 0,106,255,104, 18, 16, 0, 0,
|
||||
/* 0x0640 */ 255,117,164, 41, 93,156,255,117,156, 83,232, 21, 2, 0, 0,131,
|
||||
/* 0x0650 */ 196, 24, 57,216, 15,133,147, 0, 0, 0,139, 93,196,102,139, 83,
|
||||
/* 0x0660 */ 44,233,230,253,255,255,137,217,198, 0, 0, 64,226,250,233,102,
|
||||
/* 0x0670 */ 255,255,255,246, 71, 24, 1, 15,132,108,255,255,255,139, 87, 20,
|
||||
/* 0x0680 */ 139, 71, 8,137, 69,152, 1,208,137,193, 3, 77,176, 59, 87, 16,
|
||||
/* 0x0690 */ 116, 98,107, 69,176, 52,139, 85,152,141, 76, 2, 12,139, 71, 4,
|
||||
/* 0x06a0 */ 133,192,117, 15,139, 1, 61,205,128,201,195,116, 6,199, 1,205,
|
||||
/* 0x06b0 */ 128,201,195,133,201, 15,132, 46,255,255,255,139, 69,188,186, 0,
|
||||
/* 0x06c0 */ 0, 0, 0,131,224,254,232,213,251,255,255,233, 25,255,255,255,
|
||||
/* 0x06d0 */ 139, 69,196,102,139, 80, 44,233,112,253,255,255,255,117,200,232,
|
||||
/* 0x06e0 */ 185, 1, 0, 0, 90,133,192, 15,132,174,253,255,255,106,127,232,
|
||||
/* 0x06f0 */ 149, 1, 0, 0,137,200,247,216, 37,255, 15, 0, 0,131,248, 3,
|
||||
/* 0x0700 */ 119,162,235,142, 85,137,229, 87, 86, 83,131,236, 24,141, 85, 24,
|
||||
/* 0x0710 */ 139, 69, 8,106, 0,139,117, 16,199, 69,232, 0, 0, 0, 0,137,
|
||||
/* 0x0720 */ 69,228,139, 69, 28, 86,139, 93, 32,137, 69,220,137,199,141, 70,
|
||||
/* 0x0730 */ 2,131,199, 52,199, 69,236, 0, 0, 0, 0,137, 69,224,141, 69,
|
||||
/* 0x0740 */ 32,232, 62,250,255,255,139, 69, 12,185, 0, 16, 0, 0,186, 6,
|
||||
/* 0x0750 */ 0, 0, 0,137, 69, 32,139, 69,228, 41, 93, 36,232, 63,251,255,
|
||||
/* 0x0760 */ 255,139, 69,220,186, 5, 0, 0, 0, 15,183, 72, 44,139, 69,228,
|
||||
/* 0x0770 */ 232, 43,251,255,255,139, 69,220,186, 4, 0, 0, 0, 15,183, 72,
|
||||
/* 0x0780 */ 42,139, 69,228,232, 23,251,255,255,139, 77, 40, 3, 79, 8,186,
|
||||
/* 0x0790 */ 3, 0, 0, 0,139, 69,228,131,193, 52,232, 1,251,255,255,141,
|
||||
/* 0x07a0 */ 69,240,255,117,224, 80,139, 85,220,141, 69, 32,255,117,228, 80,
|
||||
/* 0x07b0 */ 141, 69,232, 80,137,240,232, 24,251,255,255,186, 9, 0, 0, 0,
|
||||
/* 0x07c0 */ 137,193,137,195,139, 69,228,232,212,250,255,255,139, 69,220,131,
|
||||
/* 0x07d0 */ 196, 28,186, 0, 0, 0, 0,102,139, 72, 44,102,133,201,116, 16,
|
||||
/* 0x07e0 */ 131, 63, 3,116, 21, 66, 15,183,193,131,199, 32, 57,208,127,240,
|
||||
/* 0x07f0 */ 141,101,244,137,216, 91, 94, 95,201,195,106, 0,139, 69,240,106,
|
||||
/* 0x0800 */ 0, 3, 71, 8, 80,232,143, 0, 0, 0,131,196, 12,133,192,137,
|
||||
/* 0x0810 */ 195,120, 24,104, 0, 2, 0, 0,255,117,220, 80,232,112, 0, 0,
|
||||
/* 0x0820 */ 0,131,196, 12, 61, 0, 2, 0, 0,116, 7,106,127,232, 87, 0,
|
||||
/* 0x0830 */ 0, 0,141, 69,240,139, 85,220,106, 0, 80,106, 0,141, 69,232,
|
||||
/* 0x0840 */ 106, 0, 80,137,216,232,137,250,255,255,139, 77,240,137,195,139,
|
||||
/* 0x0850 */ 69,228,186, 7, 0, 0, 0,232, 68,250,255,255,131,196, 20,235,
|
||||
/* 0x0860 */ 143, 0, 0, 0, 85,137,229, 49,192, 80,255,117, 28, 80,255,117,
|
||||
/* 0x0870 */ 24,255,117, 20,255,117, 16,255,117, 12,255,117, 8, 80,176,197,
|
||||
/* 0x0880 */ 80, 80,176,198,205,128,201,195,195,176, 1, 15,182,192,205,128,
|
||||
/* 0x0890 */ 195,176, 3,235,246,176, 4,235,242,176, 5,235,238,176, 6,235,
|
||||
/* 0x08a0 */ 234,176, 73,235,230,176, 74,235,226,176, 33,235,222,176, 20,235,
|
||||
/* 0x08b0 */ 218,176, 92,235,214,176, 59,235,210,176, 2,235,206,176,130,235,
|
||||
/* 0x08c0 */ 202,176,116,235,198,176,240,235,194,176, 10,235,190,176, 7,235,
|
||||
/* 0x08d0 */ 186
|
||||
};
|
||||
|
||||
+327
-141
@@ -32,18 +32,56 @@
|
||||
*/
|
||||
|
||||
#include "arch/i386/macros.S"
|
||||
NBPW= 4 // Number of Bytes Per Word
|
||||
.att_syntax // opcode src,dst
|
||||
#define arg1 ebx
|
||||
#define arg2 ecx
|
||||
#define arg3 edx
|
||||
|
||||
NBPW= 4
|
||||
|
||||
sz_b_info= 12
|
||||
sz_unc= 0
|
||||
sz_cpr= 4
|
||||
b_method= 8
|
||||
|
||||
PROT_READ= 1
|
||||
PROT_WRITE= 2
|
||||
PROT_EXEC= 4
|
||||
|
||||
MAP_FIXED= 0x10
|
||||
MAP_SHARED= 0x01
|
||||
MAP_PRIVATE= 0x02
|
||||
MAP_ANONYMOUS= 0x20
|
||||
|
||||
szElf32_Ehdr= 0x34
|
||||
p_memsz= 5*4
|
||||
|
||||
__NR_exit= 1
|
||||
__NR_write= 4
|
||||
__NR_open= 5
|
||||
__NR_close= 6
|
||||
__NR_mkdir= 39
|
||||
__NR_oldmmap= 90 // %ebx -> args[6]
|
||||
__NR_stat= 106
|
||||
__NR_olduname= 109
|
||||
__NR_oldolduname= 59
|
||||
__NR_uname= 122
|
||||
__NR_memfd_create= 356
|
||||
__NR_mprotect= 125
|
||||
|
||||
ENOSYS= 38 /* Invalid system call number */
|
||||
NAME_MAX= 255 // # chars in file name; linux/include/uapi/linux/limits.h
|
||||
|
||||
PAGE_SHIFT= 12
|
||||
PAGE_SIZE= ( 1 << PAGE_SHIFT)
|
||||
PAGE_MASK= (~0 << PAGE_SHIFT)
|
||||
|
||||
M_NRV2B_LE32= 2
|
||||
|
||||
/*************************************************************************
|
||||
// program entry point
|
||||
// see glibc/sysdeps/i386/elf/start.S
|
||||
**************************************************************************/
|
||||
|
||||
section LEXEC000
|
||||
sz_pack2 = -4+ _start
|
||||
_start: .globl _start
|
||||
//// nop; int3 // DEBUG
|
||||
push eax // space for %entry address
|
||||
/*
|
||||
;; How to debug this code: Uncomment the 'int3' breakpoint instruction above.
|
||||
;; Build the stubs and upx. Compress a testcase, such as a copy of /bin/date.
|
||||
@@ -62,168 +100,316 @@ _start: .globl _start
|
||||
;; Step through the code; remember that <Enter> repeats the previous command.
|
||||
;;
|
||||
*/
|
||||
call main // push address of decompress subroutine
|
||||
decompress:
|
||||
f_exp: // synonym
|
||||
|
||||
// /*************************************************************************
|
||||
// // C callable decompressor
|
||||
// **************************************************************************/
|
||||
section ELFMAINX
|
||||
sz_pack2 = -NBPW+ _start
|
||||
_start: .globl _start
|
||||
/// nop; int3 // DEBUG i386 entry.S
|
||||
call L70 // MATCH_08 push $&getbit
|
||||
L70ret:
|
||||
|
||||
// /* Offsets to parameters, allowing for {pusha + call} */
|
||||
#define O_INP (8*4 +1*4)
|
||||
#define O_INS (8*4 +2*4)
|
||||
#define O_OUTP (8*4 +3*4)
|
||||
#define O_OUTS (8*4 +4*4)
|
||||
#define O_PARAM (8*4 +5*4)
|
||||
#define bits %ebx
|
||||
getbit:
|
||||
addl bits,bits; jz refill // Carry= next bit
|
||||
rep; ret // rep: stop instruction pipeline (spend 1 byte for speed)
|
||||
refill:
|
||||
mov (%esi),bits; sub $-NBPW,%esi // next 32 bits; set Carry
|
||||
adc bits,bits // LSB= 1 (CarryIn); CarryOut= next bit
|
||||
ret // infrequent (1/32)
|
||||
|
||||
#define INP dword ptr [esp+O_INP]
|
||||
#define INS dword ptr [esp+O_INS]
|
||||
#define OUTP dword ptr [esp+O_OUTP]
|
||||
#define OUTS dword ptr [esp+O_OUTS]
|
||||
#define PARM dword ptr [esp+O_PARAM]
|
||||
#define foldi %esi
|
||||
#define r_getb %edx
|
||||
#define r_unc %ebx
|
||||
#define u_len %edi
|
||||
|
||||
section LEXEC009
|
||||
//; empty section for commonality with l_lx_exec86.asm
|
||||
section LEXEC010
|
||||
pusha
|
||||
// cld
|
||||
L20:
|
||||
pop foldi // MATCH_09 &fold_info
|
||||
|
||||
mov esi, INP
|
||||
mov edi, OUTP
|
||||
#define old_sp %ebp
|
||||
F_FRAME= 7*NBPW
|
||||
F_ENTR= 6*NBPW; F_PMASK= F_ENTR
|
||||
F_MFD= 5*NBPW
|
||||
F_LENU= 4*NBPW
|
||||
F_ADRU= 3*NBPW
|
||||
F_ELFA= 2*NBPW
|
||||
F_LENX= 1*NBPW
|
||||
F_ADRX= 0*NBPW
|
||||
|
||||
or ebp, -1
|
||||
//;; align 8
|
||||
D_FOLD= 3*NBPW // .data space at start of unfold
|
||||
D_QFLG= 2*NBPW
|
||||
D_FNAME= 1*NBPW
|
||||
D_PMASK= 0*NBPW
|
||||
|
||||
#include "arch/i386/nrv2b_d32.S"
|
||||
#include "arch/i386/nrv2d_d32.S"
|
||||
#include "arch/i386/nrv2e_d32.S"
|
||||
#include "arch/i386/lzma_d.S"
|
||||
cjt32 0
|
||||
#if 0 //{ DEBUG
|
||||
mov $0xa5a5a5a5,%eax
|
||||
push %eax; push %eax; push %eax; push %eax
|
||||
push %eax; push %eax; push %eax
|
||||
#else //}{ non-DEBUG
|
||||
sub $F_FRAME,%esp
|
||||
#endif //}
|
||||
AT_PAGESZ= 6 // /usr/include/elf.h
|
||||
lea NBPW + F_FRAME(%esp),%edi // past argc
|
||||
call zfind // skip argv
|
||||
call zfind // skip env
|
||||
0: // find AT_PAGESZ in auxv
|
||||
mov (%edi),%eax
|
||||
mov NBPW(%edi),%ecx; add $2*NBPW,%edi
|
||||
cmp $AT_PAGESZ,%eax; je 5f
|
||||
mov $1<<12,%ecx // default PAGE_SIZE
|
||||
test %eax,%eax; jne 0b
|
||||
5:
|
||||
neg %ecx // PAGE_MASK
|
||||
|
||||
section LEXEC015
|
||||
// eax is 0 from decompressor code
|
||||
//xor eax, eax ; return code
|
||||
mov %esp,old_sp
|
||||
mov %ecx,F_PMASK(old_sp)
|
||||
lea sz_pack2 - L70ret(r_getb),%edi
|
||||
mov (%edi),%ecx
|
||||
sub %ecx,%edi; mov %edi,F_ELFA(old_sp)
|
||||
lodsl // O_BINFO | is_ptinterp | unmap_all_pages; advance to &b_info
|
||||
add %eax,%edi; mov %edi,F_ADRX(old_sp)
|
||||
sub %eax,%ecx; mov %ecx,F_LENX(old_sp)
|
||||
// cmpw $M_NRV2B_LE32|(0<<8),b_method(foldi); je 0f; hlt; 0: // check method and filter bytes
|
||||
|
||||
// check compressed size
|
||||
mov edx, INP
|
||||
add edx, INS
|
||||
cmp esi, edx
|
||||
jz .ok
|
||||
dec eax
|
||||
.ok:
|
||||
mov /*sz_unc*/(foldi),r_unc
|
||||
// align + {page_mask, fd_name} + "/data/data/$APP_NAME/cache/upxAAA"
|
||||
lea (1+ NAME_MAX + 2*NBPW + D_FOLD + (1+ 11 + 13))(r_unc),u_len
|
||||
mov u_len,F_LENU(old_sp)
|
||||
sub u_len,%esp // alloca
|
||||
and $-2*NBPW,%esp // align stack
|
||||
|
||||
// write back the uncompressed size
|
||||
sub edi, OUTP
|
||||
mov edx, OUTS
|
||||
mov [edx], edi
|
||||
lea (2*NBPW + D_FOLD)(r_unc),%eax; add %esp,%eax
|
||||
and $-2*NBPW,%eax; push %eax // MATCH_31 where to put pathname
|
||||
mov %eax,%ecx
|
||||
sub %esp,%ecx; mov %ecx,D_FNAME(%esp) // forward to unfolded code
|
||||
mov F_PMASK(old_sp),%ecx; mov %ecx,D_PMASK(%esp) // forward to unfolded code
|
||||
mov $MAP_PRIVATE|MAP_ANONYMOUS,%ecx; mov %ecx,D_QFLG(%esp) // forward to unfolded code
|
||||
|
||||
mov [7*4 + esp], eax
|
||||
popa
|
||||
ret
|
||||
xor %ecx,%ecx // zero
|
||||
push %edx // MATCH_33 save &getbit
|
||||
push %eax // arg3 &pathname
|
||||
mov %ecx,(%eax) // empty string
|
||||
push u_len // arg2
|
||||
push %ecx // arg1 0==> any page
|
||||
call upx_mmap_and_fd; add $3*NBPW,%esp // (ptr, len, pathname)
|
||||
pop %edx // MATCH_33 restore &getbit
|
||||
mov %eax,%ecx
|
||||
shr $12,%eax; shl $12,%eax; mov %eax,F_ADRU(old_sp)
|
||||
sub %eax,%ecx; sub $1,%ecx; mov %ecx,F_MFD (old_sp)
|
||||
#undef r_unc
|
||||
#undef u_len
|
||||
|
||||
ctojr32
|
||||
ctok32 edi, dl
|
||||
section LEXEC017
|
||||
popa
|
||||
ret
|
||||
// This is nrv2b_d32, inlined and optimized for small space (about 160 bytes).
|
||||
// The task is to de-compress the folded pieces for shared library init:
|
||||
// the de-compressor(s) of the PT_LOAD pieces, and the C-code supervisor
|
||||
// which adjusts the placement and mapping of the address space.
|
||||
// The output length is a couple KB for NRV, a few KB for Lzma, 64KB for Zstd.
|
||||
// This is motivated by the possibility of using multiple de-compressors
|
||||
// depending on the characteristics of each PT_LOAD, and by the increased size
|
||||
// and compressability of C-coded de-compressors for Lzma and Zstd
|
||||
// in contrast to the simple and small assembly-coded NRV.
|
||||
|
||||
section LEXEC020
|
||||
/* Working registers for local NRV2B */
|
||||
#define off %eax /* XXX: 2GB */
|
||||
//#define bits %ebx
|
||||
#define len %ecx /* XXX: 2GB */
|
||||
#define disp %ebp
|
||||
|
||||
PAGE_SHIFT= 12
|
||||
PAGE_SIZE= ( 1 << PAGE_SHIFT)
|
||||
PAGE_MASK= (~0 << PAGE_SHIFT)
|
||||
#define GETBIT call *r_getb /* %edx */
|
||||
#define jnextb0 GETBIT; jnc
|
||||
#define jnextb1 GETBIT; jc
|
||||
|
||||
MAP_FIXED= 0x10
|
||||
MAP_PRIVATE= 0x02
|
||||
MAP_ANONYMOUS= 0x20
|
||||
/* rotate next bit (now in Carry) into bottom bit of reg */
|
||||
#define getnextb(reg) GETBIT; adcl reg,reg
|
||||
|
||||
PROT_READ= 1
|
||||
PROT_WRITE= 2
|
||||
PROT_EXEC= 4
|
||||
/* Arguments to decompress() */
|
||||
#define src %esi
|
||||
#define lsrc %ecx
|
||||
#define dst %edi
|
||||
//#define ldst %edx /* Out: actually a reference: &len_dst */
|
||||
|
||||
__NR_exit= 1
|
||||
__NR_write= 4
|
||||
__NR_open= 5
|
||||
__NR_mmap= 90
|
||||
__NR_mprotect= 125
|
||||
lea D_FOLD(%esp),dst // &unfolded code
|
||||
push old_sp // MATCH_16 save register
|
||||
mov sz_cpr(foldi),lsrc
|
||||
lea sz_b_info(foldi),src
|
||||
#undef foldi
|
||||
|
||||
szElf32_Ehdr= 0x34
|
||||
p_memsz= 5*4
|
||||
decompress: // inlined: (uchar const *src, uint len, uchar *dst /*, u32 &ldst, uint method */)
|
||||
add src,lsrc; push lsrc // MATCH_05 &input_eof
|
||||
//subq src,lsrc // restore the value of lsrc; dead for inlined nrv2b
|
||||
|
||||
sz_unc= 0
|
||||
sz_cpr= 4
|
||||
//%esp:
|
||||
// MATCH_05 &input_eof
|
||||
// MATCH_16 old_sp
|
||||
// space for de-compressed code
|
||||
|
||||
is_ptinterp= (1<<0)
|
||||
unmap_all_pages= (1<<1)
|
||||
//old_sp:
|
||||
// MATCH_10 len unfolded_code
|
||||
// MATCH_14 &so_info
|
||||
// MATCH_03 pusha regs {%edi,%esi,%ebp,%esp,%ebx,%edx,%ecx,%eax}
|
||||
// ret_addr
|
||||
// MATCH_00 argc
|
||||
// MATCH_01 argv
|
||||
// MATCH_07 envp
|
||||
|
||||
#define pushsbli .byte 0x6a, /* push sign-extended byte to long immediate*/
|
||||
xor bits,bits // empty; force refill
|
||||
xor len,len // create loop invariant
|
||||
or $~0,disp // -1: initial dispacement
|
||||
cld // paranoia
|
||||
.byte 0xa8 // "testb $... ,%al" ==> "jmp top_n2b"
|
||||
lit_n2b:
|
||||
movsb // *dst++ = *src++;
|
||||
top_n2b:
|
||||
jnextb1 lit_n2b
|
||||
lea 1(len),off # [len= 0] off= 1
|
||||
offmore_n2b:
|
||||
getnextb(off)
|
||||
jnextb0 offmore_n2b
|
||||
|
||||
// Decompress the rest of this loader, and jump to it
|
||||
unfold: // IN: ebp= f_exp; esp/ &O_BINFO
|
||||
pop esi; lodsd // skip O_BINFO; esi= &compressed fold_elf86
|
||||
lea edi,[sz_pack2 - f_exp + ebp]
|
||||
sub edi,[edi] // edi= &Elf32_Ehdr of this program
|
||||
sub $ 3,off; jc len_n2b # use previous offset
|
||||
shl $ 8,off; lodsb # off is %eax, so 'lodsb' is "off |= *src++;"
|
||||
xor $~0,off; jz eof_n2b
|
||||
mov off,disp # XXX: 2GB
|
||||
len_n2b:
|
||||
lea 1(len),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
|
||||
mov off,len # len= 1, the msb
|
||||
add $3-1,off # raw 2.. ==> 5..
|
||||
lenmore_n2b:
|
||||
getnextb(len)
|
||||
jnextb0 lenmore_n2b
|
||||
gotlen_n2b:
|
||||
cmp $-0xd00,disp # XXX: 2GB
|
||||
adc off,len # len += off + (disp < -0xd00)
|
||||
push %esi // MATCH_06
|
||||
lea (%edi,disp),%esi
|
||||
rep; movsb
|
||||
pop %esi // MATCH_06
|
||||
jmp top_n2b
|
||||
|
||||
push -1 // P_31 %fd
|
||||
eof_n2b:
|
||||
pop %ecx // MATCH_05 &input_eof
|
||||
cmp %ecx,%esi; je 0f; hlt; 0: // test for ending in correct place
|
||||
pop old_sp // MATCH_16
|
||||
|
||||
// Reserve space for unfolded stub
|
||||
push 0 // offset
|
||||
push -1 // fd
|
||||
push MAP_PRIVATE|MAP_ANONYMOUS
|
||||
mov edx,[esi] // .sz_unc
|
||||
push PROT_READ|PROT_WRITE
|
||||
push edx // len
|
||||
push 0 // kernel chooses addr
|
||||
call mmap
|
||||
push edx // P_23 LENU
|
||||
push eax // P_24 ADRU
|
||||
xchg eax,edx // edx= ADRU
|
||||
#define mfd %edi
|
||||
mov F_MFD(old_sp),mfd
|
||||
mov F_LENU(old_sp),%edx
|
||||
mov %esp,%ecx
|
||||
mov %edi,%ebx
|
||||
mov $__NR_write,%al; call sys_check_al
|
||||
|
||||
// Unfold
|
||||
lodsd; push eax; mov ebx,esp // sz_unc
|
||||
lodsd; xchg ecx,eax // sz_cpr
|
||||
lodsd; push eax // b_method
|
||||
push ebx // &sz_unc
|
||||
push edx // dst
|
||||
push ecx // sz_cpr
|
||||
push esi // src
|
||||
call ebp // decompress
|
||||
add esp,6*NBPW
|
||||
mov old_sp,%esp // de-alloca
|
||||
|
||||
// PROT_EXEC
|
||||
pop %ebx // P_24 ADRU
|
||||
pop %ecx // P_23 LENU
|
||||
push PROT_EXEC|PROT_READ; pop edx
|
||||
push %ecx // P_23 LENU
|
||||
push %ebx // P_24 ADRU
|
||||
push __NR_mprotect; pop eax; int 0x80
|
||||
push $0 // arg6
|
||||
push mfd // arg5
|
||||
push $MAP_FIXED|MAP_PRIVATE // arg4
|
||||
push $PROT_READ|PROT_EXEC // arg3
|
||||
push F_LENU(%ebp) // arg2
|
||||
push F_ADRU(%ebp) // arg1
|
||||
call mmap; add $6*NBPW,%esp
|
||||
|
||||
// Jump to unfolded code
|
||||
lea esi,[-4*NBPW + esi]
|
||||
lodsd // eax= O_BINFO; esi= &b_info
|
||||
and eax,~(is_ptinterp | unmap_all_pages)
|
||||
add eax,edi // ADRX
|
||||
mov ecx,[sz_pack2 - f_exp + ebp] // LENX(==sz_pack2)
|
||||
// eax:ADRX; ebx:free; ecx:LENX
|
||||
// ebp:f_exp; esi:&b_info(fold); edi:dynbase
|
||||
pop %edx; push %edx
|
||||
jmp edx // esp/ ADRU,LENU,fd,%entry,argc,argv,0,...
|
||||
mov mfd,%ebx
|
||||
mov $__NR_close,%al; call sys_check_al
|
||||
|
||||
mmap: // oldmmap: ebx -> 6 arguments; remove arguments on return
|
||||
lea ebx,[NBPW+esp]
|
||||
push __NR_mmap; pop eax; int 0x80
|
||||
cmp eax,PAGE_MASK; jb 0f; hlt; 0:
|
||||
ret 6*4
|
||||
mov F_ADRU(%ebp),%eax
|
||||
add $D_FOLD,%eax // PAGE_MASK, upxfd_path, mflg_data
|
||||
jmp *%eax
|
||||
// %esp:
|
||||
// MATCH_13 ptr unfolded_code; for escape hatch
|
||||
// MATCH_12 len unfolded code; for escape hatch
|
||||
// MATCH_14 &so_info
|
||||
// MATCH_03 pusha regs {%edi,%esi,%ebp,%esp,%ebx,%edx,%ecx,%eax}
|
||||
// ret_addr
|
||||
// MATCH_00 argc
|
||||
// MATCH_01 argv
|
||||
// MATCH_07 envp
|
||||
|
||||
.balign 4 // for Android emulator
|
||||
main:
|
||||
pop ebp // &decompress
|
||||
nop;nop // align 'call' opcode to (3 mod 4)
|
||||
call unfold // " *--sp = &O_BINFO; goto unfold; "
|
||||
// must be ".balign 4" here for Android emulator
|
||||
.long O_BINFO
|
||||
// compressed fold_elf86 follows
|
||||
eof:
|
||||
|
||||
sys_check_al:
|
||||
movzbl %al,%eax
|
||||
sys_check: // syscall with error checking; if halt then %eax= -errno, %ecx= __NR_
|
||||
push %eax // save __NR_ for debug
|
||||
int $0x80
|
||||
pop %ecx // recover __NR_ for debug
|
||||
cmp $~0<<12,%eax; jb 0f; hlt; 0: // -errno
|
||||
ret
|
||||
|
||||
mmap: .globl mmap // for C-callable, such as from upx_mmap_and_fd()
|
||||
push %ebx // save register
|
||||
lea 2*NBPW(%esp),%ebx
|
||||
mov $__NR_oldmmap,%al; call sys_check_al // use simpler-for-us oldmmap
|
||||
pop %ebx // restore register
|
||||
ret // C-callable, so cannot remove 6 args here
|
||||
|
||||
get_upxfn_path: .globl get_upxfn_path
|
||||
sub %eax,%eax // should not be called!
|
||||
ret
|
||||
|
||||
stat: .globl stat
|
||||
xchg %ebx,NBPW(%esp)
|
||||
mov 2*NBPW(%esp),%ecx
|
||||
push $__NR_stat; pop %eax; int $0x80
|
||||
mov NBPW(%esp),%ebx
|
||||
ret
|
||||
|
||||
uname: .globl uname
|
||||
push %ebp; mov %esp,%ebp
|
||||
push %ebx
|
||||
mov 2*NBPW(%ebp),%ebx
|
||||
push $__NR_olduname; pop %eax; int $0x80
|
||||
pop %ebx; pop %ebp
|
||||
ret
|
||||
|
||||
mkdir: .globl mkdir
|
||||
push %ebp; mov %esp,%ebp
|
||||
push %ebx
|
||||
mov 2*NBPW(%ebp),%ebx
|
||||
mov 3*NBPW(%ebp),%ecx
|
||||
push __NR_mkdir; pop %eax; int $0x80
|
||||
pop %ebx
|
||||
pop %ebp
|
||||
ret
|
||||
|
||||
memset: .globl memset // (dst, val, n)
|
||||
push %ebp; mov %esp,%ebp
|
||||
push %edi
|
||||
mov (2+ 2)*NBPW(%ebp),%ecx
|
||||
mov (2+ 1)*NBPW(%ebp),%eax
|
||||
mov (2+ 0)*NBPW(%ebp),%edi
|
||||
rep stosb
|
||||
pop %edi
|
||||
pop %ebp
|
||||
ret
|
||||
|
||||
mempcpy: .globl mempcpy // (dst, src, n)
|
||||
push %ebp; mov %esp,%ebp
|
||||
push %edi; push %esi
|
||||
mov (2+ 2)*NBPW(%ebp),%ecx
|
||||
mov (2+ 1)*NBPW(%ebp),%esi
|
||||
mov (2+ 0)*NBPW(%ebp),%edi
|
||||
rep movsb
|
||||
mov %edi,%eax
|
||||
pop %esi; pop %edi; pop %ebp
|
||||
ret
|
||||
|
||||
zfind:
|
||||
mov (%edi),%eax; add $NBPW,%edi
|
||||
test %eax,%eax; jne zfind
|
||||
ret
|
||||
|
||||
my_bkpt: .globl my_bkpt
|
||||
int3 // my_bkpt
|
||||
ret
|
||||
|
||||
// IDENTSTR goes here
|
||||
|
||||
section ELFMAINZ
|
||||
L70:
|
||||
pop r_getb // MATCH_08 &getbit (also L70ret)
|
||||
call L20 // MATCH_09 push $&fold_info
|
||||
fold_info: // nice if 4-byte aligned
|
||||
.long O_BINFO // | is_ptinterp | unmap_all_pages
|
||||
// b_info (sz_unc, sz_cpr, method) of folded code (C-language, etc.)
|
||||
|
||||
/* vim:set ts=8 sw=8 et: */
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
|
||||
OUTPUT_ARCH(i386)
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
. = 0x00100000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
|
||||
.text : {
|
||||
}
|
||||
ELFMAINX : {
|
||||
*(ELFMAINX)
|
||||
*(.text)
|
||||
}
|
||||
}
|
||||
@@ -32,7 +32,12 @@
|
||||
#include "arch/i386/macros.S"
|
||||
NBPW= 4
|
||||
|
||||
# WARNING: This file uses Intel syntax: opcode dst,src
|
||||
# Memory operands use square brackets: [displ + %reg]
|
||||
# Literal operands lack square brackets.
|
||||
|
||||
PAGE_SIZE= ( 1<<12)
|
||||
PAGE_MASK= -PAGE_SIZE
|
||||
PATH_MAX= 4096
|
||||
|
||||
ET_DYN= 3
|
||||
@@ -49,6 +54,7 @@ sz_Elf32_Phdr= 8*NBPW
|
||||
#define szp_info 12
|
||||
#define a_type 0
|
||||
#define a_val NBPW
|
||||
#define sz_auxv 2*NBPW
|
||||
|
||||
is_ptinterp= (1<<0)
|
||||
unmap_all_pages= (1<<1)
|
||||
@@ -57,7 +63,13 @@ __NR_readlink= 85
|
||||
__NR_munmap= 91
|
||||
__NR_open= 5
|
||||
__NR_close= 6
|
||||
__NR_mmap= 0xc0
|
||||
__NR_mkdir= 39
|
||||
__NR_stat= 106
|
||||
__NR_newmmap= 0xc0 // new mmap: args in ebx,ecx,edx,esi,edi,ebp
|
||||
__NR_oldmmap= 90 // old mmap: %ebx -> args[6]
|
||||
__NR_olduname= 109
|
||||
__NR_oldolduname= 59
|
||||
__NR_uname= 122
|
||||
__NR_mprotect= 0x7d
|
||||
__NR_brk= 45
|
||||
|
||||
@@ -71,58 +83,85 @@ O_RDONLY= 0
|
||||
// control just falls through, after this part and compiled C code
|
||||
// are uncompressed.
|
||||
|
||||
// enter:
|
||||
// eax:ADRX; ebx:free; ecx:LENX
|
||||
// ebp:f_exp; esi:&b_info; edi:elfaddr
|
||||
// esp/ ADRU,LENU,%fd,%entry,argc,argv,0,envp,0,auxv,0,strings
|
||||
// enter at fold_begin :
|
||||
// esp/ ADRX,LENX,elfaddr,ADRU,LENU,%fd,%entry,argc,argv,0,envp,0,auxv,0,strings
|
||||
// (ADRU,LENU) = params for final munmap()
|
||||
// (ADRX,LENX) = extent of compressed program (after moving)
|
||||
// (ADRX,LENX) = extent of compressed program
|
||||
F_FRAME= 7*NBPW
|
||||
F_ENTR= 6*NBPW; F_PMASK= F_ENTR
|
||||
F_MFD= 5*NBPW
|
||||
F_LENU= 4*NBPW
|
||||
F_ADRU= 3*NBPW
|
||||
F_ELFA= 2*NBPW
|
||||
F_LENX= 1*NBPW
|
||||
F_ADRX= 0*NBPW
|
||||
|
||||
PAGE_MASK= . - 3*NBPW
|
||||
upxfn_path= . - 2*NBPW // displacement to filename string
|
||||
mflg_data= . - 1*NBPW // QNZ vs Linux
|
||||
|
||||
fold_begin:
|
||||
//// int3 // DEBUG
|
||||
push edi // elfaddr
|
||||
push ecx // LENX
|
||||
push eax // ADRX
|
||||
mov ebx,[-NBPW + esi] // O_BINFO | is_ptinterp | unmap_all_pages
|
||||
//// int3 // DEBUG
|
||||
pop ebx; push ebx // F_ADRX: elfaddr + (O_BINFO | is_ptinterp | unmap_all_pages)
|
||||
jmp L10
|
||||
|
||||
mov esi,esp; testb bl,unmap_all_pages; jnz 0f; sub esp,PATH_MAX; 0:
|
||||
mov edi,esp; push 8; pop ecx; rep movsd // copy ADRX,LENX,elfaddr,ADRU,LENU,%fd,entry,argc
|
||||
get_page_mask: .globl get_page_mask
|
||||
call 0f; 0: pop %ecx
|
||||
mov %eax,[PAGE_MASK - 0b + %ecx]
|
||||
ret
|
||||
|
||||
push ebp // f_exp
|
||||
get_upxfn_path: .globl get_upxfn_path
|
||||
call 0f; 0: pop %ecx
|
||||
mov %eax,[upxfn_path - 0b + %ecx]
|
||||
test %eax,%eax; je 1f; add %eax,%ecx
|
||||
1:
|
||||
ret
|
||||
|
||||
L10:
|
||||
mov esi,esp
|
||||
testb bl,unmap_all_pages; jnz 0f; sub esp,PATH_MAX; 0:
|
||||
mov edi,esp; push 8; pop ecx; rep movsd // copy ADRX,LENX,elfaddr,ADRU,LENU,fd,entry,argc
|
||||
|
||||
push ebp // f_exp FIXME: this is no longer used
|
||||
mov ebp,esp // frame: f_exp,ADRX,LENX,elfaddr,ADRU,LENU,%fd,entry,argc
|
||||
0:
|
||||
lodsd; test %eax,%eax; stosd; jne 0b // argv
|
||||
push edi // P_05 &new_env[0]; f_exp,ADRX,LENX,elfaddr,ADRU,LENU,%fd,entry,argc
|
||||
push edi // P_05 &new_env[0]; f_exp,ADRX,LENX,elfaddr,ADRU,LENU,fd,entry,argc
|
||||
testb bl,unmap_all_pages; jnz 0f; stosd; 0: // space for new_env[0]
|
||||
0:
|
||||
lodsd; test %eax,%eax; stosd; jne 0b // env
|
||||
push edi // P_06 &old_auxv,&new_env[0]; f_exp,ADRX,LENX,elfaddr,ADRU,LENU,%fd,entry,argc
|
||||
push edi // P_06 &old_auxv,&new_env[0]; f_exp,ADRX,LENX,elfaddr,ADRU,LENU,fd,entry,argc
|
||||
0:
|
||||
lodsd; test %eax,%eax; stosd; movsd; jne 0b // auxv
|
||||
|
||||
testb bl,unmap_all_pages; jz env_pse
|
||||
pop %edi // P_06 &old_auxv
|
||||
pop edi // P_06 &old_auxv
|
||||
pop ecx // toss P_05
|
||||
push -1; pop [1*NBPW + F_MFD + esp]
|
||||
jmp no_env_pse
|
||||
env_pse:
|
||||
|
||||
inc eax // 1, AT_IGNORE
|
||||
sub edi,2*NBPW // back to {AT_NULL}
|
||||
push 5*2; pop ecx; rep stosd // 5 extra slots of AT_IGNORE
|
||||
mov ecx,5*2; rep stosd // 5 extra slots of AT_IGNORE
|
||||
dec eax; stosd; stosd // 0, AT_NULL
|
||||
sub [-2*NBPW + ebp],edi // -len_aux
|
||||
push edi // P_07 &new_aux[N],-len_aux,&new_env[0]; f_exp,ADRX,LENX,elfaddr,ADRU,LENU,%fd,entry,argc
|
||||
push esi // P_08 &strings,&new_aux[N],-len_aux,&new_env[0]; f_exp,ADRX,LENX,elfaddr,ADRU,LENU,%fd,entry,argc
|
||||
push edi // P_07 &new_aux[N],-len_aux,&new_env[0]; f_exp,ADRX,LENX,elfaddr,ADRU,LENU,fd,entry,argc
|
||||
push esi // P_08 &strings,&new_aux[N],-len_aux,&new_env[0]; f_exp,ADRX,LENX,elfaddr,ADRU,LENU,fd,entry,argc
|
||||
|
||||
call 1f; 0: .asciz "/proc/self/exe"; 1:
|
||||
|
||||
// Use inline 'int 0x80' because failure is not fatal
|
||||
pop ebx // P_08 path
|
||||
sub ecx,ecx // O_RDONLY
|
||||
push __NR_open; pop eax; int 0x80
|
||||
mov [esp+ F_MFD + 5*NBPW],eax // fd for mmap
|
||||
|
||||
call 1f
|
||||
0:
|
||||
.asciz "/proc/self/exe"
|
||||
1:
|
||||
pop ebx; push ebx // path; copy of path
|
||||
mov ecx,O_RDONLY
|
||||
push __NR_open; pop eax; int 0x80; mov [6*NBPW + ebp],eax // fd
|
||||
pop ebx // copy of path
|
||||
mov edx,-5*2*NBPW -1+ PATH_MAX // buflen
|
||||
mov ecx,edi // buffer
|
||||
push __NR_readlink; pop eax; int 0x80; test eax,eax; jns 0f
|
||||
// mov ebx,ebx // name
|
||||
push __NR_readlink; pop eax; int 0x80
|
||||
test eax,eax; jns 0f
|
||||
mov ecx,ebx // point at name
|
||||
mov eax,-1+ (1b - 0b) // len
|
||||
0:
|
||||
@@ -168,38 +207,33 @@ no_env_pse:
|
||||
pop ebp // f_exp
|
||||
// stack is back to original state: ADRX,LENX,elfaddr,ADRU,LENU,fd,entry,argc
|
||||
|
||||
pop eax // ADRX: &b_info
|
||||
pop eax; and eax,~(is_ptinterp | unmap_all_pages) // ADRX: &b_info
|
||||
pop esi // LENX: total_size
|
||||
pop ecx // elfaddr
|
||||
pop ebp // elfaddr
|
||||
#define OVERHEAD 2048
|
||||
#include "MAX_ELF_HDR.S"
|
||||
sub esp, MAX_ELF_HDR_32 + OVERHEAD // alloca
|
||||
mov edx, esp // &tmp
|
||||
push ecx // elfaddr (9th arg)
|
||||
mov ebx, [ eax] // length of uncompressed ELF headers
|
||||
mov ecx, [NBPW + eax] // length of compressed ELF headers
|
||||
add ecx, szb_info
|
||||
// edi, esi, ebp, esp, ebx, edx, ecx, eax
|
||||
pusha // (auxv, sz_cpr, f_expand, &tmp_ehdr, {sz_unc, &tmp}, {sz_cpr, &b1st_info} )
|
||||
inc edi // swap with above 'pusha' to inhibit auxv_up for PT_INTERP
|
||||
.extern upx_main
|
||||
push esp // &tmp
|
||||
push edi // &final_auxv[0]
|
||||
push ebp // elfaddr
|
||||
push esi // LENX total size
|
||||
push eax // ADRX &b_info
|
||||
call upx_main // returns entry address
|
||||
dec edi
|
||||
mov esi,eax // entry
|
||||
mov ebp,[8*NBPW+ esp] // elfaddr
|
||||
// leave 5 params on stack until de-alloca below
|
||||
mov esi,eax // esi= entry; edi= auxv; ebp= elfaddr
|
||||
|
||||
// Discard C_TEXT (includes [ADRC,+LENC) )
|
||||
mov ecx,[ebp+ p_memsz+sz_Elf32_Phdr+sz_Elf32_Ehdr] // Phdr[C_TEXT= 1].p_memsz
|
||||
mov ebx,ebp // hi &Elf32_Ehdr
|
||||
cmpw [e_type + ebp],ET_EXEC; jne 1f
|
||||
push __NR_brk; pop %eax; int 0x80 // static __end_bss
|
||||
mov al,__NR_brk; call sys_check_al // static __end_bss
|
||||
1:
|
||||
push __NR_munmap; pop %eax; int 0x80 // discard C_TEXT compressed data
|
||||
mov al,__NR_munmap; call sys_check_al // discard C_TEXT compressed data
|
||||
|
||||
// Buggy programs may depend on uninit stack being 0, so clear what we used.
|
||||
mov edx,edi // save auxv
|
||||
mov edi,esp
|
||||
mov ecx,((8 +1)*NBPW + MAX_ELF_HDR_32 + OVERHEAD) >>2 // 8 params, elfaddr, un-alloca
|
||||
mov ecx,(5*NBPW + MAX_ELF_HDR_32 + OVERHEAD) >>2 // 5 params, de-alloca
|
||||
xor eax,eax // 0
|
||||
rep stosd // clear frame on exit
|
||||
mov esp,edi // end of frame
|
||||
@@ -215,7 +249,7 @@ no_env_pse:
|
||||
push edi // fd, auxv, ADRU, LENU, entry, argc
|
||||
|
||||
// Map one page of /proc/self/exe so that symlink does not disappear
|
||||
pop ebx // toss fd in case no_pse_map
|
||||
pop ebx // fd in case no_pse_map
|
||||
test edi,edi; js no_pse_map
|
||||
push ebx // restore fd
|
||||
sub ebp,ebp // 0 block in file
|
||||
@@ -224,10 +258,10 @@ no_env_pse:
|
||||
push PROT_READ; pop edx
|
||||
mov ecx,PAGE_SIZE
|
||||
sub ebx,ebx // 0 ==> Linux chooses page frame
|
||||
push __NR_mmap; pop eax; int 0x80
|
||||
mov al,__NR_newmmap; call sys_check_al
|
||||
|
||||
pop ebx // fd; auxv, LENU, ADRU, entry, argc
|
||||
push __NR_close; pop eax; int 0x80
|
||||
mov al,__NR_close; call sys_check_al
|
||||
no_pse_map:
|
||||
pop edi // auxv table
|
||||
sub eax,eax // 0, also AT_NULL
|
||||
@@ -253,6 +287,7 @@ L60:
|
||||
mov al, __NR_munmap // eax was 0 from L60
|
||||
jmp [edi] // unmap ourselves via escape hatch, then goto entry
|
||||
|
||||
section SYSCALLS
|
||||
// Sometimes linux enforces page-aligned address
|
||||
Pprotect: .globl Pprotect
|
||||
xchg ebx,[1*NBPW + esp] // save reg, %ebx= address
|
||||
@@ -261,29 +296,100 @@ Pprotect: .globl Pprotect
|
||||
sub ecx,%ebx // extra length
|
||||
add ecx,[2*NBPW + esp] // length
|
||||
mov edx,[3*NBPW + esp] // bits
|
||||
push __NR_mprotect; pop %eax; int 0x80
|
||||
mov al,__NR_mprotect; call sys_check_al
|
||||
cmp eax, -0x1000; jna 0f; hlt; 0:
|
||||
mov ebx,[1*NBPW + esp] // restore reg
|
||||
ret
|
||||
|
||||
mmap: .globl mmap // what happened to the ebx->args_on_stack method?
|
||||
push ebp
|
||||
push ebx
|
||||
push esi
|
||||
push edi
|
||||
mov ebx,[ 5*NBPW + esp]
|
||||
mov ecx,[ 6*NBPW + esp]
|
||||
mov edx,[ 7*NBPW + esp]
|
||||
mov esi,[ 8*NBPW+ esp]
|
||||
mov edi,[ 9*NBPW + esp]
|
||||
mov ebp,[10*NBPW + esp]
|
||||
shr ebp,12
|
||||
push __NR_mmap; pop eax; int 0x80
|
||||
// FIXME: page-shift the file offset (last parameter) ??
|
||||
// C-callable, so do NOT remove arguments as part of return
|
||||
mmap: .globl mmap // oldmmap: ebx -> 6 arguments
|
||||
push ebx // save register
|
||||
lea ebx,[2*NBPW + esp]
|
||||
mov al,__NR_oldmmap; call sys_check_al
|
||||
pop ebx // restore register
|
||||
ret
|
||||
|
||||
pop edi
|
||||
pop esi
|
||||
pop ebx
|
||||
pop ebp
|
||||
sys_check_al:
|
||||
movzbl eax,al
|
||||
sys_check:
|
||||
push eax // save __NR_ for debug
|
||||
int 0x80
|
||||
pop edx // recover __NR_ for debug
|
||||
cmp %eax,-1<<12; jae 0f; ret; 0:
|
||||
hlt
|
||||
|
||||
stat: .globl stat
|
||||
push %ebp
|
||||
mov %ebp,%esp
|
||||
push %ebx
|
||||
mov %ebx,[2*NBPW + %ebp]
|
||||
mov %ecx,[3*NBPW + %ebp]
|
||||
push __NR_stat; pop %eax; int 0x80
|
||||
pop %ebx; pop %ebp
|
||||
ret
|
||||
|
||||
uname: .globl uname
|
||||
push %ebp
|
||||
mov %ebp,%esp
|
||||
push %ebx
|
||||
mov %ebx, [2*NBPW + %ebp]
|
||||
push __NR_olduname; pop %eax; int 0x80
|
||||
pop %ebx; pop %ebp
|
||||
ret
|
||||
|
||||
mkdir: .globl mkdir
|
||||
push %ebp
|
||||
mov %ebp,%esp
|
||||
push %ebx
|
||||
mov %ebx,[2*NBPW + %ebp]
|
||||
mov %ecx,[3*NBPW + %ebp]
|
||||
push __NR_mkdir; pop %eax; int 0x80
|
||||
pop %ebx
|
||||
pop %ebp
|
||||
ret
|
||||
|
||||
memset: .globl memset // (dst, val, n)
|
||||
push %ebp
|
||||
mov %ebp,%esp
|
||||
push %edi
|
||||
mov %ecx,[(2+ 2)*NBPW + %ebp]
|
||||
mov %eax,[(2+ 1)*NBPW + %ebp]
|
||||
mov %edi,[(2+ 0)*NBPW + %ebp]
|
||||
push %edx // save original dst
|
||||
rep stosb
|
||||
pop %eax // return original dst
|
||||
pop %edi
|
||||
pop %ebp
|
||||
ret
|
||||
|
||||
memcpy: .globl memcpy // void *memcpy(void *dst, void const *src, size_t len)
|
||||
push %ebp
|
||||
mov %ebp,%esp
|
||||
push %edi; push %esi
|
||||
mov %ecx,[(2+ 2)*NBPW + %ebp]
|
||||
mov %eax,[(2+ 1)*NBPW + %ebp]
|
||||
mov %edi,[(2+ 0)*NBPW + %ebp]
|
||||
push %edi // save original dst
|
||||
rep movsb
|
||||
pop %eax // return original dst
|
||||
pop %esi; pop %edi; pop %ebp
|
||||
ret
|
||||
|
||||
mempcpy: .globl mempcpy // (dst, src, n)
|
||||
push %ebp
|
||||
mov %ebp,%esp
|
||||
push %edi; push %esi
|
||||
mov %ecx,[(2+ 2)*NBPW + %ebp]
|
||||
mov %eax,[(2+ 1)*NBPW + %ebp]
|
||||
mov %edi,[(2+ 0)*NBPW + %ebp]
|
||||
rep movsb
|
||||
mov %eax,%edi // return updated dst
|
||||
pop %esi; pop %edi; pop %ebp
|
||||
ret
|
||||
|
||||
my_bkpt: .globl my_bkpt
|
||||
int3 // my_bkpt
|
||||
ret
|
||||
|
||||
.balign 4,0
|
||||
|
||||
@@ -31,19 +31,8 @@
|
||||
OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
|
||||
OUTPUT_ARCH(i386)
|
||||
/*ENTRY(_start)*/
|
||||
PHDRS
|
||||
{
|
||||
text PT_LOAD FILEHDR PHDRS ;
|
||||
data PT_LOAD ; /* for setting brk(0) */
|
||||
}
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
/* 0x00c01000: 12 MiB + 4 KiB for Fedora Core 5 vDSO at 0xc00000 */
|
||||
. = 0x00c01000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
|
||||
.text : {
|
||||
*(.text)
|
||||
*(.data)
|
||||
} : text
|
||||
.data : {
|
||||
} : data
|
||||
. = 0x00100000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
|
||||
}
|
||||
|
||||
@@ -0,0 +1,876 @@
|
||||
/* amd64-linux.elf-main.c -- stub loader for Linux 64-bit ELF executable
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2024 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2024 Laszlo Molnar
|
||||
Copyright (C) 2000-2024 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
|
||||
<markus@oberhumer.com> <ezerotven+github@gmail.com>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
#ifndef DEBUG //{
|
||||
#define DEBUG 0
|
||||
#endif //}
|
||||
|
||||
#include "include/linux.h"
|
||||
#define MFD_EXEC 0x0010
|
||||
#define nullptr 0
|
||||
|
||||
extern void *memcpy(void *dst, void const *src, size_t n);
|
||||
// Pprotect is mprotect but uses page-aligned address (Linux requirement)
|
||||
extern unsigned Pprotect(void *, size_t, unsigned);
|
||||
//extern void *Pmap(void *, size_t, unsigned, unsigned, int, size_t);
|
||||
//extern int Punmap(void *, size_t);
|
||||
extern size_t Pwrite(unsigned, void const *, size_t);
|
||||
# define mmap_privanon(addr,len,prot,flgs) mmap((addr),(len),(prot), \
|
||||
MAP_PRIVATE|MAP_ANONYMOUS|(flgs),-1,0)
|
||||
|
||||
extern void my_bkpt(void *, ...);
|
||||
|
||||
#if defined(__powerpc__) //}{
|
||||
#define addr_string(string) ({ \
|
||||
char const *str; \
|
||||
asm("bl 0f; .string \"" string "\"; .balign 4; 0: mflr %0" \
|
||||
/*out*/ : "=r"(str) \
|
||||
/* in*/ : \
|
||||
/*und*/ : "lr"); \
|
||||
str; \
|
||||
})
|
||||
#elif defined(__i386__) //}{
|
||||
#define addr_string(string) ({ \
|
||||
char const *str; \
|
||||
asm("call 0f; .asciz \"" string "\"; 0: pop %0" \
|
||||
/*out*/ : "=r"(str) ); \
|
||||
str; \
|
||||
})
|
||||
#elif defined(__arm__) //}{
|
||||
#define addr_string(string) ({ \
|
||||
char const *str; \
|
||||
asm("bl 0f; .string \"" string "\"; .balign 4; 0: mov %0,x30" \
|
||||
/*out*/ : "=r"(str) \
|
||||
/* in*/ : \
|
||||
/*und*/ : "x30"); \
|
||||
str; \
|
||||
})
|
||||
#else //}{
|
||||
#error;
|
||||
#endif //}
|
||||
#if !DEBUG //{
|
||||
#define DPRINTF(fmt, args...) /*empty*/
|
||||
#else //}{
|
||||
// DPRINTF is defined as an expression using "({ ... })"
|
||||
// so that DPRINTF can be invoked inside an expression,
|
||||
// and then followed by a comma to ignore the return value.
|
||||
// The only complication is that percent and backslash
|
||||
// must be doubled in the format string, because the format
|
||||
// string is processd twice: once at compile-time by 'asm'
|
||||
// to produce the assembled value, and once at runtime to use it.
|
||||
#if defined(__powerpc__) //{
|
||||
#define DPRINTF(fmt, args...) ({ \
|
||||
char const *r_fmt; \
|
||||
asm("bl 0f; .string \"" fmt "\"; .balign 4; 0: mflr %0" \
|
||||
/*out*/ : "=r"(r_fmt) \
|
||||
/* in*/ : \
|
||||
/*und*/ : "lr"); \
|
||||
dprintf(r_fmt, args); \
|
||||
})
|
||||
#elif defined(__x86_64) || defined(__i386__) //}{
|
||||
#define DPRINTF(fmt, args...) ({ \
|
||||
char const *r_fmt; \
|
||||
asm("call 0f; .asciz \"" fmt "\"; 0: pop %0" \
|
||||
/*out*/ : "=r"(r_fmt) ); \
|
||||
dprintf(r_fmt, args); \
|
||||
})
|
||||
#elif defined(__arm__) /*}{*/
|
||||
#define DPRINTF(fmt, args...) ({ \
|
||||
char const *r_fmt; \
|
||||
asm("mov %0,pc; b 0f; \
|
||||
.asciz \"" fmt "\"; .balign 4; \
|
||||
0: " \
|
||||
/*out*/ : "=r"(r_fmt) ); \
|
||||
dprintf(r_fmt, args); \
|
||||
})
|
||||
#elif defined(__mips__) /*}{*/
|
||||
#define DPRINTF(fmt, args...) ({ \
|
||||
char const *r_fmt; \
|
||||
asm(".set noreorder; bal L%=j; move %0,$31; .set reorder; \
|
||||
.asciz \"" fmt "\"; .balign 4; \
|
||||
L%=j: " \
|
||||
/*out*/ : "=r"(r_fmt) \
|
||||
/* in*/ : \
|
||||
/*und*/ : "ra"); \
|
||||
dprintf(r_fmt, args); \
|
||||
})
|
||||
#endif //}
|
||||
|
||||
static int dprintf(char const *fmt, ...); // forward
|
||||
#endif /*}*/
|
||||
|
||||
/*************************************************************************
|
||||
// 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 ElfW(sym) Elf32_ ## sym
|
||||
|
||||
#include "MAX_ELF_HDR.c"
|
||||
|
||||
/*************************************************************************
|
||||
// "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)
|
||||
{
|
||||
DPRINTF("xread x.size=%%x x.buf=%%p buf=%%p count=%%x\\n",
|
||||
x->size, x->buf, buf, 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;
|
||||
DPRINTF("xread done count=%%x\\n", count);
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// util
|
||||
**************************************************************************/
|
||||
|
||||
#if !DEBUG //{ save space
|
||||
#define ERR_LAB error: exit(127);
|
||||
#define err_exit(a) goto error
|
||||
#else //}{ save debugging time
|
||||
#define ERR_LAB /*empty*/
|
||||
static void
|
||||
err_exit(int a)
|
||||
{
|
||||
(void)a; // debugging convenience
|
||||
DPRINTF("err_exit %%d\\n", a);
|
||||
exit(127);
|
||||
}
|
||||
#endif //}
|
||||
|
||||
/*************************************************************************
|
||||
// UPX & NRV stuff
|
||||
**************************************************************************/
|
||||
|
||||
extern size_t get_page_mask(void); // variable page size AT_PAGESZ; see *-fold.S
|
||||
|
||||
int f_expand( // .globl in $(ARCH)-expand.S
|
||||
nrv_byte const *binfo, nrv_byte *dst, size_t *dstlen);
|
||||
|
||||
static void
|
||||
unpackExtent(
|
||||
Extent *const xi, // input includes struct b_info
|
||||
Extent *const xo // output
|
||||
)
|
||||
{
|
||||
while (xo->size) {
|
||||
DPRINTF("unpackExtent xi=(%%p %%p) xo=(%%p %%p)\\n",
|
||||
xi->size, xi->buf, xo->size, xo->buf);
|
||||
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));
|
||||
DPRINTF("h.sz_unc=%%x h.sz_cpr=%%x h.b_method=%%x\\n",
|
||||
h.sz_unc, h.sz_cpr, h.b_method);
|
||||
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
|
||||
size_t out_len = h.sz_unc; // EOF for lzma
|
||||
int const j = f_expand((unsigned char *)xi->buf - sizeof(h),
|
||||
(unsigned char *)xo->buf, &out_len);
|
||||
if (j != 0 || out_len != (nrv_uint)h.sz_unc) {
|
||||
DPRINTF(" j=%%x out_len=%%x &h=%%p\\n", j, out_len, &h);
|
||||
err_exit(6);
|
||||
}
|
||||
xi->buf += h.sz_cpr;
|
||||
xi->size -= h.sz_cpr;
|
||||
}
|
||||
else { // copy literal block
|
||||
DPRINTF(" copy %%p %%p %%p\\n", xi->buf, xo->buf, h.sz_cpr);
|
||||
xread(xi, xo->buf, h.sz_cpr);
|
||||
}
|
||||
xo->buf += h.sz_unc;
|
||||
xo->size -= h.sz_unc;
|
||||
}
|
||||
}
|
||||
|
||||
extern long upx_mmap_and_fd( // x86_64 Android emulator of i386 is not faithful
|
||||
void *ptr
|
||||
, unsigned len // also pre-allocate space in file
|
||||
, char *pathname // 0 ==> call get_upxfn_path, which stores if 1st time
|
||||
#if 0 //{ always 0
|
||||
, unsigned frag_mask // ~page_mask
|
||||
#endif //}
|
||||
);
|
||||
#if defined(__i386__) //
|
||||
// Create (or find) an escape hatch to use when munmapping ourselves the stub.
|
||||
// Called by do_xmap to create it; remembered in AT_NULL.d_val
|
||||
static char *
|
||||
make_hatch_i386(
|
||||
ElfW(Phdr) const *const phdr,
|
||||
char *next_unc,
|
||||
unsigned frag_mask
|
||||
)
|
||||
{
|
||||
char *hatch = 0;
|
||||
DPRINTF("make_hatch %%p %%p %%x\\n", phdr, next_unc, frag_mask);
|
||||
if (phdr->p_type==PT_LOAD && phdr->p_flags & PF_X) {
|
||||
next_unc += phdr->p_memsz - phdr->p_filesz; // Skip over local .bss
|
||||
frag_mask &= -(long)next_unc; // bytes left on page
|
||||
unsigned /*const*/ escape = 0xc36180cd; // "int $0x80; popa; ret"
|
||||
if (4 <= frag_mask) {
|
||||
hatch = next_unc;
|
||||
*(long *)&hatch[0] = escape;
|
||||
}
|
||||
else { // Does not fit at hi end of .text, so must use a new page "permanently"
|
||||
unsigned long fdmap = upx_mmap_and_fd((void *)0, sizeof(escape), nullptr);
|
||||
unsigned mfd = -1+ (0xfff& fdmap);
|
||||
write(mfd, &escape, sizeof(escape));
|
||||
hatch = mmap((void *)(fdmap & ~0xffful), sizeof(escape),
|
||||
PROT_READ|PROT_EXEC, MAP_PRIVATE, mfd, 0);
|
||||
close(mfd);
|
||||
}
|
||||
}
|
||||
DPRINTF("hatch=%%p\\n", hatch);
|
||||
return hatch;
|
||||
}
|
||||
#elif defined(__arm__) /*}{*/
|
||||
extern unsigned get_sys_munmap(void);
|
||||
#define NINSTR 3
|
||||
#define NBPI 4
|
||||
|
||||
static void *
|
||||
make_hatch_arm32(
|
||||
ElfW(Phdr) const *const phdr,
|
||||
char *next_unc,
|
||||
unsigned frag_mask
|
||||
)
|
||||
{
|
||||
unsigned const sys_munmap = get_sys_munmap();
|
||||
unsigned code[2] = {
|
||||
sys_munmap, // syscall __NR_unmap
|
||||
0xe8bd8003, // ldmia sp!,{r0,r1,pc}
|
||||
};
|
||||
unsigned *hatch = 0;
|
||||
DPRINTF("make_hatch %%p %%p %%x\\n", phdr, next_unc, frag_mask);
|
||||
|
||||
if (phdr->p_type==PT_LOAD && phdr->p_flags & PF_X) {
|
||||
next_unc += phdr->p_memsz - phdr->p_filesz; // Skip over local .bss
|
||||
frag_mask &= -(long)next_unc; // bytes left on page
|
||||
if (2*4 <= frag_mask) {
|
||||
hatch = (unsigned *)(void *)(~3ul & (long)(3+ next_unc));
|
||||
hatch[0]= code[0];
|
||||
hatch[1]= code[1];
|
||||
__clear_cache(&hatch[0], &hatch[2]);
|
||||
}
|
||||
else { // Does not fit at hi end of .text, so must use a new page "permanently"
|
||||
unsigned long fdmap = upx_mmap_and_fd((void *)0, sizeof(code), nullptr);
|
||||
unsigned mfd = -1+ (0xfff& fdmap);
|
||||
write(mfd, &code, sizeof(code));
|
||||
hatch = mmap((void *)(fdmap & ~0xffful), sizeof(code),
|
||||
PROT_READ|PROT_EXEC, MAP_PRIVATE, mfd, 0);
|
||||
close(mfd);
|
||||
}
|
||||
}
|
||||
DPRINTF("hatch=%%p\\n", hatch);
|
||||
return hatch;
|
||||
}
|
||||
#elif defined(__mips__) /*}{*/
|
||||
static void *
|
||||
make_hatch_mips(
|
||||
ElfW(Phdr) const *const phdr,
|
||||
char *next_unc,
|
||||
unsigned frag_mask)
|
||||
{
|
||||
unsigned code[3];
|
||||
// avoid gcc initializing array by copying .rodata
|
||||
code[0] = 0x0000000c; // syscall
|
||||
#define RS(r) ((037&(r))<<21)
|
||||
#define JR 010
|
||||
code[1] = RS(30)|JR; // jr $30 # s8
|
||||
code[2] = 0x00000000; // nop
|
||||
|
||||
unsigned *hatch = 0;
|
||||
DPRINTF("make_hatch_mips %%p %%p %%x\\n", phdr, next_unc, frag_mask);
|
||||
|
||||
if (phdr->p_type==PT_LOAD && phdr->p_flags & PF_X) {
|
||||
next_unc += phdr->p_memsz - phdr->p_filesz; // Skip over local .bss
|
||||
frag_mask &= -(long)next_unc; // bytes left on page
|
||||
if (3*4 <= frag_mask) {
|
||||
hatch = (unsigned *)(void *)(~3ul & (long)(3+ next_unc));
|
||||
hatch[0]= code[0];
|
||||
hatch[1]= code[1];
|
||||
hatch[2]= code[2];
|
||||
__clear_cache(&hatch[0], &hatch[3]);
|
||||
}
|
||||
else { // Does not fit at hi end of .text, so must use a new page "permanently"
|
||||
unsigned long fdmap = upx_mmap_and_fd((void *)0, sizeof(code), nullptr);
|
||||
unsigned mfd = -1+ (0xfff& fdmap);
|
||||
write(mfd, &code, sizeof(code));
|
||||
hatch = mmap((void *)(fdmap & ~0xffful), sizeof(code),
|
||||
PROT_READ|PROT_EXEC, MAP_PRIVATE, mfd, 0);
|
||||
close(mfd);
|
||||
}
|
||||
}
|
||||
DPRINTF("hatch=%%p\\n", hatch);
|
||||
return hatch;
|
||||
}
|
||||
#elif defined(__powerpc__) /*}{*/
|
||||
static void *
|
||||
make_hatch_ppc32(
|
||||
ElfW(Phdr) const *const phdr,
|
||||
char *next_unc,
|
||||
unsigned frag_mask)
|
||||
{
|
||||
unsigned code[2];
|
||||
// avoid gcc initializing array by copying .rodata
|
||||
code[0] = 0x44000002; // sc
|
||||
code[1] = 0x4e800020; // blr
|
||||
|
||||
unsigned *hatch = 0;
|
||||
DPRINTF("make_hatch %%p %%p %%x\\n", phdr, next_unc, frag_mask);
|
||||
|
||||
if (phdr->p_type==PT_LOAD && phdr->p_flags & PF_X) {
|
||||
next_unc += phdr->p_memsz - phdr->p_filesz; // Skip over local .bss
|
||||
frag_mask &= -(long)next_unc; // bytes left on page
|
||||
if (2*4 <= frag_mask) {
|
||||
hatch = (unsigned *)(void *)(~3ul & (long)(3+ next_unc));
|
||||
hatch[0]= code[0];
|
||||
hatch[1]= code[1];
|
||||
// __clear_cache(&hatch[0], &hatch[2]); // FIXME
|
||||
}
|
||||
else { // Does not fit at hi end of .text, so must use a new page "permanently"
|
||||
unsigned long fdmap = upx_mmap_and_fd((void *)0, sizeof(code), nullptr);
|
||||
unsigned mfd = -1+ (0xfff& fdmap);
|
||||
write(mfd, &code, sizeof(code));
|
||||
hatch = mmap((void *)(fdmap & ~0xffful), sizeof(code),
|
||||
PROT_READ|PROT_EXEC, MAP_PRIVATE, mfd, 0);
|
||||
close(mfd);
|
||||
}
|
||||
}
|
||||
DPRINTF("hatch=%%p\\n", hatch);
|
||||
return hatch;
|
||||
}
|
||||
#endif /*}*/
|
||||
|
||||
#if defined(__powerpc64__) || defined(__aarch64__) //{ bzero
|
||||
static void
|
||||
upx_bzero(char *p, size_t len)
|
||||
{
|
||||
DPRINTF("bzero %%x %%x\\n", p, 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(ElfW(auxv_t) *av, unsigned const type, uint64_t const value)
|
||||
{
|
||||
if (!av || (1& (size_t)av)) { // none, or inhibited for PT_INTERP
|
||||
return;
|
||||
}
|
||||
DPRINTF("\\nauxv_up %%d %%p\\n", type, value);
|
||||
// Multiple slots can have 'type' which wastes space but is legal.
|
||||
// rtld (ld-linux) uses the last one, so we must scan the whole table.
|
||||
ElfW(auxv_t) *ignore_slot = 0;
|
||||
int found = 0;
|
||||
for (;; ++av) {
|
||||
DPRINTF(" %%d %%p\\n", av->a_type, av->a_un.a_val);
|
||||
if (av->a_type == type) {
|
||||
av->a_un.a_val = value;
|
||||
++found;
|
||||
}
|
||||
else if (av->a_type == AT_IGNORE) {
|
||||
ignore_slot = av;
|
||||
}
|
||||
if (av->a_type==AT_NULL) { // done scanning
|
||||
if (found) {
|
||||
return;
|
||||
}
|
||||
if (ignore_slot) {
|
||||
ignore_slot->a_type = type;
|
||||
ignore_slot->a_un.a_val = value;
|
||||
return;
|
||||
}
|
||||
err_exit(20);
|
||||
ERR_LAB
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Segregate large local array, to avoid code bloat due to large displacements.
|
||||
// Not 'static' to disaable inlining, to control sizeof stack frame in callers.
|
||||
/*static*/ void
|
||||
underlay(unsigned size, char *ptr, unsigned len) // len <= PAGE_SIZE
|
||||
{
|
||||
DPRINTF("underlay size=%%u ptr=%%p len=%%u\\n", size, ptr, len);
|
||||
unsigned saved[4096/sizeof(unsigned)];
|
||||
memcpy(saved, ptr, len);
|
||||
mmap(ptr, size, PROT_WRITE|PROT_READ,
|
||||
MAP_FIXED|MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
|
||||
memcpy(ptr, saved, len);
|
||||
}
|
||||
|
||||
#if 0 //{
|
||||
// Exchange the bits with values 4 (PF_R, PROT_EXEC) and 1 (PF_X, PROT_READ)
|
||||
// Use table lookup into a PIC-string that pre-computes the result.
|
||||
unsigned PF_TO_PROT(unsigned flags)
|
||||
{
|
||||
char const *table = addr_string("\x80\x04\x02\x06\x01\x05\x03\x07");
|
||||
return 7& table[flags & (PF_R|PF_W|PF_X)];
|
||||
}
|
||||
#else //}{
|
||||
// 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) ))
|
||||
#endif //}
|
||||
|
||||
// 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 ElfW(Addr) // returns relocation constant
|
||||
xfind_pages(unsigned mflags, ElfW(Phdr) const *phdr, int phnum,
|
||||
ElfW(Addr) *const p_brk
|
||||
, ElfW(Addr) const elfaddr
|
||||
)
|
||||
{
|
||||
ElfW(Addr) lo= ~0, hi= 0, addr= 0;
|
||||
mflags += MAP_PRIVATE | MAP_ANONYMOUS; // '+' can optimize better than '|'
|
||||
DPRINTF("xfind_pages %%x %%p %%d %%p %%p\\n", mflags, phdr, phnum, elfaddr, p_brk);
|
||||
for (; --phnum>=0; ++phdr) if (PT_LOAD==phdr->p_type) {
|
||||
DPRINTF(" p_vaddr=%%p p_memsz=%%p\\n", phdr->p_vaddr, phdr->p_memsz);
|
||||
if (phdr->p_vaddr < lo) {
|
||||
lo = phdr->p_vaddr;
|
||||
}
|
||||
if (hi < (phdr->p_memsz + phdr->p_vaddr)) {
|
||||
hi = phdr->p_memsz + phdr->p_vaddr;
|
||||
}
|
||||
}
|
||||
size_t PMASK = get_page_mask();
|
||||
lo -= ~PMASK & lo; // round down to page boundary
|
||||
hi = PMASK & (hi - lo - PMASK -1); // page length
|
||||
if (MAP_FIXED & mflags) {
|
||||
addr = lo;
|
||||
}
|
||||
else if (0==lo) { // -pie ET_DYN
|
||||
addr = elfaddr;
|
||||
if (addr) {
|
||||
mflags |= MAP_FIXED;
|
||||
}
|
||||
}
|
||||
DPRINTF(" addr=%%p lo=%%p hi=%%p\\n", addr, lo, hi);
|
||||
// PROT_WRITE allows testing of 64k pages on 4k Linux
|
||||
addr = (ElfW(Addr))mmap((void *)addr, hi, (DEBUG ? PROT_WRITE : PROT_NONE), // FIXME XXX EVIL
|
||||
mflags, -1, 0);
|
||||
DPRINTF(" addr=%%p\\n", addr);
|
||||
*p_brk = hi + addr; // the logical value of brk(0)
|
||||
return (ElfW(Addr))(addr - lo);
|
||||
}
|
||||
|
||||
static ElfW(Addr) // entry address
|
||||
do_xmap(
|
||||
ElfW(Ehdr) const *const ehdr,
|
||||
Extent *const xi,
|
||||
int const fdi,
|
||||
ElfW(auxv_t) *const av,
|
||||
ElfW(Addr) *const p_reloc
|
||||
)
|
||||
{
|
||||
ElfW(Phdr) const *phdr = (ElfW(Phdr) const *)(void const *)(ehdr->e_phoff +
|
||||
(char const *)ehdr);
|
||||
ElfW(Addr) v_brk = 0;
|
||||
ElfW(Addr) reloc = 0;
|
||||
if (xi) { // compressed main program:
|
||||
// C_BASE space reservation, C_TEXT compressed data and stub
|
||||
ElfW(Addr) ehdr0 = *p_reloc; // the 'hi' copy!
|
||||
ElfW(Phdr) *phdr0 = (ElfW(Phdr) *)(1+ (ElfW(Ehdr) *)ehdr0); // cheats .e_phoff
|
||||
// Clear the 'lo' space reservation for use by PT_LOADs
|
||||
ehdr0 -= phdr0[1].p_vaddr; // the 'lo' copy
|
||||
if (ET_EXEC == ehdr->e_type) {
|
||||
ehdr0 = phdr0[0].p_vaddr;
|
||||
}
|
||||
else {
|
||||
reloc = ehdr0;
|
||||
}
|
||||
v_brk = phdr0->p_memsz + ehdr0;
|
||||
munmap((void *)ehdr0, phdr0->p_memsz);
|
||||
}
|
||||
else { // PT_INTERP
|
||||
DPRINTF("INTERP\\n", 0);
|
||||
reloc = xfind_pages(
|
||||
((ET_DYN!=ehdr->e_type) ? MAP_FIXED : 0), phdr, ehdr->e_phnum, &v_brk, *p_reloc
|
||||
);
|
||||
}
|
||||
DPRINTF("do_xmap ehdr=%%p xi=%%p(%%x %%p) fdi=%%x\\n"
|
||||
" av=%%p reloc=%%p p_reloc=%%p/%%p\\n",
|
||||
ehdr, xi, (xi? xi->size: 0), (xi? xi->buf: 0), fdi,
|
||||
av, reloc, p_reloc, *p_reloc);
|
||||
|
||||
size_t const page_mask = get_page_mask();
|
||||
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 && phdr->p_memsz != 0) {
|
||||
unsigned const prot = PF_TO_PROT(phdr->p_flags);
|
||||
DPRINTF("\\n\\nLOAD@%%p p_offset=%%p p_vaddr=%%p p_filesz=%%p"
|
||||
" p_memsz=%%p p_flags=%%x prot=%%x\\n",
|
||||
phdr, phdr->p_offset, phdr->p_vaddr, phdr->p_filesz,
|
||||
phdr->p_memsz, phdr->p_flags, prot);
|
||||
if (xi && !phdr->p_offset /*&& ET_EXEC==ehdr->e_type*/) { // 1st PT_LOAD
|
||||
// ? Compressed PT_INTERP must not overwrite values from compressed a.out?
|
||||
auxv_up(av, AT_PHDR, phdr->p_vaddr + reloc + ehdr->e_phoff);
|
||||
auxv_up(av, AT_PHNUM, ehdr->e_phnum);
|
||||
auxv_up(av, AT_PHENT, ehdr->e_phentsize); /* ancient kernels might omit! */
|
||||
//auxv_up(av, AT_PAGESZ, PAGE_SIZE); /* ld-linux.so.2 does not need this */
|
||||
}
|
||||
Extent xo;
|
||||
size_t mlen = xo.size = phdr->p_filesz;
|
||||
char * addr = xo.buf = reloc + (char *)phdr->p_vaddr;
|
||||
// xo.size, xo.buf are not changed except by unpackExtent()
|
||||
char *const hi_addr = phdr->p_memsz + addr; // end of local .bss
|
||||
char *addr2 = mlen + addr; // end of local .data
|
||||
size_t frag = ~page_mask & (ElfW(Addr))addr;
|
||||
mlen += frag;
|
||||
addr -= frag;
|
||||
|
||||
#if defined(__powerpc64__) || defined(__aarch64__)
|
||||
// Round up to hardware PAGE_SIZE; allows emulator with smaller.
|
||||
// But (later) still need bzero when .p_filesz < .p_memsz .
|
||||
mlen += -(mlen + (size_t)addr) &~ page_mask;
|
||||
DPRINTF(" mlen=%%p\\n", mlen);
|
||||
#endif
|
||||
|
||||
DPRINTF("mmap addr=%%p mlen=%%p offset=%%p frag=%%p prot=%%x\\n",
|
||||
addr, mlen, phdr->p_offset - frag, frag, prot);
|
||||
int mfd = 0;
|
||||
if (xi && phdr->p_flags & PF_X) { // SELinux
|
||||
// Cannot set PROT_EXEC except via mmap() into a region (Linux "vma")
|
||||
// that has never had PROT_WRITE. So use a Linux-only "memory file"
|
||||
// to hold the contents.
|
||||
unsigned long val = upx_mmap_and_fd(addr, mlen, nullptr);
|
||||
mfd = 0xfff & val;
|
||||
val -= mfd; if ((char *)val != addr) err_exit(17);
|
||||
--mfd;
|
||||
}
|
||||
else {
|
||||
unsigned tprot = prot;
|
||||
// Notice that first 4 args are same: mmap vs mmap_privanon
|
||||
if (xi) {
|
||||
tprot |= PROT_WRITE; // De-compression needs Write
|
||||
tprot &= ~PROT_EXEC; // Avoid simultaneous Write and eXecute
|
||||
if (addr != mmap_privanon(addr, mlen, tprot, MAP_FIXED|MAP_PRIVATE)) {
|
||||
err_exit(11);
|
||||
}
|
||||
}
|
||||
else if (addr != mmap(addr, mlen, tprot, MAP_FIXED|MAP_PRIVATE,
|
||||
fdi, phdr->p_offset - frag)) {
|
||||
err_exit(8);
|
||||
}
|
||||
}
|
||||
DPRINTF("addr= %%p\\n", addr);
|
||||
|
||||
if (xi) {
|
||||
DPRINTF("before unpack xi=(%%p %%p xo=(%%p %%p)\\n", xi->size, xi->buf, xo.size, xo.buf);
|
||||
unpackExtent(xi, &xo); // updates xi and xo
|
||||
DPRINTF(" after unpack xi=(%%p %%p xo=(%%p %%p)\\n", xi->size, xi->buf, xo.size, xo.buf);
|
||||
}
|
||||
if (PROT_WRITE & prot) { // note: read-only .bss not supported here
|
||||
// Clear to end-of-page (first part of .bss or &_end)
|
||||
unsigned hi_frag = -(long)addr2 &~ page_mask;
|
||||
bzero(addr2, hi_frag);
|
||||
addr2 += hi_frag; // will be page aligned
|
||||
}
|
||||
|
||||
if (xi && phdr->p_flags & PF_X) {
|
||||
#if defined(__i386__) //{
|
||||
void *const hatch = make_hatch_i386(phdr, xo.buf, ~page_mask);
|
||||
#elif defined(__powerpc__) //}{
|
||||
void *const hatch = make_hatch_ppc(phdr, xo.buf, ~page_mask);
|
||||
#elif defined(__arm__) //}{
|
||||
void *const hatch = make_hatch_arm(phdr, xo.buf, ~page_mask);
|
||||
#endif //}
|
||||
if (0!=hatch) {
|
||||
// Always update AT_NULL, especially for compressed PT_INTERP.
|
||||
// Clearing lo bit of av is for i386 only; else is superfluous.
|
||||
auxv_up((ElfW(auxv_t) *)(~1 & (size_t)av), AT_NULL, (size_t)hatch);
|
||||
}
|
||||
|
||||
// SELinux: Map the contents of mfd as per *phdr.
|
||||
DPRINTF("hatch protect addr=%%p mlen=%%p\\n", addr, mlen);
|
||||
munmap(addr, mlen); // toss the VMA that has PROT_WRITE
|
||||
if (addr != mmap(addr, mlen, prot, MAP_FIXED|MAP_SHARED, mfd, 0)) {
|
||||
err_exit(9);
|
||||
}
|
||||
close(mfd);
|
||||
}
|
||||
else if ((PROT_WRITE|PROT_READ) != prot
|
||||
&& 0!=Pprotect(addr, mlen, prot)) {
|
||||
err_exit(10);
|
||||
ERR_LAB
|
||||
}
|
||||
if (addr2 < hi_addr) { // pages for .bss beyond last page for p_filesz
|
||||
DPRINTF("zmap addr2=%%p len=%%p\\n", addr2, hi_addr - addr2);
|
||||
if (addr2 != mmap_privanon(addr2, hi_addr - addr2, prot, MAP_FIXED)) {
|
||||
err_exit(10);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (xi && ET_DYN!=ehdr->e_type) {
|
||||
// Needed only if compressed shell script invokes compressed shell.
|
||||
// Besides, fold.S needs _Ehdr that is tossed
|
||||
// do_brk((void *)v_brk);
|
||||
}
|
||||
if (p_reloc) {
|
||||
*p_reloc = reloc;
|
||||
}
|
||||
return ehdr->e_entry + reloc;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// upx_main - called by our entry code
|
||||
//
|
||||
// This function is optimized for size.
|
||||
**************************************************************************/
|
||||
|
||||
void *
|
||||
upx_main( // returns entry address
|
||||
/*arg1*/ struct b_info const *const bi // 1st block header
|
||||
/*arg2*/ , size_t const sz_compressed // total length
|
||||
/*arg3*/ , ElfW(Addr) elfaddr // In: &ElfW(Ehdr) for stub
|
||||
/*arg4*/ , ElfW(auxv_t) *const av
|
||||
/*arg5*/ , ElfW(Ehdr) *const ehdr // temp char[sz_ehdr] for decompressing
|
||||
)
|
||||
{
|
||||
DPRINTF("upx_main b_info=%%p sz_compressed=%%p ehdr=%%p av=%%p\\n",
|
||||
bi, sz_compressed, ehdr, av);
|
||||
Extent xo, xi1, xi2;
|
||||
xo.buf = (char *)ehdr;
|
||||
xo.size = bi->sz_unc; // can require bi aligned(4)
|
||||
xi2.buf = CONST_CAST(char *, bi); xi2.size = bi->sz_cpr + sizeof(*bi);
|
||||
xi1.buf = CONST_CAST(char *, bi); xi1.size = sz_compressed;
|
||||
|
||||
// ehdr = Uncompress Ehdr and Phdrs
|
||||
unpackExtent(&xi2, &xo); // never filtered?
|
||||
|
||||
#if defined(__i386__) || defined(__arm__) //{
|
||||
ElfW(Addr) *const p_reloc = &elfaddr;
|
||||
#endif //}
|
||||
ElfW(Addr) page_mask = get_page_mask(); (void)page_mask;
|
||||
DPRINTF("upx_main1 .e_entry=%%p p_reloc=%%p *p_reloc=%%p page_mask=%%p\\n",
|
||||
ehdr->e_entry, p_reloc, *p_reloc, page_mask);
|
||||
ElfW(Phdr) *phdr = (ElfW(Phdr) *)(1+ ehdr);
|
||||
|
||||
// De-compress Ehdr again into actual position, then de-compress the rest.
|
||||
ElfW(Addr) entry = do_xmap(ehdr, &xi1, 0, av, p_reloc);
|
||||
DPRINTF("upx_main2 entry=%%p *p_reloc=%%p\\n", entry, *p_reloc);
|
||||
auxv_up(av, AT_ENTRY , entry);
|
||||
|
||||
{ // Map PT_INTERP program interpreter
|
||||
phdr = (ElfW(Phdr) *)(1+ ehdr);
|
||||
unsigned j;
|
||||
for (j=0; j < ehdr->e_phnum; ++phdr, ++j) if (PT_INTERP==phdr->p_type) {
|
||||
char const *const iname = *p_reloc + (char const *)phdr->p_vaddr;
|
||||
int const fdi = open(iname, O_RDONLY, 0);
|
||||
if (0 > fdi) {
|
||||
err_exit(18);
|
||||
}
|
||||
if (MAX_ELF_HDR_64!=read(fdi, (void *)ehdr, MAX_ELF_HDR_64)) {
|
||||
ERR_LAB
|
||||
err_exit(19);
|
||||
}
|
||||
// We expect PT_INTERP to be ET_DYN at 0.
|
||||
// Thus do_xmap will set *p_reloc = slide.
|
||||
*p_reloc = 0; // kernel picks where PT_INTERP goes
|
||||
entry = do_xmap(ehdr, 0, fdi, 0, p_reloc);
|
||||
DPRINTF("interp p_reloc=%%p reloc=%%p\\n", p_reloc, *p_reloc);
|
||||
auxv_up(av, AT_BASE, *p_reloc); // musl
|
||||
close(fdi);
|
||||
}
|
||||
}
|
||||
|
||||
return (void *)entry;
|
||||
}
|
||||
|
||||
#if DEBUG //{
|
||||
|
||||
static int
|
||||
unsimal(unsigned x, char *ptr, int n)
|
||||
{
|
||||
unsigned m = 10;
|
||||
while (10 <= (x / m)) m *= 10;
|
||||
while (10 <= x) {
|
||||
unsigned d = x / m;
|
||||
x -= m * d;
|
||||
m /= 10;
|
||||
ptr[n++] = '0' + d;
|
||||
}
|
||||
ptr[n++] = '0' + x;
|
||||
return n;
|
||||
}
|
||||
|
||||
static int
|
||||
decimal(int x, char *ptr, int n)
|
||||
{
|
||||
if (x < 0) {
|
||||
x = -x;
|
||||
ptr[n++] = '-';
|
||||
}
|
||||
return unsimal(x, ptr, n);
|
||||
}
|
||||
|
||||
static int
|
||||
heximal(unsigned long x, char *ptr, int n)
|
||||
{
|
||||
unsigned j = -1+ 2*sizeof(unsigned long);
|
||||
unsigned long m = 0xful << (4 * j);
|
||||
for (; j; --j, m >>= 4) { // omit leading 0 digits
|
||||
if (m & x) break;
|
||||
}
|
||||
for (; m; --j, m >>= 4) {
|
||||
unsigned d = 0xf & (x >> (4 * j));
|
||||
ptr[n++] = ((10<=d) ? ('a' - 10) : '0') + d;
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
||||
#define va_arg __builtin_va_arg
|
||||
#define va_end __builtin_va_end
|
||||
#define va_list __builtin_va_list
|
||||
#define va_start __builtin_va_start
|
||||
|
||||
static int
|
||||
dprintf(char const *fmt, ...)
|
||||
{
|
||||
int n= 0;
|
||||
char const *literal = 0; // NULL
|
||||
char buf[24]; // ~0ull == 18446744073709551615 ==> 20 chars
|
||||
va_list va; va_start(va, fmt);
|
||||
for (;;) {
|
||||
char c = *fmt++;
|
||||
if (!c) { // end of fmt
|
||||
if (literal) {
|
||||
goto finish;
|
||||
}
|
||||
break; // goto done
|
||||
}
|
||||
if ('%'!=c) {
|
||||
if (!literal) {
|
||||
literal = fmt; // 1 beyond start of literal
|
||||
}
|
||||
continue;
|
||||
}
|
||||
// '%' == c
|
||||
if (literal) {
|
||||
finish:
|
||||
n += write(2, -1+ literal, fmt - literal);
|
||||
literal = 0; // NULL
|
||||
if (!c) { // fmt already ended
|
||||
break; // goto done
|
||||
}
|
||||
}
|
||||
switch (c= *fmt++) { // deficiency: does not handle _long_
|
||||
default: { // un-implemented conversion
|
||||
n+= write(2, -1+ fmt, 1);
|
||||
} break;
|
||||
case 0: { // fmt ends with "%\0" ==> ignore
|
||||
goto done;
|
||||
} break;
|
||||
case 'u': {
|
||||
n+= write(2, buf, unsimal(va_arg(va, unsigned), buf, 0));
|
||||
} break;
|
||||
case 'd': {
|
||||
n+= write(2, buf, decimal(va_arg(va, int), buf, 0));
|
||||
} break;
|
||||
case 'p': {
|
||||
buf[0] = '0';
|
||||
buf[1] = 'x';
|
||||
n+= write(2, buf, heximal((unsigned long)va_arg(va, void *), buf, 2));
|
||||
} break;
|
||||
case 'x': {
|
||||
buf[0] = '0';
|
||||
buf[1] = 'x';
|
||||
n+= write(2, buf, heximal(va_arg(va, int), buf, 2));
|
||||
} break;
|
||||
} // 'switch'
|
||||
}
|
||||
done:
|
||||
va_end(va);
|
||||
return n;
|
||||
}
|
||||
#endif //}
|
||||
|
||||
/* vim:set ts=4 sw=4 et: */
|
||||
@@ -0,0 +1,13 @@
|
||||
OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
|
||||
OUTPUT_ARCH(i386)
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
. = 0x00100000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
|
||||
.text : {
|
||||
}
|
||||
ELFMAINX : {
|
||||
*(ELFMAINX)
|
||||
*(.text)
|
||||
}
|
||||
}
|
||||
+322
-50
@@ -6,15 +6,19 @@
|
||||
All Rights Reserved.
|
||||
*/
|
||||
|
||||
void my_bkpt(void const *, ...);
|
||||
|
||||
#if defined(__i386__) //}{
|
||||
#define addr_string(string) (char *)({ \
|
||||
#define ANDROID_FRIEND 1
|
||||
#define addr_string(string) ({ \
|
||||
char const *str; \
|
||||
asm("call 0f; .asciz \"" string "\"; 0: pop %0" \
|
||||
/*out*/ : "=r"(str) ); \
|
||||
str; \
|
||||
})
|
||||
#elif defined(__arm__) //}{
|
||||
#define addr_string(string) (char *)({ \
|
||||
#define ANDROID_FRIEND 1
|
||||
#define addr_string(string) ({ \
|
||||
char const *str; \
|
||||
asm("bl 0f; .string \"" string "\"; .balign 4; 0: mov %0,lr" \
|
||||
/*out*/ : "=r"(str) \
|
||||
@@ -22,14 +26,151 @@
|
||||
/*und*/ : "lr"); \
|
||||
str; \
|
||||
})
|
||||
#elif defined(__mips__) //}{
|
||||
#define ANDROID_FRIEND 0
|
||||
#define addr_string(string) ({ \
|
||||
char const *str; \
|
||||
asm("bal 0f; .asciz \"" string "\"; .balign 4\n0: move %0,$31" \
|
||||
/*out*/ : "=r"(str) \
|
||||
/* in*/ : \
|
||||
/*und*/ : "ra"); \
|
||||
str; \
|
||||
})
|
||||
#elif defined(__powerpc__) /*}{*/
|
||||
#define ANDROID_FRIEND 0
|
||||
#define addr_string(string) ({ \
|
||||
char const *str; \
|
||||
asm("bl 0f; .asciz \"" string "\"; .balign 4; 0: mflr %0" \
|
||||
/*out*/ : "=r"(str) \
|
||||
/* in*/ : \
|
||||
/*und*/ : "lr"); \
|
||||
str; \
|
||||
})
|
||||
#elif defined(__powerpc64__) //}{
|
||||
#define ANDROID_FRIEND 0
|
||||
#define addr_string(string) ({ \
|
||||
char const *str; \
|
||||
asm("bl 0f; .string \"" string "\"; .balign 4; 0: mflr %0" \
|
||||
/*out*/ : "=r"(str) \
|
||||
/* in*/ : \
|
||||
/*und*/ : "lr"); \
|
||||
str; \
|
||||
})
|
||||
#elif defined(__x86_64) //}{
|
||||
#define ANDROID_FRIEND 0
|
||||
#define addr_string(string) ({ \
|
||||
char const *str; \
|
||||
asm("call 0f; .asciz \"" string "\"; 0: pop %0" \
|
||||
/*out*/ : "=r"(str) ); \
|
||||
str; \
|
||||
})
|
||||
#elif defined(__aarch64__) //}{
|
||||
#define ANDROID_FRIEND 0
|
||||
#define addr_string(string) ({ \
|
||||
char const *str; \
|
||||
asm("bl 0f; .string \"" string "\"; .balign 4; 0: mov %0,x30" \
|
||||
/*out*/ : "=r"(str) \
|
||||
/* in*/ : \
|
||||
/*und*/ : "x30"); \
|
||||
str; \
|
||||
})
|
||||
#else //}{
|
||||
# error; // only: __arm__ or __i386__ (for ARM emulator)
|
||||
#define ANDROID_FRIEND 0
|
||||
#error addr_string
|
||||
#endif //}
|
||||
|
||||
#if defined(__x86_64) || defined(__i386__) //}{
|
||||
#define DPRINTF(fmt, args...) ({ \
|
||||
char const *r_fmt; \
|
||||
asm("call 0f; .asciz \"" fmt "\"; 0: pop %0" \
|
||||
/*out*/ : "=r"(r_fmt) ); \
|
||||
dprintf(r_fmt, args); \
|
||||
})
|
||||
#else //}{
|
||||
#define DPRINTF(fmt, args...) /*empty*/
|
||||
#endif //}
|
||||
|
||||
#define dprintf my_bkpt
|
||||
|
||||
//#include <fcntl.h>
|
||||
//#include <sys/stat.h>
|
||||
typedef unsigned long long u64_t;
|
||||
typedef unsigned int u32_t;
|
||||
typedef unsigned short u16_t;
|
||||
// Observed by gdb for libc-bin 2.31-13+deb11u6 on Debian 5.10.158-2 (2022-12-13) armv7l
|
||||
struct stat { // __NR_stat = 106 + NR_SYSCALL_BASE
|
||||
u32_t st_dev;
|
||||
u32_t st_ino;
|
||||
u16_t st_mode;
|
||||
u16_t st_nlink;
|
||||
u16_t st_uid;
|
||||
u16_t st_gid;
|
||||
// 0x10
|
||||
u32_t st_rdev;
|
||||
u32_t st_size;
|
||||
u32_t st_blksize;
|
||||
u32_t st_blocks;
|
||||
// 0x20
|
||||
u32_t st_atime;
|
||||
u32_t st_atime_nsec;
|
||||
u32_t st_mtime;
|
||||
u32_t st_mtime_nsec;
|
||||
// 0x30
|
||||
u32_t st_ctime;
|
||||
u32_t st_ctime_nsec;
|
||||
u32_t pad1;
|
||||
u32_t pad2;
|
||||
// 0x40
|
||||
};
|
||||
#define S_IFMT 00170000
|
||||
#define S_IFDIR 0040000
|
||||
#define S_IRWXU 00700
|
||||
#define AT_FDCWD -100
|
||||
#define restrict /**/
|
||||
#include "include/linux.h" // syscalls; i386 inlines via "int 0x80"
|
||||
extern int fstatat(int dirfd, const char *restrict pathname,
|
||||
struct stat *restrict statbuf, int flags);
|
||||
|
||||
#define ENOENT 2 /* no such name */
|
||||
#define ENOSPC 28 /* no space left on device */
|
||||
#define ENOSYS 38 /* no such system call */
|
||||
|
||||
#if ANDROID_FRIEND //{
|
||||
|
||||
extern void *memset(void *dst, int val, size_t n);
|
||||
extern int stat(char const *path, struct stat *statbuf);
|
||||
extern int mkdir(char const *path, unsigned mode);
|
||||
|
||||
__attribute__((__noinline__))
|
||||
static int dir_check(char const *path)
|
||||
{
|
||||
struct stat sb;
|
||||
memset(&sb,0xff, sizeof(sb)); // DEBUG aid
|
||||
int rv = stat(path, &sb);
|
||||
if (0 <= rv) {
|
||||
if (S_IFDIR == (sb.st_mode & S_IFMT)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if (-ENOENT == rv) {
|
||||
rv = mkdir(path, S_IRWXU);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
//#define S_IRWXU 00700 /* rwx------ User Read-Write-eXecute */
|
||||
extern void *alloca(unsigned size);
|
||||
//#include <string.h> // we use "typedef unsigned size_t;"
|
||||
//#include <sys/utsname.h>
|
||||
|
||||
extern unsigned getpid(void);
|
||||
extern void *mempcpy(void *dst, void const *src, unsigned len);
|
||||
|
||||
// Upper half of ASCII (chars 0100-0177) are all legal in a Linux filename.
|
||||
// So the shortest code is " return 0100 + (077 & x); "
|
||||
// But the 5 chars which follow 'Z' ("[\\]^_") or 'z' ("{|}~\x7F")
|
||||
// look ugly, so substitute digits.
|
||||
__attribute__((__noinline__))
|
||||
static unsigned sixbit(unsigned x)
|
||||
{
|
||||
unsigned y = 037 & x; // "upper case"
|
||||
@@ -44,61 +185,192 @@ static unsigned sixbit(unsigned x)
|
||||
return x;
|
||||
}
|
||||
|
||||
#define S_IRWXU 00700 /* rwx------ User Read-Write-eXecute */
|
||||
extern void *alloca(unsigned size);
|
||||
#include "include/linux.h" // syscalls; i386 inlines via "int 0x80"
|
||||
extern void *mempcpy(void *dst, void const *src, unsigned len);
|
||||
#define PATH_MAX 4096 /* linux/include/uapi/linux/limits.h */
|
||||
|
||||
// Early 32-bit Android lacks memfd_create.
|
||||
// Where to put temp file when memfd_create() fails on early 32-bit Android
|
||||
__attribute__((__noinline__))
|
||||
static int create_upxfn_path(char *name, char *buf)
|
||||
{
|
||||
// Construct path "/data/data/$APP_NAME/cache/upxAAA".
|
||||
// Note 'mempcpy' [with 'p' in the middle!] returns the end-of-string.
|
||||
char *p = mempcpy(&name[0], addr_string("/data/data/"), 11); // '/' sentinel at end
|
||||
p[0] = '\0'; dir_check(name);
|
||||
|
||||
// Append the name of the app
|
||||
int fd = open(addr_string("/proc/self/cmdline"), O_RDONLY, 0);
|
||||
int rlen = read(fd, p= buf, -1+ PATH_MAX);
|
||||
close(fd);
|
||||
if (rlen < 0) {
|
||||
return rlen; // failure
|
||||
}
|
||||
p[rlen] = '\0'; // insurance sentinel
|
||||
// Kernel-parsed arguments are separated by '\0'.
|
||||
while (*p) ++p; // advance to end of argv[0]
|
||||
|
||||
{
|
||||
char *app_end = p;
|
||||
// Sentinel '/' at name[10] provides safety for backing up.
|
||||
while ('/' != *p) --p; // find last component of argv[0]
|
||||
p = mempcpy(&name[10], p, app_end - p);
|
||||
p[0] = '\0'; dir_check(name);
|
||||
}
|
||||
|
||||
p = mempcpy(p, addr_string("/cache"), 6);
|
||||
p[0] = '\0'; dir_check(name);
|
||||
p = mempcpy(p, addr_string("/upx"), 4);
|
||||
pid_t pid = getpid();
|
||||
p[0] = sixbit(pid >> 0*6);
|
||||
p[1] = sixbit(pid >> 1*6);
|
||||
p[2] = sixbit(pid >> 2*6);
|
||||
p[3]='\0';
|
||||
return 0; // success
|
||||
}
|
||||
|
||||
// memfd_create() gets ENOSYS on early Android. There are 32-bit x86 Android
|
||||
// such as Zenfone 2 (discontinued 2018?), x86 Chromebooks (2019 and later),
|
||||
// FydeOS, Windows subsystem for Android. But the main use is for developing,
|
||||
// to make Android emulator running on x86_64 (Linux or Windows) run faster
|
||||
// by emulating x86 instead of ARM.
|
||||
//
|
||||
// Try /data/data/$APP_NAME/cache/upxAAA
|
||||
// where APP_NAME is discovered as basename(argv[0])
|
||||
// and argv[0] is guessed from /proc/self/cmdline.
|
||||
// Also 32-bit Android has inconsistent __NR_ftruncate,
|
||||
// so use direct write()
|
||||
//
|
||||
#define BUFLEN 0x2000 /* 4KiB for PATH_MAX; 8KiB for zeroing */
|
||||
#define ENOSPC 28 /* no space left on device */
|
||||
struct utsname;
|
||||
extern int uname(struct utsname *);
|
||||
extern char * get_upxfn_path(void);
|
||||
|
||||
int upxfd_android(unsigned len) // returns fd with (.st_size = len); else -ENOSPC
|
||||
// To work around bug in "i386-linux-gcc-3.4.6 -m32 -march=i386" .
|
||||
// gcc optimized out this code:
|
||||
// uname((struct utsname *)buf);
|
||||
// int const is_android = ( (('r'<<3*8)|('d'<<2*8)|('n'<<1*8)|('a'<<0*8))
|
||||
// == (0x20202020 | *(int *)buf) );
|
||||
// Specialized: does NOT consider early termination of either string, etc.
|
||||
__attribute__((__noinline__))
|
||||
static int strncmplc(char const *s1, char const *s2, unsigned n)
|
||||
{
|
||||
char *buf = alloca(BUFLEN);
|
||||
char *p = mempcpy(&buf[0], addr_string("/data/data/"), 11); // '/' sentinel at end
|
||||
int fd = open(addr_string("/proc/self/cmdline"), O_RDONLY, 0);
|
||||
int rlen = read(fd, p, BUFLEN);
|
||||
if (rlen < 0) {
|
||||
return -1;
|
||||
while (n--) {
|
||||
int rv = (0x20 | *s1++) - (0x20 | *s2++);
|
||||
if (rv) return rv;
|
||||
}
|
||||
while (*p) { // advance to end of argv[0]
|
||||
if (' '==*p) break;
|
||||
++p;
|
||||
}
|
||||
{
|
||||
char *app_end = p;
|
||||
while ('/' != *--p) ; // last component of argv[0]
|
||||
p = mempcpy(&buf[10], p, app_end - p);
|
||||
}
|
||||
p = mempcpy(p, addr_string("/cache/upx"), 10);
|
||||
pid_t pid = getpid();
|
||||
p[0] = sixbit(pid >> 0*6);
|
||||
p[1] = sixbit(pid >> 1*6);
|
||||
p[2] = sixbit(pid >> 2*6);
|
||||
p[3]='\0';
|
||||
|
||||
fd = open(&buf[0], O_CREAT|O_EXCL|O_RDWR, S_IRWXU);
|
||||
if (fd < 0) {
|
||||
return -1;
|
||||
}
|
||||
unlink(&buf[0]);
|
||||
|
||||
extern void *memset(void *dst, int c, unsigned);
|
||||
memset(buf, 0, BUFLEN);
|
||||
while (0 < len) {
|
||||
int x = (len < BUFLEN) ? len : BUFLEN;
|
||||
if (x != write(fd, buf, BUFLEN)) {
|
||||
return -ENOSPC;
|
||||
}
|
||||
len -= x;
|
||||
}
|
||||
lseek(fd, 0, SEEK_SET);
|
||||
return fd;
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif //} ANDROID_FRIEND
|
||||
|
||||
// ANDROID_TEST: Set to 1 for testing Android implmentation using Linux on
|
||||
// Raspberry Pi (arm32, perhaps running on actual arm64); else set to 0.
|
||||
#define ANDROID_TEST 0
|
||||
|
||||
#define MFD_EXEC 0x10
|
||||
|
||||
unsigned long upx_mmap_and_fd( // returns (mapped_addr | (1+ fd))
|
||||
void *ptr // desired address
|
||||
, unsigned datlen // mapped length
|
||||
, char *pathname // 0 ==> get_upxfn_path()
|
||||
)
|
||||
{
|
||||
// This used to be a parameter, but was always 0
|
||||
unsigned const frag_mask = 0u;
|
||||
|
||||
unsigned long addr = 0; // for result
|
||||
// Early 32-bit Android did not implement memfd_create
|
||||
int fd = (ANDROID_TEST ? -ENOSYS : memfd_create(addr_string("upx"), MFD_EXEC));
|
||||
|
||||
#if ANDROID_FRIEND //{
|
||||
// Varying __NR_ftruncate on Android can hurt even if memfd_create() succeeds.
|
||||
// On Linux, struct utsname has 6 arrays of size 257; but size can be larger.
|
||||
#define BUFLEN 4096
|
||||
void *buf = alloca(BUFLEN); *(int *)buf = 0;
|
||||
uname((struct utsname *)buf);
|
||||
int const not_android = (ANDROID_TEST ? 0 : strncmplc(addr_string("andr"), buf, 4));
|
||||
|
||||
// Work-around for missing memfd_create syscall on early 32-bit Android.
|
||||
if (!not_android && !pathname) { // must ask
|
||||
pathname = get_upxfn_path();
|
||||
}
|
||||
if (!not_android && -ENOSYS == fd && pathname) {
|
||||
if ('\0' == pathname[0]) { // first time; create the pathname and file
|
||||
int rv = create_upxfn_path(pathname, buf);
|
||||
if (rv < 0) {
|
||||
return rv;
|
||||
}
|
||||
}
|
||||
// Use the constructed path.
|
||||
fd = open(pathname, O_CREAT|O_EXCL|O_RDWR, S_IRWXU);
|
||||
if (fd < 0) {
|
||||
return fd;
|
||||
}
|
||||
unlink(pathname);
|
||||
}
|
||||
#else //}{ !ANDROID_FRIEND: simple!
|
||||
int not_android = 1;
|
||||
(void)pathname; // dead: obviated by memfd_create()
|
||||
#endif //}
|
||||
|
||||
// Set the file length
|
||||
unsigned const frag = frag_mask & (unsigned)ptr;
|
||||
ptr -= frag; // page-aligned
|
||||
datlen += frag;
|
||||
if (datlen) {
|
||||
if (not_android) { // Linux ftruncate() is well-behaved
|
||||
int rv = ftruncate(fd, datlen);
|
||||
if (rv < 0) {
|
||||
return rv;
|
||||
}
|
||||
}
|
||||
#if ANDROID_FRIEND //{
|
||||
else { // !not_android: ftruncate has varying system call number on 32-bit
|
||||
memset(buf, 0, BUFLEN);
|
||||
unsigned wlen = datlen;
|
||||
while (0 < wlen) {
|
||||
int x = (wlen < BUFLEN) ? wlen : BUFLEN;
|
||||
if (x != write(fd, buf, x)) {
|
||||
return -ENOSPC;
|
||||
}
|
||||
wlen -= x;
|
||||
}
|
||||
lseek(fd, 0, SEEK_SET); // go back to the beginning
|
||||
}
|
||||
#endif //}
|
||||
}
|
||||
if (frag_mask && ptr) { // Preserve entire page that contains *ptr
|
||||
write(fd, ptr, 1+ frag_mask);
|
||||
}
|
||||
addr = (unsigned long)mmap(ptr, datlen , PROT_WRITE | PROT_READ,
|
||||
MAP_SHARED | (ptr ? MAP_FIXED : 0), fd, 0);
|
||||
if ((~0ul<<12) < addr) { // error
|
||||
return addr;
|
||||
}
|
||||
return addr | (1+ fd);
|
||||
}
|
||||
|
||||
#if 0 //{ test
|
||||
char name[1000];
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
upx_mmap_and_fd(0, 5000, 0);
|
||||
}
|
||||
|
||||
void *mempcpy(void *adst, void const *asrc, unsigned len)
|
||||
{
|
||||
char *dst = adst;
|
||||
char const *src = asrc;
|
||||
if (len) do {
|
||||
*dst++ = *src++;
|
||||
} while (--len);
|
||||
return dst;
|
||||
}
|
||||
|
||||
void *memset(void *adst, unsigned val, unsigned len)
|
||||
{
|
||||
char *dst = adst;
|
||||
if (len) do {
|
||||
*dst++ = val;
|
||||
} while (--len);
|
||||
return adst;
|
||||
}
|
||||
#endif //}
|
||||
|
||||
+33
-32
@@ -9,45 +9,46 @@ Linker script and memory map
|
||||
TARGET(elf32-i386)
|
||||
0x0000000000c01080 . = ((0xc01000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x0000000000c01080 0x698
|
||||
.text 0x0000000000c01080 0x768
|
||||
*(.text)
|
||||
.text 0x0000000000c01080 0xc4 tmp/i386-bsd.elf-fold.o
|
||||
.text 0x0000000000c01144 0x564 tmp/i386-bsd.elf-main.o
|
||||
0x0000000000c01570 upx_main
|
||||
.text 0x0000000000c016a8 0x6d tmp/i386-bsd.syscall.o
|
||||
0x0000000000c01711 waitpid
|
||||
0x0000000000c016e5 munmap
|
||||
0x0000000000c016f9 execve
|
||||
0x0000000000c016f1 getpid
|
||||
0x0000000000c01701 ftruncate
|
||||
0x0000000000c016a8 mmap
|
||||
0x0000000000c01709 nanosleep
|
||||
0x0000000000c016d9 write
|
||||
0x0000000000c016d5 read
|
||||
0x0000000000c0170d unlink
|
||||
0x0000000000c016fd fork
|
||||
0x0000000000c01705 gettimeofday
|
||||
0x0000000000c016ed access
|
||||
0x0000000000c016cd exit
|
||||
0x0000000000c016cc brk
|
||||
0x0000000000c016dd open
|
||||
0x0000000000c016e9 mprotect
|
||||
0x0000000000c016f5 fcntl
|
||||
0x0000000000c016e1 close
|
||||
.text 0x0000000000c01144 0x632 tmp/i386-bsd.elf-main.o
|
||||
0x0000000000c0162f upx_main
|
||||
*fill* 0x0000000000c01776 0x2 00
|
||||
.text 0x0000000000c01778 0x6d tmp/i386-bsd.syscall.o
|
||||
0x0000000000c017e1 waitpid
|
||||
0x0000000000c017b5 munmap
|
||||
0x0000000000c017c9 execve
|
||||
0x0000000000c017c1 getpid
|
||||
0x0000000000c017d1 ftruncate
|
||||
0x0000000000c01778 mmap
|
||||
0x0000000000c017d9 nanosleep
|
||||
0x0000000000c017a9 write
|
||||
0x0000000000c017a5 read
|
||||
0x0000000000c017dd unlink
|
||||
0x0000000000c017cd fork
|
||||
0x0000000000c017d5 gettimeofday
|
||||
0x0000000000c017bd access
|
||||
0x0000000000c0179d exit
|
||||
0x0000000000c0179c brk
|
||||
0x0000000000c017ad open
|
||||
0x0000000000c017b9 mprotect
|
||||
0x0000000000c017c5 fcntl
|
||||
0x0000000000c017b1 close
|
||||
*(.data)
|
||||
*fill* 0x0000000000c01715 0x3 00
|
||||
.data 0x0000000000c01718 0x0 tmp/i386-bsd.elf-fold.o
|
||||
.data 0x0000000000c01718 0x0 tmp/i386-bsd.elf-main.o
|
||||
.data 0x0000000000c01718 0x0 tmp/i386-bsd.syscall.o
|
||||
*fill* 0x0000000000c017e5 0x3 00
|
||||
.data 0x0000000000c017e8 0x0 tmp/i386-bsd.elf-fold.o
|
||||
.data 0x0000000000c017e8 0x0 tmp/i386-bsd.elf-main.o
|
||||
.data 0x0000000000c017e8 0x0 tmp/i386-bsd.syscall.o
|
||||
|
||||
.data
|
||||
|
||||
.bss 0x0000000000c01718 0x0
|
||||
.bss 0x0000000000c01718 0x0 tmp/i386-bsd.elf-fold.o
|
||||
.bss 0x0000000000c01718 0x0 tmp/i386-bsd.elf-main.o
|
||||
.bss 0x0000000000c01718 0x0 tmp/i386-bsd.syscall.o
|
||||
.bss 0x0000000000c017e8 0x0
|
||||
.bss 0x0000000000c017e8 0x0 tmp/i386-bsd.elf-fold.o
|
||||
.bss 0x0000000000c017e8 0x0 tmp/i386-bsd.elf-main.o
|
||||
.bss 0x0000000000c017e8 0x0 tmp/i386-bsd.syscall.o
|
||||
|
||||
.rel.dyn 0x0000000000c01718 0x0
|
||||
.rel.dyn 0x0000000000c017e8 0x0
|
||||
.rel.text 0x0000000000000000 0x0 tmp/i386-bsd.elf-fold.o
|
||||
LOAD tmp/i386-bsd.elf-fold.o
|
||||
LOAD tmp/i386-bsd.elf-main.o
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ TARGET(elf32-i386)
|
||||
*(.text)
|
||||
.text 0x0000000000401080 0x1c tmp/i386-bsd.elf.execve-fold.o
|
||||
.text 0x000000000040109c 0x2d5 tmp/i386-bsd.elf.execve-main.o
|
||||
0x0000000000401153 upx_main
|
||||
0x0000000000401157 upx_main
|
||||
*fill* 0x0000000000401371 0x3 00
|
||||
.text 0x0000000000401374 0x6d tmp/i386-bsd.syscall.o
|
||||
0x00000000004013dd waitpid
|
||||
|
||||
+33
-654
@@ -2,659 +2,38 @@ file format elf32-i386
|
||||
|
||||
Sections:
|
||||
Idx Name Size VMA LMA File off Algn Flags
|
||||
0 LEXEC000 06 0 0 034 2**0 CONTENTS
|
||||
1 LEXEC009 0 0 0 03a 2**0 CONTENTS
|
||||
2 LEXEC010 0c 0 0 03a 2**0 CONTENTS
|
||||
3 N2BSMA10 03 0 0 046 2**0 CONTENTS
|
||||
4 N2BFAS10 02 0 0 049 2**0 CONTENTS
|
||||
5 N2BFAS11 06 0 0 04b 2**0 CONTENTS
|
||||
6 N2BDEC10 0b 0 0 051 2**0 CONTENTS
|
||||
7 N2BSMA20 05 0 0 05c 2**0 CONTENTS
|
||||
8 N2BFAS20 09 0 0 061 2**0 CONTENTS
|
||||
9 N2BDEC20 0d 0 0 06a 2**0 CONTENTS
|
||||
10 N2BSMA30 0d 0 0 077 2**0 CONTENTS
|
||||
11 N2BFAS30 0f 0 0 084 2**0 CONTENTS
|
||||
12 N2BDEC30 03e 0 0 093 2**0 CONTENTS
|
||||
13 N2BSMA40 0d 0 0 0d1 2**0 CONTENTS
|
||||
14 N2BFAS40 0f 0 0 0de 2**0 CONTENTS
|
||||
15 N2BSMA50 02 0 0 0ed 2**0 CONTENTS
|
||||
16 N2BFAS50 03 0 0 0ef 2**0 CONTENTS
|
||||
17 N2BDEC50 09 0 0 0f2 2**0 CONTENTS
|
||||
18 N2BSMA60 0c 0 0 0fb 2**0 CONTENTS
|
||||
19 N2BFAS60 019 0 0 0107 2**0 CONTENTS
|
||||
20 N2BFAS61 016 0 0 0120 2**0 CONTENTS
|
||||
21 N2BDEC60 0 0 0 0136 2**0 CONTENTS
|
||||
22 N2DSMA10 03 0 0 0136 2**0 CONTENTS
|
||||
23 N2DFAS10 02 0 0 0139 2**0 CONTENTS
|
||||
24 N2DFAS11 06 0 0 013b 2**0 CONTENTS
|
||||
25 N2DDEC10 0b 0 0 0141 2**0 CONTENTS
|
||||
26 N2DSMA20 05 0 0 014c 2**0 CONTENTS
|
||||
27 N2DFAS20 09 0 0 0151 2**0 CONTENTS
|
||||
28 N2DDEC20 0d 0 0 015a 2**0 CONTENTS
|
||||
29 N2DSMA30 0d 0 0 0167 2**0 CONTENTS
|
||||
30 N2DFAS30 0f 0 0 0174 2**0 CONTENTS
|
||||
31 N2DDEC30 052 0 0 0183 2**0 CONTENTS
|
||||
32 N2DSMA40 0d 0 0 01d5 2**0 CONTENTS
|
||||
33 N2DFAS40 0f 0 0 01e2 2**0 CONTENTS
|
||||
34 N2DSMA50 02 0 0 01f1 2**0 CONTENTS
|
||||
35 N2DFAS50 03 0 0 01f3 2**0 CONTENTS
|
||||
36 N2DDEC50 09 0 0 01f6 2**0 CONTENTS
|
||||
37 N2DSMA60 0c 0 0 01ff 2**0 CONTENTS
|
||||
38 N2DFAS60 019 0 0 020b 2**0 CONTENTS
|
||||
39 N2DFAS61 016 0 0 0224 2**0 CONTENTS
|
||||
40 N2DDEC60 0 0 0 023a 2**0 CONTENTS
|
||||
41 N2ESMA10 03 0 0 023a 2**0 CONTENTS
|
||||
42 N2EFAS10 02 0 0 023d 2**0 CONTENTS
|
||||
43 N2EFAS11 06 0 0 023f 2**0 CONTENTS
|
||||
44 N2EDEC10 0b 0 0 0245 2**0 CONTENTS
|
||||
45 N2ESMA20 05 0 0 0250 2**0 CONTENTS
|
||||
46 N2EFAS20 09 0 0 0255 2**0 CONTENTS
|
||||
47 N2EDEC20 0d 0 0 025e 2**0 CONTENTS
|
||||
48 N2ESMA30 0d 0 0 026b 2**0 CONTENTS
|
||||
49 N2EFAS30 0f 0 0 0278 2**0 CONTENTS
|
||||
50 N2EDEC30 05f 0 0 0287 2**0 CONTENTS
|
||||
51 N2ESMA40 0d 0 0 02e6 2**0 CONTENTS
|
||||
52 N2EFAS40 0f 0 0 02f3 2**0 CONTENTS
|
||||
53 N2ESMA50 02 0 0 0302 2**0 CONTENTS
|
||||
54 N2EFAS50 03 0 0 0304 2**0 CONTENTS
|
||||
55 N2EDEC50 09 0 0 0307 2**0 CONTENTS
|
||||
56 N2ESMA60 0c 0 0 0310 2**0 CONTENTS
|
||||
57 N2EFAS60 019 0 0 031c 2**0 CONTENTS
|
||||
58 N2EFAS61 016 0 0 0335 2**0 CONTENTS
|
||||
59 N2EDEC60 0 0 0 034b 2**0 CONTENTS
|
||||
60 LZMA_DEC00 02e 0 0 034b 2**0 CONTENTS
|
||||
61 LZMA_ELF00 048 0 0 0379 2**0 CONTENTS
|
||||
62 LZMA_DEC10 0a86 0 0 03c1 2**0 CONTENTS
|
||||
63 LZMA_DEC20 0a86 0 0 0e47 2**0 CONTENTS
|
||||
64 LZMA_DEC30 01a 0 0 018cd 2**0 CONTENTS
|
||||
65 CALLTR00 0e 0 0 018e7 2**0 CONTENTS
|
||||
66 CTCLEVE1 05 0 0 018f5 2**0 CONTENTS
|
||||
67 CALLTR01 05 0 0 018fa 2**0 CONTENTS
|
||||
68 CTBSHR01 04 0 0 018ff 2**0 CONTENTS
|
||||
69 CTBROR01 02 0 0 01903 2**0 CONTENTS
|
||||
70 CTBSWA01 05 0 0 01905 2**0 CONTENTS
|
||||
71 CALLTR02 0e 0 0 0190a 2**0 CONTENTS
|
||||
72 CALLTR10 05 0 0 01918 2**0 CONTENTS
|
||||
73 CALLTRE8 02 0 0 0191d 2**0 CONTENTS
|
||||
74 CALLTRE9 02 0 0 0191f 2**0 CONTENTS
|
||||
75 CALLTR11 04 0 0 01921 2**0 CONTENTS
|
||||
76 CTCLEVE2 05 0 0 01925 2**0 CONTENTS
|
||||
77 CALLTR12 02 0 0 0192a 2**0 CONTENTS
|
||||
78 CTBSHR11 04 0 0 0192c 2**0 CONTENTS
|
||||
79 CTBROR11 02 0 0 01930 2**0 CONTENTS
|
||||
80 CTBSWA11 05 0 0 01932 2**0 CONTENTS
|
||||
81 CALLTR13 05 0 0 01937 2**0 CONTENTS
|
||||
82 LEXEC015 01d 0 0 0193c 2**0 CONTENTS
|
||||
83 LXUNF000 02 0 0 01959 2**0 CONTENTS
|
||||
84 LXUNF002 05 0 0 0195b 2**0 CONTENTS
|
||||
85 MRUBYTE0 02 0 0 01960 2**0 CONTENTS
|
||||
86 LXMRU005 05 0 0 01962 2**0 CONTENTS
|
||||
87 LXMRU006 07 0 0 01967 2**0 CONTENTS
|
||||
88 LXMRU007 07 0 0 0196e 2**0 CONTENTS
|
||||
89 LXUNF008 04 0 0 01975 2**0 CONTENTS
|
||||
90 LXUNF010 05 0 0 01979 2**0 CONTENTS
|
||||
91 LXJCC010 03 0 0 0197e 2**0 CONTENTS
|
||||
92 LXMRU045 03 0 0 01981 2**0 CONTENTS
|
||||
93 LXMRU046 02 0 0 01984 2**0 CONTENTS
|
||||
94 LXJCC020 02 0 0 01986 2**0 CONTENTS
|
||||
95 LXJCC021 05 0 0 01988 2**0 CONTENTS
|
||||
96 LXJCC023 07 0 0 0198d 2**0 CONTENTS
|
||||
97 LXUNF037 02 0 0 01994 2**0 CONTENTS
|
||||
98 LXUNF386 01 0 0 01996 2**0 CONTENTS
|
||||
99 LXUNF387 09 0 0 01997 2**0 CONTENTS
|
||||
100 LXUNF388 03 0 0 019a0 2**0 CONTENTS
|
||||
101 LXUNF486 04 0 0 019a3 2**0 CONTENTS
|
||||
102 LXUNF487 02 0 0 019a7 2**0 CONTENTS
|
||||
103 LXMRU065 05 0 0 019a9 2**0 CONTENTS
|
||||
104 MRUBYTE3 02 0 0 019ae 2**0 CONTENTS
|
||||
105 MRUARB30 01 0 0 019b0 2**0 CONTENTS
|
||||
106 MRUBITS3 02 0 0 019b1 2**0 CONTENTS
|
||||
107 MRUARB40 04 0 0 019b3 2**0 CONTENTS
|
||||
108 LXMRU070 08 0 0 019b7 2**0 CONTENTS
|
||||
109 MRUBYTE4 03 0 0 019bf 2**0 CONTENTS
|
||||
110 MRUBITS4 02 0 0 019c2 2**0 CONTENTS
|
||||
111 MRUARB50 06 0 0 019c4 2**0 CONTENTS
|
||||
112 LXMRU080 03 0 0 019ca 2**0 CONTENTS
|
||||
113 MRUBYTE5 02 0 0 019cd 2**0 CONTENTS
|
||||
114 MRUARB60 01 0 0 019cf 2**0 CONTENTS
|
||||
115 MRUBITS5 02 0 0 019d0 2**0 CONTENTS
|
||||
116 MRUARB70 04 0 0 019d2 2**0 CONTENTS
|
||||
117 LXMRU090 0b 0 0 019d6 2**0 CONTENTS
|
||||
118 MRUBYTE6 02 0 0 019e1 2**0 CONTENTS
|
||||
119 MRUARB80 01 0 0 019e3 2**0 CONTENTS
|
||||
120 MRUBITS6 02 0 0 019e4 2**0 CONTENTS
|
||||
121 MRUARB90 04 0 0 019e6 2**0 CONTENTS
|
||||
122 LXMRU100 010 0 0 019ea 2**0 CONTENTS
|
||||
123 LXUNF040 05 0 0 019fa 2**0 CONTENTS
|
||||
124 LXMRU110 03 0 0 019ff 2**0 CONTENTS
|
||||
125 LXMRU111 02 0 0 01a02 2**0 CONTENTS
|
||||
126 LXUNF041 07 0 0 01a04 2**0 CONTENTS
|
||||
127 LXUNF042 0 0 0 01a0b 2**0 CONTENTS
|
||||
128 LEXEC016 05 0 0 01a0b 2**0 CONTENTS
|
||||
129 LXMRU010 01 0 0 01a10 2**0 CONTENTS
|
||||
130 LXJMPA00 02 0 0 01a11 2**0 CONTENTS
|
||||
131 LXCALLB0 02 0 0 01a13 2**0 CONTENTS
|
||||
132 LXUNF021 06 0 0 01a15 2**0 CONTENTS
|
||||
133 LXMRU022 03 0 0 01a1b 2**0 CONTENTS
|
||||
134 LXJMPA01 02 0 0 01a1e 2**0 CONTENTS
|
||||
135 LXCALLB1 02 0 0 01a20 2**0 CONTENTS
|
||||
136 MRUBITS1 01 0 0 01a22 2**0 CONTENTS
|
||||
137 LXMRU030 02 0 0 01a23 2**0 CONTENTS
|
||||
138 MRUBYTE1 02 0 0 01a25 2**0 CONTENTS
|
||||
139 MRUARB10 01 0 0 01a27 2**0 CONTENTS
|
||||
140 LXMRU040 02 0 0 01a28 2**0 CONTENTS
|
||||
141 LXUNF030 06 0 0 01a2a 2**0 CONTENTS
|
||||
142 LXJCC000 08 0 0 01a30 2**0 CONTENTS
|
||||
143 LXCJ0MRU 02 0 0 01a38 2**0 CONTENTS
|
||||
144 LXCJ1MRU 03 0 0 01a3a 2**0 CONTENTS
|
||||
145 LXCALJMP 03 0 0 01a3d 2**0 CONTENTS
|
||||
146 LXCALL00 02 0 0 01a40 2**0 CONTENTS
|
||||
147 LXCALL01 03 0 0 01a42 2**0 CONTENTS
|
||||
148 LXCJ2MRU 02 0 0 01a45 2**0 CONTENTS
|
||||
149 LXCJ4MRU 02 0 0 01a47 2**0 CONTENTS
|
||||
150 LXCJ6MRU 02 0 0 01a49 2**0 CONTENTS
|
||||
151 LXCJ7MRU 02 0 0 01a4b 2**0 CONTENTS
|
||||
152 LXCJ8MRU 03 0 0 01a4d 2**0 CONTENTS
|
||||
153 LXUNF034 05 0 0 01a50 2**0 CONTENTS
|
||||
154 LXMRU055 02 0 0 01a55 2**0 CONTENTS
|
||||
155 MRUBYTE2 05 0 0 01a57 2**0 CONTENTS
|
||||
156 MRUBITS2 05 0 0 01a5c 2**0 CONTENTS
|
||||
157 MRUARB20 05 0 0 01a61 2**0 CONTENTS
|
||||
158 LXMRU057 06 0 0 01a66 2**0 CONTENTS
|
||||
159 LXMRU058 01 0 0 01a6c 2**0 CONTENTS
|
||||
160 LXUNF035 06 0 0 01a6d 2**0 CONTENTS
|
||||
161 ctok32.00 07 0 0 01a73 2**0 CONTENTS
|
||||
162 ctok32.10 0e 0 0 01a7a 2**0 CONTENTS
|
||||
163 ctok32.20 020 0 0 01a88 2**0 CONTENTS
|
||||
164 ctok32.30 0a 0 0 01aa8 2**0 CONTENTS
|
||||
165 ctok32.40 05 0 0 01ab2 2**0 CONTENTS
|
||||
166 LEXEC017 02 0 0 01ab7 2**0 CONTENTS
|
||||
167 LEXEC020 074 0 0 01abc 2**2 CONTENTS
|
||||
0 ELFMAINX 055b 0 0 034 2**2 CONTENTS
|
||||
1 ELFMAINZ 0a 0 0 058f 2**0 CONTENTS
|
||||
SYMBOL TABLE:
|
||||
00000000 l d N2BSMA10 0 N2BSMA10
|
||||
00000000 l d N2BFAS11 0 N2BFAS11
|
||||
00000000 l d N2BDEC10 0 N2BDEC10
|
||||
00000000 l d N2BDEC20 0 N2BDEC20
|
||||
00000000 l d N2BDEC30 0 N2BDEC30
|
||||
00000000 l d N2BDEC50 0 N2BDEC50
|
||||
00000000 l d N2BFAS61 0 N2BFAS61
|
||||
00000000 l d N2BDEC60 0 N2BDEC60
|
||||
00000000 l d N2DSMA10 0 N2DSMA10
|
||||
00000000 l d N2DFAS11 0 N2DFAS11
|
||||
00000000 l d N2DDEC10 0 N2DDEC10
|
||||
00000000 l d N2DDEC20 0 N2DDEC20
|
||||
00000000 l d N2DDEC30 0 N2DDEC30
|
||||
00000000 l d N2DDEC50 0 N2DDEC50
|
||||
00000000 l d N2DFAS61 0 N2DFAS61
|
||||
00000000 l d N2DDEC60 0 N2DDEC60
|
||||
00000000 l d N2ESMA10 0 N2ESMA10
|
||||
00000000 l d N2EFAS11 0 N2EFAS11
|
||||
00000000 l d N2EDEC10 0 N2EDEC10
|
||||
00000000 l d N2EDEC20 0 N2EDEC20
|
||||
00000000 l d N2EDEC30 0 N2EDEC30
|
||||
00000000 l d N2EDEC50 0 N2EDEC50
|
||||
00000000 l d N2EFAS61 0 N2EFAS61
|
||||
00000000 l d N2EDEC60 0 N2EDEC60
|
||||
00000000 l d CALLTR00 0 CALLTR00
|
||||
00000000 l d CALLTR10 0 CALLTR10
|
||||
00000000 l d CALLTR11 0 CALLTR11
|
||||
00000000 l d CALLTR13 0 CALLTR13
|
||||
00000000 l d LXUNF010 0 LXUNF010
|
||||
00000000 l d LXJCC010 0 LXJCC010
|
||||
00000000 l d LXUNF037 0 LXUNF037
|
||||
00000000 l d LXMRU070 0 LXMRU070
|
||||
00000000 l d LXMRU100 0 LXMRU100
|
||||
00000000 l d LXUNF040 0 LXUNF040
|
||||
00000000 l d LXUNF042 0 LXUNF042
|
||||
00000000 l d LXMRU030 0 LXMRU030
|
||||
00000000 l d LXUNF030 0 LXUNF030
|
||||
00000000 l d LXCJ8MRU 0 LXCJ8MRU
|
||||
00000000 l d LXUNF034 0 LXUNF034
|
||||
00000000 l d ctok32.00 0 ctok32.00
|
||||
00000000 l d ctok32.10 0 ctok32.10
|
||||
00000000 l d ctok32.20 0 ctok32.20
|
||||
00000000 l d ctok32.40 0 ctok32.40
|
||||
00000000 l d LEXEC020 0 LEXEC020
|
||||
00000000 l d LEXEC000 0 LEXEC000
|
||||
00000000 l d LEXEC009 0 LEXEC009
|
||||
00000000 l d LEXEC010 0 LEXEC010
|
||||
00000000 l d N2BFAS10 0 N2BFAS10
|
||||
00000000 l d N2BSMA20 0 N2BSMA20
|
||||
00000000 l d N2BFAS20 0 N2BFAS20
|
||||
00000000 l d N2BSMA30 0 N2BSMA30
|
||||
00000000 l d N2BFAS30 0 N2BFAS30
|
||||
00000000 l d N2BSMA40 0 N2BSMA40
|
||||
00000000 l d N2BFAS40 0 N2BFAS40
|
||||
00000000 l d N2BSMA50 0 N2BSMA50
|
||||
00000000 l d N2BFAS50 0 N2BFAS50
|
||||
00000000 l d N2BSMA60 0 N2BSMA60
|
||||
00000000 l d N2BFAS60 0 N2BFAS60
|
||||
00000000 l d N2DFAS10 0 N2DFAS10
|
||||
00000000 l d N2DSMA20 0 N2DSMA20
|
||||
00000000 l d N2DFAS20 0 N2DFAS20
|
||||
00000000 l d N2DSMA30 0 N2DSMA30
|
||||
00000000 l d N2DFAS30 0 N2DFAS30
|
||||
00000000 l d N2DSMA40 0 N2DSMA40
|
||||
00000000 l d N2DFAS40 0 N2DFAS40
|
||||
00000000 l d N2DSMA50 0 N2DSMA50
|
||||
00000000 l d N2DFAS50 0 N2DFAS50
|
||||
00000000 l d N2DSMA60 0 N2DSMA60
|
||||
00000000 l d N2DFAS60 0 N2DFAS60
|
||||
00000000 l d N2EFAS10 0 N2EFAS10
|
||||
00000000 l d N2ESMA20 0 N2ESMA20
|
||||
00000000 l d N2EFAS20 0 N2EFAS20
|
||||
00000000 l d N2ESMA30 0 N2ESMA30
|
||||
00000000 l d N2EFAS30 0 N2EFAS30
|
||||
00000000 l d N2ESMA40 0 N2ESMA40
|
||||
00000000 l d N2EFAS40 0 N2EFAS40
|
||||
00000000 l d N2ESMA50 0 N2ESMA50
|
||||
00000000 l d N2EFAS50 0 N2EFAS50
|
||||
00000000 l d N2ESMA60 0 N2ESMA60
|
||||
00000000 l d N2EFAS60 0 N2EFAS60
|
||||
00000000 l d LZMA_DEC00 0 LZMA_DEC00
|
||||
00000000 l d LZMA_ELF00 0 LZMA_ELF00
|
||||
00000000 l d LZMA_DEC10 0 LZMA_DEC10
|
||||
00000000 l d LZMA_DEC20 0 LZMA_DEC20
|
||||
00000000 l d LZMA_DEC30 0 LZMA_DEC30
|
||||
00000000 l d CTCLEVE1 0 CTCLEVE1
|
||||
00000000 l d CALLTR01 0 CALLTR01
|
||||
00000000 l d CTBSHR01 0 CTBSHR01
|
||||
00000000 l d CTBROR01 0 CTBROR01
|
||||
00000000 l d CTBSWA01 0 CTBSWA01
|
||||
00000000 l d CALLTR02 0 CALLTR02
|
||||
00000000 l d CALLTRE8 0 CALLTRE8
|
||||
00000000 l d CALLTRE9 0 CALLTRE9
|
||||
00000000 l d CTCLEVE2 0 CTCLEVE2
|
||||
00000000 l d CALLTR12 0 CALLTR12
|
||||
00000000 l d CTBSHR11 0 CTBSHR11
|
||||
00000000 l d CTBROR11 0 CTBROR11
|
||||
00000000 l d CTBSWA11 0 CTBSWA11
|
||||
00000000 l d LEXEC015 0 LEXEC015
|
||||
00000000 l d LXUNF000 0 LXUNF000
|
||||
00000000 l d LXUNF002 0 LXUNF002
|
||||
00000000 l d MRUBYTE0 0 MRUBYTE0
|
||||
00000000 l d LXMRU005 0 LXMRU005
|
||||
00000000 l d LXMRU006 0 LXMRU006
|
||||
00000000 l d LXMRU007 0 LXMRU007
|
||||
00000000 l d LXUNF008 0 LXUNF008
|
||||
00000000 l d LXMRU045 0 LXMRU045
|
||||
00000000 l d LXMRU046 0 LXMRU046
|
||||
00000000 l d LXJCC020 0 LXJCC020
|
||||
00000000 l d LXJCC021 0 LXJCC021
|
||||
00000000 l d LXJCC023 0 LXJCC023
|
||||
00000000 l d LXUNF386 0 LXUNF386
|
||||
00000000 l d LXUNF387 0 LXUNF387
|
||||
00000000 l d LXUNF388 0 LXUNF388
|
||||
00000000 l d LXUNF486 0 LXUNF486
|
||||
00000000 l d LXUNF487 0 LXUNF487
|
||||
00000000 l d LXMRU065 0 LXMRU065
|
||||
00000000 l d MRUBYTE3 0 MRUBYTE3
|
||||
00000000 l d MRUARB30 0 MRUARB30
|
||||
00000000 l d MRUBITS3 0 MRUBITS3
|
||||
00000000 l d MRUARB40 0 MRUARB40
|
||||
00000000 l d MRUBYTE4 0 MRUBYTE4
|
||||
00000000 l d MRUBITS4 0 MRUBITS4
|
||||
00000000 l d MRUARB50 0 MRUARB50
|
||||
00000000 l d LXMRU080 0 LXMRU080
|
||||
00000000 l d MRUBYTE5 0 MRUBYTE5
|
||||
00000000 l d MRUARB60 0 MRUARB60
|
||||
00000000 l d MRUBITS5 0 MRUBITS5
|
||||
00000000 l d MRUARB70 0 MRUARB70
|
||||
00000000 l d LXMRU090 0 LXMRU090
|
||||
00000000 l d MRUBYTE6 0 MRUBYTE6
|
||||
00000000 l d MRUARB80 0 MRUARB80
|
||||
00000000 l d MRUBITS6 0 MRUBITS6
|
||||
00000000 l d MRUARB90 0 MRUARB90
|
||||
00000000 l d LXMRU110 0 LXMRU110
|
||||
00000000 l d LXMRU111 0 LXMRU111
|
||||
00000000 l d LXUNF041 0 LXUNF041
|
||||
00000000 l d LEXEC016 0 LEXEC016
|
||||
00000000 l d LXMRU010 0 LXMRU010
|
||||
00000000 l d LXJMPA00 0 LXJMPA00
|
||||
00000000 l d LXCALLB0 0 LXCALLB0
|
||||
00000000 l d LXUNF021 0 LXUNF021
|
||||
00000000 l d LXMRU022 0 LXMRU022
|
||||
00000000 l d LXJMPA01 0 LXJMPA01
|
||||
00000000 l d LXCALLB1 0 LXCALLB1
|
||||
00000000 l d MRUBITS1 0 MRUBITS1
|
||||
00000000 l d MRUBYTE1 0 MRUBYTE1
|
||||
00000000 l d MRUARB10 0 MRUARB10
|
||||
00000000 l d LXMRU040 0 LXMRU040
|
||||
00000000 l d LXJCC000 0 LXJCC000
|
||||
00000000 l d LXCJ0MRU 0 LXCJ0MRU
|
||||
00000000 l d LXCJ1MRU 0 LXCJ1MRU
|
||||
00000000 l d LXCALJMP 0 LXCALJMP
|
||||
00000000 l d LXCALL00 0 LXCALL00
|
||||
00000000 l d LXCALL01 0 LXCALL01
|
||||
00000000 l d LXCJ2MRU 0 LXCJ2MRU
|
||||
00000000 l d LXCJ4MRU 0 LXCJ4MRU
|
||||
00000000 l d LXCJ6MRU 0 LXCJ6MRU
|
||||
00000000 l d LXCJ7MRU 0 LXCJ7MRU
|
||||
00000000 l d LXMRU055 0 LXMRU055
|
||||
00000000 l d MRUBYTE2 0 MRUBYTE2
|
||||
00000000 l d MRUBITS2 0 MRUBITS2
|
||||
00000000 l d MRUARB20 0 MRUARB20
|
||||
00000000 l d LXMRU057 0 LXMRU057
|
||||
00000000 l d LXMRU058 0 LXMRU058
|
||||
00000000 l d LXUNF035 0 LXUNF035
|
||||
00000000 l d ctok32.30 0 ctok32.30
|
||||
00000000 l d LEXEC017 0 LEXEC017
|
||||
00000000 g LEXEC000 0 _start
|
||||
00000000 *UND* 0 lzma_stack_adjust
|
||||
00000000 *UND* 0 lzma_u_len
|
||||
00000000 *UND* 0 lzma_c_len
|
||||
00000000 *UND* 0 lzma_properties
|
||||
00000000 *UND* 0 filter_length
|
||||
00000000 *UND* 0 filter_cto
|
||||
00000000 *UND* 0 NMRU
|
||||
00000000 l d ELFMAINX 0 ELFMAINX
|
||||
00000000 l d ELFMAINZ 0 ELFMAINZ
|
||||
000003e3 g F ELFMAINX 0178 upx_mmap_and_fd
|
||||
00000000 *UND* 0 O_BINFO
|
||||
|
||||
RELOCATION RECORDS FOR [LEXEC000]:
|
||||
OFFSET TYPE VALUE
|
||||
00000002 R_386_PC32 LEXEC020
|
||||
|
||||
RELOCATION RECORDS FOR [N2BSMA10]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 N2BDEC10
|
||||
|
||||
RELOCATION RECORDS FOR [N2BFAS10]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 N2BDEC10
|
||||
|
||||
RELOCATION RECORDS FOR [N2BSMA20]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 N2BSMA10
|
||||
|
||||
RELOCATION RECORDS FOR [N2BFAS20]:
|
||||
OFFSET TYPE VALUE
|
||||
00000003 R_386_PC8 N2BFAS11
|
||||
|
||||
RELOCATION RECORDS FOR [N2BSMA30]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000c R_386_PC8 N2BDEC20
|
||||
|
||||
RELOCATION RECORDS FOR [N2BFAS30]:
|
||||
OFFSET TYPE VALUE
|
||||
00000003 R_386_PC8 N2BDEC20
|
||||
0000000e R_386_PC8 N2BDEC20
|
||||
|
||||
RELOCATION RECORDS FOR [N2BDEC30]:
|
||||
OFFSET TYPE VALUE
|
||||
00000011 R_386_PC8 N2BDEC60
|
||||
0000002f R_386_PC8 N2BDEC50
|
||||
|
||||
RELOCATION RECORDS FOR [N2BSMA40]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000c R_386_PC8 N2BDEC30
|
||||
|
||||
RELOCATION RECORDS FOR [N2BFAS40]:
|
||||
OFFSET TYPE VALUE
|
||||
00000003 R_386_PC8 N2BDEC30
|
||||
0000000e R_386_PC8 N2BDEC30
|
||||
|
||||
RELOCATION RECORDS FOR [N2BSMA60]:
|
||||
OFFSET TYPE VALUE
|
||||
00000008 R_386_PC32 N2BDEC10
|
||||
|
||||
RELOCATION RECORDS FOR [N2BFAS60]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000a R_386_PC8 N2BFAS61
|
||||
00000015 R_386_PC32 N2BDEC10
|
||||
|
||||
RELOCATION RECORDS FOR [N2BFAS61]:
|
||||
OFFSET TYPE VALUE
|
||||
00000012 R_386_PC32 N2BDEC10
|
||||
|
||||
RELOCATION RECORDS FOR [N2DSMA10]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 N2DDEC10
|
||||
|
||||
RELOCATION RECORDS FOR [N2DFAS10]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 N2DDEC10
|
||||
|
||||
RELOCATION RECORDS FOR [N2DSMA20]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 N2DSMA10
|
||||
|
||||
RELOCATION RECORDS FOR [N2DFAS20]:
|
||||
OFFSET TYPE VALUE
|
||||
00000003 R_386_PC8 N2DFAS11
|
||||
|
||||
RELOCATION RECORDS FOR [N2DSMA30]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000c R_386_PC8 N2DDEC30
|
||||
|
||||
RELOCATION RECORDS FOR [N2DFAS30]:
|
||||
OFFSET TYPE VALUE
|
||||
00000005 R_386_PC8 N2DDEC30
|
||||
0000000e R_386_PC8 N2DDEC30
|
||||
|
||||
RELOCATION RECORDS FOR [N2DDEC30]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000f R_386_PC8 N2DDEC20
|
||||
00000021 R_386_PC8 N2DDEC60
|
||||
00000043 R_386_PC8 N2DDEC50
|
||||
|
||||
RELOCATION RECORDS FOR [N2DSMA40]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000c R_386_PC8 N2DDEC30
|
||||
|
||||
RELOCATION RECORDS FOR [N2DFAS40]:
|
||||
OFFSET TYPE VALUE
|
||||
00000003 R_386_PC8 N2DDEC30
|
||||
0000000e R_386_PC8 N2DDEC30
|
||||
|
||||
RELOCATION RECORDS FOR [N2DSMA60]:
|
||||
OFFSET TYPE VALUE
|
||||
00000008 R_386_PC32 N2DDEC10
|
||||
|
||||
RELOCATION RECORDS FOR [N2DFAS60]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000a R_386_PC8 N2DFAS61
|
||||
00000015 R_386_PC32 N2DDEC10
|
||||
|
||||
RELOCATION RECORDS FOR [N2DFAS61]:
|
||||
OFFSET TYPE VALUE
|
||||
00000012 R_386_PC32 N2DDEC10
|
||||
|
||||
RELOCATION RECORDS FOR [N2ESMA10]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 N2EDEC10
|
||||
|
||||
RELOCATION RECORDS FOR [N2EFAS10]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 N2EDEC10
|
||||
|
||||
RELOCATION RECORDS FOR [N2ESMA20]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 N2ESMA10
|
||||
|
||||
RELOCATION RECORDS FOR [N2EFAS20]:
|
||||
OFFSET TYPE VALUE
|
||||
00000003 R_386_PC8 N2EFAS11
|
||||
|
||||
RELOCATION RECORDS FOR [N2ESMA30]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000c R_386_PC8 N2EDEC30
|
||||
|
||||
RELOCATION RECORDS FOR [N2EFAS30]:
|
||||
OFFSET TYPE VALUE
|
||||
00000005 R_386_PC8 N2EDEC30
|
||||
0000000e R_386_PC8 N2EDEC30
|
||||
|
||||
RELOCATION RECORDS FOR [N2EDEC30]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000f R_386_PC8 N2EDEC20
|
||||
0000001e R_386_PC8 N2EDEC50
|
||||
00000030 R_386_PC8 N2EDEC60
|
||||
|
||||
RELOCATION RECORDS FOR [N2ESMA40]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000c R_386_PC8 N2EDEC30
|
||||
|
||||
RELOCATION RECORDS FOR [N2EFAS40]:
|
||||
OFFSET TYPE VALUE
|
||||
00000003 R_386_PC8 N2EDEC30
|
||||
0000000e R_386_PC8 N2EDEC30
|
||||
|
||||
RELOCATION RECORDS FOR [N2ESMA60]:
|
||||
OFFSET TYPE VALUE
|
||||
00000008 R_386_PC32 N2EDEC10
|
||||
|
||||
RELOCATION RECORDS FOR [N2EFAS60]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000a R_386_PC8 N2EFAS61
|
||||
00000015 R_386_PC32 N2EDEC10
|
||||
|
||||
RELOCATION RECORDS FOR [N2EFAS61]:
|
||||
OFFSET TYPE VALUE
|
||||
00000012 R_386_PC32 N2EDEC10
|
||||
|
||||
RELOCATION RECORDS FOR [LZMA_DEC00]:
|
||||
OFFSET TYPE VALUE
|
||||
00000005 R_386_32 lzma_stack_adjust
|
||||
00000014 R_386_32 lzma_u_len
|
||||
0000001e R_386_32 lzma_c_len
|
||||
0000002a R_386_32 lzma_properties
|
||||
|
||||
RELOCATION RECORDS FOR [CALLTR00]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_32 filter_length
|
||||
|
||||
RELOCATION RECORDS FOR [CTCLEVE1]:
|
||||
OFFSET TYPE VALUE
|
||||
00000002 R_386_8 filter_cto
|
||||
00000004 R_386_PC8 CALLTR00
|
||||
|
||||
RELOCATION RECORDS FOR [CALLTR02]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000d R_386_PC8 CALLTR00
|
||||
|
||||
RELOCATION RECORDS FOR [CALLTR10]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_32 filter_length
|
||||
|
||||
RELOCATION RECORDS FOR [CALLTR11]:
|
||||
OFFSET TYPE VALUE
|
||||
00000003 R_386_PC8 CALLTR13
|
||||
|
||||
RELOCATION RECORDS FOR [CTCLEVE2]:
|
||||
OFFSET TYPE VALUE
|
||||
00000002 R_386_8 filter_cto
|
||||
00000004 R_386_PC8 CALLTR11
|
||||
|
||||
RELOCATION RECORDS FOR [CALLTR13]:
|
||||
OFFSET TYPE VALUE
|
||||
00000004 R_386_PC8 CALLTR10
|
||||
|
||||
RELOCATION RECORDS FOR [LXUNF000]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 LXUNF010
|
||||
|
||||
RELOCATION RECORDS FOR [LXMRU005]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_32 NMRU
|
||||
|
||||
RELOCATION RECORDS FOR [LXUNF010]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC32 LXUNF042
|
||||
|
||||
RELOCATION RECORDS FOR [LXJCC020]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 LXUNF034
|
||||
|
||||
RELOCATION RECORDS FOR [LXJCC021]:
|
||||
OFFSET TYPE VALUE
|
||||
00000004 R_386_PC8 LXUNF034
|
||||
|
||||
RELOCATION RECORDS FOR [LXUNF388]:
|
||||
OFFSET TYPE VALUE
|
||||
00000002 R_386_PC8 LXUNF040
|
||||
|
||||
RELOCATION RECORDS FOR [LXUNF487]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 LXUNF040
|
||||
|
||||
RELOCATION RECORDS FOR [LXMRU065]:
|
||||
OFFSET TYPE VALUE
|
||||
00000004 R_386_PC8 LXMRU070
|
||||
|
||||
RELOCATION RECORDS FOR [LXMRU070]:
|
||||
OFFSET TYPE VALUE
|
||||
00000004 R_386_PC8 LXUNF040
|
||||
|
||||
RELOCATION RECORDS FOR [LXMRU090]:
|
||||
OFFSET TYPE VALUE
|
||||
00000006 R_386_PC8 LXMRU100
|
||||
|
||||
RELOCATION RECORDS FOR [LXUNF041]:
|
||||
OFFSET TYPE VALUE
|
||||
00000006 R_386_PC8 LXUNF034
|
||||
|
||||
RELOCATION RECORDS FOR [LEXEC016]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC32 LXUNF042
|
||||
|
||||
RELOCATION RECORDS FOR [LXMRU040]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 LXMRU030
|
||||
|
||||
RELOCATION RECORDS FOR [LXJCC000]:
|
||||
OFFSET TYPE VALUE
|
||||
00000007 R_386_PC8 LXJCC010
|
||||
|
||||
RELOCATION RECORDS FOR [LXCALL00]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 LXUNF037
|
||||
|
||||
RELOCATION RECORDS FOR [LXCJ2MRU]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 LXUNF037
|
||||
|
||||
RELOCATION RECORDS FOR [LXCJ4MRU]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 LXUNF034
|
||||
|
||||
RELOCATION RECORDS FOR [LXCJ6MRU]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 LXCJ8MRU
|
||||
|
||||
RELOCATION RECORDS FOR [LXCJ7MRU]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC8 LXCJ8MRU
|
||||
|
||||
RELOCATION RECORDS FOR [LXCJ8MRU]:
|
||||
OFFSET TYPE VALUE
|
||||
00000002 R_386_PC8 LXUNF037
|
||||
|
||||
RELOCATION RECORDS FOR [LXUNF034]:
|
||||
OFFSET TYPE VALUE
|
||||
00000004 R_386_PC8 LXUNF030
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.00]:
|
||||
OFFSET TYPE VALUE
|
||||
00000003 R_386_PC8 ctok32.20
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.10]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000d R_386_PC8 ctok32.20
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.20]:
|
||||
OFFSET TYPE VALUE
|
||||
00000005 R_386_PC8 ctok32.40
|
||||
0000000a R_386_PC8 ctok32.40
|
||||
00000010 R_386_PC8 ctok32.40
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.30]:
|
||||
OFFSET TYPE VALUE
|
||||
00000004 R_386_PC8 ctok32.40
|
||||
00000009 R_386_PC8 ctok32.10
|
||||
|
||||
RELOCATION RECORDS FOR [ctok32.40]:
|
||||
OFFSET TYPE VALUE
|
||||
00000004 R_386_PC8 ctok32.00
|
||||
|
||||
RELOCATION RECORDS FOR [LEXEC020]:
|
||||
OFFSET TYPE VALUE
|
||||
00000070 R_386_32 O_BINFO
|
||||
000001ba g ELFMAINX 0 mempcpy
|
||||
00000160 g ELFMAINX 0 mmap
|
||||
00000183 g ELFMAINX 0 uname
|
||||
0000016e g ELFMAINX 0 get_upxfn_path
|
||||
00000000 g ELFMAINX 0 _start
|
||||
000001a8 g ELFMAINX 0 memset
|
||||
000001da g ELFMAINX 0 my_bkpt
|
||||
00000171 g ELFMAINX 0 stat
|
||||
00000192 g ELFMAINX 0 mkdir
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||
OFFSET TYPE VALUE
|
||||
00000001 R_386_PC32 ELFMAINZ
|
||||
00000093 R_386_PC32 upx_mmap_and_fd
|
||||
00000138 R_386_PC32 mmap
|
||||
000001f3 R_386_PC32 memset
|
||||
000001fa R_386_PC32 stat
|
||||
00000228 R_386_PC32 mkdir
|
||||
00000317 R_386_PC32 mempcpy
|
||||
0000041b R_386_PC32 uname
|
||||
0000044a R_386_PC32 get_upxfn_path
|
||||
000004d1 R_386_PC32 memset
|
||||
0000052f R_386_PC32 mmap
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||
OFFSET TYPE VALUE
|
||||
00000002 R_386_PC32 ELFMAINX
|
||||
00000006 R_386_32 O_BINFO
|
||||
|
||||
+77
-24
@@ -6,30 +6,83 @@ Name Origin Length Attributes
|
||||
|
||||
Linker script and memory map
|
||||
|
||||
|
||||
.text 0x0000000000000000 0xca0
|
||||
.text 0x0000000000000000 0x183 tmp/i386-linux.elf-fold.o
|
||||
0x0000000000000004 get_page_mask
|
||||
0x0000000000000011 get_upxfn_path
|
||||
*fill* 0x0000000000000183 0x1 00
|
||||
.text 0x0000000000000184 0x37f tmp/i386-linux.elf-upxfd_android.o
|
||||
0x000000000000038b upx_mmap_and_fd
|
||||
*fill* 0x0000000000000503 0x1 00
|
||||
.text 0x0000000000000504 0x0 tmp/i386-expand.o
|
||||
.text 0x0000000000000504 0x79c tmp/i386-linux.elf-main2.o
|
||||
0x0000000000000659 underlay
|
||||
0x0000000000000b4c upx_main
|
||||
|
||||
.data 0x0000000000000000 0x0
|
||||
.data 0x0000000000000000 0x0 tmp/i386-linux.elf-fold.o
|
||||
.data 0x0000000000000000 0x0 tmp/i386-linux.elf-upxfd_android.o
|
||||
.data 0x0000000000000000 0x0 tmp/i386-expand.o
|
||||
.data 0x0000000000000000 0x0 tmp/i386-linux.elf-main2.o
|
||||
|
||||
.bss 0x0000000000000000 0x0
|
||||
.bss 0x0000000000000000 0x0 tmp/i386-linux.elf-fold.o
|
||||
.bss 0x0000000000000000 0x0 tmp/i386-linux.elf-upxfd_android.o
|
||||
.bss 0x0000000000000000 0x0 tmp/i386-expand.o
|
||||
.bss 0x0000000000000000 0x0 tmp/i386-linux.elf-main2.o
|
||||
TARGET(elf32-i386)
|
||||
0x0000000000c01080 . = ((0xc01000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x0000000000c01080 0x7b8
|
||||
*(.text)
|
||||
.text 0x0000000000c01080 0x1bc tmp/i386-linux.elf-fold.o
|
||||
0x0000000000c0120e mmap
|
||||
0x0000000000c011e6 Pprotect
|
||||
.text 0x0000000000c0123c 0x5fa tmp/i386-linux.elf-main.o
|
||||
0x0000000000c01397 get_page_mask
|
||||
0x0000000000c0172c upx_main
|
||||
*(.data)
|
||||
*fill* 0x0000000000c01836 0x2 00
|
||||
.data 0x0000000000c01838 0x0 tmp/i386-linux.elf-fold.o
|
||||
.data 0x0000000000c01838 0x0 tmp/i386-linux.elf-main.o
|
||||
|
||||
.data
|
||||
|
||||
.bss 0x0000000000c01838 0x0
|
||||
.bss 0x0000000000c01838 0x0 tmp/i386-linux.elf-fold.o
|
||||
.bss 0x0000000000c01838 0x0 tmp/i386-linux.elf-main.o
|
||||
|
||||
.rel.dyn 0x0000000000c01838 0x0
|
||||
.rel.text 0x0000000000000000 0x0 tmp/i386-linux.elf-fold.o
|
||||
0x0000000000100040 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
|
||||
LOAD tmp/i386-linux.elf-fold.o
|
||||
LOAD tmp/i386-linux.elf-main.o
|
||||
LOAD tmp/i386-linux.elf-upxfd_android.o
|
||||
LOAD tmp/i386-expand.o
|
||||
LOAD tmp/i386-linux.elf-main2.o
|
||||
OUTPUT(tmp/i386-linux.elf-fold.bin elf32-i386)
|
||||
|
||||
SYSCALLS 0x0000000000000000 0xc0
|
||||
SYSCALLS 0x0000000000000000 0xc0 tmp/i386-linux.elf-fold.o
|
||||
0x000000000000008f memcpy
|
||||
0x00000000000000a5 mempcpy
|
||||
0x000000000000002a mmap
|
||||
0x000000000000005a uname
|
||||
0x000000000000007b memset
|
||||
0x00000000000000bb my_bkpt
|
||||
0x0000000000000000 Pprotect
|
||||
0x0000000000000048 stat
|
||||
0x0000000000000069 mkdir
|
||||
|
||||
.note.GNU-stack
|
||||
0x0000000000000000 0x0
|
||||
.note.GNU-stack
|
||||
0x0000000000000000 0x0 tmp/i386-linux.elf-upxfd_android.o
|
||||
|
||||
EXP_HEAD 0x0000000000000000 0xf1
|
||||
EXP_HEAD 0x0000000000000000 0xf1 tmp/i386-expand.o
|
||||
0x0000000000000057 f_expand
|
||||
|
||||
EXP_TAIL 0x0000000000000000 0xb
|
||||
EXP_TAIL 0x0000000000000000 0xb tmp/i386-expand.o
|
||||
|
||||
NRV2E 0x0000000000000000 0xd2
|
||||
NRV2E 0x0000000000000000 0xd2 tmp/i386-expand.o
|
||||
|
||||
NRV2D 0x0000000000000000 0xc5
|
||||
NRV2D 0x0000000000000000 0xc5 tmp/i386-expand.o
|
||||
|
||||
NRV2B 0x0000000000000000 0xb0
|
||||
NRV2B 0x0000000000000000 0xb0 tmp/i386-expand.o
|
||||
|
||||
LZMA_DEC00 0x0000000000000000 0x2e
|
||||
LZMA_DEC00 0x0000000000000000 0x2e tmp/i386-expand.o
|
||||
|
||||
LZMA_ELF00 0x0000000000000000 0x48
|
||||
LZMA_ELF00 0x0000000000000000 0x48 tmp/i386-expand.o
|
||||
|
||||
LZMA_DEC10 0x0000000000000000 0xa86
|
||||
LZMA_DEC10 0x0000000000000000 0xa86 tmp/i386-expand.o
|
||||
|
||||
LZMA_DEC20 0x0000000000000000 0xa86
|
||||
LZMA_DEC20 0x0000000000000000 0xa86 tmp/i386-expand.o
|
||||
|
||||
LZMA_DEC30 0x0000000000000000 0x1a
|
||||
LZMA_DEC30 0x0000000000000000 0x1a tmp/i386-expand.o
|
||||
|
||||
+15
-14
@@ -9,28 +9,29 @@ Linker script and memory map
|
||||
TARGET(elf32-i386)
|
||||
0x0000000000401080 . = ((0x401000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.data 0x0000000000401080 0x3c8
|
||||
.data 0x0000000000401080 0x3f0
|
||||
*(.text)
|
||||
.text 0x0000000000401080 0x28 tmp/i386-linux.elf.execve-fold.o
|
||||
0x000000000040109c mmap
|
||||
.text 0x00000000004010a8 0x37c tmp/i386-linux.elf.execve-main.o
|
||||
0x00000000004011c0 my_bkpt
|
||||
0x00000000004011c2 upx_main
|
||||
.text 0x0000000000401424 0x23 tmp/i386-linux.elf.execve-upx_itoa.o
|
||||
0x0000000000401424 upx_itoa
|
||||
.text 0x00000000004010a8 0x3a3 tmp/i386-linux.elf.execve-main.o
|
||||
0x00000000004011c4 my_bkpt
|
||||
0x00000000004011c6 upx_main
|
||||
*fill* 0x000000000040144b 0x1 00
|
||||
.text 0x000000000040144c 0x23 tmp/i386-linux.elf.execve-upx_itoa.o
|
||||
0x000000000040144c upx_itoa
|
||||
*(.rodata)
|
||||
*(.data)
|
||||
*fill* 0x0000000000401447 0x1 00
|
||||
.data 0x0000000000401448 0x0 tmp/i386-linux.elf.execve-fold.o
|
||||
.data 0x0000000000401448 0x0 tmp/i386-linux.elf.execve-main.o
|
||||
.data 0x0000000000401448 0x0 tmp/i386-linux.elf.execve-upx_itoa.o
|
||||
*fill* 0x000000000040146f 0x1 00
|
||||
.data 0x0000000000401470 0x0 tmp/i386-linux.elf.execve-fold.o
|
||||
.data 0x0000000000401470 0x0 tmp/i386-linux.elf.execve-main.o
|
||||
.data 0x0000000000401470 0x0 tmp/i386-linux.elf.execve-upx_itoa.o
|
||||
*(.bss)
|
||||
.bss 0x0000000000401448 0x0 tmp/i386-linux.elf.execve-fold.o
|
||||
.bss 0x0000000000401448 0x0 tmp/i386-linux.elf.execve-main.o
|
||||
.bss 0x0000000000401448 0x0 tmp/i386-linux.elf.execve-upx_itoa.o
|
||||
.bss 0x0000000000401470 0x0 tmp/i386-linux.elf.execve-fold.o
|
||||
.bss 0x0000000000401470 0x0 tmp/i386-linux.elf.execve-main.o
|
||||
.bss 0x0000000000401470 0x0 tmp/i386-linux.elf.execve-upx_itoa.o
|
||||
*(COMMON)
|
||||
|
||||
.rel.dyn 0x0000000000401448 0x0
|
||||
.rel.dyn 0x0000000000401470 0x0
|
||||
.rel.text 0x0000000000000000 0x0 tmp/i386-linux.elf.execve-fold.o
|
||||
LOAD tmp/i386-linux.elf.execve-fold.o
|
||||
LOAD tmp/i386-linux.elf.execve-main.o
|
||||
|
||||
+10
-10
@@ -9,25 +9,25 @@ Linker script and memory map
|
||||
TARGET(elf32-i386)
|
||||
0x0000000000010074 . = (0x10000 + SIZEOF_HEADERS)
|
||||
|
||||
.text 0x0000000000010074 0x584
|
||||
.text 0x0000000000010074 0x630
|
||||
*(.text)
|
||||
.text 0x0000000000010074 0x74 tmp/i386-linux.elf.interp-fold.o
|
||||
0x00000000000100da mmap
|
||||
.text 0x00000000000100e8 0x50d tmp/i386-linux.elf.interp-main.o
|
||||
0x00000000000104fa pti_main
|
||||
.text 0x00000000000100e8 0x5bb tmp/i386-linux.elf.interp-main.o
|
||||
0x000000000001059f pti_main
|
||||
*(.rodata)
|
||||
*(.data)
|
||||
*fill* 0x00000000000105f5 0x3 00
|
||||
.data 0x00000000000105f8 0x0 tmp/i386-linux.elf.interp-fold.o
|
||||
.data 0x00000000000105f8 0x0 tmp/i386-linux.elf.interp-main.o
|
||||
*fill* 0x00000000000106a3 0x1 00
|
||||
.data 0x00000000000106a4 0x0 tmp/i386-linux.elf.interp-fold.o
|
||||
.data 0x00000000000106a4 0x0 tmp/i386-linux.elf.interp-main.o
|
||||
|
||||
.data
|
||||
|
||||
.bss 0x00000000000105f8 0x0
|
||||
.bss 0x00000000000105f8 0x0 tmp/i386-linux.elf.interp-fold.o
|
||||
.bss 0x00000000000105f8 0x0 tmp/i386-linux.elf.interp-main.o
|
||||
.bss 0x00000000000106a4 0x0
|
||||
.bss 0x00000000000106a4 0x0 tmp/i386-linux.elf.interp-fold.o
|
||||
.bss 0x00000000000106a4 0x0 tmp/i386-linux.elf.interp-main.o
|
||||
|
||||
.rel.dyn 0x00000000000105f8 0x0
|
||||
.rel.dyn 0x00000000000106a4 0x0
|
||||
.rel.text 0x0000000000000000 0x0 tmp/i386-linux.elf.interp-fold.o
|
||||
LOAD tmp/i386-linux.elf.interp-fold.o
|
||||
LOAD tmp/i386-linux.elf.interp-main.o
|
||||
|
||||
+8
-8
@@ -10,22 +10,22 @@ TARGET(elf32-i386)
|
||||
0x0000000001400074 . = (0x1400000 + SIZEOF_HEADERS)
|
||||
0x0000000001400080 . = ALIGN (0x80)
|
||||
|
||||
.data 0x0000000001400080 0x4ac
|
||||
.data 0x0000000001400080 0x4f0
|
||||
*(.text)
|
||||
.text 0x0000000001400080 0xf4 tmp/i386-linux.elf.shell-fold.o
|
||||
0x0000000001400167 mmap
|
||||
.text 0x0000000001400174 0x3b8 tmp/i386-linux.elf.shell-main.o
|
||||
0x00000000014003bc upx_main
|
||||
.text 0x0000000001400174 0x3fc tmp/i386-linux.elf.shell-main.o
|
||||
0x00000000014003ec upx_main
|
||||
*(.rodata)
|
||||
*(.data)
|
||||
.data 0x000000000140052c 0x0 tmp/i386-linux.elf.shell-fold.o
|
||||
.data 0x000000000140052c 0x0 tmp/i386-linux.elf.shell-main.o
|
||||
.data 0x0000000001400570 0x0 tmp/i386-linux.elf.shell-fold.o
|
||||
.data 0x0000000001400570 0x0 tmp/i386-linux.elf.shell-main.o
|
||||
*(.bss)
|
||||
.bss 0x000000000140052c 0x0 tmp/i386-linux.elf.shell-fold.o
|
||||
.bss 0x000000000140052c 0x0 tmp/i386-linux.elf.shell-main.o
|
||||
.bss 0x0000000001400570 0x0 tmp/i386-linux.elf.shell-fold.o
|
||||
.bss 0x0000000001400570 0x0 tmp/i386-linux.elf.shell-main.o
|
||||
*(COMMON)
|
||||
|
||||
.rel.dyn 0x000000000140052c 0x0
|
||||
.rel.dyn 0x0000000001400570 0x0
|
||||
.rel.text 0x0000000000000000 0x0 tmp/i386-linux.elf.shell-fold.o
|
||||
LOAD tmp/i386-linux.elf.shell-fold.o
|
||||
LOAD tmp/i386-linux.elf.shell-main.o
|
||||
|
||||
+33
-32
@@ -9,45 +9,46 @@ Linker script and memory map
|
||||
TARGET(elf32-i386)
|
||||
0x0000000000c01080 . = ((0xc01000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x0000000000c01080 0x698
|
||||
.text 0x0000000000c01080 0x768
|
||||
*(.text)
|
||||
.text 0x0000000000c01080 0xc4 tmp/i386-bsd.elf-fold.o
|
||||
.text 0x0000000000c01144 0x564 tmp/i386-bsd.elf-main.o
|
||||
0x0000000000c01570 upx_main
|
||||
.text 0x0000000000c016a8 0x6d tmp/i386-bsd.syscall.o
|
||||
0x0000000000c01711 waitpid
|
||||
0x0000000000c016e5 munmap
|
||||
0x0000000000c016f9 execve
|
||||
0x0000000000c016f1 getpid
|
||||
0x0000000000c01701 ftruncate
|
||||
0x0000000000c016a8 mmap
|
||||
0x0000000000c01709 nanosleep
|
||||
0x0000000000c016d9 write
|
||||
0x0000000000c016d5 read
|
||||
0x0000000000c0170d unlink
|
||||
0x0000000000c016fd fork
|
||||
0x0000000000c01705 gettimeofday
|
||||
0x0000000000c016ed access
|
||||
0x0000000000c016cd exit
|
||||
0x0000000000c016cc brk
|
||||
0x0000000000c016dd open
|
||||
0x0000000000c016e9 mprotect
|
||||
0x0000000000c016f5 fcntl
|
||||
0x0000000000c016e1 close
|
||||
.text 0x0000000000c01144 0x632 tmp/i386-bsd.elf-main.o
|
||||
0x0000000000c0162f upx_main
|
||||
*fill* 0x0000000000c01776 0x2 00
|
||||
.text 0x0000000000c01778 0x6d tmp/i386-bsd.syscall.o
|
||||
0x0000000000c017e1 waitpid
|
||||
0x0000000000c017b5 munmap
|
||||
0x0000000000c017c9 execve
|
||||
0x0000000000c017c1 getpid
|
||||
0x0000000000c017d1 ftruncate
|
||||
0x0000000000c01778 mmap
|
||||
0x0000000000c017d9 nanosleep
|
||||
0x0000000000c017a9 write
|
||||
0x0000000000c017a5 read
|
||||
0x0000000000c017dd unlink
|
||||
0x0000000000c017cd fork
|
||||
0x0000000000c017d5 gettimeofday
|
||||
0x0000000000c017bd access
|
||||
0x0000000000c0179d exit
|
||||
0x0000000000c0179c brk
|
||||
0x0000000000c017ad open
|
||||
0x0000000000c017b9 mprotect
|
||||
0x0000000000c017c5 fcntl
|
||||
0x0000000000c017b1 close
|
||||
*(.data)
|
||||
*fill* 0x0000000000c01715 0x3 00
|
||||
.data 0x0000000000c01718 0x0 tmp/i386-bsd.elf-fold.o
|
||||
.data 0x0000000000c01718 0x0 tmp/i386-bsd.elf-main.o
|
||||
.data 0x0000000000c01718 0x0 tmp/i386-bsd.syscall.o
|
||||
*fill* 0x0000000000c017e5 0x3 00
|
||||
.data 0x0000000000c017e8 0x0 tmp/i386-bsd.elf-fold.o
|
||||
.data 0x0000000000c017e8 0x0 tmp/i386-bsd.elf-main.o
|
||||
.data 0x0000000000c017e8 0x0 tmp/i386-bsd.syscall.o
|
||||
|
||||
.data
|
||||
|
||||
.bss 0x0000000000c01718 0x0
|
||||
.bss 0x0000000000c01718 0x0 tmp/i386-bsd.elf-fold.o
|
||||
.bss 0x0000000000c01718 0x0 tmp/i386-bsd.elf-main.o
|
||||
.bss 0x0000000000c01718 0x0 tmp/i386-bsd.syscall.o
|
||||
.bss 0x0000000000c017e8 0x0
|
||||
.bss 0x0000000000c017e8 0x0 tmp/i386-bsd.elf-fold.o
|
||||
.bss 0x0000000000c017e8 0x0 tmp/i386-bsd.elf-main.o
|
||||
.bss 0x0000000000c017e8 0x0 tmp/i386-bsd.syscall.o
|
||||
|
||||
.rel.dyn 0x0000000000c01718 0x0
|
||||
.rel.dyn 0x0000000000c017e8 0x0
|
||||
.rel.text 0x0000000000000000 0x0 tmp/i386-bsd.elf-fold.o
|
||||
LOAD tmp/i386-bsd.elf-fold.o
|
||||
LOAD tmp/i386-bsd.elf-main.o
|
||||
|
||||
+33
-32
@@ -9,45 +9,46 @@ Linker script and memory map
|
||||
TARGET(elf32-i386)
|
||||
0x0000000000c01080 . = ((0xc01000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x0000000000c01080 0x77c
|
||||
.text 0x0000000000c01080 0x854
|
||||
*(.text)
|
||||
.text 0x0000000000c01080 0xc4 tmp/i386-openbsd.elf-fold.o
|
||||
.text 0x0000000000c01144 0x648 tmp/i386-openbsd.elf-main.o
|
||||
0x0000000000c0163e upx_main
|
||||
.text 0x0000000000c0178c 0x6d tmp/i386-bsd.syscall.o
|
||||
0x0000000000c017f5 waitpid
|
||||
0x0000000000c017c9 munmap
|
||||
0x0000000000c017dd execve
|
||||
0x0000000000c017d5 getpid
|
||||
0x0000000000c017e5 ftruncate
|
||||
0x0000000000c0178c mmap
|
||||
0x0000000000c017ed nanosleep
|
||||
0x0000000000c017bd write
|
||||
0x0000000000c017b9 read
|
||||
0x0000000000c017f1 unlink
|
||||
0x0000000000c017e1 fork
|
||||
0x0000000000c017e9 gettimeofday
|
||||
0x0000000000c017d1 access
|
||||
0x0000000000c017b1 exit
|
||||
0x0000000000c017b0 brk
|
||||
0x0000000000c017c1 open
|
||||
0x0000000000c017cd mprotect
|
||||
0x0000000000c017d9 fcntl
|
||||
0x0000000000c017c5 close
|
||||
.text 0x0000000000c01144 0x71d tmp/i386-openbsd.elf-main.o
|
||||
0x0000000000c01704 upx_main
|
||||
*fill* 0x0000000000c01861 0x3 00
|
||||
.text 0x0000000000c01864 0x6d tmp/i386-bsd.syscall.o
|
||||
0x0000000000c018cd waitpid
|
||||
0x0000000000c018a1 munmap
|
||||
0x0000000000c018b5 execve
|
||||
0x0000000000c018ad getpid
|
||||
0x0000000000c018bd ftruncate
|
||||
0x0000000000c01864 mmap
|
||||
0x0000000000c018c5 nanosleep
|
||||
0x0000000000c01895 write
|
||||
0x0000000000c01891 read
|
||||
0x0000000000c018c9 unlink
|
||||
0x0000000000c018b9 fork
|
||||
0x0000000000c018c1 gettimeofday
|
||||
0x0000000000c018a9 access
|
||||
0x0000000000c01889 exit
|
||||
0x0000000000c01888 brk
|
||||
0x0000000000c01899 open
|
||||
0x0000000000c018a5 mprotect
|
||||
0x0000000000c018b1 fcntl
|
||||
0x0000000000c0189d close
|
||||
*(.data)
|
||||
*fill* 0x0000000000c017f9 0x3 00
|
||||
.data 0x0000000000c017fc 0x0 tmp/i386-openbsd.elf-fold.o
|
||||
.data 0x0000000000c017fc 0x0 tmp/i386-openbsd.elf-main.o
|
||||
.data 0x0000000000c017fc 0x0 tmp/i386-bsd.syscall.o
|
||||
*fill* 0x0000000000c018d1 0x3 00
|
||||
.data 0x0000000000c018d4 0x0 tmp/i386-openbsd.elf-fold.o
|
||||
.data 0x0000000000c018d4 0x0 tmp/i386-openbsd.elf-main.o
|
||||
.data 0x0000000000c018d4 0x0 tmp/i386-bsd.syscall.o
|
||||
|
||||
.data
|
||||
|
||||
.bss 0x0000000000c017fc 0x0
|
||||
.bss 0x0000000000c017fc 0x0 tmp/i386-openbsd.elf-fold.o
|
||||
.bss 0x0000000000c017fc 0x0 tmp/i386-openbsd.elf-main.o
|
||||
.bss 0x0000000000c017fc 0x0 tmp/i386-bsd.syscall.o
|
||||
.bss 0x0000000000c018d4 0x0
|
||||
.bss 0x0000000000c018d4 0x0 tmp/i386-openbsd.elf-fold.o
|
||||
.bss 0x0000000000c018d4 0x0 tmp/i386-openbsd.elf-main.o
|
||||
.bss 0x0000000000c018d4 0x0 tmp/i386-bsd.syscall.o
|
||||
|
||||
.rel.dyn 0x0000000000c017fc 0x0
|
||||
.rel.dyn 0x0000000000c018d4 0x0
|
||||
.rel.text 0x0000000000000000 0x0 tmp/i386-openbsd.elf-fold.o
|
||||
LOAD tmp/i386-openbsd.elf-fold.o
|
||||
LOAD tmp/i386-openbsd.elf-main.o
|
||||
|
||||
Reference in New Issue
Block a user