Compare commits

..

8 Commits

Author SHA1 Message Date
Markus F.X.J. Oberhumer 69ca635c4c all: prepare for 4.0.0 release 2022-10-28 10:38:03 +02:00
Markus F.X.J. Oberhumer e0bf460993 src: rename membuffer "Uncompression" to "Decompression" 2022-10-28 10:34:31 +02:00
Markus F.X.J. Oberhumer 29762a8a96 CI: small update 2022-10-28 07:51:00 +02:00
Markus F.X.J. Oberhumer c7ef08dc2d testsuite: update 2022-10-27 22:35:45 +02:00
John Reiser 50a6698715 Each PROT_WRITE segment has implicit .bss on end of last page (64-bit only for now);
Also  workaround kernel bug invoking the escape hatch on arm64 (aarch64).
https://github.com/upx/upx/issues/611
2022-10-27 11:01:37 -07:00
Markus F.X.J. Oberhumer 7dd2cdea1e src: deprecate util/bptr.h 2022-10-27 17:52:15 +02:00
Markus F.X.J. Oberhumer af87f7f2bf doc: add missing NEWS entries 2022-10-27 18:10:29 +02:00
Markus F.X.J. Oberhumer 295889023f all: set next version back to 4.0.0, bump tentative release date, update
docs
2022-10-27 17:36:02 +02:00
35 changed files with 884 additions and 812 deletions
+1 -1
View File
@@ -241,7 +241,7 @@ make_absolute lcov_OUTPUTDIR
unset var_prefix var_suffix unset var_prefix var_suffix
print_header() { print_header() {
local x="==========="; x="$x$x$x$x$x$x$x" local x='==========='; x="$x$x$x$x$x$x$x"
echo -e "\n${x}\n${1}\n${x}\n" echo -e "\n${x}\n${1}\n${x}\n"
} }
+147 -147
View File
@@ -46,164 +46,164 @@ b8c35fa2956da17ca505956e9f5017bb5f3a746322647e24ccb8ff28059cafa4 *powerpc-linux.
a0950546dc17fca9437219431d8ddb0249ce5b08e899e0c799a87ac982adee70 *powerpc64le-linux.elf/upx-3.95 a0950546dc17fca9437219431d8ddb0249ce5b08e899e0c799a87ac982adee70 *powerpc64le-linux.elf/upx-3.95
" "
expected_sha256sums__t110_compress_ucl_nrv2b_3_no_filter="\ expected_sha256sums__t110_compress_ucl_nrv2b_3_no_filter="\
d8e9cb72d6d63b64b68c44a380b0f700a2c2a127bb128cf16bf003e5fe7b112f *amd64-linux.elf/upx-3.91 e697578691a81e9d4bae7d32ea1f2e83c48956d6910d0306761e484dc3c07e18 *amd64-linux.elf/upx-3.91
71c2a5e4b1fd131c7d94c646394228e577e33a90620e6f04ed8ce71bf9419dd6 *amd64-linux.elf/upx-3.95 6b54df3465da21601619d973b618cf45f695e8511f8d9c88d65f8efc1e347512 *amd64-linux.elf/upx-3.95
7ef188bb0071bf5ad92edc0ff2cca7798ab2f084bad5d244162bafdd4dd99a03 *amd64-win64.pe/upx-3.95.exe 939e9058b5abec32f27588474ad334d8d05a9a8515e75dc417d397c6de74d02a *amd64-win64.pe/upx-3.95.exe
cb458bf41edcac0b50648c15ac538048fd9e57da03c3588f0fa3e524d7e9b856 *arm-linux.elf/upx-3.95 290cf727b3944db22fb1618d0e36d06659126d759a06fd0a5ffb397927d34f31 *arm-linux.elf/upx-3.95
5d86c92a039dbe374ff69d1ee160eee849ed7a43aabe21a427482d4f050b98be *arm-wince.pe/upx-3.91.exe 4c488f100a589aace7e52a1f49982b618662ed2227e66a1e8c9699c9969ccedc *arm-wince.pe/upx-3.91.exe
9436568081d9bb519cf0c7ad1f9497026e2e74fd29009d4829a05a742c649142 *arm64-linux.elf/upx-3.95 b5da1b05cfe70c4d8dc169d8e27bfd8d95f92cc2c7307f907a7bc561e3523dab *arm64-linux.elf/upx-3.95
e68f0929566ff9a8c978c9203c07bde9bc9ecc57fb3b3664f7ce4cd84ca82d26 *armeb-linux.elf/upx-3.91 56abe47901f0e4fb207c3c19d21334664229081391d6df7e5e5c81b97c57419e *armeb-linux.elf/upx-3.91
8fe7b9bcf5db78b3f5585555526ee9aa640e40e97052226431c2f4e2dcd8d26a *armeb-linux.elf/upx-3.95 d0712d61d08a6e7161a9ff2dc933888199705fcf194c9a96350d75774c5a6a62 *armeb-linux.elf/upx-3.95
899a2af496235848b333d49645c9b08638170fc05899b55673900e5962d70a2a *i386-dos32.djgpp2.coff/upx-3.91.exe bb56e464921ad806bc72308f85d42ea1b4f6715983ecdb9415b1d525f5e3ec9c *i386-dos32.djgpp2.coff/upx-3.91.exe
41048de2b63e0703a78c222efeca6b99225fad8e0c8758775f5fb6e63edde3e9 *i386-dos32.djgpp2.coff/upx-3.95.exe 7adf07236d7a36099122edeba72534944f7f0cab36f110169f3b5755f48bad76 *i386-dos32.djgpp2.coff/upx-3.95.exe
4e7bb9e52a5f8085e9882eff1007b7f401a7fbdfc82e5342ef604e4feb4ccf15 *i386-linux.elf/upx-3.91 590b4b75ad6fc076440bf7afc9261ff1e5e3efeec84c5cd81243aec2b0b5274d *i386-linux.elf/upx-3.91
72fba7c493de49b2ee152629e9083b83d6e732c99eefc7d59641d091c64f171e *i386-linux.elf/upx-3.95 0dfda4fbe5bd260f1592649eb564bb28ee768413e1c7fe3a678d8d7b025edcea *i386-linux.elf/upx-3.95
38fbad083a8eaa4ed7cb379f21a5277a703baaa77d4e6d9e145d2bb4838513b5 *i386-win32.pe/upx-3.91.exe e3f98f4c2d0473b11fedd966e2fa184c0cf7e49a46fcbd5705387f9f2b191106 *i386-win32.pe/upx-3.91.exe
a27abdb7d9888b7d1e79aa90cdb6a1500e0a3abdc64ee9fbe7db7ce4423ffc79 *i386-win32.pe/upx-3.95.exe 38c37ec2351783a48d4cce3f240bbf6a31331f9d9bd86f77cee468ff179cf58c *i386-win32.pe/upx-3.95.exe
a8e11176946ec68f4c2e40e0a585eb70f589560117bef2a98315c454b2fe1f13 *m68k-atari.tos/upx-3.91.ttp ac331450fd0609f0f47a5012156a13d06dcabdc8ba58d5a7810dee6f17fda123 *m68k-atari.tos/upx-3.91.ttp
a80d40f6ae66effe0ce9dfcbcc306e59c61118a3653eba304b6120c3cb4bd951 *mips-linux.elf/upx-3.95 7483078331cbfc32f6150929c244f4cc0a34282f60332da37bcfdbe41c1014cb *mips-linux.elf/upx-3.95
8aab2896c689c9b9eae5d205e8dbf3e9896989f212181f666dece91e893314e9 *mipsel-linux.elf/upx-3.91 23fe3c6320f3cebce8027ec5597c228b9f160407e1e0e8a810e2ae6be8dc0d43 *mipsel-linux.elf/upx-3.91
00dbb8a83349fff83374b5a716ae953943b003991e1808e5d773f3e2aa3176bb *mipsel-linux.elf/upx-3.95 3279bdf38a14623c7a939df871f0efa5aafa4d4ed6a28c779a5d5213e6dfb7a1 *mipsel-linux.elf/upx-3.95
174a1e090a254cefff98bc23235a3feea9e23c3be0a4c007c44c89a999e62567 *powerpc-linux.elf/upx-3.91 5fe46128190a2553c6219f6f998b31ff007a5692f44585bcec27566eb6bf6640 *powerpc-linux.elf/upx-3.91
f133e103c0d02927311593f6f25ea0c4803fe648919e154a5b2a527964b6a9fb *powerpc-linux.elf/upx-3.95 c5ce8e7076d542a92205f98c8017fc9b6f97541a1e082ca2239c1138104001ef *powerpc-linux.elf/upx-3.95
996c63e6717ced59c7dfd4573482ef54d2715dc04bc106e6a86e0317443cb960 *powerpc64le-linux.elf/upx-3.95 21268d593853c2e724037ca0e0c832b89414c3c41e2a0cc9c5038ab162be710b *powerpc64le-linux.elf/upx-3.95
" "
expected_sha256sums__t120_compress_ucl_nrv2d_3_no_filter="\ expected_sha256sums__t120_compress_ucl_nrv2d_3_no_filter="\
e5fce664c1ed5e4d5ced5186c5b88be8ef14b378b911e2e70bc8e7a331f8e3ff *amd64-linux.elf/upx-3.91 b8e4d487f79a5c097244793f0535b2cfc4587449f9cbc9a7e19f5171a7a05f8c *amd64-linux.elf/upx-3.91
86437aa77c0c1c5f55ef8d15ae2ba69d9d48034330faccc025f03a2a7d54ef12 *amd64-linux.elf/upx-3.95 ab4972d2fd8369c43337aa636060b881c65ca18942d46d7ea24392a771b07b30 *amd64-linux.elf/upx-3.95
761629a404ac155b3f856ff6bedf66266e1c75dcf389b56aee7692f420872653 *amd64-win64.pe/upx-3.95.exe f5380d57da37b4d5e1258f0d36e329a936c3976ac7f684baa20899c9cfc5f167 *amd64-win64.pe/upx-3.95.exe
7dc22a271fd568f2ec7db5360ae08d2ed0dc6ceb14901bf8d3a49f6a239506be *arm-linux.elf/upx-3.95 024b27a1edf93da0efc93190c4b6d2003d76e43a80065b24a1aa5bf0143feb06 *arm-linux.elf/upx-3.95
58259c38274532baf60932569a4006ceb762a381ac3b257e9af648af24422660 *arm-wince.pe/upx-3.91.exe 0c588526f42f3f0931731fb01e1e257780c9a87a1701b2c3f4a7605b6911f618 *arm-wince.pe/upx-3.91.exe
f626c4131c1b70a880e6431c41842093dad4a2fff921304727306e699c6e6ceb *arm64-linux.elf/upx-3.95 2c12d439d9a24c532b6c41decd9b01d2774d03e34692129ee17b8448e3436e3e *arm64-linux.elf/upx-3.95
6f870fe4f7a92cd244bc0b209082264ffdf68d023dc1d697f5111ce5f4a168ca *armeb-linux.elf/upx-3.91 eb7436b949fd646500bf42f14abe2ea6d466cbda5cbfff36a4e71693611d6c9f *armeb-linux.elf/upx-3.91
ed554bbf0d531740a2cb408a5408b7fb67fef32173531bae21b15829e4465b92 *armeb-linux.elf/upx-3.95 3e0db5fc130ac5b08d9b4df0cdf0fb9a40fa299cd5e28b2550277845500fa729 *armeb-linux.elf/upx-3.95
6e5b040dd59e0bf3491da6947fd3c576fd1b090b1fa7f278b147dd33b0a561a4 *i386-dos32.djgpp2.coff/upx-3.91.exe fb7d8645e851534e4050efac23aff3fc0557f217d4fe2bb3715f8771845f5759 *i386-dos32.djgpp2.coff/upx-3.91.exe
f27ef0ce4ca0c7557dfd4c0c3a7e5443523f82dd9f4d354fb80ad0e001ede485 *i386-dos32.djgpp2.coff/upx-3.95.exe 12d2e9029826966caa38cf719757a055298c86d46e6bea7eef7a20a77a6902a9 *i386-dos32.djgpp2.coff/upx-3.95.exe
8e6d5979658e8a00b567ddd214abd5565fc4c356b3e84941038c16aff9b3fb23 *i386-linux.elf/upx-3.91 b10d190bb8c2aee25ed264051b1527649c5f6fa3f8dde46c7ddd9fb3caae8e94 *i386-linux.elf/upx-3.91
7d7cc62ec7f8e71e526687cde53d5b49e5f688787c3aef533a8aa9f302e51bea *i386-linux.elf/upx-3.95 b6c3402266a0d798ffbdf5ed3c6bbd80cc25999cddf178ce65c8e5917cb60cd9 *i386-linux.elf/upx-3.95
f81ed2a88589df18a735bebc1b42d638d3eb0bebbaea70758c762348103adde1 *i386-win32.pe/upx-3.91.exe 1a353bff5e90a73664fb1366fcab3ddde11f9309a59cf0e58a9f6deb40170bff *i386-win32.pe/upx-3.91.exe
d5533151370ea42679c94036b8d61239f90fd930fca5d3cedbbca9c959756294 *i386-win32.pe/upx-3.95.exe 9fd5633d06eae78f683857fc90ebda7cad60395cc46751101190086f069e55c1 *i386-win32.pe/upx-3.95.exe
5361b1f369a4b42f9063f448bdcda31f97bd610c659d2fe3c89d3e479a84cbc9 *m68k-atari.tos/upx-3.91.ttp 2df5dd59cabcd7c09293982cc4638a608c424e515f8040aa70473d30fd7373db *m68k-atari.tos/upx-3.91.ttp
ac4233c2d342375bd2fb5cf871cfd47b58863fbcac7693937e1d15d23f09f96e *mips-linux.elf/upx-3.95 771ee01c165aa0dac865f946dd4207680a723ef822f2ceda27c6c442978cb898 *mips-linux.elf/upx-3.95
9bcae27b631736ff226d45fc143c61c55b1bbb127b77b9612ad2d123dc96d45d *mipsel-linux.elf/upx-3.91 f99b2e97c49e86cbe8141160de3b5196e78fe85776a159b745a78144c7fd29a9 *mipsel-linux.elf/upx-3.91
bf735a042c3406897f1cba6a62f8f7ea631bd15f15f21a56165decfe39323c52 *mipsel-linux.elf/upx-3.95 bad98328d8666b5f92b7210fa22920947fbfb38a86e788f1bcbb8ce1c8e64bcc *mipsel-linux.elf/upx-3.95
215c0694962ab6f4ead91448722a6ddce8471abce0742e148a6626cdbdf904fa *powerpc-linux.elf/upx-3.91 fc671351debd86f347f874e5a1cace099bbf388fd19f8ec2ac226ab22c84e46e *powerpc-linux.elf/upx-3.91
82857404a03d2a21c4bff152c8da78ae3cdcdb71ad0c847256c370ce510a4f1b *powerpc-linux.elf/upx-3.95 cb248465ee6fbf2aff427c9c015de65c547bab7ac3b84b5243980d707c3514ea *powerpc-linux.elf/upx-3.95
ee860ecf8fafb5ca6a7f9c6baf316dba1c3b55553aa02f4dc254d54b32e0a61a *powerpc64le-linux.elf/upx-3.95 49e84bc28d7d80d828cf9298101468730dc1badc6e2f710884e2afc34d669391 *powerpc64le-linux.elf/upx-3.95
" "
expected_sha256sums__t130_compress_ucl_nrv2e_3_no_filter="\ expected_sha256sums__t130_compress_ucl_nrv2e_3_no_filter="\
d43e28f8724cdb76deaca6581b698bd77c06a94ea37c8cf730eb38f82ce62cce *amd64-linux.elf/upx-3.91 037e9867bc52669e8f4869d64a41a8faaca3e57f6b226b79a894aa8854f0d73b *amd64-linux.elf/upx-3.91
05c7ced28df8fa967385aa85adb479a9d9928112cb28884e8382421ee7aed062 *amd64-linux.elf/upx-3.95 54b9d627cbb8bf19a8b7e299af33fcfbf45287ee41de1fc3b7806f45cc9f0c4f *amd64-linux.elf/upx-3.95
405399cb91cde3dfeed89bfe14ff65301fcb9a6925ffb55bdac8c60e164fec9f *amd64-win64.pe/upx-3.95.exe c76b656a4e5c9d3f691d186b488e89401246395e05a4c571d8384826ec1afd7a *amd64-win64.pe/upx-3.95.exe
48a0983b24a0dc0e29df24ee30470ce228f4c978a3e965e27a6b12d8977807bd *arm-linux.elf/upx-3.95 1099f092f803371ae60fe45d1210ed000fa011026a6e3a339119d30e7b533a3d *arm-linux.elf/upx-3.95
9b460ce1edeb2557661526bdd0d195f5d4c7c5f261c2886fe47691ce5b2d20c5 *arm-wince.pe/upx-3.91.exe 0fd539a9cf015e60f55cfe9a2cb735c39abcec4097a1d9dad14133817322f149 *arm-wince.pe/upx-3.91.exe
391afe58edcbbedadde8c9ec4cd693c4c169bd6f6fefa9f63c41f4d7529246c9 *arm64-linux.elf/upx-3.95 f74bcbafa912d4b60431744347562551efb3a4c738b33b54788702c9a04a2755 *arm64-linux.elf/upx-3.95
05943cb6189f8230a6a6cc8ffb9ae9b6f3ecb1ef222181522833dc8373c77211 *armeb-linux.elf/upx-3.91 2159088afb2481c20bd3e46b22f135ea9a71fccf84cf8e3cd5288012bf499efb *armeb-linux.elf/upx-3.91
0f1cdc18d24c03d3e56256721ba9fdddf7809eeaeefacf4f677120903c9544e4 *armeb-linux.elf/upx-3.95 a4e1fb939ffd0dd4fba8d96332406475220439ee368c4445b715d723c14257f7 *armeb-linux.elf/upx-3.95
ee2918a9bf26aebcb5547684f2d4f9c24ac516597c208a478e5bc3f36b59291e *i386-dos32.djgpp2.coff/upx-3.91.exe 7832f40d5a2f4208c5a765a90758a75b8208ac5b4c01a78c276be2ff74d6be13 *i386-dos32.djgpp2.coff/upx-3.91.exe
f24770536216fa29a7d3624f6e676a54244be0a7ab1213d29d21a146639a1b83 *i386-dos32.djgpp2.coff/upx-3.95.exe e6bde12bead66eff48502e7944fe44a557db3f236b6d0155be5b9bf891c6beff *i386-dos32.djgpp2.coff/upx-3.95.exe
2ea7702d4398d03ea46502f5179b2eaa209926ad0d105e81663b3c87c2e7acb7 *i386-linux.elf/upx-3.91 8306fa054b3281547f545b2ec1c5a059f0f29414fdeb4a5572f07c25bc8deff2 *i386-linux.elf/upx-3.91
74df9d74515b51839272c5c84572880d58ea85a16cbed5549b2af182149dad24 *i386-linux.elf/upx-3.95 75f6be5e52b89ac19f822ba9ed598c050078d9ec5530dd73144b5f0748dfe6e7 *i386-linux.elf/upx-3.95
11401986fe43ee57cb0170099d3a6228238e2eff8244ad81cc647420314c98ee *i386-win32.pe/upx-3.91.exe 61ea92bd711bcbf8c74e33054f320ab214dc1b2570e814a5d1f65001f7e1e507 *i386-win32.pe/upx-3.91.exe
3ee3b313f0cf6c891c5895343ff304aa34e3017aac45022f7bbd0cfd7d80dc25 *i386-win32.pe/upx-3.95.exe ed5db8134d10a59b0dc1b973339823d20104ac3c1be0332fb55b1f2e220110c5 *i386-win32.pe/upx-3.95.exe
e9659acb2dc14f60e8f3d71b6024ec9c768ee11233ec9dad5e1bd252cd259381 *m68k-atari.tos/upx-3.91.ttp d381ff2c7115e3100daa567e49dbf36bd42ea7544039d8e7fb66ecc5009f88c0 *m68k-atari.tos/upx-3.91.ttp
0796aa39c6a069f5c940ee07442c22d864fdca7f6fe083d51debabab077c413f *mips-linux.elf/upx-3.95 6aa24a6661d322f60805406b87a5be605a5aee52d33e798328b7d118dfba4862 *mips-linux.elf/upx-3.95
98d370c61692de7249aa51f3befc3ebefa705f172a1ebf0dd092ea07b9776158 *mipsel-linux.elf/upx-3.91 04a1492fad74bc942216721a9e538638c9dc14f64272c5d90b54dc5a38c98b4d *mipsel-linux.elf/upx-3.91
7bb3afac05c13ef34721facf4c81621791a45a40cceab2cc1bb7306a747c5df5 *mipsel-linux.elf/upx-3.95 31f6814a6964c9d5e44f1cc842742036747e95df2bdc4f4dddc8f05d4d9eac1a *mipsel-linux.elf/upx-3.95
eb292cd7c95fcd597431a8e6c9f13f0b64bbda3423611a43ceeca418a3979554 *powerpc-linux.elf/upx-3.91 5b1121a963ecec3e221e0b475f6cde7aad14d5cdd8cba43a4516dbdb92eb5a66 *powerpc-linux.elf/upx-3.91
6a45c2734fc2aa82a0e2b9331c545e1bb04d02797c59ab00a8250d052603b8a2 *powerpc-linux.elf/upx-3.95 c4f35cda7fdf64d9195115a82c806f084e2dbce0f80a31b34a882138d6d159c1 *powerpc-linux.elf/upx-3.95
9c6dc09daf5901983625e8f9f2f45f66a10fcf9841ae3e9788bb3ae075db5307 *powerpc64le-linux.elf/upx-3.95 ce70def8c58def3d548aa04f502c8279392eadcdb2c3d3cac8466cfcd3a6b7ab *powerpc64le-linux.elf/upx-3.95
" "
expected_sha256sums__t140_compress_lzma_2_no_filter="\ expected_sha256sums__t140_compress_lzma_2_no_filter="\
8f08ea0a86c3f49c7b2a90aca17b5739a91e39ef6542365e7395d1325fdcfc2b *amd64-linux.elf/upx-3.91 38b58e0702763bd421f8940479a8545f39a2a8f27d90d2c276dc677d8a99846c *amd64-linux.elf/upx-3.91
9f7c9d0432baaf21977ca4bd827f7cdf7c39296f77e122689cc57945856e7b39 *amd64-linux.elf/upx-3.95 5b34c95e9d636903b85b79b299d28f2aa6bd8d3a3d1696acf308d8cf8bfe99d4 *amd64-linux.elf/upx-3.95
86e277047c1b8c1884bf5ceb4f628410b011fae761e8cf7031f0b8b3058adac6 *amd64-win64.pe/upx-3.95.exe dd10984767f9fe67900b64d63699ccaf858b9072272eef5ca373a7701d5057bb *amd64-win64.pe/upx-3.95.exe
80a8f4d0df27d32d8f20bfd838f6c876026f84d6c54bb5c1a920340031eb22e8 *arm-linux.elf/upx-3.95 4aff8b057429fcdac4f4b3691278c87280e247879ef07ea0291a1c56f999750d *arm-linux.elf/upx-3.95
c059993735be23726fd74a5d0c5165f4c6581cc90513b2a6f82cb0f8d113ca6a *arm-wince.pe/upx-3.91.exe 9e5ad415bb42155a3c527fd259ac7ca1534a14bec888cb1ee8a7cc8e2ca0019c *arm-wince.pe/upx-3.91.exe
3b8298af00f656d071187fc219bbb9a131a412f7489dc7a164fa7c6a78c96c85 *arm64-linux.elf/upx-3.95 65facbcdbf7f79d88fce4af18629f8489510134005b3e490eb42fa112603e18e *arm64-linux.elf/upx-3.95
83d0c4dc17bbb9391d904c85c6382fee5b8f76baf664f14c8f7c3c0b31bc8079 *armeb-linux.elf/upx-3.91 78d94d8209a443ae3c05f360c1086fe8bcad109e3a7d5267c571ad53ad38702e *armeb-linux.elf/upx-3.91
f939c8365f00d486573f9b969d42d1b43e49fc8c5f59b3a72eb229482de3938e *armeb-linux.elf/upx-3.95 37242e5eb6ef64ed6dc862a791643d62cfc9c3b98a6f88556216a002101ef73f *armeb-linux.elf/upx-3.95
467cead4f4418d1a581ac61cac5526afdbb6ebe8887749c3b8b25a45bb686e22 *i386-dos32.djgpp2.coff/upx-3.91.exe 99209d2c5e6e7bf9edad472b181318f135a619f10d19ecde37158a80e186658b *i386-dos32.djgpp2.coff/upx-3.91.exe
c35eb28139afcea4b03e7fabf993e9927486b53e0ca20d78e61a274358934ad3 *i386-dos32.djgpp2.coff/upx-3.95.exe f713b061cc6171d6fd467f6041618bf5c61179c406ccf6b79acb378e7fa1f3dd *i386-dos32.djgpp2.coff/upx-3.95.exe
6898de07c4d250dfdd9be431a59562e87f49e2c69112d034352d1ec62c6e99dd *i386-linux.elf/upx-3.91 48b554af082672ed3c5dab9ef5d78f561215f23ab98eb49904766e2801b70799 *i386-linux.elf/upx-3.91
400f08c53c7b3d81e99c85f9aa86443616d884a366627f61dce3f1d0c46c67ba *i386-linux.elf/upx-3.95 9c1f8e34110030920684ee1276033bcaaa3cd2917d4cc001dad6efd865e8f2e8 *i386-linux.elf/upx-3.95
2530b702024091f71405e5a8b4b0ebc235a8e12bcb66867590d1a6741c905b9d *i386-win32.pe/upx-3.91.exe 6d08ec9ab29b1d85bfcaebac1adeec1a5155c8b37a5c979e40f4e0fcae12cb45 *i386-win32.pe/upx-3.91.exe
2a854af2416d459b7bdf8345cae374800cf471d9e945a170fa38046221e7b462 *i386-win32.pe/upx-3.95.exe 1754e33c11034d09076c6a534532d5d9a13e967e4206221cc8a0c6d904bb6edc *i386-win32.pe/upx-3.95.exe
74ac6483e4a98a4173330ad43203f04354af0bc1ce046e6c94e5759d68ce992f *m68k-atari.tos/upx-3.91.ttp d044c35793adedbba31dee6adb4dbd1fcde183f2299d11b17e15aca83500217e *m68k-atari.tos/upx-3.91.ttp
118fd0c794402cf96c4c97533c2a3292afdc87632bac6a25978f0baae248e375 *mips-linux.elf/upx-3.95 f555a0e2444ec2d859609236c66f45b9984cbfcd9668d16dea5de0feb86a94ea *mips-linux.elf/upx-3.95
4b26db733fab84d8032dd4c6cc345f3da50ac3fe581706b1676ebe19d099c693 *mipsel-linux.elf/upx-3.91 8a96d7674eb6754235d0e7cc2e72bae241a166e2d232e70ee97bd0382c5dba9f *mipsel-linux.elf/upx-3.91
a016e09a4aa299dd176a6e5eccde98db8781c509e7605504c316a77bf55fe1a1 *mipsel-linux.elf/upx-3.95 40ddb03c43e5740b634aa05a915fbe5ec2fb1f7076b7a3553d236498f4830964 *mipsel-linux.elf/upx-3.95
db75012b5177ef021fb9365c3828aba39ea7feff0783e737a4625c0066de8ef1 *powerpc-linux.elf/upx-3.91 262cf98e2533c38008b2a2273f5ee3ccdfb753b854c8afb836be5f1b1af56710 *powerpc-linux.elf/upx-3.91
168931dfcecc39019fa86eb2e27dfc2e8239160c3b826b76fd53f39f13f986da *powerpc-linux.elf/upx-3.95 20513f3e3f675b167ce74707f9b31c4e4885f5d7c3d8b050a4a7ea7221b1b6f2 *powerpc-linux.elf/upx-3.95
e58fb39928d60ec18add81e3dcc62b5a82cfa8c9c19f89ade0a7388ac88342f5 *powerpc64le-linux.elf/upx-3.95 b8aca35fce8a1ceea2c7ba4f11cfcbb3549ac0e93b955a0c390f6a7063e865e3 *powerpc64le-linux.elf/upx-3.95
" "
expected_sha256sums__t150_compress_ucl_2_all_filters="\ expected_sha256sums__t150_compress_ucl_2_all_filters="\
c329512f59d065b20698c49ff7d710c7bb0cf099b8a4b8fe5ecd1121a12eb175 *amd64-linux.elf/upx-3.91 5033deb9509be51229a7fb9fff629547797bfff7046e413a3450892ab459c58e *amd64-linux.elf/upx-3.91
8cf09664da89c51453e23c4ac76e8d619814dbd576580f408ebf95078dc67474 *amd64-linux.elf/upx-3.95 d92a21d5b25c4b367142859eb3f29d9754d54b151058475a81e5bda6e5093dcd *amd64-linux.elf/upx-3.95
8af657df3b6a0f7d586f38960a592827921a914f923db4ab87fbb93094f1096d *amd64-win64.pe/upx-3.95.exe 870083b25a88a2ff5cb49dfa109e55fc082b11af39c352740bab65c551b40282 *amd64-win64.pe/upx-3.95.exe
055f5fd681f872e2e308a59402196bb3f33fdb0ef34ddee4031f7d676e6ac364 *arm-linux.elf/upx-3.95 152fbbeabd01c771d526a887ae6a8d92bc5a9dd92ad0779d9a40a036f4760309 *arm-linux.elf/upx-3.95
eae07f1e169d0b89ec80fac5f61ce41af9c697d48ddb45495806f9e3103dd0ac *arm-wince.pe/upx-3.91.exe f88d160e5a3e7e323623dc5f1f6edabd6ed0ac477beb168bf754047c04531097 *arm-wince.pe/upx-3.91.exe
b1bfa0d71d8dfd3edd772d1d92f76695155ba9cbcdc572c68efa8cd6e500b0b6 *arm64-linux.elf/upx-3.95 379a8eec659fd1a1bced32342b45e146333b3a257942d66f7a1062f9cba88f9c *arm64-linux.elf/upx-3.95
12af497fbc9d06199fa623744a31778ee78fe142e5958162f0e683809ca58435 *armeb-linux.elf/upx-3.91 86f5d6d3f7b738e4e30157fb011720fbae61f52a6296e3dfeb445afeceb91e32 *armeb-linux.elf/upx-3.91
b497a7fb0b12fb75a4444f0c137e174fe059b973f5f2425b1eedb04855dfb130 *armeb-linux.elf/upx-3.95 7cb7f1a18d00631decbbd73d56d4cb54a5402cb3784607406c258ce5af3f51ca *armeb-linux.elf/upx-3.95
1c7d4abe5aa21da343399e2cff642f04bf0904bbac2df97d5e10b2e9087806fd *i386-dos32.djgpp2.coff/upx-3.91.exe 4b34e1f0553937c3fb6b98b4cad7beff510d5f0c9bbfd2fd2cc6986bc569d579 *i386-dos32.djgpp2.coff/upx-3.91.exe
70ae2c3a58b22dbf1aefb145705c00855be241e6b2cc45fe18cd90bf93fa3802 *i386-dos32.djgpp2.coff/upx-3.95.exe 41332641b361c584763bfc149d3762bb4c337fe979af85f4b6cc03c3318ac9a9 *i386-dos32.djgpp2.coff/upx-3.95.exe
f332cba5e96fa04377a127c2c7f45822ccf1f12dd990fca5bf73499902082c3b *i386-linux.elf/upx-3.91 e3c7e93cddce54b2c044b23b2ce239e2373134212cd930ad700ab93178785941 *i386-linux.elf/upx-3.91
15f1238bd48835d850c4eb9bb51515738d69237b6c81bd7148aefb0a0e4556e6 *i386-linux.elf/upx-3.95 14827578a5bbcebcf02ab9754145a290cb06d0c2dc3d9c34da182c3a22071cb6 *i386-linux.elf/upx-3.95
1c00860e202116b199fa76b4b508f27d7ec28510d8287557d04688c93be4e624 *i386-win32.pe/upx-3.91.exe f10fb96a4db81cde3f76f3499710c16accfb7c7b30bc3e5532ea3b0b5aa57d54 *i386-win32.pe/upx-3.91.exe
12e1ac68a55bae0c2f82149b133e21224e37168e9915ef97bd40d38455723a53 *i386-win32.pe/upx-3.95.exe a83278c357fa81f565ee1f95edbfc0156318b9638a5934421ee9f2f1bae5479a *i386-win32.pe/upx-3.95.exe
ae43a71d76b0bc2f1af2e9b5ec90d6cc0337dbd603d124dfac8c68893bd8fb5f *m68k-atari.tos/upx-3.91.ttp f29d9bb67de28a5eddbd3153c616f8b840d019bed48dfc6cf99ffc0bc6146390 *m68k-atari.tos/upx-3.91.ttp
e0c0dd0e41b3d0f059d373bbc81c35fdb843657d496614fd090aa2d89ed5da27 *mips-linux.elf/upx-3.95 356630562c9b017d18e09373ca71e19e870ae10b25ffa7a0d6e3e5c1fb948d73 *mips-linux.elf/upx-3.95
558780a870830f5fbb14f5cd00db576fa37c8fcd72f7f22491ca2279aaf85757 *mipsel-linux.elf/upx-3.91 336a1795b3675a8ee76fff35f6c9ea9c7fc8f48dd53224a990f1191b1cbbab65 *mipsel-linux.elf/upx-3.91
7d85974f25e3daa3f21c11496683bee6c22d1c6086f29ed5b410637cb9c66f2e *mipsel-linux.elf/upx-3.95 dbebbc932fc3caec6be1fe92d21eed379ed3bf7e55293c10c54dfba9c37229a9 *mipsel-linux.elf/upx-3.95
cb3c36ee3ade39e4cb1c2d5bb20548f1f4560bf1853c315b5c2b3fca533c75ec *powerpc-linux.elf/upx-3.91 adb8d16a5a635cdb3ca12346c5317ce16431cc8ecb9a54a856ee9c2586f7911a *powerpc-linux.elf/upx-3.91
faaf09644ef9eb51a5f48a34971bb6ab363cb85fb79fdba8ad9eb1aecd7d5a7e *powerpc-linux.elf/upx-3.95 286c92ba6bb88c13c01fc932d1a742a2cc0d01b4c59731d72c7a91d0c7c6c9ef *powerpc-linux.elf/upx-3.95
c714496c2027d81cd16431cc27dc105761aae98d71099cecae84bd1d269e9dba *powerpc64le-linux.elf/upx-3.95 9102d4d31572fc5b5244a6f7643e1d001cc3044836a25c6211f3117d4c2b1dac *powerpc64le-linux.elf/upx-3.95
" "
expected_sha256sums__t160_compress_all_methods_1_no_filter="\ expected_sha256sums__t160_compress_all_methods_1_no_filter="\
08a685a5869892597aa82264e8796a6d0e663f61426b683cfb47a51c5f4e1f37 *amd64-linux.elf/upx-3.91 407f350965205d7ef3d860cd89ff1dbee74082a7a6777363deb64ac5676ef495 *amd64-linux.elf/upx-3.91
ea0ef4eed5ecfa14f5e713bae4a7559adcd8dc5bf26a6bc035d771063cf325eb *amd64-linux.elf/upx-3.95 8d391e5a14922113c7b72a16728f497553fc834b02971c0ffe65a1efe461f240 *amd64-linux.elf/upx-3.95
d5cbc1908d75808afffaa503584588aa33ef3ce36692273c0d7ae628fe649fc6 *amd64-win64.pe/upx-3.95.exe 867627ab2c87ffe1d82d5f131c0b05f73fc73d1e0a0011e369adb543be3b0deb *amd64-win64.pe/upx-3.95.exe
a90a668fb46aa1ae1ebe875383930f016ea3ca9985f8a6d0d09bcef179cee7ab *arm-linux.elf/upx-3.95 f9f39f443c419ffaf2a5d95f00144d56de4ca66f21d919272345cf360c947694 *arm-linux.elf/upx-3.95
ad3d1c557d82f8d4d54a462b5e720705b51df064141b0fd3f81d54de685f51d6 *arm-wince.pe/upx-3.91.exe 9394653a9f6ca77c82916f06d402af45639815edc1eb06ba01e67510927f9d34 *arm-wince.pe/upx-3.91.exe
1b2f673515ca9b67c7af0a9381d4e2b7f23b709e97ae969cf1dedcfda8b254ef *arm64-linux.elf/upx-3.95 e22d64d16fe071c70e62e3c97701632a88a1568d8146e197df89f1bcc003041a *arm64-linux.elf/upx-3.95
ef2ce0aace6ea8c6994232c93b73d2b0fda6ccc2b108bfca6a0f4d4dbacc36d0 *armeb-linux.elf/upx-3.91 61a18df8b91461fb6ffd9fbfff3d24549abe5a64ca512a063a9c09f2d8dbbf64 *armeb-linux.elf/upx-3.91
2bfdc5e22932b32d405611d51940d7a79b851e3776b8cdb05db5112a195cc624 *armeb-linux.elf/upx-3.95 6866f745d8bfd1f60d3f7fb68e39238f80371e4dec6f42ee08193db13eb2c04e *armeb-linux.elf/upx-3.95
a9b09a6118386855e0b326e337f72c8dd369b3cadfb4e1d35a08c197a71ec0f6 *i386-dos32.djgpp2.coff/upx-3.91.exe d8a099f8e4fd380b70f0cf8ef56cbebf232ea0c127529593c15fc34af7df32e7 *i386-dos32.djgpp2.coff/upx-3.91.exe
4cedba26f462707805fef1810d720e09b25040f97344444d93c0af36923e8089 *i386-dos32.djgpp2.coff/upx-3.95.exe 5b8d383bbd3594016b09f923f3e3d472649e3854abf9a4d695d67524d57debde *i386-dos32.djgpp2.coff/upx-3.95.exe
7fdf110134d120d6cec0aea13c1a7b861770cecb4f516cd1ab595a4d3d26936f *i386-linux.elf/upx-3.91 7116ee5cce8865154ab815eaf717f39b82265c5f88320799d01bea2d92799a3c *i386-linux.elf/upx-3.91
deb15af9198da2d8e2d95b5f5e64bd8639cb97d4cfe2484eabdcd6385288b964 *i386-linux.elf/upx-3.95 4f29bc1c53e9cd7047929b8ceb92cc9022cede80fd80afa1c23f48152789d4c7 *i386-linux.elf/upx-3.95
40fcff57d7859f37d349b907a4564bf3e9ba7223cc163e770f8353a8bfa51c73 *i386-win32.pe/upx-3.91.exe 65e85f6944b98df0ac16d50af98f501f3f87b35c0432edc17244e768f0850a3a *i386-win32.pe/upx-3.91.exe
fae3dc1dc8eac23f6e610a1e01c20d4779026511a091672f7c150c402ae1c552 *i386-win32.pe/upx-3.95.exe 6414e7ed0bb0aedc4b027030f42d5d2e49f10cd9d98b9250015be88d708fa4eb *i386-win32.pe/upx-3.95.exe
f9663e80b6d0f69cc916ae137f6df9cd8c10bfff9c1562959efd32e91b02e1a8 *m68k-atari.tos/upx-3.91.ttp 1dc02f7ab54cd23da1ba3efaa3e3ca275cc23bcdcb2f5131bc9c643c87076d0d *m68k-atari.tos/upx-3.91.ttp
50b71e6090c7964bb704849584c7c75d8ee5aaa5bfab26482d3879bc01d17841 *mips-linux.elf/upx-3.95 6b9269ee5709fd2a2bda88fa4d9198e4f163ee067cbd1faca12d17f906c5a2e0 *mips-linux.elf/upx-3.95
cb7d16ae50a2eb464c1f864f1b9052cc66f52545b82d636e48b2105e797e31f7 *mipsel-linux.elf/upx-3.91 4424522044277c9ecfd3869c3746d4ac760b272a58157a8a7b49c1bc8bed6bbd *mipsel-linux.elf/upx-3.91
a1052f7425c434ce0f92dbb292d6511c8af1698a2e88352f7a463711ef8115c6 *mipsel-linux.elf/upx-3.95 673f459fd6024a433d6a86245b569557d523f4f33a2bd1a31ff5ca590a19c663 *mipsel-linux.elf/upx-3.95
5fcc6323a8cd37d83e9a9136d7d2511a3e5c59216ceab50d4f386a2ae1a6c842 *powerpc-linux.elf/upx-3.91 1e6d47f288f6e9ccdfee98bd3700771dd9cad47115909ec9192f10d7a87440a9 *powerpc-linux.elf/upx-3.91
a905cb39a96982ab08e2663be690cd400bd54646b50ee50790de51b322d09830 *powerpc-linux.elf/upx-3.95 203a33bb365a745a317a9292562cd80e0f82c7dbafb810fddb8a752d06159dcb *powerpc-linux.elf/upx-3.95
071b42a5ae7bf3d25f01e436473433470b97311ac2aff834884a0d3d240d0291 *powerpc64le-linux.elf/upx-3.95 6bea6492b66df759ed13748b53b3d5058a1d3b9debf0b209c8b450e76e5fd29e *powerpc64le-linux.elf/upx-3.95
" "
expected_sha256sums__t170_compress_all_methods_no_lzma_5_no_filter="\ expected_sha256sums__t170_compress_all_methods_no_lzma_5_no_filter="\
c5ed17847125467790aa635c926075768925ab88c3a6baa57b3bf2877c6b9001 *amd64-linux.elf/upx-3.91 257a9f44da07e6eb423e651a8323a2b79d38c5d599a4ec1de8f62a7c103eedf4 *amd64-linux.elf/upx-3.91
a17594fae504de512492ef822675cf6faac74e48c7803ac119626148ea9adb89 *amd64-linux.elf/upx-3.95 4adc3488e71c834f28a0d9955b3959d7db19ff375720c02c433aae63ec847b67 *amd64-linux.elf/upx-3.95
1ea4c9aedd3591f62cd6902986c1df39d3ef7fc624abc78bde61300e87627d20 *amd64-win64.pe/upx-3.95.exe 47165d0a33de56cdcf5788773f3630b698bbdc68b8f2a383b348d4264406536b *amd64-win64.pe/upx-3.95.exe
319e96fc0a6dbaa3aa7214100176957d4d0e84b7d0ee849a1f60c34ba5a22947 *arm-linux.elf/upx-3.95 4038aad4341b884dbe34aac6055391a78af540f368370b5b61bb45c40905160a *arm-linux.elf/upx-3.95
a3f2144754b44700b4aacb39ab5f5b818fda7caa0a934090eeacee7dafb6ba7b *arm-wince.pe/upx-3.91.exe 4f3f1dbdd225a72d37555d5f60a2eb8308b87ad1e641285f3f693e91cb430985 *arm-wince.pe/upx-3.91.exe
5cb0a03d3305ddd5bc77990538b49ce3f14dcd03ad76d272d45005aa86dd5f7d *arm64-linux.elf/upx-3.95 3c7b8a6813a446b05d6ea1d5b81155ac216fd847a3b456d01a5cdbe30a6b686d *arm64-linux.elf/upx-3.95
f5061f76060445a72edb898e9919400e81423bde6dad566a5bb5bdf1407ef6dc *armeb-linux.elf/upx-3.91 13c966e3377bac700e3e84d725dd8ff9ca949fb74d1ca7774a00af71112dfb7d *armeb-linux.elf/upx-3.91
337e4776b2f1afec7eb6d54c34d68f166af63ce5b4e2fb7ac48eeb5b83582c28 *armeb-linux.elf/upx-3.95 2d542d14c90a530cf812c713740a0f1b2d73a81b91ef7efbc037c8d3507a714c *armeb-linux.elf/upx-3.95
46223cc5aea67b275cc5621eec79f97d4f543edecfdac37a0f2407583f881fc9 *i386-dos32.djgpp2.coff/upx-3.91.exe 9ea810301eda67e45eee400500d1c88969cd63bda1224446c86eef8a75657748 *i386-dos32.djgpp2.coff/upx-3.91.exe
228c9007c5395fc9eef93a23d781e7daab01efa1ee86a4d4f6a46b9b7f7aeb8b *i386-dos32.djgpp2.coff/upx-3.95.exe 688efbc1826e6bd0ccceb0462325d5e384f38b7d05dfa3b7901fa18536b6ea68 *i386-dos32.djgpp2.coff/upx-3.95.exe
089693d8059d8580ea3bf326d038ffb51f258721833ad96c05f20c321ab8df13 *i386-linux.elf/upx-3.91 294d5099c4794a2de49d264c0bd4bdf80c866041b7caac7f8420ed003ee18180 *i386-linux.elf/upx-3.91
d4995b5b5c46eef7f8f1673c629f427d19b5dbda495c2b3f157acf4046b72123 *i386-linux.elf/upx-3.95 8c40b35f36c8850aa481de5ab13a5cb0fbc8fc9593977dd438c08d55dadfa9fc *i386-linux.elf/upx-3.95
dd70e8fde421a35692f26147c3eba392f57adb332d0e5025fa0039a2673c10cb *i386-win32.pe/upx-3.91.exe b5d3bbd9c5f3d376be43c75a32374b022adfb6566feeef14d30420c819566082 *i386-win32.pe/upx-3.91.exe
3fa365f39199afc7a259ba8ad8ae50cd026ef3f0a37d3fd570d42cba8bc5e0e7 *i386-win32.pe/upx-3.95.exe aa9d18c47e60a814d383a6778cf26654a2bea6a097520e7177d3c546a1421159 *i386-win32.pe/upx-3.95.exe
1b2f9a97731805dafef6961656bd29d7e983320a5626fe88ba987bf267bef32a *m68k-atari.tos/upx-3.91.ttp 4ea046a2c8be33ed14531e30ccbd3440b9569e68abd76932a8837abf4abba553 *m68k-atari.tos/upx-3.91.ttp
21febba6606d89c4a0f72a7f07f55d90268da48b97c65d23647c021c2e26b7c4 *mips-linux.elf/upx-3.95 eeb7ae0de5b423611989f948585a4fdb18926161927c8f99e137cb4ad5f464b0 *mips-linux.elf/upx-3.95
7a0892428e07493578d59f16adc0e6f5959f3d5a437e818375ff9fbf8ba42d2f *mipsel-linux.elf/upx-3.91 5f4433586e45651bacd01bca156090f06fa48e95a78077cc93d1b6bc9965e8d5 *mipsel-linux.elf/upx-3.91
ecf7d97388e48f2ad27a06ab8f4027e165e5a34f577f7b4fec3928a946557d60 *mipsel-linux.elf/upx-3.95 d17b7488d441269f0427cf567fc6f5c43fbe32398860f0099d361b9d4672a2dc *mipsel-linux.elf/upx-3.95
171393e34d004f04040067080b4b48d08030708bd30bcea593f554ed13b4ddb8 *powerpc-linux.elf/upx-3.91 eca17f5f26c878c3f5ffee569ce5eb3af19127685ceb0bf7a419d13537e774a2 *powerpc-linux.elf/upx-3.91
0b97ff1ed48d19e64120cd4fac5f4e76da6ea6f3ec1fda5cada11aa2142d045a *powerpc-linux.elf/upx-3.95 2ea98117f051c4f05292e2c5b71e9a1252ab32fe2dbb03e4f1106c765913cc4f *powerpc-linux.elf/upx-3.95
0c825675a076c7b9f73ae0292527e3d569b5c0b33298b9f48b7bdd3084115c69 *powerpc64le-linux.elf/upx-3.95 fecfda8d1c58bfe2fe7a0d9d3806258129e449b25e5bf65418c364758c693e94 *powerpc64le-linux.elf/upx-3.95
" "
########## end .sha256sums.recreate ########## end .sha256sums.recreate
+21 -1
View File
@@ -42,7 +42,8 @@ cd / && cd "$upx_testsuite_BUILDDIR" || exit 1
# ************************************************************************/ # ************************************************************************/
testsuite_header() { testsuite_header() {
print_header "$1" local x='==========='; x="$x$x$x$x$x$x$x"
echo -e "\n${x}\n${1}\n${x}\n"
} }
testsuite_split_f() { testsuite_split_f() {
@@ -223,33 +224,52 @@ testsuite_check_sha $testdir
# // test UPX and not the compression libraries # // test UPX and not the compression libraries
# ************************************************************************/ # ************************************************************************/
case $UPX_TESTSUITE_FAST in
[0-7]) ;;
*) UPX_TESTSUITE_FAST=999 ;;
esac
if [[ $UPX_TESTSUITE_FAST -ge 1 ]]; then
testdir=t110_compress_ucl_nrv2b_3_no_filter testdir=t110_compress_ucl_nrv2b_3_no_filter
mkdir $testdir; v=expected_sha256sums__$testdir; echo -n "${!v}" >$testdir/.sha256sums.expected mkdir $testdir; v=expected_sha256sums__$testdir; echo -n "${!v}" >$testdir/.sha256sums.expected
time testsuite_run_compress --nrv2b -3 --no-filter time testsuite_run_compress --nrv2b -3 --no-filter
fi
if [[ $UPX_TESTSUITE_FAST -ge 2 ]]; then
testdir=t120_compress_ucl_nrv2d_3_no_filter testdir=t120_compress_ucl_nrv2d_3_no_filter
mkdir $testdir; v=expected_sha256sums__$testdir; echo -n "${!v}" >$testdir/.sha256sums.expected mkdir $testdir; v=expected_sha256sums__$testdir; echo -n "${!v}" >$testdir/.sha256sums.expected
time testsuite_run_compress --nrv2d -3 --no-filter time testsuite_run_compress --nrv2d -3 --no-filter
fi
if [[ $UPX_TESTSUITE_FAST -ge 3 ]]; then
testdir=t130_compress_ucl_nrv2e_3_no_filter testdir=t130_compress_ucl_nrv2e_3_no_filter
mkdir $testdir; v=expected_sha256sums__$testdir; echo -n "${!v}" >$testdir/.sha256sums.expected mkdir $testdir; v=expected_sha256sums__$testdir; echo -n "${!v}" >$testdir/.sha256sums.expected
time testsuite_run_compress --nrv2e -3 --no-filter time testsuite_run_compress --nrv2e -3 --no-filter
fi
if [[ $UPX_TESTSUITE_FAST -ge 4 ]]; then
testdir=t140_compress_lzma_2_no_filter testdir=t140_compress_lzma_2_no_filter
mkdir $testdir; v=expected_sha256sums__$testdir; echo -n "${!v}" >$testdir/.sha256sums.expected mkdir $testdir; v=expected_sha256sums__$testdir; echo -n "${!v}" >$testdir/.sha256sums.expected
time testsuite_run_compress --lzma -2 --no-filter time testsuite_run_compress --lzma -2 --no-filter
fi
if [[ $UPX_TESTSUITE_FAST -ge 5 ]]; then
testdir=t150_compress_ucl_2_all_filters testdir=t150_compress_ucl_2_all_filters
mkdir $testdir; v=expected_sha256sums__$testdir; echo -n "${!v}" >$testdir/.sha256sums.expected mkdir $testdir; v=expected_sha256sums__$testdir; echo -n "${!v}" >$testdir/.sha256sums.expected
time testsuite_run_compress -2 --all-filters time testsuite_run_compress -2 --all-filters
fi
if [[ $UPX_TESTSUITE_FAST -ge 6 ]]; then
testdir=t160_compress_all_methods_1_no_filter testdir=t160_compress_all_methods_1_no_filter
mkdir $testdir; v=expected_sha256sums__$testdir; echo -n "${!v}" >$testdir/.sha256sums.expected mkdir $testdir; v=expected_sha256sums__$testdir; echo -n "${!v}" >$testdir/.sha256sums.expected
time testsuite_run_compress --all-methods -1 --no-filter time testsuite_run_compress --all-methods -1 --no-filter
fi
if [[ $UPX_TESTSUITE_FAST -ge 7 ]]; then
testdir=t170_compress_all_methods_no_lzma_5_no_filter testdir=t170_compress_all_methods_no_lzma_5_no_filter
mkdir $testdir; v=expected_sha256sums__$testdir; echo -n "${!v}" >$testdir/.sha256sums.expected mkdir $testdir; v=expected_sha256sums__$testdir; echo -n "${!v}" >$testdir/.sha256sums.expected
time testsuite_run_compress --all-methods --no-lzma -5 --no-filter time testsuite_run_compress --all-methods --no-lzma -5 --no-filter
fi
# /*********************************************************************** # /***********************************************************************
# // summary # // summary
+7 -5
View File
@@ -2,15 +2,15 @@
User visible changes for UPX User visible changes for UPX
================================================================== ==================================================================
Changes in 3.99 (27 Oct 2022): Changes in 4.0.0 (28 Oct 2022):
* NOTE: this is a pre-release with known regressions for some ELF formats; * Switch to semantic versioning
please help testing and reporting bugs, and see our GitHub Actions CI
page for up-to-date pre-built binaries ("Artifacts")
https://github.com/upx/upx/actions/workflows/ci.yml
* SECURITY NOTES: emphasize the security context in the docs * SECURITY NOTES: emphasize the security context in the docs
* Support easy building from source code with CMake * Support easy building from source code with CMake
* Support easy rebuilding the stubs from source with Podman/Docker
* Add integrated doctest C++ testing framework
* Add support for EFI files (PE x86; Kornel Pal) * Add support for EFI files (PE x86; Kornel Pal)
* bug fixes - see https://github.com/upx/upx/milestone/6 * bug fixes - see https://github.com/upx/upx/milestone/6
* bug fixes - see https://github.com/upx/upx/milestone/7
Changes in 3.96 (23 Jan 2020): Changes in 3.96 (23 Jan 2020):
* bug fixes - see https://github.com/upx/upx/milestone/5 * bug fixes - see https://github.com/upx/upx/milestone/5
@@ -364,6 +364,8 @@ Changes in 0.99 (25 Feb 2000)
* dos/com and dos/sys: fixed a bad decompressor problem * dos/com and dos/sys: fixed a bad decompressor problem
* linux/386: the counter for the progress indicator was off by one * linux/386: the counter for the progress indicator was off by one
==================================================================
Changes in 0.94 (06 Dec 1999) Changes in 0.94 (06 Dec 1999)
* win32/pe: the stub now calls ExitProcess in case of import errors * win32/pe: the stub now calls ExitProcess in case of import errors
* under DOS and Windows, the environment variable UPX now accepts * under DOS and Windows, the environment variable UPX now accepts
+9 -11
View File
@@ -68,9 +68,11 @@ NEWS and BUGS also contain various tidbits of information.
THE FUTURE THE FUTURE
========== ==========
- Stay up-to-date with ongoing OS and executable format changes. - Stay up-to-date with ongoing OS and executable format changes
- RISC-V 64 for Linux. - RISC-V 64 for Linux
- ARM64 for Windows (help wanted)
- We will *NOT* add any sort of protection and/or encryption. - We will *NOT* add any sort of protection and/or encryption.
This only gives people a false feeling of security because This only gives people a false feeling of security because
@@ -87,20 +89,16 @@ Copyright (C) 1996-2022 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2022 Laszlo Molnar Copyright (C) 1996-2022 Laszlo Molnar
Copyright (C) 2000-2022 John F. Reiser Copyright (C) 2000-2022 John F. Reiser
This program may be used freely, and you are welcome to UPX is distributed with full source code under the terms of the
redistribute it under certain conditions. GNU General Public License v2+; either under the pure GPLv2+ (see
the file COPYING), or (at your option) under the GPLv+2 with special
exceptions and restrictions granting the free usage for all binaries
including commercial programs (see the file LICENSE).
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
UPX is distributed with full source code under the terms of the
GNU General Public License v2+;
either under the pure GPLv2+ (see the file COPYING),
or (at your option) under the GPLv+2 with special exceptions and
restrictions granting the free usage for commercial
programs (see the file LICENSE).
You should have received a copy of the UPX License Agreements along You should have received a copy of the UPX License Agreements along
with this program; see the files COPYING and LICENSE. If not, with this program; see the files COPYING and LICENSE. If not,
visit the UPX home page. visit the UPX home page.
+1 -3
View File
@@ -793,12 +793,10 @@ Jens Medoch &lt;jssg@users.sourceforge.net&gt;</code></pre>
<p>Copyright (C) 2002-2022 Jens Medoch</p> <p>Copyright (C) 2002-2022 Jens Medoch</p>
<p>This program may be used freely, and you are welcome to redistribute it under certain conditions.</p> <p><b>UPX</b> is distributed with full source code under the terms of the GNU General Public License v2+; either under the pure GPLv2+ (see the file COPYING), or (at your option) under the GPLv+2 with special exceptions and restrictions granting the free usage for all binaries including commercial programs (see the file LICENSE).</p>
<p>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.</p> <p>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.</p>
<p><b>UPX</b> is distributed with full source code under the terms of the GNU General Public License v2+; either under the pure GPLv2+ (see the file COPYING), or (at your option) under the GPLv+2 with special exceptions and restrictions granting the free usage for commercial programs (see the file LICENSE).</p>
<p>You should have received a copy of the UPX License Agreements along with this program; see the files COPYING and LICENSE. If not, visit the UPX home page.</p> <p>You should have received a copy of the UPX License Agreements along with this program; see the files COPYING and LICENSE. If not, visit the UPX home page.</p>
+5 -8
View File
@@ -826,19 +826,16 @@ COPYRIGHT
Copyright (C) 2002-2022 Jens Medoch Copyright (C) 2002-2022 Jens Medoch
This program may be used freely, and you are welcome to redistribute it UPX is distributed with full source code under the terms of the GNU
under certain conditions. General Public License v2+; either under the pure GPLv2+ (see the file
COPYING), or (at your option) under the GPLv+2 with special exceptions
and restrictions granting the free usage for all binaries including
commercial programs (see the file LICENSE).
This program is distributed in the hope that it will be useful, but This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
UPX is distributed with full source code under the terms of the GNU
General Public License v2+; either under the pure GPLv2+ (see the file
COPYING), or (at your option) under the GPLv+2 with special exceptions
and restrictions granting the free usage for commercial programs (see
the file LICENSE).
You should have received a copy of the UPX License Agreements along with You should have received a copy of the UPX License Agreements along with
this program; see the files COPYING and LICENSE. If not, visit the UPX this program; see the files COPYING and LICENSE. If not, visit the UPX
home page. home page.
+6 -10
View File
@@ -133,7 +133,7 @@
.\" ======================================================================== .\" ========================================================================
.\" .\"
.IX Title "UPX 1" .IX Title "UPX 1"
.TH UPX 1 "2022-10-27" "upx 3.99" " " .TH UPX 1 "2022-10-28" "upx 4.0.0" " "
.\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents. .\" way too many mistakes in technical documents.
.if n .ad l .if n .ad l
@@ -1027,20 +1027,16 @@ Copyright (C) 2000\-2022 John F. Reiser
.PP .PP
Copyright (C) 2002\-2022 Jens Medoch Copyright (C) 2002\-2022 Jens Medoch
.PP .PP
This program may be used freely, and you are welcome to \&\fB\s-1UPX\s0\fR is distributed with full source code under the terms of the
redistribute it under certain conditions. \&\s-1GNU\s0 General Public License v2+; either under the pure GPLv2+ (see
the file \s-1COPYING\s0), or (at your option) under the GPLv+2 with special
exceptions and restrictions granting the free usage for all binaries
including commercial programs (see the file \s-1LICENSE\s0).
.PP .PP
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of
\&\s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE.\s0 \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE.\s0
.PP .PP
\&\fB\s-1UPX\s0\fR is distributed with full source code under the terms of the
\&\s-1GNU\s0 General Public License v2+;
either under the pure GPLv2+ (see the file \s-1COPYING\s0),
or (at your option) under the GPLv+2 with special exceptions and
restrictions granting the free usage for commercial
programs (see the file \s-1LICENSE\s0).
.PP
You should have received a copy of the \s-1UPX\s0 License Agreements along You should have received a copy of the \s-1UPX\s0 License Agreements along
with this program; see the files \s-1COPYING\s0 and \s-1LICENSE.\s0 If not, with this program; see the files \s-1COPYING\s0 and \s-1LICENSE.\s0 If not,
visit the \s-1UPX\s0 home page. visit the \s-1UPX\s0 home page.
+5 -9
View File
@@ -940,20 +940,16 @@ Copyright (C) 2000-2022 John F. Reiser
Copyright (C) 2002-2022 Jens Medoch Copyright (C) 2002-2022 Jens Medoch
This program may be used freely, and you are welcome to B<UPX> is distributed with full source code under the terms of the
redistribute it under certain conditions. GNU General Public License v2+; either under the pure GPLv2+ (see
the file COPYING), or (at your option) under the GPLv+2 with special
exceptions and restrictions granting the free usage for all binaries
including commercial programs (see the file LICENSE).
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
B<UPX> is distributed with full source code under the terms of the
GNU General Public License v2+;
either under the pure GPLv2+ (see the file COPYING),
or (at your option) under the GPLv+2 with special exceptions and
restrictions granting the free usage for commercial
programs (see the file LICENSE).
You should have received a copy of the UPX License Agreements along You should have received a copy of the UPX License Agreements along
with this program; see the files COPYING and LICENSE. If not, with this program; see the files COPYING and LICENSE. If not,
visit the UPX home page. visit the UPX home page.
+5 -1
View File
@@ -305,7 +305,7 @@ static bool check_ucl(const int method, const unsigned expected_c_len) {
u_buf.alloc(u_len); u_buf.alloc(u_len);
memset(u_buf, 0, u_len); memset(u_buf, 0, u_len);
c_buf.allocForCompression(u_len, c_extra); c_buf.allocForCompression(u_len, c_extra);
d_buf.allocForUncompression(u_len); d_buf.allocForDecompression(u_len);
c_len = c_buf.getSize() - c_extra; c_len = c_buf.getSize() - c_extra;
r = upx_ucl_compress(u_buf, u_len, c_buf + c_extra, &c_len, nullptr, method, level, NULL_cconf, &cresult); r = upx_ucl_compress(u_buf, u_len, c_buf + c_extra, &c_len, nullptr, method, level, NULL_cconf, &cresult);
@@ -316,6 +316,10 @@ static bool check_ucl(const int method, const unsigned expected_c_len) {
if (r != 0 || d_len != u_len) return false; if (r != 0 || d_len != u_len) return false;
if (memcmp(u_buf, d_buf, u_len) != 0) return false; if (memcmp(u_buf, d_buf, u_len) != 0) return false;
d_len = u_len - 1;
r = upx_ucl_decompress(c_buf + c_extra, c_len, d_buf, &d_len, method, nullptr);
if (r == 0) return false;
// TODO: rewrite Packer::findOverlapOverhead() so that we can test it here // TODO: rewrite Packer::findOverlapOverhead() so that we can test it here
//unsigned x_len = d_len; //unsigned x_len = d_len;
//r = upx_ucl_test_overlap(c_buf, u_buf, c_extra, c_len, &x_len, method, nullptr); //r = upx_ucl_test_overlap(c_buf, u_buf, c_extra, c_len, &x_len, method, nullptr);
+5 -1
View File
@@ -262,7 +262,7 @@ static bool check_zlib(const int method, const int level, const unsigned expecte
u_buf.alloc(u_len); u_buf.alloc(u_len);
memset(u_buf, 0, u_len); memset(u_buf, 0, u_len);
c_buf.allocForCompression(u_len, c_extra); c_buf.allocForCompression(u_len, c_extra);
d_buf.allocForUncompression(u_len); d_buf.allocForDecompression(u_len);
c_len = c_buf.getSize() - c_extra; c_len = c_buf.getSize() - c_extra;
r = upx_zlib_compress(u_buf, u_len, c_buf + c_extra, &c_len, nullptr, method, level, NULL_cconf, &cresult); r = upx_zlib_compress(u_buf, u_len, c_buf + c_extra, &c_len, nullptr, method, level, NULL_cconf, &cresult);
@@ -273,6 +273,10 @@ static bool check_zlib(const int method, const int level, const unsigned expecte
if (r != 0 || d_len != u_len) return false; if (r != 0 || d_len != u_len) return false;
if (memcmp(u_buf, d_buf, u_len) != 0) return false; if (memcmp(u_buf, d_buf, u_len) != 0) return false;
d_len = u_len - 1;
r = upx_zlib_decompress(c_buf + c_extra, c_len, d_buf, &d_len, method, nullptr);
if (r == 0) return false;
// TODO: rewrite Packer::findOverlapOverhead() so that we can test it here // TODO: rewrite Packer::findOverlapOverhead() so that we can test it here
//unsigned x_len = d_len; //unsigned x_len = d_len;
//r = upx_zlib_test_overlap(c_buf, u_buf, c_extra, c_len, &x_len, method, nullptr); //r = upx_zlib_test_overlap(c_buf, u_buf, c_extra, c_len, &x_len, method, nullptr);
+1 -1
View File
@@ -236,7 +236,7 @@ int PackCom::canUnpack()
void PackCom::unpack(OutputFile *fo) void PackCom::unpack(OutputFile *fo)
{ {
ibuf.alloc(file_size); ibuf.alloc(file_size);
obuf.allocForUncompression(ph.u_len); obuf.allocForDecompression(ph.u_len);
// read whole file // read whole file
fi->seek(0,SEEK_SET); fi->seek(0,SEEK_SET);
+1 -1
View File
@@ -416,7 +416,7 @@ void PackDjgpp2::unpack(OutputFile *fo)
handleStub(fo); handleStub(fo);
ibuf.alloc(ph.c_len); ibuf.alloc(ph.c_len);
obuf.allocForUncompression(ph.u_len); obuf.allocForDecompression(ph.u_len);
fi->seek(coff_offset + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET); fi->seek(coff_offset + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
fi->readx(ibuf, ph.c_len); fi->readx(ibuf, ph.c_len);
+1 -1
View File
@@ -689,7 +689,7 @@ int PackExe::canUnpack()
void PackExe::unpack(OutputFile *fo) void PackExe::unpack(OutputFile *fo)
{ {
ibuf.alloc(file_size); ibuf.alloc(file_size);
obuf.allocForUncompression(ph.u_len); obuf.allocForDecompression(ph.u_len);
// read the file // read the file
fi->seek(ih.headsize16*16,SEEK_SET); fi->seek(ih.headsize16*16,SEEK_SET);
+2 -2
View File
@@ -189,7 +189,7 @@ bool PackPs1::getBkupHeader(unsigned char *p, unsigned char *dst)
if (src && (src->id == '1' && src->len < SZ_IH_BKUP) && dst) if (src && (src->id == '1' && src->len < SZ_IH_BKUP) && dst)
{ {
unsigned char *unc_bh = New(unsigned char, MemBuffer::getSizeForUncompression(SZ_IH_BKUP)); unsigned char *unc_bh = New(unsigned char, MemBuffer::getSizeForDecompression(SZ_IH_BKUP));
unsigned sz_bh = SZ_IH_BKUP; unsigned sz_bh = SZ_IH_BKUP;
int r = upx_decompress((const unsigned char *)&src->ih_bkup, src->len, int r = upx_decompress((const unsigned char *)&src->ih_bkup, src->len,
@@ -716,7 +716,7 @@ void PackPs1::unpack(OutputFile *fo)
const unsigned pad = oh.tx_len - ph.u_len; const unsigned pad = oh.tx_len - ph.u_len;
ibuf.alloc(fdata_size > PS_HDR_SIZE ? fdata_size : PS_HDR_SIZE); ibuf.alloc(fdata_size > PS_HDR_SIZE ? fdata_size : PS_HDR_SIZE);
obuf.allocForUncompression(ph.u_len, pad); obuf.allocForDecompression(ph.u_len, pad);
fi->seek(PS_HDR_SIZE, SEEK_SET); fi->seek(PS_HDR_SIZE, SEEK_SET);
fi->readx(ibuf, fdata_size); fi->readx(ibuf, fdata_size);
+1 -1
View File
@@ -320,7 +320,7 @@ void PackTmt::unpack(OutputFile *fo)
Packer::handleStub(fi,fo,adam_offset); Packer::handleStub(fi,fo,adam_offset);
ibuf.alloc(ph.c_len); ibuf.alloc(ph.c_len);
obuf.allocForUncompression(ph.u_len); obuf.allocForDecompression(ph.u_len);
fi->seek(adam_offset + ph.buf_offset + ph.getPackHeaderSize(),SEEK_SET); fi->seek(adam_offset + ph.buf_offset + ph.getPackHeaderSize(),SEEK_SET);
fi->readx(ibuf,ph.c_len); fi->readx(ibuf,ph.c_len);
+1 -1
View File
@@ -694,7 +694,7 @@ int PackTos::canUnpack() {
void PackTos::unpack(OutputFile *fo) { void PackTos::unpack(OutputFile *fo) {
ibuf.alloc(ph.c_len); ibuf.alloc(ph.c_len);
obuf.allocForUncompression(ph.u_len); obuf.allocForDecompression(ph.u_len);
fi->seek(FH_SIZE + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET); fi->seek(FH_SIZE + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
fi->readx(ibuf, ph.c_len); fi->readx(ibuf, ph.c_len);
+3 -3
View File
@@ -632,7 +632,7 @@ void PackVmlinuxBase<T>::unpack(OutputFile *fo)
ph.c_len = p_note0->sh_size - sizeof(word); ph.c_len = p_note0->sh_size - sizeof(word);
ibuf.alloc(ph.c_len); ibuf.alloc(ph.c_len);
fi->readx(ibuf, ph.c_len); fi->readx(ibuf, ph.c_len);
obuf.allocForUncompression(ph.u_len); obuf.allocForDecompression(ph.u_len);
decompress(ibuf, obuf, false); decompress(ibuf, obuf, false);
fo->write(obuf, ph.u_len); fo->write(obuf, ph.u_len);
obuf.dealloc(); obuf.dealloc();
@@ -644,7 +644,7 @@ void PackVmlinuxBase<T>::unpack(OutputFile *fo)
} }
ibuf.alloc(ph.c_len); ibuf.alloc(ph.c_len);
fi->readx(ibuf, ph.c_len); fi->readx(ibuf, ph.c_len);
obuf.allocForUncompression(ph.u_len); obuf.allocForDecompression(ph.u_len);
decompress(ibuf, obuf); decompress(ibuf, obuf);
Filter ft(ph.level); Filter ft(ph.level);
@@ -661,7 +661,7 @@ void PackVmlinuxBase<T>::unpack(OutputFile *fo)
ph.c_len = p_note1->sh_size - sizeof(word); ph.c_len = p_note1->sh_size - sizeof(word);
ibuf.alloc(ph.c_len); ibuf.alloc(ph.c_len);
fi->readx(ibuf, p_note1->sh_size - sizeof(ph.u_len)); fi->readx(ibuf, p_note1->sh_size - sizeof(ph.u_len));
obuf.allocForUncompression(ph.u_len); obuf.allocForDecompression(ph.u_len);
decompress(ibuf, obuf, false); decompress(ibuf, obuf, false);
fo->write(obuf, ph.u_len); fo->write(obuf, ph.u_len);
obuf.dealloc(); obuf.dealloc();
+2 -2
View File
@@ -687,7 +687,7 @@ void PackVmlinuzI386::unpack(OutputFile *fo)
// FIXME: but we could write the uncompressed "vmlinux" image // FIXME: but we could write the uncompressed "vmlinux" image
ibuf.alloc(ph.c_len); ibuf.alloc(ph.c_len);
obuf.allocForUncompression(ph.u_len); obuf.allocForDecompression(ph.u_len);
fi->seek(setup_size + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET); fi->seek(setup_size + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
fi->readx(ibuf, ph.c_len); fi->readx(ibuf, ph.c_len);
@@ -1044,7 +1044,7 @@ void PackVmlinuzARMEL::unpack(OutputFile *fo)
// FIXME: but we could write the uncompressed "vmlinux" image // FIXME: but we could write the uncompressed "vmlinux" image
ibuf.alloc(ph.c_len); ibuf.alloc(ph.c_len);
obuf.allocForUncompression(ph.u_len); obuf.allocForDecompression(ph.u_len);
fi->seek(setup_size + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET); fi->seek(setup_size + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
fi->readx(ibuf, ph.c_len); fi->readx(ibuf, ph.c_len);
+1 -1
View File
@@ -756,7 +756,7 @@ void PackWcle::decodeObjectTable()
void PackWcle::decodeImage() void PackWcle::decodeImage()
{ {
mb_oimage.allocForUncompression(ph.u_len); mb_oimage.allocForDecompression(ph.u_len);
oimage = mb_oimage; oimage = mb_oimage;
decompress(iimage + ph.buf_offset + ph.getPackHeaderSize(),oimage); decompress(iimage + ph.buf_offset + ph.getPackHeaderSize(),oimage);
+2 -2
View File
@@ -39,7 +39,6 @@
// //
**************************************************************************/ **************************************************************************/
#include "util/bptr.h"
#if (WITH_SPAN >= 2) && 1 #if (WITH_SPAN >= 2) && 1
//#define IPTR(type, var) Span<type> var(ibuf, ibuf.getSize(), ibuf) //#define IPTR(type, var) Span<type> var(ibuf, ibuf.getSize(), ibuf)
//#define OPTR(type, var) Span<type> var(obuf, obuf.getSize(), obuf) //#define OPTR(type, var) Span<type> var(obuf, obuf.getSize(), obuf)
@@ -49,6 +48,7 @@
#define IPTR_C(type, var, first) const Span<type> var(first, ibuf) #define IPTR_C(type, var, first) const Span<type> var(first, ibuf)
#define OPTR_C(type, var, first) const Span<type> var(first, obuf) #define OPTR_C(type, var, first) const Span<type> var(first, obuf)
#else #else
#include "util/bptr.h"
//#define IPTR(type, var) BoundedPtr<type> var(ibuf, ibuf.getSize()) //#define IPTR(type, var) BoundedPtr<type> var(ibuf, ibuf.getSize())
//#define OPTR(type, var) BoundedPtr<type> var(obuf, obuf.getSize()) //#define OPTR(type, var) BoundedPtr<type> var(obuf, obuf.getSize())
#define IPTR_I_D(type, var, disp) BoundedPtr<type> var(ibuf + (disp), ibuf.getSize() - (disp), ibuf + (disp)) #define IPTR_I_D(type, var, disp) BoundedPtr<type> var(ibuf + (disp), ibuf.getSize() - (disp), ibuf + (disp))
@@ -3024,7 +3024,7 @@ void PeFile::unpack0(OutputFile *fo, const ht &ih, ht &oh,
checkOverlay(overlay); checkOverlay(overlay);
ibuf.alloc(ph.c_len); ibuf.alloc(ph.c_len);
obuf.allocForUncompression(ph.u_len); obuf.allocForDecompression(ph.u_len);
fi->seek(isection[1].rawdataptr - 64 + ph.buf_offset + ph.getPackHeaderSize(),SEEK_SET); fi->seek(isection[1].rawdataptr - 64 + ph.buf_offset + ph.getPackHeaderSize(),SEEK_SET);
fi->readx(ibuf, ibufgood= ph.c_len); fi->readx(ibuf, ibufgood= ph.c_len);
+79 -81
View File
@@ -1,5 +1,5 @@
/* amd64-linux.elf-fold.h /* amd64-linux.elf-fold.h
created from amd64-linux.elf-fold.bin, 2374 (0x946) bytes created from amd64-linux.elf-fold.bin, 2351 (0x92f) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@@ -31,20 +31,20 @@
*/ */
#define STUB_AMD64_LINUX_ELF_FOLD_SIZE 2374 #define STUB_AMD64_LINUX_ELF_FOLD_SIZE 2351
#define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0xf07673f9 #define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0x9080724c
#define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0xc0f8639b #define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0xf093d1bc
unsigned char stub_amd64_linux_elf_fold[2374] = { unsigned char stub_amd64_linux_elf_fold[2351] = {
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 2, 0, 62, 0, 1, 0, 0, 0,188, 0, 16, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0, 62, 0, 1, 0, 0, 0,188, 0, 16, 0, 0, 0, 0, 0,
/* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0,
/* 0x0040 */ 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0040 */ 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, /* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
/* 0x0060 */ 70, 9, 0, 0, 0, 0, 0, 0, 72, 9, 0, 0, 0, 0, 0, 0, /* 0x0060 */ 47, 9, 0, 0, 0, 0, 0, 0, 48, 9, 0, 0, 0, 0, 0, 0,
/* 0x0070 */ 0, 0, 16, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 0, 16, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 70, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0080 */ 47, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0090 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0090 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, /* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
/* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 74, 0, 0, /* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 74, 0, 0,
@@ -65,7 +65,7 @@ unsigned char stub_amd64_linux_elf_fold[2374] = {
/* 0x01a0 */ 239, 8, 73,141,119,248, 72,193,233, 3,243, 72,165, 72,141,103, /* 0x01a0 */ 239, 8, 73,141,119,248, 72,193,233, 3,243, 72,165, 72,141,103,
/* 0x01b0 */ 8,252, 75,141, 12, 38,139, 67,252,131,224, 1, 72, 1,193, 65, /* 0x01b0 */ 8,252, 75,141, 12, 38,139, 67,252,131,224, 1, 72, 1,193, 65,
/* 0x01c0 */ 89, 94, 95, 88, 72,129,236, 0, 8, 0, 0, 72,137,226, 80, 73, /* 0x01c0 */ 89, 94, 95, 88, 72,129,236, 0, 8, 0, 0, 72,137,226, 80, 73,
/* 0x01d0 */ 137,197, 73,137,232,232, 36, 6, 0, 0, 72,129,196, 8, 8, 0, /* 0x01d0 */ 137,197, 73,137,232,232, 13, 6, 0, 0, 72,129,196, 8, 8, 0,
/* 0x01e0 */ 0, 72,137, 68, 36, 32, 91, 73,139,181,160, 0, 0, 0, 76,137, /* 0x01e0 */ 0, 72,137, 68, 36, 32, 91, 73,139,181,160, 0, 0, 0, 76,137,
/* 0x01f0 */ 239,232, 79, 0, 0, 0, 77, 41,201, 65,137,216,106, 2, 89,106, /* 0x01f0 */ 239,232, 79, 0, 0, 0, 77, 41,201, 65,137,216,106, 2, 89,106,
/* 0x0200 */ 1, 90,190, 0, 16, 0, 0, 41,255,232, 16, 0, 0, 0,137,223, /* 0x0200 */ 1, 90,190, 0, 16, 0, 0, 41,255,232, 16, 0, 0, 0,137,223,
@@ -98,16 +98,16 @@ unsigned char stub_amd64_linux_elf_fold[2374] = {
/* 0x03b0 */ 139, 15, 65,137,240, 76, 57,193,116, 18, 72,131,249, 1, 15,148, /* 0x03b0 */ 139, 15, 65,137,240, 76, 57,193,116, 18, 72,131,249, 1, 15,148,
/* 0x03c0 */ 194, 49,192,133,246, 15,149,192,133,194,116, 8, 76,137, 7, 76, /* 0x03c0 */ 194, 49,192,133,246, 15,149,192,133,194,116, 8, 76,137, 7, 76,
/* 0x03d0 */ 137, 79, 8,195, 72,133,201,116, 6, 72,131,199, 16,235,208,195, /* 0x03d0 */ 137, 79, 8,195, 72,133,201,116, 6, 72,131,199, 16,235,208,195,
/* 0x03e0 */ 65, 87, 65, 86, 73,137,254, 65, 85, 65, 84, 73,137,252, 85, 83, /* 0x03e0 */ 65, 87, 73,137,255, 65, 86, 65, 85, 65, 84, 73,137,252, 85, 83,
/* 0x03f0 */ 72,131,236,104, 76, 3,103, 32, 72,133,246, 72,139,132, 36,160, /* 0x03f0 */ 72,131,236,104, 76, 3,103, 32, 72,133,246, 72,139,132, 36,160,
/* 0x0400 */ 0, 0, 0,137, 84, 36, 60, 72,137,116, 36, 64, 72,137, 76, 36, /* 0x0400 */ 0, 0, 0,137, 84, 36, 60, 72,137,116, 36, 64, 72,137, 76, 36,
/* 0x0410 */ 48, 76,137, 68, 36, 40, 76,137, 76, 36, 32, 72,139, 56, 65, 15, /* 0x0410 */ 48, 76,137, 68, 36, 40, 76,137, 76, 36, 32, 72,139, 56, 65, 15,
/* 0x0420 */ 183, 86, 16,116, 76, 72,139, 71, 32, 72, 1,248, 72, 43,120, 72, /* 0x0420 */ 183, 87, 16,116, 76, 72,139, 71, 32, 72, 1,248, 72, 43,120, 72,
/* 0x0430 */ 102,131,250, 2,117, 4, 72,139,120, 16, 72,139,112, 40, 69, 49, /* 0x0430 */ 102,131,250, 2,117, 4, 72,139,120, 16, 72,139,112, 40, 69, 49,
/* 0x0440 */ 201, 65,131,200,255, 49,210,185, 50, 0, 0, 0, 72,141, 4, 62, /* 0x0440 */ 201, 65,131,200,255, 49,210,185, 50, 0, 0, 0, 72,141, 4, 62,
/* 0x0450 */ 72,137, 68, 36, 72,232,196,253,255,255,102, 65,131,126, 16, 2, /* 0x0450 */ 72,137, 68, 36, 72,232,196,253,255,255,102, 65,131,127, 16, 2,
/* 0x0460 */ 73,137,197, 15,133,172, 0, 0, 0, 69, 49,237,233,164, 0, 0, /* 0x0460 */ 73,137,198, 15,133,172, 0, 0, 0, 69, 49,246,233,164, 0, 0,
/* 0x0470 */ 0,102,131,250, 3, 65, 15,183, 86, 56,185, 16, 0, 0, 0,184, /* 0x0470 */ 0,102,131,250, 3, 65, 15,183, 87, 56,185, 16, 0, 0, 0,184,
/* 0x0480 */ 0, 0, 0, 0, 73,137,248, 76,137,230, 15, 68,200, 72,131,205, /* 0x0480 */ 0, 0, 0, 0, 73,137,248, 76,137,230, 15, 68,200, 72,131,205,
/* 0x0490 */ 255, 49,219, 49,255,131,193, 34,255,202,120, 33,131, 62, 1,117, /* 0x0490 */ 255, 49,219, 49,255,131,193, 34,255,202,120, 33,131, 62, 1,117,
/* 0x04a0 */ 22, 72,139, 70, 16, 72, 57,232, 72, 15, 66,232, 72, 3, 70, 40, /* 0x04a0 */ 22, 72,139, 70, 16, 72, 57,232, 72, 15, 66,232, 72, 3, 70, 40,
@@ -116,73 +116,71 @@ unsigned char stub_amd64_linux_elf_fold[2374] = {
/* 0x04d0 */ 227, 0,240,255,255,246,193, 16,116, 5, 72,137,239,235, 19, 72, /* 0x04d0 */ 227, 0,240,255,255,246,193, 16,116, 5, 72,137,239,235, 19, 72,
/* 0x04e0 */ 133,237,117, 14,137,200, 76,137,199,131,200, 16, 77,133,192, 15, /* 0x04e0 */ 133,237,117, 14,137,200, 76,137,199,131,200, 16, 77,133,192, 15,
/* 0x04f0 */ 69,200, 69, 49,201, 65,131,200,255, 49,210, 72,137,222,232, 27, /* 0x04f0 */ 69,200, 69, 49,201, 65,131,200,255, 49,210, 72,137,222,232, 27,
/* 0x0500 */ 253,255,255, 72,137,199, 72,141, 4, 3, 73,137,253, 72,137, 68, /* 0x0500 */ 253,255,255, 72,137,199, 72,141, 4, 3, 73,137,254, 72,137, 68,
/* 0x0510 */ 36, 72, 73, 41,237,102, 65,131,126, 56, 0,199, 68, 36, 28, 0, /* 0x0510 */ 36, 72, 73, 41,238,102, 65,131,127, 56, 0,199, 68, 36, 28, 0,
/* 0x0520 */ 0, 0, 0, 15,132,180, 2, 0, 0, 72,131,124, 36, 64, 0,116, /* 0x0520 */ 0, 0, 0, 15,132,157, 2, 0, 0, 72,131,124, 36, 64, 0,116,
/* 0x0530 */ 35, 65,131, 60, 36, 6,117, 28, 73,139, 84, 36, 16, 72,139,124, /* 0x0530 */ 35, 65,131, 60, 36, 6,117, 28, 73,139, 84, 36, 16, 72,139,124,
/* 0x0540 */ 36, 48,190, 3, 0, 0, 0, 76, 1,234,232, 82,254,255,255,233, /* 0x0540 */ 36, 48,190, 3, 0, 0, 0, 76, 1,242,232, 82,254,255,255,233,
/* 0x0550 */ 114, 2, 0, 0, 65,131, 60, 36, 1, 15,133,103, 2, 0, 0, 72, /* 0x0550 */ 91, 2, 0, 0, 65,131, 60, 36, 1, 15,133, 80, 2, 0, 0, 65,
/* 0x0560 */ 131,124, 36, 64, 0,116, 75, 73,131,124, 36, 8, 0,117, 67, 73, /* 0x0560 */ 139, 76, 36, 4,199, 68, 36, 24, 64, 98, 81,115,131,225, 7,193,
/* 0x0570 */ 139, 84, 36, 16, 72,139,124, 36, 48,190, 3, 0, 0, 0, 76, 1, /* 0x0570 */ 225, 2,211,108, 36, 24,131,100, 36, 24, 7, 72,131,124, 36, 64,
/* 0x0580 */ 234, 73, 3, 86, 32,232, 23,254,255,255, 73, 15,183, 86, 56, 72, /* 0x0580 */ 0,116, 75, 73,131,124, 36, 8, 0,117, 67, 73,139, 84, 36, 16,
/* 0x0590 */ 139,124, 36, 48,190, 5, 0, 0, 0,232, 3,254,255,255, 73, 15, /* 0x0590 */ 72,139,124, 36, 48,190, 3, 0, 0, 0, 76, 1,242, 73, 3, 87,
/* 0x05a0 */ 183, 86, 54, 72,139,124, 36, 48,190, 4, 0, 0, 0,232,239,253, /* 0x05a0 */ 32,232,251,253,255,255, 73, 15,183, 87, 56, 72,139,124, 36, 48,
/* 0x05b0 */ 255,255, 73,139, 68, 36, 32, 73,139, 84, 36, 40, 65,131,200,255, /* 0x05b0 */ 190, 5, 0, 0, 0,232,231,253,255,255, 73, 15,183, 87, 54, 72,
/* 0x05c0 */ 65,139, 76, 36, 4,199, 68, 36, 24, 64, 98, 81,115, 72,137, 68, /* 0x05c0 */ 139,124, 36, 48,190, 4, 0, 0, 0,232,211,253,255,255, 73,139,
/* 0x05d0 */ 36, 16, 72,137, 68, 36, 80, 73,139, 68, 36, 16,131,225, 7,193, /* 0x05d0 */ 124, 36, 16, 73,139, 68, 36, 40,185, 50, 0, 0, 0, 73,139,116,
/* 0x05e0 */ 225, 2,211,108, 36, 24,185, 50, 0, 0, 0,131,100, 36, 24, 7, /* 0x05e0 */ 36, 32, 77,139, 76, 36, 8, 76, 1,247, 72, 1,248, 72,137,253,
/* 0x05f0 */ 76, 1,232, 72, 1,194, 72,137,197, 72,137, 68, 36, 88, 37,255, /* 0x05f0 */ 72,137,116, 36, 16, 72,137, 68, 36, 8, 72,137,248, 72,137,116,
/* 0x0600 */ 15, 0, 0, 72,137, 84, 36, 8,137,195,139, 84, 36, 16, 72, 41, /* 0x0600 */ 36, 80, 37,255, 15, 0, 0, 72, 1, 68, 36, 16, 72,137,124, 36,
/* 0x0610 */ 221, 72, 1, 92, 36, 16, 68,141, 60, 16, 73,139, 68, 36, 8, 65, /* 0x0610 */ 88, 72, 41,197, 73, 41,193,131,200,255, 72,131,124, 36, 64, 0,
/* 0x0620 */ 247,223, 65,129,231,255, 15, 0, 0, 72, 41,216, 72,131,124, 36, /* 0x0620 */ 76,141, 44, 55,117, 6,139, 68, 36, 60,177, 18,139, 84, 36, 24,
/* 0x0630 */ 64, 0,117, 7, 68,139, 68, 36, 60,177, 18,139, 84, 36, 24, 72, /* 0x0630 */ 72,139,116, 36, 16, 65,137,192, 72,137,239,131,202, 2, 72,131,
/* 0x0640 */ 139,116, 36, 16, 73,137,193, 72,137,239,131,202, 2, 72,131,124, /* 0x0640 */ 124, 36, 64, 0, 15, 68, 84, 36, 24,232,208,251,255,255, 72, 57,
/* 0x0650 */ 36, 64, 0, 15, 68, 84, 36, 24,232,193,251,255,255, 72, 57,197, /* 0x0650 */ 197, 15,133, 32, 1, 0, 0, 72,131,124, 36, 64, 0,116, 25, 72,
/* 0x0660 */ 15,133, 29, 1, 0, 0, 72,131,124, 36, 64, 0,116, 25, 72,139, /* 0x0660 */ 139, 76, 36, 32, 72,139, 84, 36, 40, 72,141,116, 36, 80, 72,139,
/* 0x0670 */ 76, 36, 32, 72,139, 84, 36, 40, 72,141,116, 36, 80, 72,139,124, /* 0x0670 */ 124, 36, 64,232, 24,252,255,255,246, 68, 36, 24, 2,116, 22, 68,
/* 0x0680 */ 36, 64,232, 9,252,255,255,246, 68, 36, 24, 2,116, 19, 73,139, /* 0x0680 */ 137,233, 76,137,239, 49,192,247,217,252,129,225,255, 15, 0, 0,
/* 0x0690 */ 124, 36, 32, 68,137,249, 49,192,252, 72, 1,239, 72, 1,223,243, /* 0x0690 */ 243,170, 73,137,253, 72,131,124, 36, 64, 0, 15,132,224, 0, 0,
/* 0x06a0 */ 170, 72,131,124, 36, 64, 0, 15,132,224, 0, 0, 0,199, 68, 36, /* 0x06a0 */ 0,199, 68, 36, 4, 0, 0, 0, 0, 72,184,255,255,255,255, 1,
/* 0x06b0 */ 4, 0, 0, 0, 0, 72,184,255,255,255,255, 1, 0, 0, 0, 73, /* 0x06b0 */ 0, 0, 0, 73, 35, 4, 36, 72,186, 1, 0, 0, 0, 1, 0, 0,
/* 0x06c0 */ 35, 4, 36, 72,186, 1, 0, 0, 0, 1, 0, 0, 0, 72, 57,208, /* 0x06c0 */ 0, 72, 57,208, 15,133,152, 0, 0, 0, 73,139, 84, 36, 40, 73,
/* 0x06d0 */ 15,133,152, 0, 0, 0, 73,139, 84, 36, 40, 73,139, 76, 36, 16, /* 0x06d0 */ 139, 76, 36, 16, 73, 59, 84, 36, 32, 72,141, 4, 10, 74,141, 28,
/* 0x06e0 */ 73, 59, 84, 36, 32, 72,141, 4, 10, 74,141, 28, 40,117, 14,137, /* 0x06e0 */ 48,117, 14,137,216,247,216, 37,255, 15, 0, 0,131,248, 3,119,
/* 0x06f0 */ 216,247,216, 37,255, 15, 0, 0,131,248, 3,119, 58, 73,131,124, /* 0x06f0 */ 58, 73,131,124, 36, 8, 0, 74,141, 92, 49, 12,116, 45, 69, 49,
/* 0x0700 */ 36, 8, 0, 74,141, 92, 41, 12,116, 45, 69, 49,201, 65,131,200, /* 0x0700 */ 201, 65,131,200,255, 49,255,185, 34, 0, 0, 0,186, 3, 0, 0,
/* 0x0710 */ 255, 49,255,185, 34, 0, 0, 0,186, 3, 0, 0, 0,190, 0, 16, /* 0x0710 */ 0,190, 0, 16, 0, 0,199, 68, 36, 4, 1, 0, 0, 0,232,251,
/* 0x0720 */ 0, 0,199, 68, 36, 4, 1, 0, 0, 0,232,239,250,255,255, 72, /* 0x0720 */ 250,255,255, 72,133,192, 72,137,195,116, 55,131,124, 36, 4, 0,
/* 0x0730 */ 133,192, 72,137,195,116, 55,131,124, 36, 4, 0,199, 3, 15, 5, /* 0x0730 */ 199, 3, 15, 5, 90,195,116, 18,186, 5, 0, 0, 0,190, 4, 0,
/* 0x0740 */ 90,195,116, 18,186, 5, 0, 0, 0,190, 4, 0, 0, 0, 72,137, /* 0x0740 */ 0, 0, 72,137,223,232,255,250,255,255, 72,133,219,116, 19, 72,
/* 0x0750 */ 223,232,243,250,255,255, 72,133,219,116, 19, 72,139,124, 36, 48, /* 0x0750 */ 139,124, 36, 48, 72,137,218, 49,246, 72,131,231,254,232, 63,252,
/* 0x0760 */ 72,137,218, 49,246, 72,131,231,254,232, 51,252,255,255,139, 84, /* 0x0760 */ 255,255,139, 84, 36, 24, 72,139,116, 36, 16, 72,137,239,232,214,
/* 0x0770 */ 36, 24, 72,139,116, 36, 16, 72,137,239,232,202,250,255,255,133, /* 0x0770 */ 250,255,255,133,192,116, 10,191,127, 0, 0, 0,232,180,250,255,
/* 0x0780 */ 192,116, 10,191,127, 0, 0, 0,232,168,250,255,255, 68,137,248, /* 0x0780 */ 255, 76, 59,108, 36, 8,115, 39, 76, 41,108, 36, 8,139, 84, 36,
/* 0x0790 */ 72, 3, 68, 36, 16, 72, 1,197, 72, 59,108, 36, 8,115, 39, 72, /* 0x0790 */ 24, 69, 49,201, 72,139,116, 36, 8, 65,131,200,255,185, 50, 0,
/* 0x07a0 */ 41,108, 36, 8,139, 84, 36, 24, 69, 49,201, 72,139,116, 36, 8, /* 0x07a0 */ 0, 0, 76,137,239,232,116,250,255,255, 73, 57,197,117,200,255,
/* 0x07b0 */ 65,131,200,255,185, 50, 0, 0, 0, 72,137,239,232, 93,250,255, /* 0x07b0 */ 68, 36, 28, 65, 15,183, 71, 56, 73,131,196, 56, 57, 68, 36, 28,
/* 0x07c0 */ 255, 72, 57,197,117,189,255, 68, 36, 28, 65, 15,183, 70, 56, 73, /* 0x07c0 */ 15,140, 99,253,255,255, 72,139,132, 36,160, 0, 0, 0, 76,137,
/* 0x07d0 */ 131,196, 56, 57, 68, 36, 28, 15,140, 76,253,255,255, 72,139,132, /* 0x07d0 */ 48, 77, 3,119, 24, 72,131,196,104, 91, 93, 65, 92, 65, 93, 76,
/* 0x07e0 */ 36,160, 0, 0, 0, 76,137, 40, 77, 3,110, 24, 72,131,196,104, /* 0x07e0 */ 137,240, 65, 94, 65, 95,195, 65, 87, 65, 86, 73,137,206, 49,201,
/* 0x07f0 */ 91, 93, 65, 92, 76,137,232, 65, 93, 65, 94, 65, 95,195, 65, 87, /* 0x07f0 */ 65, 85, 65, 84, 77,137,204, 85, 72,137,213, 76,141,109, 64, 83,
/* 0x0800 */ 65, 86, 73,137,206, 49,201, 65, 85, 65, 84, 77,137,204, 85, 72, /* 0x0800 */ 76,137,195, 72,131,236, 72,139, 7, 72,137,124, 36, 24, 72,137,
/* 0x0810 */ 137,213, 76,141,109, 64, 83, 76,137,195, 72,131,236, 72,139, 7, /* 0x0810 */ 124, 36, 40, 76,141,188, 36,128, 0, 0, 0, 72,137,116, 36, 32,
/* 0x0820 */ 72,137,124, 36, 24, 72,137,124, 36, 40, 76,141,188, 36,128, 0, /* 0x0820 */ 72,141,116, 36, 48, 72,137, 84, 36, 56, 76,137,194, 72,137, 68,
/* 0x0830 */ 0, 0, 72,137,116, 36, 32, 72,141,116, 36, 48, 72,137, 84, 36, /* 0x0830 */ 36, 48,139, 71, 4, 72,141,124, 36, 16, 72,131,192, 12, 72,137,
/* 0x0840 */ 56, 76,137,194, 72,137, 68, 36, 48,139, 71, 4, 72,141,124, 36, /* 0x0840 */ 68, 36, 16,232, 72,250,255,255, 65, 83, 77,137,225, 49,210, 73,
/* 0x0850 */ 16, 72,131,192, 12, 72,137, 68, 36, 16,232, 49,250,255,255, 65, /* 0x0850 */ 137,216, 76,137,241, 72,137,239, 72,141,116, 36, 40, 65, 87,232,
/* 0x0860 */ 83, 77,137,225, 49,210, 73,137,216, 76,137,241, 72,137,239, 72, /* 0x0860 */ 124,251,255,255,190, 9, 0, 0, 0, 72,137,194, 76,137,247, 73,
/* 0x0870 */ 141,116, 36, 40, 65, 87,232,101,251,255,255,190, 9, 0, 0, 0, /* 0x0870 */ 137,196,232, 42,251,255,255, 65, 89, 65, 90,102,131,125, 56, 0,
/* 0x0880 */ 72,137,194, 76,137,247, 73,137,196,232, 19,251,255,255, 65, 89, /* 0x0880 */ 199, 68, 36, 12, 0, 0, 0, 0, 15,132,143, 0, 0, 0, 65,131,
/* 0x0890 */ 65, 90,102,131,125, 56, 0,199, 68, 36, 12, 0, 0, 0, 0, 15, /* 0x0890 */ 125, 0, 3,117,114, 73,139, 63, 73, 3,125, 16, 49,210, 49,246,
/* 0x08a0 */ 132,143, 0, 0, 0, 65,131,125, 0, 3,117,114, 73,139, 63, 73, /* 0x08a0 */ 232,156,249,255,255,133,192,137,195,120, 23,186, 0, 4, 0, 0,
/* 0x08b0 */ 3,125, 16, 49,210, 49,246,232,133,249,255,255,133,192,137,195, /* 0x08b0 */ 72,137,238,137,199,232,151,249,255,255, 72, 61, 0, 4, 0, 0,
/* 0x08c0 */ 120, 23,186, 0, 4, 0, 0, 72,137,238,137,199,232,128,249,255, /* 0x08c0 */ 116, 10,191,127, 0, 0, 0,232,105,249,255,255, 73,199, 7, 0,
/* 0x08d0 */ 255, 72, 61, 0, 4, 0, 0,116, 10,191,127, 0, 0, 0,232, 82, /* 0x08d0 */ 0, 0, 0, 65, 80, 69, 49,201, 69, 49,192, 49,201, 65, 87,137,
/* 0x08e0 */ 249,255,255, 73,199, 7, 0, 0, 0, 0, 65, 80, 69, 49,201, 69, /* 0x08e0 */ 218, 49,246, 72,137,239,232,245,250,255,255, 73,139, 23,190, 7,
/* 0x08f0 */ 49,192, 49,201, 65, 87,137,218, 49,246, 72,137,239,232,222,250, /* 0x08f0 */ 0, 0, 0, 76,137,247, 73,137,196,232,163,250,255,255,137,223,
/* 0x0900 */ 255,255, 73,139, 23,190, 7, 0, 0, 0, 76,137,247, 73,137,196, /* 0x0900 */ 232, 56,249,255,255, 94, 95,255, 68, 36, 12, 15,183, 69, 56, 73,
/* 0x0910 */ 232,140,250,255,255,137,223,232, 33,249,255,255, 94, 95,255, 68, /* 0x0910 */ 131,197, 56, 57, 68, 36, 12, 15,130,113,255,255,255, 72,131,196,
/* 0x0920 */ 36, 12, 15,183, 69, 56, 73,131,197, 56, 57, 68, 36, 12, 15,130, /* 0x0920 */ 72, 76,137,224, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95,195
/* 0x0930 */ 113,255,255,255, 72,131,196, 72, 76,137,224, 91, 93, 65, 92, 65,
/* 0x0940 */ 93, 65, 94, 65, 95,195
}; };
+155 -155
View File
@@ -1,5 +1,5 @@
/* arm64-linux.elf-fold.h /* arm64-linux.elf-fold.h
created from arm64-linux.elf-fold.bin, 2764 (0xacc) bytes created from arm64-linux.elf-fold.bin, 2760 (0xac8) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@@ -31,20 +31,20 @@
*/ */
#define STUB_ARM64_LINUX_ELF_FOLD_SIZE 2764 #define STUB_ARM64_LINUX_ELF_FOLD_SIZE 2760
#define STUB_ARM64_LINUX_ELF_FOLD_ADLER32 0x9524bef3 #define STUB_ARM64_LINUX_ELF_FOLD_ADLER32 0xc968c426
#define STUB_ARM64_LINUX_ELF_FOLD_CRC32 0xc9bec8d6 #define STUB_ARM64_LINUX_ELF_FOLD_CRC32 0xcd2c5a06
unsigned char stub_arm64_linux_elf_fold[2764] = { unsigned char stub_arm64_linux_elf_fold[2760] = {
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 2, 0,183, 0, 1, 0, 0, 0,188, 0, 16, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0,183, 0, 1, 0, 0, 0,188, 0, 16, 0, 0, 0, 0, 0,
/* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0,
/* 0x0040 */ 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0040 */ 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, /* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
/* 0x0060 */ 204, 10, 0, 0, 0, 0, 0, 0,204, 10, 0, 0, 0, 0, 0, 0, /* 0x0060 */ 200, 10, 0, 0, 0, 0, 0, 0,200, 10, 0, 0, 0, 0, 0, 0,
/* 0x0070 */ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 204, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0080 */ 200, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0090 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0090 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, /* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
/* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,146, /* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,146,
@@ -56,157 +56,157 @@ unsigned char stub_arm64_linux_elf_fold[2764] = {
/* 0x0110 */ 2,132, 0,248,194,255,255,181, 34,132, 64,248, 2,132, 0,248, /* 0x0110 */ 2,132, 0,248,194,255,255,181, 34,132, 64,248, 2,132, 0,248,
/* 0x0120 */ 194,255,255,181, 4, 32, 0,209, 31,132, 0,248,231, 3, 0,170, /* 0x0120 */ 194,255,255,181, 4, 32, 0,209, 31,132, 0,248,231, 3, 0,170,
/* 0x0130 */ 246, 3, 0,170, 34, 12,193,168, 2, 12,129,168,194,255,255,181, /* 0x0130 */ 246, 3, 0,170, 34, 12,193,168, 2, 12,129,168,194,255,255,181,
/* 0x0140 */ 247, 3, 0,170,225, 3, 6,170,129, 0, 0,249,194, 4, 0, 24, /* 0x0140 */ 247, 3, 0,170,225, 3, 6,170,129, 0, 0,249,226, 5, 0, 24,
/* 0x0150 */ 34, 68, 0,184,226,255,129, 82,128, 4, 0, 16, 91, 0, 0,148, /* 0x0150 */ 34, 68, 0,184,226,255,129, 82,160, 5, 0, 16,100, 0, 0,148,
/* 0x0160 */ 31, 4, 64,177, 66, 0, 0, 84, 95,104, 32, 56,231, 3, 20,170, /* 0x0160 */ 31, 4, 64,177, 66, 0, 0, 84, 95,104, 32, 56,231, 3, 20,170,
/* 0x0170 */ 230, 3, 25,170,255, 3, 40,209, 5, 4, 0, 16,228, 3, 24,170, /* 0x0170 */ 230, 3, 25,170,255, 3, 40,209, 37, 5, 0, 16,228, 3, 24,170,
/* 0x0180 */ 227, 3, 22,170,226, 3, 0,145,225, 3, 29, 42,224, 3, 28,170, /* 0x0180 */ 227, 3, 22,170,226, 3, 0,145,225, 3, 29, 42,224, 3, 28,170,
/* 0x0190 */ 245, 1, 0,148,255, 3, 40,145,248, 3, 0,170, 33, 83, 64,249, /* 0x0190 */ 244, 1, 0,148,255, 3, 40,145,248, 3, 0,170, 33, 83, 64,249,
/* 0x01a0 */ 224, 3, 25,170, 55, 0, 0,148, 5, 0,128,210,228, 3, 21, 42, /* 0x01a0 */ 224, 3, 25,170, 64, 0, 0,148, 5, 0,128,210,228, 3, 21, 42,
/* 0x01b0 */ 67, 0,128, 82, 34, 0,128, 82, 1, 0,130,210, 0, 0,128,210, /* 0x01b0 */ 67, 0,128, 82, 34, 0,128, 82, 1, 0,130,210, 0, 0,128,210,
/* 0x01c0 */ 58, 0, 0,148,224, 3, 21, 42, 37, 0, 0,148,254, 3, 24,170, /* 0x01c0 */ 67, 0, 0,148,224, 3, 21, 42, 46, 0, 0,148,254, 3, 24,170,
/* 0x01d0 */ 224, 3, 26,170,225, 3, 27, 42,226,130, 95,248,232, 26,128, 82, /* 0x01d0 */ 224, 3, 26,170,225, 3, 27, 42,226,130, 95,248,255,127,191,169,
/* 0x01e0 */ 64, 0, 31,214, 32, 32, 32, 61, 47,112,114,111, 99, 47,115,101, /* 0x01e0 */ 240, 3, 31,170,227, 19, 64,169,230, 31, 64,169,232, 39, 64,169,
/* 0x01f0 */ 108,102, 47,101,120,101, 0, 0, 99, 28, 0, 18,127, 72, 1,113, /* 0x01f0 */ 244, 87, 64,169,246, 95, 64,169,248,103, 64,169,250,111, 64,169,
/* 0x0200 */ 129, 1, 0, 84, 33,252, 66,211, 65, 1, 0,180, 33, 4, 0,209, /* 0x0200 */ 252,119,193,168,192, 3, 95,214, 32, 32, 32, 61, 47,112,114,111,
/* 0x0210 */ 2,120, 97,184, 67,120, 26, 83,127, 20, 0,113,129, 0, 0, 84, /* 0x0210 */ 99, 47,115,101,108,102, 47,101,120,101, 0, 0, 99, 28, 0, 18,
/* 0x0220 */ 67, 0, 1, 75, 98,100, 0, 51, 2,120, 33,184, 1,255,255,181, /* 0x0220 */ 127, 72, 1,113,129, 1, 0, 84, 33,252, 66,211, 65, 1, 0,180,
/* 0x0230 */ 192, 3, 95,214, 0, 0, 32,212,192, 3, 95,214,168, 11,128, 82, /* 0x0230 */ 33, 4, 0,209, 2,120, 97,184, 67,120, 26, 83,127, 20, 0,113,
/* 0x0240 */ 1, 0, 0,212,232, 7,128, 82, 1, 0, 0,212,192, 3, 95,214, /* 0x0240 */ 129, 0, 0, 84, 67, 0, 1, 75, 98,100, 0, 51, 2,120, 33,184,
/* 0x0250 */ 8, 8,128, 82, 1, 0, 0,212,192, 3, 95,214, 40, 7,128, 82, /* 0x0250 */ 1,255,255,181,192, 3, 95,214, 0, 0, 32,212,192, 3, 95,214,
/* 0x0260 */ 1, 0, 0,212,192, 3, 95,214,168, 21,128, 82, 1, 0, 0,212, /* 0x0260 */ 168, 11,128, 82, 1, 0, 0,212,232, 7,128, 82, 1, 0, 0,212,
/* 0x0270 */ 192, 3, 95,214,200, 26,128, 82, 1, 0, 0,212,192, 3, 95,214, /* 0x0270 */ 192, 3, 95,214, 8, 8,128, 82, 1, 0, 0,212,192, 3, 95,214,
/* 0x0280 */ 232, 26,128, 82, 1, 0, 0,212,192, 3, 95,214, 72, 28,128, 82, /* 0x0280 */ 40, 7,128, 82, 1, 0, 0,212,192, 3, 95,214,168, 21,128, 82,
/* 0x0290 */ 1, 0, 0,212,192, 3, 95,214,134,241,255, 24, 5, 0,128,210, /* 0x0290 */ 1, 0, 0,212,192, 3, 95,214,200, 26,128, 82, 1, 0, 0,212,
/* 0x02a0 */ 4, 0,128,146, 99, 0, 6, 42,200, 27,128, 82, 1, 0, 0,212, /* 0x02a0 */ 192, 3, 95,214,232, 26,128, 82, 1, 0, 0,212,192, 3, 95,214,
/* 0x02b0 */ 192, 3, 95,214, 2, 0,128,210,225, 3, 0,170, 96, 12,128, 18, /* 0x02b0 */ 72, 28,128, 82, 1, 0, 0,212,192, 3, 95,214,102,240,255, 24,
/* 0x02c0 */ 104, 4,128, 82, 4, 0, 0, 20,200, 9,128, 82, 2, 0, 0, 20, /* 0x02c0 */ 5, 0,128,210, 4, 0,128,146, 99, 0, 6, 42,200, 27,128, 82,
/* 0x02d0 */ 8, 7,128, 82,227, 3, 2,170,226, 3, 1,170,225, 3, 0,170, /* 0x02d0 */ 1, 0, 0,212,192, 3, 95,214, 2, 0,128,210,225, 3, 0,170,
/* 0x02e0 */ 96, 12,128,146, 1, 0, 0,212,192, 3, 95,214, 0, 0, 64,212, /* 0x02e0 */ 96, 12,128, 18,104, 4,128, 82, 4, 0, 0, 20,200, 9,128, 82,
/* 0x02f0 */ 2, 0,128, 82, 8, 0,128, 82, 1, 0, 0,212,192, 3, 95,214, /* 0x02f0 */ 2, 0, 0, 20, 8, 7,128, 82,227, 3, 2,170,226, 3, 1,170,
/* 0x0300 */ 253,123,191,169, 3, 0,128,210,253, 3, 0,145, 5, 0, 64,249, /* 0x0300 */ 225, 3, 0,170, 96, 12,128,146, 1, 0, 0,212,192, 3, 95,214,
/* 0x0310 */ 4, 4, 64,249,191, 0, 2,235, 98, 0, 0, 84,224, 15,128, 82, /* 0x0310 */ 0, 0, 64,212, 2, 0,128, 82, 8, 0,128, 82, 1, 0, 0,212,
/* 0x0320 */ 199,255,255,151,127, 0, 2,235,160, 0, 0, 84,133,104, 99, 56, /* 0x0320 */ 192, 3, 95,214,253,123,191,169, 3, 0,128,210,253, 3, 0,145,
/* 0x0330 */ 37,104, 35, 56, 99, 4, 0,145,251,255,255, 23, 1, 4, 64,249, /* 0x0330 */ 5, 0, 64,249, 4, 4, 64,249,191, 0, 2,235, 98, 0, 0, 84,
/* 0x0340 */ 33, 0, 3,139, 1, 4, 0,249, 1, 0, 64,249, 35, 0, 3,203, /* 0x0340 */ 224, 15,128, 82,199,255,255,151,127, 0, 2,235,160, 0, 0, 84,
/* 0x0350 */ 3, 0, 0,249,253,123,193,168,192, 3, 95,214,253,123,187,169, /* 0x0350 */ 133,104, 99, 56, 37,104, 35, 56, 99, 4, 0,145,251,255,255, 23,
/* 0x0360 */ 253, 3, 0,145,243, 83, 1,169,245, 91, 2,169,244, 3, 0,170, /* 0x0360 */ 1, 4, 64,249, 33, 0, 3,139, 1, 4, 0,249, 1, 0, 64,249,
/* 0x0370 */ 243, 3, 1,170,246, 3, 2,170,245, 3, 3,170, 96, 2, 64,249, /* 0x0370 */ 35, 0, 3,203, 3, 0, 0,249,253,123,193,168,192, 3, 95,214,
/* 0x0380 */ 160, 8, 0,180,224, 3, 20,170,130, 1,128,210,161, 3, 1,145, /* 0x0380 */ 253,123,187,169,253, 3, 0,145,243, 83, 1,169,245, 91, 2,169,
/* 0x0390 */ 220,255,255,151,160, 67, 64,185,162, 71, 64,185, 0, 1, 0, 53, /* 0x0390 */ 244, 3, 0,170,243, 3, 1,170,246, 3, 2,170,245, 3, 3,170,
/* 0x03a0 */ 160, 10,138, 82, 0, 43,164,114, 95, 0, 0,107,225, 0, 0, 84, /* 0x03a0 */ 96, 2, 64,249,160, 8, 0,180,224, 3, 20,170,130, 1,128,210,
/* 0x03b0 */ 128, 2, 64,249, 0, 7, 0,180, 4, 0, 0, 20, 98, 0, 0, 52, /* 0x03b0 */ 161, 3, 1,145,220,255,255,151,160, 67, 64,185,162, 71, 64,185,
/* 0x03c0 */ 95, 0, 0,107,105, 0, 0, 84,224, 15,128, 82,156,255,255,151, /* 0x03c0 */ 0, 1, 0, 53,160, 10,138, 82, 0, 43,164,114, 95, 0, 0,107,
/* 0x03d0 */ 99, 2, 64,249,225, 3, 0, 42, 63, 0, 3,235,104,255,255, 84, /* 0x03d0 */ 225, 0, 0, 84,128, 2, 64,249, 0, 7, 0,180, 4, 0, 0, 20,
/* 0x03e0 */ 95, 0, 0,107, 2, 4, 0, 84,161, 31, 0,249,225, 3, 2, 42, /* 0x03e0 */ 98, 0, 0, 52, 95, 0, 0,107,105, 0, 0, 84,224, 15,128, 82,
/* 0x03f0 */ 128, 6, 64,249,163,227, 0,145, 98, 6, 64,249,164, 35, 65, 57, /* 0x03f0 */ 156,255,255,151, 99, 2, 64,249,225, 3, 0, 42, 63, 0, 3,235,
/* 0x0400 */ 192, 2, 63,214, 32,254,255, 53,161, 31, 64,249,160, 67, 64,185, /* 0x0400 */ 104,255,255, 84, 95, 0, 0,107, 2, 4, 0, 84,161, 31, 0,249,
/* 0x0410 */ 63, 0, 0,235,161,253,255, 84,163, 39, 65, 57, 85, 1, 0,180, /* 0x0410 */ 225, 3, 2, 42,128, 6, 64,249,163,227, 0,145, 98, 6, 64,249,
/* 0x0420 */ 35, 1, 0, 52, 63, 0, 8,241,136, 0, 0, 84, 96, 2, 64,249, /* 0x0420 */ 164, 35, 65, 57,192, 2, 63,214, 32,254,255, 53,161, 31, 64,249,
/* 0x0430 */ 31, 0, 1,235,129, 0, 0, 84, 96, 6, 64,249,162, 43, 65, 57, /* 0x0430 */ 160, 67, 64,185, 63, 0, 0,235,161,253,255, 84,163, 39, 65, 57,
/* 0x0440 */ 160, 2, 63,214,163, 71, 64,185,129, 6, 64,249,128, 2, 64,249, /* 0x0440 */ 85, 1, 0,180, 35, 1, 0, 52, 63, 0, 8,241,136, 0, 0, 84,
/* 0x0450 */ 33, 0, 3,139,129, 6, 0,249, 0, 0, 3,203,128, 2, 0,249, /* 0x0450 */ 96, 2, 64,249, 31, 0, 1,235,129, 0, 0, 84, 96, 6, 64,249,
/* 0x0460 */ 5, 0, 0, 20, 97, 6, 64,249,224, 3, 20,170,226, 3, 2, 42, /* 0x0460 */ 162, 43, 65, 57,160, 2, 63,214,163, 71, 64,185,129, 6, 64,249,
/* 0x0470 */ 164,255,255,151,163, 67, 64,185, 97, 6, 64,249, 96, 2, 64,249, /* 0x0470 */ 128, 2, 64,249, 33, 0, 3,139,129, 6, 0,249, 0, 0, 3,203,
/* 0x0480 */ 33, 0, 3,139, 97, 6, 0,249, 0, 0, 3,203, 96, 2, 0,249, /* 0x0480 */ 128, 2, 0,249, 5, 0, 0, 20, 97, 6, 64,249,224, 3, 20,170,
/* 0x0490 */ 187,255,255, 23,243, 83, 65,169,245, 91, 66,169,253,123,197,168, /* 0x0490 */ 226, 3, 2, 42,164,255,255,151,163, 67, 64,185, 97, 6, 64,249,
/* 0x04a0 */ 192, 3, 95,214, 0, 2, 0,180,224, 1, 0, 55,228, 3, 1, 42, /* 0x04a0 */ 96, 2, 64,249, 33, 0, 3,139, 97, 6, 0,249, 0, 0, 3,203,
/* 0x04b0 */ 3, 0, 64,249,127, 0, 4,235,129, 0, 0, 84, 4, 0, 0,249, /* 0x04b0 */ 96, 2, 0,249,187,255,255, 23,243, 83, 65,169,245, 91, 66,169,
/* 0x04c0 */ 2, 4, 0,249, 8, 0, 0, 20,127, 4, 0,241, 97, 0, 0, 84, /* 0x04c0 */ 253,123,197,168,192, 3, 95,214, 0, 2, 0,180,224, 1, 0, 55,
/* 0x04d0 */ 97, 0, 0, 52,250,255,255, 23, 99, 0, 0,180, 0, 64, 0,145, /* 0x04d0 */ 228, 3, 1, 42, 3, 0, 64,249,127, 0, 4,235,129, 0, 0, 84,
/* 0x04e0 */ 244,255,255, 23,192, 3, 95,214,253,123,179,169,253, 3, 0,145, /* 0x04e0 */ 4, 0, 0,249, 2, 4, 0,249, 8, 0, 0, 20,127, 4, 0,241,
/* 0x04f0 */ 232, 39, 6,109,200, 0,103,158, 6, 16, 64,249,238, 63, 9,109, /* 0x04f0 */ 97, 0, 0, 84, 97, 0, 0, 52,250,255,255, 23, 99, 0, 0,180,
/* 0x0500 */ 245, 91, 2,169,236, 55, 8,109,246, 3, 0,170,234, 47, 7,109, /* 0x0500 */ 0, 64, 0,145,244,255,255, 23,192, 3, 95,214,253,123,181,169,
/* 0x0510 */ 251,115, 5,169, 27, 0, 6,139, 0, 1,102,158,243, 83, 1,169, /* 0x0510 */ 253, 3, 0,145,232, 39, 6,109,201, 0,103,158, 6, 16, 64,249,
/* 0x0520 */ 247, 99, 3,169,249,107, 4,169, 77, 0, 39, 30,249, 3, 3,170, /* 0x0520 */ 236, 55, 8,109,245, 91, 2,169,238, 63, 9,109,245, 3, 0,170,
/* 0x0530 */ 247, 3, 1,170,244, 3, 7,170,142, 0,103,158, 2, 0, 64,249, /* 0x0530 */ 234, 47, 7,109,251,115, 5,169, 28, 0, 6,139,246, 3, 1,170,
/* 0x0540 */ 175, 0,103,158,195, 34, 64,121, 65, 2, 0,180, 65, 16, 64,249, /* 0x0540 */ 32, 1,102,158,249,107, 4,169,243, 83, 1,169,247, 99, 3,169,
/* 0x0550 */ 127, 8, 0,113, 65, 0, 1,139, 32, 36, 64,249, 64, 0, 0,203, /* 0x0550 */ 76, 0, 39, 30,250, 3, 3,170,141, 0,103,158,249, 3, 7,170,
/* 0x0560 */ 65, 0, 0, 84, 32, 8, 64,249, 33, 20, 64,249, 2, 0,128, 82, /* 0x0560 */ 174, 0,103,158, 2, 0, 64,249,163, 34, 64,121, 65, 2, 0,180,
/* 0x0570 */ 67, 6,128, 82, 4, 0,128, 18, 5, 0,128,210, 75,255,255,151, /* 0x0570 */ 65, 16, 64,249,127, 8, 0,113, 65, 0, 1,139, 32, 36, 64,249,
/* 0x0580 */ 193, 34, 64,121, 63, 8, 0,113, 19, 16,159,154, 42, 0, 0, 20, /* 0x0580 */ 64, 0, 0,203, 65, 0, 0, 84, 32, 8, 64,249, 33, 20, 64,249,
/* 0x0590 */ 127, 12, 0,113, 3, 2,128, 82, 99, 16,159, 26,200,114, 64,121, /* 0x0590 */ 2, 0,128, 82, 67, 6,128, 82, 4, 0,128, 18, 5, 0,128,210,
/* 0x05a0 */ 224, 3, 2,170, 99,136, 0, 17,228, 3, 27,170, 19, 0,128,146, /* 0x05a0 */ 75,255,255,151,161, 34, 64,121, 63, 8, 0,113, 19, 16,159,154,
/* 0x05b0 */ 8, 5, 0, 81, 31, 5, 0, 49,160, 1, 0, 84,133, 0, 64,185, /* 0x05b0 */ 42, 0, 0, 20,127, 12, 0,113, 3, 2,128, 82, 99, 16,159, 26,
/* 0x05c0 */ 191, 4, 0,113, 1, 1, 0, 84,137, 8, 64,249,133, 20, 64,249, /* 0x05c0 */ 167,114, 64,121,224, 3, 2,170, 99,136, 0, 17,228, 3, 28,170,
/* 0x05d0 */ 127, 2, 9,235, 37, 1, 5,139,115,146,137,154, 63, 0, 5,235, /* 0x05d0 */ 19, 0,128,146,231, 4, 0, 81,255, 4, 0, 49,160, 1, 0, 84,
/* 0x05e0 */ 33, 32,133,154,132,224, 0,145,242,255,255, 23,228, 3, 52,170, /* 0x05e0 */ 133, 0, 64,185,191, 4, 0,113, 1, 1, 0, 84,136, 8, 64,249,
/* 0x05f0 */ 115, 2, 20,138,129, 0, 1,139, 33, 0, 19,203, 33, 0, 20,138, /* 0x05f0 */ 133, 20, 64,249,127, 2, 8,235, 5, 1, 5,139,115,146,136,154,
/* 0x0600 */ 163, 0, 32, 55, 83, 0, 0,181,162, 0, 0,181, 0, 0,128,210, /* 0x0600 */ 63, 0, 5,235, 33, 32,133,154,132,224, 0,145,242,255,255, 23,
/* 0x0610 */ 4, 0, 0, 20,224, 3, 19,170, 2, 0, 0, 20, 67, 6,128, 82, /* 0x0610 */ 228, 3, 57,170,115, 2, 25,138,129, 0, 1,139, 33, 0, 19,203,
/* 0x0620 */ 2, 0,128, 82, 4, 0,128, 18, 5, 0,128,210, 31,255,255,151, /* 0x0620 */ 33, 0, 25,138,163, 0, 32, 55, 83, 0, 0,181,162, 0, 0,181,
/* 0x0630 */ 19, 0, 19,203,224, 3, 52, 42, 28, 0,128, 82, 9, 0, 39, 30, /* 0x0630 */ 0, 0,128,210, 4, 0, 0, 20,224, 3, 19,170, 2, 0, 0, 20,
/* 0x0640 */ 224, 3, 52,170,160, 87, 0,249,192,114, 64,121,159, 3, 0,107, /* 0x0640 */ 67, 6,128, 82, 2, 0,128, 82, 4, 0,128, 18, 5, 0,128,210,
/* 0x0650 */ 42, 22, 0, 84, 96, 3, 64,185, 55, 1, 0,180, 31, 24, 0,113, /* 0x0650 */ 31,255,255,151, 19, 0, 19,203,224, 3, 57, 42,232, 3, 39, 30,
/* 0x0660 */ 225, 0, 0, 84, 98, 11, 64,249,224, 3, 25,170, 97, 0,128, 82, /* 0x0660 */ 10, 0, 39, 30,224, 3, 57,170, 15, 0,103,158, 1, 1, 38, 30,
/* 0x0670 */ 98, 2, 2,139,140,255,255,151,164, 0, 0, 20, 31, 4, 0,113, /* 0x0670 */ 160,114, 64,121, 63, 0, 0,107,202, 20, 0, 84,128, 3, 64,185,
/* 0x0680 */ 65, 20, 0, 84, 87, 2, 0,180, 96, 7, 64,249, 0, 2, 0,181, /* 0x0680 */ 54, 1, 0,180, 31, 24, 0,113,225, 0, 0, 84,130, 11, 64,249,
/* 0x0690 */ 194, 18, 64,249,224, 3, 25,170, 99, 11, 64,249, 97, 0,128, 82, /* 0x0690 */ 224, 3, 26,170, 97, 0,128, 82, 98, 2, 2,139,139,255,255,151,
/* 0x06a0 */ 98, 2, 2,139, 66, 0, 3,139,127,255,255,151,194,114, 64,121, /* 0x06a0 */ 151, 0, 0, 20, 31, 4, 0,113,161, 18, 0, 84,155, 7, 64,185,
/* 0x06b0 */ 224, 3, 25,170,161, 0,128, 82,123,255,255,151,194,110, 64,121, /* 0x06b0 */ 0, 72,140, 82, 32,106,174,114,123, 11, 30, 83, 27, 36,219, 26,
/* 0x06c0 */ 224, 3, 25,170,129, 0,128, 82,119,255,255,151,122, 7, 64,185, /* 0x06c0 */ 121, 11, 0, 18, 86, 2, 0,180,128, 7, 64,249, 0, 2, 0,181,
/* 0x06d0 */ 0, 72,140, 82, 32,106,174,114,117, 11, 64,249, 90, 11, 30, 83, /* 0x06d0 */ 162, 18, 64,249,224, 3, 26,170,131, 11, 64,249, 97, 0,128, 82,
/* 0x06e0 */ 116, 19, 64,249, 0, 36,218, 26,160,179, 0,185, 26, 8, 0, 18, /* 0x06e0 */ 98, 2, 2,139, 66, 0, 3,139,120,255,255,151,162,114, 64,121,
/* 0x06f0 */ 96, 23, 64,249,117, 2, 21,139,180, 99, 0,249,160, 2, 0,139, /* 0x06f0 */ 224, 3, 26,170,161, 0,128, 82,116,255,255,151,162,110, 64,121,
/* 0x0700 */ 181,103, 0,249,161, 87, 64,249,255, 2, 31,235, 10, 0,103,158, /* 0x0700 */ 224, 3, 26,170,129, 0,128, 82,112,255,255,151,148, 11, 64,249,
/* 0x0710 */ 101, 7, 64,249, 32, 1, 38, 30, 72, 6,128, 82, 67, 2,128, 82, /* 0x0710 */ 223, 2, 31,235,128, 23, 64,249, 72, 6,128, 82,116, 2, 20,139,
/* 0x0720 */ 7, 0, 21, 10,248, 0, 20, 11,248, 3, 24, 75, 0, 3, 0, 10, /* 0x0720 */ 151, 19, 64,249,128, 2, 0,139,183, 83, 0,249,225, 1,102,158,
/* 0x0730 */ 248, 3, 7, 42,181, 2, 24,203, 20, 3, 20,139, 11, 0, 39, 30, /* 0x0730 */ 180, 87, 0,249, 11, 0,103,158,152, 2, 23,139, 64, 1, 38, 30,
/* 0x0740 */ 160, 2, 20,139,224, 3, 0,203,165, 0, 24,203, 0, 0, 1,138, /* 0x0740 */ 135, 7, 64,249, 67, 2,128, 82, 5, 0, 20, 10,148, 2, 5,203,
/* 0x0750 */ 20, 0, 20,139, 64, 0,128, 82, 2, 16,159, 26,255, 2, 31,235, /* 0x0750 */ 183, 0, 23,139,128, 2, 23,139,229, 0, 5,203,224, 3, 0,203,
/* 0x0760 */ 160, 1, 38, 30,225, 3, 20,170, 66, 0, 26, 42, 4, 0,159, 90, /* 0x0760 */ 0, 0, 1,138, 23, 0, 23,139, 64, 0,128, 82, 2, 16,159, 26,
/* 0x0770 */ 255, 2, 31,235, 3, 17,131, 26,224, 3, 21,170,203,254,255,151, /* 0x0770 */ 223, 2, 31,235,128, 1, 38, 30,225, 3, 23,170, 66, 0, 25, 42,
/* 0x0780 */ 191, 2, 0,235, 96, 0, 0, 84,224, 15,128, 82,172,254,255,151, /* 0x0780 */ 4, 0,159, 90,223, 2, 31,235, 3, 17,131, 26,224, 3, 20,170,
/* 0x0790 */ 215, 0, 0,180,194, 1,102,158,224, 3, 23,170,227, 1,102,158, /* 0x0790 */ 207,254,255,151,159, 2, 0,235, 96, 0, 0, 84,224, 15,128, 82,
/* 0x07a0 */ 161, 3, 3,145,238,254,255,151, 96, 1, 38, 30,224, 3, 0, 42, /* 0x07a0 */ 176,254,255,151,214, 0, 0,180,162, 1,102,158,224, 3, 22,170,
/* 0x07b0 */ 12, 0,103,158,160, 91, 64,249, 96, 0, 8, 55,215, 1, 0,181, /* 0x07b0 */ 195, 1,102,158,161,131, 2,145,242,254,255,151,187, 1, 8, 54,
/* 0x07c0 */ 66, 0, 0, 20, 97, 1, 38, 30, 96, 19, 64,249,129,255,255, 52, /* 0x07c0 */ 64, 1, 38, 30,225, 3, 24, 75, 34, 0, 0, 10, 0, 0,128,210,
/* 0x07d0 */ 7, 3, 0,139, 0, 0,128,210,167, 2, 7,139,129, 1,102,158, /* 0x07d0 */ 98, 0, 0, 53, 24, 3, 2,139, 6, 0, 0, 20, 31,107, 32, 56,
/* 0x07e0 */ 255,104, 32, 56, 0, 4, 0,145, 31, 0, 1,235,129,255,255, 84, /* 0x07e0 */ 0, 4, 0,145, 31, 0, 2,235,161,255,255, 84,250,255,255, 23,
/* 0x07f0 */ 243,255,255, 23, 96, 3, 64,249,225, 3, 0,178, 0,128, 64,146, /* 0x07f0 */ 214, 6, 0,180,128, 3, 64,249,225, 3, 0,178, 0,128, 64,146,
/* 0x0800 */ 31, 0, 1,235,129, 5, 0, 84, 96, 23, 64,249, 98, 19, 64,249, /* 0x0800 */ 31, 0, 1,235,129, 5, 0, 84,128, 23, 64,249,130, 19, 64,249,
/* 0x0810 */ 97, 11, 64,249, 31, 0, 2,235,129, 1, 0, 84,120, 14, 0,145, /* 0x0810 */ 129, 11, 64,249, 31, 0, 2,235,129, 1, 0, 84,123, 14, 0,145,
/* 0x0820 */ 24, 3, 0,139, 34, 1, 38, 30, 24, 3, 1,139, 24,247,126,146, /* 0x0820 */ 123, 3, 0,139, 66, 1, 38, 30,123, 3, 1,139,123,247,126,146,
/* 0x0830 */ 224, 3, 24, 75, 0, 0, 2, 10, 31, 28, 0,113,105, 0, 0, 84, /* 0x0830 */ 224, 3, 27, 75, 0, 0, 2, 10, 31, 28, 0,113,105, 0, 0, 84,
/* 0x0840 */ 0, 0,128, 82, 13, 0, 0, 20, 96, 7, 64,249,192, 6, 0,180, /* 0x0840 */ 0, 0,128, 82, 13, 0, 0, 20,128, 7, 64,249,160, 6, 0,180,
/* 0x0850 */ 0, 0,128,210, 1, 0,130,210, 98, 0,128, 82, 67, 4,128, 82, /* 0x0850 */ 0, 0,128,210, 1, 0,130,210, 98, 0,128, 82, 67, 4,128, 82,
/* 0x0860 */ 4, 0,128, 18,229, 3, 0,170,144,254,255,151,248, 3, 0,170, /* 0x0860 */ 4, 0,128, 18,229, 3, 0,170,153,254,255,151,251, 3, 0,170,
/* 0x0870 */ 32, 2, 0,180, 32, 0,128, 82, 33, 0,128, 82, 1,128,186,114, /* 0x0870 */ 32, 2, 0,180, 32, 0,128, 82, 33, 0,128, 82, 1,128,186,114,
/* 0x0880 */ 1, 3, 0,185, 1,120,128, 82,225,203,186,114, 1, 7, 0,185, /* 0x0880 */ 97, 3, 0,185, 1,120,128, 82,225,203,186,114, 97, 7, 0,185,
/* 0x0890 */ 160, 0, 0, 52,224, 3, 24,170, 1, 1,128,210,162, 0,128, 82, /* 0x0890 */ 160, 0, 0, 52,224, 3, 27,170, 1, 1,128,210,162, 0,128, 82,
/* 0x08a0 */ 123,254,255,151, 32,251,127,146, 1, 0,128, 82,226, 3, 24,170, /* 0x08a0 */ 132,254,255,151, 64,251,127,146, 1, 0,128, 82,226, 3, 27,170,
/* 0x08b0 */ 253,254,255,151,224, 3, 21,170,225, 3, 20,170,226, 3, 26, 42, /* 0x08b0 */ 6,255,255,151,224, 3, 20,170,225, 3, 23,170,226, 3, 25, 42,
/* 0x08c0 */ 115,254,255,151, 32,246,255, 53,128, 1,102,158,148, 2, 0,139, /* 0x08c0 */ 124,254,255,151,192,246,255, 53, 96, 1,102,158, 31, 3, 0,235,
/* 0x08d0 */ 64, 1,102,158,181, 2, 20,139,191, 2, 0,235, 98, 1, 0, 84, /* 0x08d0 */ 98, 1, 0, 84, 97, 1,102,158,224, 3, 24,170,226, 3, 25, 42,
/* 0x08e0 */ 65, 1,102,158,224, 3, 21,170,226, 3, 26, 42, 67, 6,128, 82, /* 0x08e0 */ 67, 6,128, 82, 4, 0,128, 18, 5, 0,128,210, 33, 0, 24,203,
/* 0x08f0 */ 4, 0,128, 18, 5, 0,128,210, 33, 0, 21,203,107,254,255,151, /* 0x08f0 */ 119,254,255,151, 31, 3, 0,235, 33,245,255, 84, 0, 1, 38, 30,
/* 0x0900 */ 191, 2, 0,235, 33,244,255, 84,123,227, 0,145,156, 7, 0, 17, /* 0x0900 */ 156,227, 0,145, 0, 4, 0, 17, 8, 0, 39, 30, 88,255,255, 23,
/* 0x0910 */ 78,255,255, 23, 0, 1,102,158,192, 0, 0,180, 19, 0, 0,249, /* 0x0910 */ 32, 1,102,158,192, 0, 0,180, 19, 0, 0,249, 4, 0, 0, 20,
/* 0x0920 */ 4, 0, 0, 20, 56, 0, 19,139, 24, 35, 0,145,211,255,255, 23, /* 0x0920 */ 59, 0, 19,139,123, 35, 0,145,212,255,255, 23,160, 14, 64,249,
/* 0x0930 */ 192, 14, 64,249,232, 39, 70,109,245, 91, 66,169,234, 47, 71,109, /* 0x0930 */ 232, 39, 70,109,245, 91, 66,169,234, 47, 71,109, 96, 2, 0,139,
/* 0x0940 */ 96, 2, 0,139,236, 55, 72,109,243, 83, 65,169,238, 63, 73,109, /* 0x0940 */ 236, 55, 72,109,243, 83, 65,169,238, 63, 73,109,247, 99, 67,169,
/* 0x0950 */ 247, 99, 67,169,249,107, 68,169,251,115, 69,169,253,123,205,168, /* 0x0950 */ 249,107, 68,169,251,115, 69,169,253,123,203,168,192, 3, 95,214,
/* 0x0960 */ 192, 3, 95,214,253,123,182,169,253, 3, 0,145,247, 99, 3,169, /* 0x0960 */ 253,123,182,169,253, 3, 0,145,247, 99, 3,169,247, 3, 3,170,
/* 0x0970 */ 247, 3, 3,170, 3, 4, 64,185,243, 83, 1,169,162, 63, 0,249, /* 0x0970 */ 3, 4, 64,185,243, 83, 1,169,162, 63, 0,249,243, 3, 2,170,
/* 0x0980 */ 243, 3, 2,170, 99, 48, 0,145, 2, 0, 64,185,162, 59, 0,249, /* 0x0980 */ 99, 48, 0,145, 2, 0, 64,185,162, 59, 0,249,226, 3, 4,170,
/* 0x0990 */ 226, 3, 4,170,160, 79, 0,249,116, 2, 1,145,163, 75, 0,249, /* 0x0990 */ 160, 79, 0,249,116, 2, 1,145,163, 75, 0,249, 3, 0,128,210,
/* 0x09a0 */ 3, 0,128,210,160, 71, 0,249,160, 67, 2,145,161, 67, 0,249, /* 0x09a0 */ 160, 71, 0,249,160, 67, 2,145,161, 67, 0,249,161,195, 1,145,
/* 0x09b0 */ 161,195, 1,145,245, 91, 2,169,249, 35, 0,249,249, 3, 7,170, /* 0x09b0 */ 245, 91, 2,169,249, 35, 0,249,249, 3, 7,170,165, 47, 0,249,
/* 0x09c0 */ 165, 47, 0,249, 22, 0,128, 82,166, 55, 0,249,164, 51, 0,249, /* 0x09c0 */ 22, 0,128, 82,166, 55, 0,249,164, 51, 0,249,109,254,255,151,
/* 0x09d0 */ 99,254,255,151,164, 51, 64,249,161, 3, 2,145,165, 47, 64,249, /* 0x09d0 */ 164, 51, 64,249,161, 3, 2,145,165, 47, 64,249, 2, 0,128, 82,
/* 0x09e0 */ 2, 0,128, 82,227, 3, 23,170,166,163, 1,145,231, 3, 25,170, /* 0x09e0 */ 227, 3, 23,170,166,163, 1,145,231, 3, 25,170,224, 3, 19,170,
/* 0x09f0 */ 224, 3, 19,170,189,254,255,151,245, 3, 0,170, 33, 1,128, 82, /* 0x09f0 */ 199,254,255,151,245, 3, 0,170, 33, 1,128, 82,224, 3, 23,170,
/* 0x0a00 */ 224, 3, 23,170,226, 3, 21,170,167,254,255,151, 96,114, 64,121, /* 0x0a00 */ 226, 3, 21,170,177,254,255,151, 96,114, 64,121,223, 2, 0,107,
/* 0x0a10 */ 223, 2, 0,107,226, 4, 0, 84,128, 2, 64,185, 31, 12, 0,113, /* 0x0a10 */ 226, 4, 0, 84,128, 2, 64,185, 31, 12, 0,113, 33, 4, 0, 84,
/* 0x0a20 */ 33, 4, 0, 84,129, 10, 64,249,160, 55, 64,249, 32, 0, 0,139, /* 0x0a20 */ 129, 10, 64,249,160, 55, 64,249, 32, 0, 0,139, 1, 0,128, 82,
/* 0x0a30 */ 1, 0,128, 82,226, 3, 1, 42, 38,254,255,151,248, 3, 0, 42, /* 0x0a30 */ 226, 3, 1, 42, 48,254,255,151,248, 3, 0, 42, 96, 0,248, 54,
/* 0x0a40 */ 96, 0,248, 54,224, 15,128, 82,253,253,255,151,225, 3, 19,170, /* 0x0a40 */ 224, 15,128, 82, 7,254,255,151,225, 3, 19,170, 2,128,128,210,
/* 0x0a50 */ 2,128,128,210,252,253,255,151, 31, 0, 16,241, 65,255,255, 84, /* 0x0a50 */ 6,254,255,151, 31, 0, 16,241, 65,255,255, 84, 1, 0,128,210,
/* 0x0a60 */ 1, 0,128,210,226, 3, 24, 42,227, 3, 1,170,228, 3, 1,170, /* 0x0a60 */ 226, 3, 24, 42,227, 3, 1,170,228, 3, 1,170,229, 3, 1,170,
/* 0x0a70 */ 229, 3, 1,170,166,163, 1,145,231, 3, 25,170,224, 3, 19,170, /* 0x0a70 */ 166,163, 1,145,231, 3, 25,170,224, 3, 19,170,191, 55, 0,249,
/* 0x0a80 */ 191, 55, 0,249,153,254,255,151,245, 3, 0,170,162, 55, 64,249, /* 0x0a80 */ 163,254,255,151,245, 3, 0,170,162, 55, 64,249,224, 3, 23,170,
/* 0x0a90 */ 224, 3, 23,170,225, 0,128, 82,131,254,255,151,224, 3, 24, 42, /* 0x0a90 */ 225, 0,128, 82,141,254,255,151,224, 3, 24, 42,249,253,255,151,
/* 0x0aa0 */ 239,253,255,151,148,226, 0,145,214, 6, 0, 17,216,255,255, 23, /* 0x0aa0 */ 148,226, 0,145,214, 6, 0, 17,216,255,255, 23,224, 3, 21,170,
/* 0x0ab0 */ 224, 3, 21,170,249, 35, 64,249,243, 83, 65,169,245, 91, 66,169, /* 0x0ab0 */ 249, 35, 64,249,243, 83, 65,169,245, 91, 66,169,247, 99, 67,169,
/* 0x0ac0 */ 247, 99, 67,169,253,123,202,168,192, 3, 95,214 /* 0x0ac0 */ 253,123,202,168,192, 3, 95,214
}; };
+117 -118
View File
@@ -1,5 +1,5 @@
/* powerpc64-linux.elf-fold.h /* powerpc64-linux.elf-fold.h
created from powerpc64-linux.elf-fold.bin, 3440 (0xd70) bytes created from powerpc64-linux.elf-fold.bin, 3416 (0xd58) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@@ -31,21 +31,21 @@
*/ */
#define STUB_POWERPC64_LINUX_ELF_FOLD_SIZE 3440 #define STUB_POWERPC64_LINUX_ELF_FOLD_SIZE 3416
#define STUB_POWERPC64_LINUX_ELF_FOLD_ADLER32 0xa6faa6d1 #define STUB_POWERPC64_LINUX_ELF_FOLD_ADLER32 0x72d69751
#define STUB_POWERPC64_LINUX_ELF_FOLD_CRC32 0xc9634fd1 #define STUB_POWERPC64_LINUX_ELF_FOLD_CRC32 0x45619dfa
unsigned char stub_powerpc64_linux_elf_fold[3440] = { unsigned char stub_powerpc64_linux_elf_fold[3416] = {
/* 0x0000 */ 127, 69, 76, 70, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0000 */ 127, 69, 76, 70, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 0, 2, 0, 21, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 13, 32, /* 0x0010 */ 0, 2, 0, 21, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 13, 8,
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0030 */ 0, 0, 0, 1, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 1, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0,
/* 0x0040 */ 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0040 */ 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0050 */ 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, /* 0x0050 */ 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
/* 0x0060 */ 0, 0, 0, 0, 0, 0, 13, 28, 0, 0, 0, 0, 0, 0, 13, 28, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 13, 8, 0, 0, 0, 0, 0, 0, 13, 8,
/* 0x0070 */ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, /* 0x0070 */ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6,
/* 0x0080 */ 0, 0, 0, 0, 0, 0, 13, 32, 0, 0, 0, 0, 0, 16, 13, 32, /* 0x0080 */ 0, 0, 0, 0, 0, 0, 13, 8, 0, 0, 0, 0, 0, 16, 13, 8,
/* 0x0090 */ 0, 0, 0, 0, 0, 16, 13, 32, 0, 0, 0, 0, 0, 0, 0, 80, /* 0x0090 */ 0, 0, 0, 0, 0, 16, 13, 8, 0, 0, 0, 0, 0, 0, 0, 80,
/* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0, 1, 0, 0, /* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0, 1, 0, 0,
/* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 96,255,248, /* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 96,255,248,
/* 0x00c0 */ 120, 99, 77,164, 78,128, 0, 32, 96, 0, 0, 0, 72, 0, 0,125, /* 0x00c0 */ 120, 99, 77,164, 78,128, 0, 32, 96, 0, 0, 0, 72, 0, 0,125,
@@ -76,7 +76,7 @@ unsigned char stub_powerpc64_linux_elf_fold[3440] = {
/* 0x0250 */ 126,228,187,120, 56,161, 0,144,127, 70,211,120,127,231,251,120, /* 0x0250 */ 126,228,187,120, 56,161, 0,144,127, 70,211,120,127,231,251,120,
/* 0x0260 */ 126,200,179,120, 56, 0, 0, 0,248,225, 0,112, 56,225, 0,112, /* 0x0260 */ 126,200,179,120, 56, 0, 0, 0,248,225, 0,112, 56,225, 0,112,
/* 0x0270 */ 248, 1, 0,120,249, 1, 0,128, 57, 1, 0,128,248, 1, 0,136, /* 0x0270 */ 248, 1, 0,120,249, 1, 0,128, 57, 1, 0,128,248, 1, 0,136,
/* 0x0280 */ 127,202,243,120, 72, 0, 8,129, 56, 33, 8,144,126,162,171,120, /* 0x0280 */ 127,202,243,120, 72, 0, 8,109, 56, 33, 8,144,126,162,171,120,
/* 0x0290 */ 112, 96, 0, 7, 64,130, 0, 36,128, 3, 0, 0, 40, 0, 0, 0, /* 0x0290 */ 112, 96, 0, 7, 64,130, 0, 36,128, 3, 0, 0, 40, 0, 0, 0,
/* 0x02a0 */ 64,130, 0, 24,232, 1, 1,136,232, 67, 0, 8,124, 66, 2, 20, /* 0x02a0 */ 64,130, 0, 24,232, 1, 1,136,232, 67, 0, 8,124, 66, 2, 20,
/* 0x02b0 */ 232, 99, 0, 0,124, 99, 2, 20,248,117, 0, 0,124,127, 27,120, /* 0x02b0 */ 232, 99, 0, 0,124, 99, 2, 20,248,117, 0, 0,124,127, 27,120,
@@ -106,7 +106,7 @@ unsigned char stub_powerpc64_linux_elf_fold[3440] = {
/* 0x0430 */ 125, 74, 74, 20,249, 67, 0, 8,233, 67, 0, 0,125, 41, 80, 80, /* 0x0430 */ 125, 74, 74, 20,249, 67, 0, 8,233, 67, 0, 0,125, 41, 80, 80,
/* 0x0440 */ 249, 35, 0, 0, 78,128, 0, 32, 0, 0, 0, 0, 0, 0, 0, 1, /* 0x0440 */ 249, 35, 0, 0, 78,128, 0, 32, 0, 0, 0, 0, 0, 0, 0, 1,
/* 0x0450 */ 128, 0, 0, 0,125,128, 0, 38,124, 8, 2,166,145,129, 0, 8, /* 0x0450 */ 128, 0, 0, 0,125,128, 0, 38,124, 8, 2,166,145,129, 0, 8,
/* 0x0460 */ 72, 0, 8, 81,248, 33,255, 81,124,126, 27,120,124,159, 35,120, /* 0x0460 */ 72, 0, 8, 61,248, 33,255, 81,124,126, 27,120,124,159, 35,120,
/* 0x0470 */ 124,189, 43,120,124,220, 51,120, 46, 38, 0, 0,233, 63, 0, 0, /* 0x0470 */ 124,189, 43,120,124,220, 51,120, 46, 38, 0, 0,233, 63, 0, 0,
/* 0x0480 */ 47,169, 0, 0, 65,158, 1, 84,127,195,243,120, 56,129, 0,112, /* 0x0480 */ 47,169, 0, 0, 65,158, 1, 84,127,195,243,120, 56,129, 0,112,
/* 0x0490 */ 56,160, 0, 12, 75,255,255, 81,129, 65, 0,112,129, 33, 0,116, /* 0x0490 */ 56,160, 0, 12, 75,255,255, 81,129, 65, 0,112,129, 33, 0,116,
@@ -130,125 +130,124 @@ unsigned char stub_powerpc64_linux_elf_fold[3440] = {
/* 0x05b0 */ 125, 37, 75,120, 75,255,254, 49,129, 1, 0,112,233, 95, 0, 8, /* 0x05b0 */ 125, 37, 75,120, 75,255,254, 49,129, 1, 0,112,233, 95, 0, 8,
/* 0x05c0 */ 233, 63, 0, 0,125, 74, 66, 20,125, 40, 72, 80,249, 95, 0, 8, /* 0x05c0 */ 233, 63, 0, 0,125, 74, 66, 20,125, 40, 72, 80,249, 95, 0, 8,
/* 0x05d0 */ 249, 63, 0, 0, 75,255,254,168, 56, 33, 0,176,129,129, 0, 8, /* 0x05d0 */ 249, 63, 0, 0, 75,255,254,168, 56, 33, 0,176,129,129, 0, 8,
/* 0x05e0 */ 125,144,129, 32, 72, 0, 7, 28, 0, 0, 0, 0, 0, 0, 0, 3, /* 0x05e0 */ 125,144,129, 32, 72, 0, 7, 8, 0, 0, 0, 0, 0, 0, 0, 3,
/* 0x05f0 */ 128, 4, 0, 0, 44, 35, 0, 0, 77,130, 0, 32,120,105, 7,225, /* 0x05f0 */ 128, 4, 0, 0, 44, 35, 0, 0, 77,130, 0, 32,120,105, 7,225,
/* 0x0600 */ 76,130, 0, 32, 47, 36, 0, 0,233, 67, 0, 0,127,170, 32, 64, /* 0x0600 */ 76,130, 0, 32, 47, 36, 0, 0,233, 67, 0, 0,127,170, 32, 64,
/* 0x0610 */ 64,158, 0, 16,248,131, 0, 0,248,163, 0, 8, 78,128, 0, 32, /* 0x0610 */ 64,158, 0, 16,248,131, 0, 0,248,163, 0, 8, 78,128, 0, 32,
/* 0x0620 */ 43,170, 0, 1, 64,158, 0, 12, 65,154, 0, 16, 75,255,255,232, /* 0x0620 */ 43,170, 0, 1, 64,158, 0, 12, 65,154, 0, 16, 75,255,255,232,
/* 0x0630 */ 47,170, 0, 0, 77,158, 0, 32, 56, 99, 0, 16, 75,255,255,204, /* 0x0630 */ 47,170, 0, 0, 77,158, 0, 32, 56, 99, 0, 16, 75,255,255,204,
/* 0x0640 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,125,128, 0, 38, /* 0x0640 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,125,128, 0, 38,
/* 0x0650 */ 124, 8, 2,166,145,129, 0, 8, 72, 0, 6, 33,248, 33,254,209, /* 0x0650 */ 124, 8, 2,166,145,129, 0, 8, 72, 0, 6, 13,125, 53, 75,120,
/* 0x0660 */ 125, 53, 75,120,233, 35, 0, 32, 46, 36, 0, 0,125, 15, 67,120, /* 0x0660 */ 233, 35, 0, 32, 46, 36, 0, 0,248, 33,254,209,125, 15, 67,120,
/* 0x0670 */ 161, 3, 0, 16,125, 95, 83,120,124,123, 27,120,248,161, 1,112, /* 0x0670 */ 161, 3, 0, 16,125, 94, 83,120,124,124, 27,120,124,177, 43,120,
/* 0x0680 */ 248,129, 0,128,124,216, 51,120,124,240, 59,120,126, 67, 74, 20, /* 0x0680 */ 124,216, 51,120,233, 85, 0, 0,124,240, 59,120,126, 67, 74, 20,
/* 0x0690 */ 233, 85, 0, 0, 65,146, 0, 88,232,234, 0, 32, 85, 8, 4, 62, /* 0x0690 */ 248,129, 0,128, 65,146, 0, 88,232,234, 0, 32, 85, 8, 4, 62,
/* 0x06a0 */ 47,136, 0, 2,124,234, 58, 20,232,103, 0, 72,124, 99, 80, 80, /* 0x06a0 */ 47,136, 0, 2,124,234, 58, 20,232,103, 0, 72,124, 99, 80, 80,
/* 0x06b0 */ 64,158, 0, 8,232,103, 0, 16,232,135, 0, 40, 56,160, 0, 0, /* 0x06b0 */ 64,158, 0, 8,232,103, 0, 16,232,135, 0, 40, 56,160, 0, 0,
/* 0x06c0 */ 56,192, 0, 50, 56,224,255,255, 57, 0, 0, 0, 75,255,252,185, /* 0x06c0 */ 56,192, 0, 50, 56,224,255,255, 57, 0, 0, 0, 75,255,252,185,
/* 0x06d0 */ 96, 0, 0, 0,161, 91, 0, 16, 59,192, 0, 0, 47,138, 0, 2, /* 0x06d0 */ 96, 0, 0, 0,161, 92, 0, 16, 59,224, 0, 0, 47,138, 0, 2,
/* 0x06e0 */ 65,158, 0,220,124,126, 27,120, 72, 0, 0,212, 85, 8, 4, 62, /* 0x06e0 */ 65,158, 0,220,124,127, 27,120, 72, 0, 0,212, 85, 8, 4, 62,
/* 0x06f0 */ 56,224, 0, 16, 47,136, 0, 3, 64,158, 0, 8, 56,224, 0, 0, /* 0x06f0 */ 56,224, 0, 16, 47,136, 0, 3, 64,158, 0, 8, 56,224, 0, 0,
/* 0x0700 */ 160,187, 0, 56, 56,231, 0, 34,125, 67, 83,120,120,230, 0, 32, /* 0x0700 */ 160,188, 0, 56, 56,231, 0, 34,125, 67, 83,120,120,230, 0, 32,
/* 0x0710 */ 126, 68,147,120, 56,165, 0, 1, 57, 0, 0, 0,124,169, 3,166, /* 0x0710 */ 126, 68,147,120, 56,165, 0, 1, 57, 0, 0, 0,124,169, 3,166,
/* 0x0720 */ 59,192,255,255, 66, 64, 0, 60,128,164, 0, 0, 47,133, 0, 1, /* 0x0720 */ 59,224,255,255, 66, 64, 0, 60,128,164, 0, 0, 47,133, 0, 1,
/* 0x0730 */ 64,158, 0, 40,233,100, 0, 16,127,190, 88, 64, 64,157, 0, 8, /* 0x0730 */ 64,158, 0, 40,233,100, 0, 16,127,191, 88, 64, 64,157, 0, 8,
/* 0x0740 */ 125,126, 91,120,232,164, 0, 40,124,171, 42, 20,127,168, 40, 64, /* 0x0740 */ 125,127, 91,120,232,164, 0, 40,124,171, 42, 20,127,168, 40, 64,
/* 0x0750 */ 64,156, 0, 8,124,168, 43,120, 56,132, 0, 56, 75,255,255,200, /* 0x0750 */ 64,156, 0, 8,124,168, 43,120, 56,132, 0, 56, 75,255,255,200,
/* 0x0760 */ 127,228,248,248,127,222,248, 56,125, 4, 66, 20,120,233,231,227, /* 0x0760 */ 127,196,240,248,127,255,240, 56,125, 4, 66, 20,120,233,231,227,
/* 0x0770 */ 125, 30, 64, 80,125, 4,248, 56, 64,130, 0, 28, 47,190, 0, 0, /* 0x0770 */ 125, 31, 64, 80,125, 4,240, 56, 64,130, 0, 28, 47,191, 0, 0,
/* 0x0780 */ 64,158, 0, 28, 47,170, 0, 0, 65,158, 0, 24, 56,192, 0, 50, /* 0x0780 */ 64,158, 0, 28, 47,170, 0, 0, 65,158, 0, 24, 56,192, 0, 50,
/* 0x0790 */ 72, 0, 0, 16,127,195,243,120, 72, 0, 0, 8, 56, 96, 0, 0, /* 0x0790 */ 72, 0, 0, 16,127,227,251,120, 72, 0, 0, 8, 56, 96, 0, 0,
/* 0x07a0 */ 56,160, 0, 0,124,198, 7,180, 56,224,255,255, 57, 0, 0, 0, /* 0x07a0 */ 56,160, 0, 0,124,198, 7,180, 56,224,255,255, 57, 0, 0, 0,
/* 0x07b0 */ 75,255,251,213, 96, 0, 0, 0,127,222, 24, 80, 57, 62, 0,120, /* 0x07b0 */ 75,255,251,213, 96, 0, 0, 0,127,255, 24, 80, 57, 63, 0,120,
/* 0x07c0 */ 127,243,248,248,249, 33, 0,144,127,255,248,248,123, 9, 7,164, /* 0x07c0 */ 127,211,240,248,249, 33, 0,144,127,222,240,248,123, 9, 7,164,
/* 0x07d0 */ 251,225, 0,136,249, 33, 0,152, 62,224, 0, 1, 61,192, 78,128, /* 0x07d0 */ 251,193, 0,136,249, 33, 0,152, 62,224, 0, 1, 59, 32, 0, 0,
/* 0x07e0 */ 122,247,131,228, 59, 32, 0, 0, 98,247, 0, 1, 97,206, 0, 32, /* 0x07e0 */ 122,247,131,228, 98,247, 0, 1, 57,192, 0, 0,161, 92, 0, 56,
/* 0x07f0 */ 161, 91, 0, 56,127,138,200, 0, 64,157, 2,204,129, 82, 0, 0, /* 0x07f0 */ 127,138,200, 0, 64,157, 2,188,129, 82, 0, 0, 65,146, 0, 36,
/* 0x0800 */ 65,146, 0, 36, 47,138, 0, 6, 64,158, 0, 28,232,178, 0, 16, /* 0x0800 */ 47,138, 0, 6, 64,158, 0, 28,232,178, 0, 16,127, 3,195,120,
/* 0x0810 */ 127, 3,195,120, 56,128, 0, 3,124,190, 42, 20, 75,255,253,217, /* 0x0810 */ 56,128, 0, 3,124,191, 42, 20, 75,255,253,221, 72, 0, 2,132,
/* 0x0820 */ 72, 0, 2,148, 47,138, 0, 1, 64,158, 2,140, 65,146, 0, 76, /* 0x0820 */ 47,138, 0, 1, 64,158, 2,124,131, 82, 0, 4, 61, 32,115, 81,
/* 0x0830 */ 233, 82, 0, 8, 47,170, 0, 0, 64,158, 0, 64,233, 91, 0, 32, /* 0x0830 */ 97, 41, 98, 64, 87, 90, 22,250,125, 58,212, 48, 87, 84, 7,126,
/* 0x0840 */ 232,178, 0, 16,127, 3,195,120, 56,128, 0, 3,125, 94, 82, 20, /* 0x0840 */ 65,146, 0, 76,233, 82, 0, 8, 47,170, 0, 0, 64,158, 0, 64,
/* 0x0850 */ 124,170, 42, 20, 75,255,253,161,160,187, 0, 56,127, 3,195,120, /* 0x0850 */ 233, 92, 0, 32,232,178, 0, 16,127, 3,195,120, 56,128, 0, 3,
/* 0x0860 */ 56,128, 0, 5, 75,255,253,145,160,187, 0, 54,127, 3,195,120, /* 0x0860 */ 125, 95, 82, 20,124,170, 42, 20, 75,255,253,141,160,188, 0, 56,
/* 0x0870 */ 56,128, 0, 4, 75,255,253,129,235,178, 0, 16,131, 82, 0, 4, /* 0x0870 */ 127, 3,195,120, 56,128, 0, 5, 75,255,253,125,160,188, 0, 54,
/* 0x0880 */ 61, 32,115, 81,235,146, 0, 32,234,210, 0, 40, 97, 41, 98, 64, /* 0x0880 */ 127, 3,195,120, 56,128, 0, 4, 75,255,253,109,235,210, 0, 16,
/* 0x0890 */ 127,190,234, 20, 87, 90, 22,250,251,129, 0,112,127,168,152, 56, /* 0x0890 */ 235,114, 0, 32,234,210, 0, 40,233, 33, 0,136,127,223,242, 20,
/* 0x08a0 */ 125, 58,212, 48,121, 17, 0, 32,127,232,226, 20,251,161, 0,120, /* 0x08a0 */ 251, 97, 0,112,127,202,152, 56,127,190,218, 20,251,193, 0,120,
/* 0x08b0 */ 233, 33, 0,136,127,145,226, 20,126,221,178, 20,127,177,232, 80, /* 0x08b0 */ 121, 74, 0, 32,126,222,178, 20,127,106,218, 20,127,202,240, 80,
/* 0x08c0 */ 127,255, 0,208,124,125,226, 20,127,255,152, 56,124, 99, 0,208, /* 0x08c0 */ 125, 30,218, 20,125, 8, 0,208,125, 8, 72, 56,127,104,218, 20,
/* 0x08d0 */ 87, 84, 7,126,124, 99, 72, 56,123,255, 0, 32,127,131,226, 20, /* 0x08d0 */ 64,146, 0, 12, 56,160, 0, 0, 72, 0, 0, 8, 56,160, 0, 2,
/* 0x08e0 */ 64,146, 0, 12, 56,160, 0, 0, 72, 0, 0, 8, 56,160, 0, 2, /* 0x08e0 */ 124,165,163,120,124,165, 7,180, 64,146, 0, 16,126, 39,139,120,
/* 0x08f0 */ 124,165,163,120,124,165, 7,180, 64,146, 0, 16,232,225, 1,112, /* 0x08f0 */ 56,192, 0, 18, 72, 0, 0, 12, 56,192, 0, 50, 56,224,255,255,
/* 0x0900 */ 56,192, 0, 18, 72, 0, 0, 12, 56,192, 0, 50, 56,224,255,255, /* 0x0900 */ 233, 18, 0, 8,127,195,243,120,127,100,219,120,125, 10, 64, 80,
/* 0x0910 */ 233, 18, 0, 8,127,163,235,120,127,132,227,120,125, 17, 64, 80, /* 0x0910 */ 75,255,250,117, 96, 0, 0, 0,127,190, 24, 0, 65,254, 0, 16,
/* 0x0920 */ 75,255,250,101, 96, 0, 0, 0,127,189, 24, 0, 65,254, 0, 16, /* 0x0920 */ 56, 96, 0,127, 75,255,250,121, 96, 0, 0, 0, 65,146, 0, 24,
/* 0x0930 */ 56, 96, 0,127, 75,255,250,105, 96, 0, 0, 0, 65,146, 0, 24, /* 0x0930 */ 232, 97, 0,128, 56,129, 0,112,126, 5,131,120,125,230,123,120,
/* 0x0940 */ 232, 97, 0,128, 56,129, 0,112,126, 5,131,120,125,230,123,120, /* 0x0940 */ 75,255,251, 21,123, 73,255,227, 65,130, 0, 48,125, 93, 0,208,
/* 0x0950 */ 75,255,251, 5,123, 73,255,227, 64,130, 0, 12, 64,146, 0, 52, /* 0x0950 */ 57, 29,255,255,125, 74,152, 56,121, 74, 0, 33, 64,130, 0, 12,
/* 0x0960 */ 72, 0, 1, 28, 47,191, 0, 0,233, 82, 0, 32, 65,158,255,240, /* 0x0960 */ 127,189, 82, 20, 72, 0, 0, 20,125, 73, 3,166,157,200, 0, 1,
/* 0x0970 */ 125, 81, 82, 20, 57, 74,255,255,127,233, 3,166,125, 93, 82, 20, /* 0x0970 */ 66, 0,255,252, 75,255,255,236, 65,146, 0,248,233, 82, 0, 0,
/* 0x0980 */ 57, 32, 0, 0,157, 42, 0, 1, 66, 0,255,248, 75,255,255,208, /* 0x0980 */ 121, 74, 7,194,121, 74, 0, 2,127,170,184, 0, 64,158, 0,200,
/* 0x0990 */ 233, 82, 0, 0,121, 74, 7,194,121, 74, 0, 2,127,170,184, 0, /* 0x0990 */ 235, 82, 0, 40,233, 82, 0, 32,233, 18, 0, 16,127,186, 80, 0,
/* 0x09a0 */ 64,158, 0,192,235, 82, 0, 40,233, 82, 0, 32,233, 18, 0, 16, /* 0x09a0 */ 64,158, 0, 36,127, 90, 66, 20,127, 90,250, 20,125, 90, 0,208,
/* 0x09b0 */ 127,186, 80, 0, 64,158, 0, 36,127, 90, 66, 20,127, 90,242, 20, /* 0x09b0 */ 125, 74,152, 56, 43,138, 0, 15, 64,157, 0, 12, 57, 64, 0, 0,
/* 0x09c0 */ 125, 90, 0,208,125, 74,152, 56, 43,138, 0, 15, 64,157, 0, 12, /* 0x09c0 */ 72, 0, 0, 60,233, 82, 0, 8, 47,170, 0, 0, 65,158, 1, 8,
/* 0x09d0 */ 57, 64, 0, 0, 72, 0, 0, 60,233, 82, 0, 8, 47,170, 0, 0, /* 0x09d0 */ 56, 96, 0, 0, 56,128, 16, 0, 56,160, 0, 3, 56,192, 0, 34,
/* 0x09e0 */ 65,158, 1, 8, 56, 96, 0, 0, 56,128, 16, 0, 56,160, 0, 3, /* 0x09e0 */ 56,224,255,255, 57, 0, 0, 0, 75,255,249,157, 96, 0, 0, 0,
/* 0x09f0 */ 56,192, 0, 34, 56,224,255,255, 57, 0, 0, 0, 75,255,249,137, /* 0x09f0 */ 124,122, 27,121, 65,130, 0, 96, 57, 64, 0, 1, 61, 32, 68, 0,
/* 0x0a00 */ 96, 0, 0, 0,124,122, 27,121, 65,130, 0, 88, 57, 64, 0, 1, /* 0x0a00 */ 47,170, 0, 0, 97, 41, 0, 2,145, 58, 0, 0, 61, 32,127,236,
/* 0x0a10 */ 61, 32, 68, 0, 47,170, 0, 0,145,218, 0, 12, 97, 41, 0, 2, /* 0x0a10 */ 97, 41,251,120,145, 58, 0, 4, 61, 32, 56,128,145, 58, 0, 8,
/* 0x0a20 */ 145, 58, 0, 0, 61, 32,127,236, 97, 41,251,120,145, 58, 0, 4, /* 0x0a20 */ 61, 32, 78,128, 97, 41, 0, 32,145, 58, 0, 12, 65,158, 0, 24,
/* 0x0a30 */ 61, 32, 56,128,145, 58, 0, 8, 65,158, 0, 24,127, 67,211,120, /* 0x0a30 */ 127, 67,211,120, 56,128, 0, 12, 56,160, 0, 5, 75,255,249,145,
/* 0x0a40 */ 56,128, 0, 12, 56,160, 0, 5, 75,255,249,133, 96, 0, 0, 0, /* 0x0a40 */ 96, 0, 0, 0,232, 97, 0,152, 56,128, 0, 0,127, 69,211,120,
/* 0x0a50 */ 232, 97, 0,152, 56,128, 0, 0,127, 69,211,120, 75,255,251,153, /* 0x0a50 */ 75,255,251,165,127,195,243,120,127,100,219,120,126,133, 7,180,
/* 0x0a60 */ 127,163,235,120,127,132,227,120,126,133, 7,180, 75,255,249, 97, /* 0x0a60 */ 75,255,249,109, 96, 0, 0, 0, 47,163, 0, 0, 64,222,254,180,
/* 0x0a70 */ 96, 0, 0, 0, 47,163, 0, 0, 64,222,254,184,127,252,250, 20, /* 0x0a70 */ 127,189,176, 64, 64,156, 0, 44,127,163,235,120,124,157,176, 80,
/* 0x0a80 */ 127,189,250, 20,127,189,176, 64, 64,156, 0, 44,127,163,235,120, /* 0x0a80 */ 126,133, 7,180, 56,192, 0, 50, 56,224,255,255, 57, 0, 0, 0,
/* 0x0a90 */ 124,157,176, 80,126,133, 7,180, 56,192, 0, 50, 56,224,255,255, /* 0x0a90 */ 75,255,248,245, 96, 0, 0, 0,127,189, 24, 0, 64,222,254,132,
/* 0x0aa0 */ 57, 0, 0, 0, 75,255,248,225, 96, 0, 0, 0,127,189, 24, 0, /* 0x0aa0 */ 59, 57, 0, 1, 58, 82, 0, 56,127, 57, 7,180, 75,255,253, 64,
/* 0x0ab0 */ 64,222,254,128, 59, 57, 0, 1, 58, 82, 0, 56,127, 57, 7,180, /* 0x0ab0 */ 47,181, 0, 0, 65,158, 0, 8,251,245, 0, 0, 56, 33, 1, 48,
/* 0x0ac0 */ 75,255,253, 48, 47,181, 0, 0, 65,158, 0, 8,251,213, 0, 0, /* 0x0ac0 */ 232,124, 0, 24,124,127, 26, 20,129,129, 0, 8,125,144,129, 32,
/* 0x0ad0 */ 56, 33, 1, 48,232,123, 0, 24,124,126, 26, 20,129,129, 0, 8, /* 0x0ad0 */ 72, 0, 1,228,233, 33, 0,144,127, 73, 66, 20, 59, 90, 0, 24,
/* 0x0ae0 */ 125,144,129, 32, 72, 0, 1,228,233, 33, 0,144,127, 73, 66, 20, /* 0x0ae0 */ 75,255,255, 28, 0, 0, 0, 0, 0, 0, 0, 3,128, 18, 0, 0,
/* 0x0af0 */ 59, 90, 0, 24, 75,255,255, 28, 0, 0, 0, 0, 0, 0, 0, 3, /* 0x0af0 */ 124, 8, 2,166, 72, 0, 1,153,248, 33,255, 17,125, 61, 75,120,
/* 0x0b00 */ 128, 18, 0, 0,124, 8, 2,166, 72, 0, 1,153,248, 33,255, 17, /* 0x0b00 */ 129, 35, 0, 0,124,191, 43,120,124,218, 51,120, 56,192, 0, 0,
/* 0x0b10 */ 125, 61, 75,120,129, 35, 0, 0,124,191, 43,120,124,218, 51,120, /* 0x0b10 */ 125, 88, 83,120,249, 33, 0,144,248,161, 0,152,124,229, 59,120,
/* 0x0b20 */ 56,192, 0, 0,125, 88, 83,120,249, 33, 0,144,248,161, 0,152, /* 0x0b20 */ 59,159, 0, 64,129, 35, 0, 4,248, 97, 0,120, 59,192, 0, 0,
/* 0x0b30 */ 124,229, 59,120, 59,159, 0, 64,129, 35, 0, 4,248, 97, 0,120, /* 0x0b30 */ 248, 97, 0,136,248,129, 0,128, 57, 41, 0, 12,248,225, 0,160,
/* 0x0b40 */ 59,192, 0, 0,248, 97, 0,136,248,129, 0,128, 57, 41, 0, 12, /* 0x0b40 */ 249, 1, 0,168,249, 33, 0,112, 56, 97, 0,112, 56,129, 0,144,
/* 0x0b50 */ 248,225, 0,160,249, 1, 0,168,249, 33, 0,112, 56, 97, 0,112, /* 0x0b50 */ 75,255,249, 5,232,225, 0,160,233, 1, 0,168, 56,129, 0,128,
/* 0x0b60 */ 56,129, 0,144, 75,255,248,241,232,225, 0,160,233, 1, 0,168, /* 0x0b60 */ 56,160, 0, 0,127, 70,211,120,127,169,235,120,127, 10,195,120,
/* 0x0b70 */ 56,129, 0,128, 56,160, 0, 0,127, 70,211,120,127,169,235,120, /* 0x0b70 */ 127,227,251,120, 75,255,250,217, 56,128, 0, 9,124,123, 27,120,
/* 0x0b80 */ 127, 10,195,120,127,227,251,120, 75,255,250,197, 56,128, 0, 9, /* 0x0b80 */ 127, 67,211,120,127,101,219,120, 75,255,250,109,161, 63, 0, 56,
/* 0x0b90 */ 124,123, 27,120,127, 67,211,120,127,101,219,120, 75,255,250, 89, /* 0x0b90 */ 127,137,240, 64, 64,157, 0,184,129, 60, 0, 0, 47,137, 0, 3,
/* 0x0ba0 */ 161, 63, 0, 56,127,137,240, 64, 64,157, 0,184,129, 60, 0, 0, /* 0x0ba0 */ 64,158, 0,156,232,124, 0, 16,233, 61, 0, 0, 56,128, 0, 0,
/* 0x0bb0 */ 47,137, 0, 3, 64,158, 0,156,232,124, 0, 16,233, 61, 0, 0, /* 0x0bb0 */ 56,160, 0, 0,124, 99, 74, 20, 75,255,248, 5, 96, 0, 0, 0,
/* 0x0bc0 */ 56,128, 0, 0, 56,160, 0, 0,124, 99, 74, 20, 75,255,247,241, /* 0x0bc0 */ 47,131, 0, 0,124,121, 27,120, 64,252, 0, 16, 56, 96, 0,127,
/* 0x0bd0 */ 96, 0, 0, 0, 47,131, 0, 0,124,121, 27,120, 64,252, 0, 16, /* 0x0bd0 */ 75,255,247,205, 96, 0, 0, 0,127,228,251,120, 56,160, 4, 0,
/* 0x0be0 */ 56, 96, 0,127, 75,255,247,185, 96, 0, 0, 0,127,228,251,120, /* 0x0be0 */ 75,255,247,213, 96, 0, 0, 0, 47,163, 4, 0, 64,222,255,224,
/* 0x0bf0 */ 56,160, 4, 0, 75,255,247,193, 96, 0, 0, 0, 47,163, 4, 0, /* 0x0bf0 */ 57, 32, 0, 0, 56,128, 0, 0,249, 61, 0, 0,127, 37,203,120,
/* 0x0c00 */ 64,222,255,224, 57, 32, 0, 0, 56,128, 0, 0,249, 61, 0, 0, /* 0x0c00 */ 56,192, 0, 0, 56,224, 0, 0, 57, 0, 0, 0,127,169,235,120,
/* 0x0c10 */ 127, 37,203,120, 56,192, 0, 0, 56,224, 0, 0, 57, 0, 0, 0, /* 0x0c10 */ 127, 10,195,120,127,227,251,120, 75,255,250, 53,232,189, 0, 0,
/* 0x0c20 */ 127,169,235,120,127, 10,195,120,127,227,251,120, 75,255,250, 33, /* 0x0c20 */ 56,128, 0, 7,124,123, 27,120,127, 67,211,120, 75,255,249,201,
/* 0x0c30 */ 232,189, 0, 0, 56,128, 0, 7,124,123, 27,120,127, 67,211,120, /* 0x0c30 */ 127, 35,203,120, 75,255,247,145, 96, 0, 0, 0, 59,222, 0, 1,
/* 0x0c40 */ 75,255,249,181,127, 35,203,120, 75,255,247,125, 96, 0, 0, 0, /* 0x0c40 */ 59,156, 0, 56,123,222, 0, 32, 75,255,255, 68, 56, 33, 0,240,
/* 0x0c50 */ 59,222, 0, 1, 59,156, 0, 56,123,222, 0, 32, 75,255,255, 68, /* 0x0c50 */ 127, 99,219,120, 72, 0, 0,136, 0, 0, 0, 0, 0, 0, 0, 1,
/* 0x0c60 */ 56, 33, 0,240,127, 99,219,120, 72, 0, 0,136, 0, 0, 0, 0, /* 0x0c60 */ 128, 8, 0, 0,249,193,255,112,249,225,255,120,250, 1,255,128,
/* 0x0c70 */ 0, 0, 0, 1,128, 8, 0, 0,249,193,255,112,249,225,255,120, /* 0x0c70 */ 250, 33,255,136,250, 65,255,144,250, 97,255,152,250,129,255,160,
/* 0x0c80 */ 250, 1,255,128,250, 33,255,136,250, 65,255,144,250, 97,255,152, /* 0x0c80 */ 250,161,255,168,250,193,255,176,250,225,255,184,251, 1,255,192,
/* 0x0c90 */ 250,129,255,160,250,161,255,168,250,193,255,176,250,225,255,184, /* 0x0c90 */ 251, 33,255,200,251, 65,255,208,251, 97,255,216,251,129,255,224,
/* 0x0ca0 */ 251, 1,255,192,251, 33,255,200,251, 65,255,208,251, 97,255,216, /* 0x0ca0 */ 251,161,255,232,251,193,255,240,251,225,255,248,248, 1, 0, 16,
/* 0x0cb0 */ 251,129,255,224,251,161,255,232,251,193,255,240,251,225,255,248, /* 0x0cb0 */ 78,128, 0, 32,233,193,255,112,233,225,255,120,234, 1,255,128,
/* 0x0cc0 */ 248, 1, 0, 16, 78,128, 0, 32,233,193,255,112,233,225,255,120, /* 0x0cc0 */ 234, 33,255,136,234, 65,255,144,234, 97,255,152,234,129,255,160,
/* 0x0cd0 */ 234, 1,255,128,234, 33,255,136,234, 65,255,144,234, 97,255,152, /* 0x0cd0 */ 234,161,255,168,234,193,255,176,234,225,255,184,235, 1,255,192,
/* 0x0ce0 */ 234,129,255,160,234,161,255,168,234,193,255,176,234,225,255,184, /* 0x0ce0 */ 235, 33,255,200,235, 65,255,208,235, 97,255,216,235,129,255,224,
/* 0x0cf0 */ 235, 1,255,192,235, 33,255,200,235, 65,255,208,235, 97,255,216, /* 0x0cf0 */ 232, 1, 0, 16,235,161,255,232,124, 8, 3,166,235,193,255,240,
/* 0x0d00 */ 235,129,255,224,232, 1, 0, 16,235,161,255,232,124, 8, 3,166, /* 0x0d00 */ 235,225,255,248, 78,128, 0, 32, 0, 0, 0, 0, 0, 16, 3,228,
/* 0x0d10 */ 235,193,255,240,235,225,255,248, 78,128, 0, 32, 0, 0, 0, 0, /* 0x0d10 */ 0, 0, 0, 0, 0, 16,141, 8, 0, 0, 0, 0, 0, 16, 4, 84,
/* 0x0d20 */ 0, 0, 0, 0, 0, 16, 3,228, 0, 0, 0, 0, 0, 16,141, 32, /* 0x0d20 */ 0, 0, 0, 0, 0, 16,141, 8, 0, 0, 0, 0, 0, 16, 5,244,
/* 0x0d30 */ 0, 0, 0, 0, 0, 16, 4, 84, 0, 0, 0, 0, 0, 16,141, 32, /* 0x0d30 */ 0, 0, 0, 0, 0, 16,141, 8, 0, 0, 0, 0, 0, 16, 6, 76,
/* 0x0d40 */ 0, 0, 0, 0, 0, 16, 5,244, 0, 0, 0, 0, 0, 16,141, 32, /* 0x0d40 */ 0, 0, 0, 0, 0, 16,141, 8, 0, 0, 0, 0, 0, 16, 10,240,
/* 0x0d50 */ 0, 0, 0, 0, 0, 16, 6, 76, 0, 0, 0, 0, 0, 16,141, 32, /* 0x0d50 */ 0, 0, 0, 0, 0, 16,141, 8
/* 0x0d60 */ 0, 0, 0, 0, 0, 16, 11, 4, 0, 0, 0, 0, 0, 16,141, 32
}; };
+117 -118
View File
@@ -1,5 +1,5 @@
/* powerpc64le-linux.elf-fold.h /* powerpc64le-linux.elf-fold.h
created from powerpc64le-linux.elf-fold.bin, 3427 (0xd63) bytes created from powerpc64le-linux.elf-fold.bin, 3411 (0xd53) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@@ -31,21 +31,21 @@
*/ */
#define STUB_POWERPC64LE_LINUX_ELF_FOLD_SIZE 3427 #define STUB_POWERPC64LE_LINUX_ELF_FOLD_SIZE 3411
#define STUB_POWERPC64LE_LINUX_ELF_FOLD_ADLER32 0xf645a5d4 #define STUB_POWERPC64LE_LINUX_ELF_FOLD_ADLER32 0xaf5a969c
#define STUB_POWERPC64LE_LINUX_ELF_FOLD_CRC32 0x0dddb645 #define STUB_POWERPC64LE_LINUX_ELF_FOLD_CRC32 0x1dfc8e06
unsigned char stub_powerpc64le_linux_elf_fold[3427] = { unsigned char stub_powerpc64le_linux_elf_fold[3411] = {
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 2, 0, 21, 0, 1, 0, 0, 0, 24, 13, 16, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0, 21, 0, 1, 0, 0, 0, 8, 13, 16, 0, 0, 0, 0, 0,
/* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0030 */ 1, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 1, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0,
/* 0x0040 */ 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0040 */ 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, /* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
/* 0x0060 */ 24, 13, 0, 0, 0, 0, 0, 0, 24, 13, 0, 0, 0, 0, 0, 0, /* 0x0060 */ 4, 13, 0, 0, 0, 0, 0, 0, 4, 13, 0, 0, 0, 0, 0, 0,
/* 0x0070 */ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, /* 0x0070 */ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0,
/* 0x0080 */ 24, 13, 0, 0, 0, 0, 0, 0, 24, 13, 16, 0, 0, 0, 0, 0, /* 0x0080 */ 8, 13, 0, 0, 0, 0, 0, 0, 8, 13, 16, 0, 0, 0, 0, 0,
/* 0x0090 */ 24, 13, 16, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, /* 0x0090 */ 8, 13, 16, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0,
/* 0x00a0 */ 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, /* 0x00a0 */ 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
/* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,255, 96, 56, /* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,255, 96, 56,
/* 0x00c0 */ 164, 77, 99,120, 32, 0,128, 78, 0, 0, 0, 96,125, 0, 0, 72, /* 0x00c0 */ 164, 77, 99,120, 32, 0,128, 78, 0, 0, 0, 96,125, 0, 0, 72,
@@ -76,7 +76,7 @@ unsigned char stub_powerpc64le_linux_elf_fold[3427] = {
/* 0x0250 */ 120,187,228,126,144, 0,161, 56,120,211, 70,127,120,251,231,127, /* 0x0250 */ 120,187,228,126,144, 0,161, 56,120,211, 70,127,120,251,231,127,
/* 0x0260 */ 120,179,200,126, 0, 0, 0, 56,112, 0,225,248,112, 0,225, 56, /* 0x0260 */ 120,179,200,126, 0, 0, 0, 56,112, 0,225,248,112, 0,225, 56,
/* 0x0270 */ 120, 0, 1,248,128, 0, 1,249,128, 0, 1, 57,136, 0, 1,248, /* 0x0270 */ 120, 0, 1,248,128, 0, 1,249,128, 0, 1, 57,136, 0, 1,248,
/* 0x0280 */ 120,243,202,127,125, 8, 0, 72,144, 8, 33, 56,120,171,162,126, /* 0x0280 */ 120,243,202,127,105, 8, 0, 72,144, 8, 33, 56,120,171,162,126,
/* 0x0290 */ 7, 0, 96,112, 36, 0,130, 64, 0, 0, 3,128, 0, 0, 0, 40, /* 0x0290 */ 7, 0, 96,112, 36, 0,130, 64, 0, 0, 3,128, 0, 0, 0, 40,
/* 0x02a0 */ 24, 0,130, 64,136, 1, 1,232, 8, 0, 67,232, 20, 2, 66,124, /* 0x02a0 */ 24, 0,130, 64,136, 1, 1,232, 8, 0, 67,232, 20, 2, 66,124,
/* 0x02b0 */ 0, 0, 99,232, 20, 2, 99,124, 0, 0,117,248,120, 27,127,124, /* 0x02b0 */ 0, 0, 99,232, 20, 2, 99,124, 0, 0,117,248,120, 27,127,124,
@@ -106,7 +106,7 @@ unsigned char stub_powerpc64le_linux_elf_fold[3427] = {
/* 0x0430 */ 20, 74, 74,125, 8, 0, 67,249, 0, 0, 67,233, 80, 80, 41,125, /* 0x0430 */ 20, 74, 74,125, 8, 0, 67,249, 0, 0, 67,233, 80, 80, 41,125,
/* 0x0440 */ 0, 0, 35,249, 32, 0,128, 78, 0, 0, 0, 0, 0, 0, 0, 1, /* 0x0440 */ 0, 0, 35,249, 32, 0,128, 78, 0, 0, 0, 0, 0, 0, 0, 1,
/* 0x0450 */ 128, 0, 0, 0, 38, 0,128,125,166, 2, 8,124, 8, 0,129,145, /* 0x0450 */ 128, 0, 0, 0, 38, 0,128,125,166, 2, 8,124, 8, 0,129,145,
/* 0x0460 */ 77, 8, 0, 72, 81,255, 33,248,120, 27,126,124,120, 35,159,124, /* 0x0460 */ 57, 8, 0, 72, 81,255, 33,248,120, 27,126,124,120, 35,159,124,
/* 0x0470 */ 120, 43,189,124,120, 51,220,124, 0, 0, 38, 46, 0, 0, 63,233, /* 0x0470 */ 120, 43,189,124,120, 51,220,124, 0, 0, 38, 46, 0, 0, 63,233,
/* 0x0480 */ 0, 0,169, 47, 84, 1,158, 65,120,243,195,127,112, 0,129, 56, /* 0x0480 */ 0, 0,169, 47, 84, 1,158, 65,120,243,195,127,112, 0,129, 56,
/* 0x0490 */ 12, 0,160, 56, 81,255,255, 75,112, 0, 65,129,116, 0, 33,129, /* 0x0490 */ 12, 0,160, 56, 81,255,255, 75,112, 0, 65,129,116, 0, 33,129,
@@ -130,125 +130,124 @@ unsigned char stub_powerpc64le_linux_elf_fold[3427] = {
/* 0x05b0 */ 120, 75, 37,125, 49,254,255, 75,112, 0, 1,129, 8, 0, 95,233, /* 0x05b0 */ 120, 75, 37,125, 49,254,255, 75,112, 0, 1,129, 8, 0, 95,233,
/* 0x05c0 */ 0, 0, 63,233, 20, 66, 74,125, 80, 72, 40,125, 8, 0, 95,249, /* 0x05c0 */ 0, 0, 63,233, 20, 66, 74,125, 80, 72, 40,125, 8, 0, 95,249,
/* 0x05d0 */ 0, 0, 63,249,168,254,255, 75,176, 0, 33, 56, 8, 0,129,129, /* 0x05d0 */ 0, 0, 63,249,168,254,255, 75,176, 0, 33, 56, 8, 0,129,129,
/* 0x05e0 */ 32,129,144,125, 24, 7, 0, 72, 0, 0, 0, 0, 0, 0, 0, 3, /* 0x05e0 */ 32,129,144,125, 4, 7, 0, 72, 0, 0, 0, 0, 0, 0, 0, 3,
/* 0x05f0 */ 128, 4, 0, 0, 0, 0, 35, 44, 32, 0,130, 77,225, 7,105,120, /* 0x05f0 */ 128, 4, 0, 0, 0, 0, 35, 44, 32, 0,130, 77,225, 7,105,120,
/* 0x0600 */ 32, 0,130, 76, 0, 0, 36, 47, 0, 0, 67,233, 64, 32,170,127, /* 0x0600 */ 32, 0,130, 76, 0, 0, 36, 47, 0, 0, 67,233, 64, 32,170,127,
/* 0x0610 */ 16, 0,158, 64, 0, 0,131,248, 8, 0,163,248, 32, 0,128, 78, /* 0x0610 */ 16, 0,158, 64, 0, 0,131,248, 8, 0,163,248, 32, 0,128, 78,
/* 0x0620 */ 1, 0,170, 43, 12, 0,158, 64, 16, 0,154, 65,232,255,255, 75, /* 0x0620 */ 1, 0,170, 43, 12, 0,158, 64, 16, 0,154, 65,232,255,255, 75,
/* 0x0630 */ 0, 0,170, 47, 32, 0,158, 77, 16, 0, 99, 56,204,255,255, 75, /* 0x0630 */ 0, 0,170, 47, 32, 0,158, 77, 16, 0, 99, 56,204,255,255, 75,
/* 0x0640 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,128,125, /* 0x0640 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0,128,125,
/* 0x0650 */ 166, 2, 8,124, 8, 0,129,145, 29, 6, 0, 72,209,254, 33,248, /* 0x0650 */ 166, 2, 8,124, 8, 0,129,145, 9, 6, 0, 72,120, 75, 53,125,
/* 0x0660 */ 120, 75, 53,125, 32, 0, 35,233, 0, 0, 36, 46,120, 67, 15,125, /* 0x0660 */ 32, 0, 35,233, 0, 0, 36, 46,209,254, 33,248,120, 67, 15,125,
/* 0x0670 */ 16, 0, 3,161,120, 83, 95,125,120, 27,123,124,112, 1,161,248, /* 0x0670 */ 16, 0, 3,161,120, 83, 94,125,120, 27,124,124,120, 43,177,124,
/* 0x0680 */ 128, 0,129,248,120, 51,216,124,120, 59,240,124, 20, 74, 67,126, /* 0x0680 */ 120, 51,216,124, 0, 0, 85,233,120, 59,240,124, 20, 74, 67,126,
/* 0x0690 */ 0, 0, 85,233, 88, 0,146, 65, 32, 0,234,232, 62, 4, 8, 85, /* 0x0690 */ 128, 0,129,248, 88, 0,146, 65, 32, 0,234,232, 62, 4, 8, 85,
/* 0x06a0 */ 2, 0,136, 47, 20, 58,234,124, 72, 0,103,232, 80, 80, 99,124, /* 0x06a0 */ 2, 0,136, 47, 20, 58,234,124, 72, 0,103,232, 80, 80, 99,124,
/* 0x06b0 */ 8, 0,158, 64, 16, 0,103,232, 40, 0,135,232, 0, 0,160, 56, /* 0x06b0 */ 8, 0,158, 64, 16, 0,103,232, 40, 0,135,232, 0, 0,160, 56,
/* 0x06c0 */ 50, 0,192, 56,255,255,224, 56, 0, 0, 0, 57,185,252,255, 75, /* 0x06c0 */ 50, 0,192, 56,255,255,224, 56, 0, 0, 0, 57,185,252,255, 75,
/* 0x06d0 */ 0, 0, 0, 96, 16, 0, 91,161, 0, 0,192, 59, 2, 0,138, 47, /* 0x06d0 */ 0, 0, 0, 96, 16, 0, 92,161, 0, 0,224, 59, 2, 0,138, 47,
/* 0x06e0 */ 220, 0,158, 65,120, 27,126,124,212, 0, 0, 72, 62, 4, 8, 85, /* 0x06e0 */ 220, 0,158, 65,120, 27,127,124,212, 0, 0, 72, 62, 4, 8, 85,
/* 0x06f0 */ 16, 0,224, 56, 3, 0,136, 47, 8, 0,158, 64, 0, 0,224, 56, /* 0x06f0 */ 16, 0,224, 56, 3, 0,136, 47, 8, 0,158, 64, 0, 0,224, 56,
/* 0x0700 */ 56, 0,187,160, 34, 0,231, 56,120, 83, 67,125, 32, 0,230,120, /* 0x0700 */ 56, 0,188,160, 34, 0,231, 56,120, 83, 67,125, 32, 0,230,120,
/* 0x0710 */ 120,147, 68,126, 1, 0,165, 56, 0, 0, 0, 57,166, 3,169,124, /* 0x0710 */ 120,147, 68,126, 1, 0,165, 56, 0, 0, 0, 57,166, 3,169,124,
/* 0x0720 */ 255,255,192, 59, 60, 0, 64, 66, 0, 0,164,128, 1, 0,133, 47, /* 0x0720 */ 255,255,224, 59, 60, 0, 64, 66, 0, 0,164,128, 1, 0,133, 47,
/* 0x0730 */ 40, 0,158, 64, 16, 0,100,233, 64, 88,190,127, 8, 0,157, 64, /* 0x0730 */ 40, 0,158, 64, 16, 0,100,233, 64, 88,191,127, 8, 0,157, 64,
/* 0x0740 */ 120, 91,126,125, 40, 0,164,232, 20, 42,171,124, 64, 40,168,127, /* 0x0740 */ 120, 91,127,125, 40, 0,164,232, 20, 42,171,124, 64, 40,168,127,
/* 0x0750 */ 8, 0,156, 64,120, 43,168,124, 56, 0,132, 56,200,255,255, 75, /* 0x0750 */ 8, 0,156, 64,120, 43,168,124, 56, 0,132, 56,200,255,255, 75,
/* 0x0760 */ 248,248,228,127, 56,248,222,127, 20, 66, 4,125,227,231,233,120, /* 0x0760 */ 248,240,196,127, 56,240,255,127, 20, 66, 4,125,227,231,233,120,
/* 0x0770 */ 80, 64, 30,125, 56,248, 4,125, 28, 0,130, 64, 0, 0,190, 47, /* 0x0770 */ 80, 64, 31,125, 56,240, 4,125, 28, 0,130, 64, 0, 0,191, 47,
/* 0x0780 */ 28, 0,158, 64, 0, 0,170, 47, 24, 0,158, 65, 50, 0,192, 56, /* 0x0780 */ 28, 0,158, 64, 0, 0,170, 47, 24, 0,158, 65, 50, 0,192, 56,
/* 0x0790 */ 16, 0, 0, 72,120,243,195,127, 8, 0, 0, 72, 0, 0, 96, 56, /* 0x0790 */ 16, 0, 0, 72,120,251,227,127, 8, 0, 0, 72, 0, 0, 96, 56,
/* 0x07a0 */ 0, 0,160, 56,180, 7,198,124,255,255,224, 56, 0, 0, 0, 57, /* 0x07a0 */ 0, 0,160, 56,180, 7,198,124,255,255,224, 56, 0, 0, 0, 57,
/* 0x07b0 */ 213,251,255, 75, 0, 0, 0, 96, 80, 24,222,127,120, 0, 62, 57, /* 0x07b0 */ 213,251,255, 75, 0, 0, 0, 96, 80, 24,255,127,120, 0, 63, 57,
/* 0x07c0 */ 248,248,243,127,144, 0, 33,249,248,248,255,127,164, 7, 9,123, /* 0x07c0 */ 248,240,211,127,144, 0, 33,249,248,240,222,127,164, 7, 9,123,
/* 0x07d0 */ 136, 0,225,251,152, 0, 33,249, 1, 0,224, 62,128, 78,192, 61, /* 0x07d0 */ 136, 0,193,251,152, 0, 33,249, 1, 0,224, 62, 0, 0, 32, 59,
/* 0x07e0 */ 228,131,247,122, 0, 0, 32, 59, 1, 0,247, 98, 32, 0,206, 97, /* 0x07e0 */ 228,131,247,122, 1, 0,247, 98, 0, 0,192, 57, 56, 0, 92,161,
/* 0x07f0 */ 56, 0, 91,161, 0,200,138,127,200, 2,157, 64, 0, 0, 82,129, /* 0x07f0 */ 0,200,138,127,184, 2,157, 64, 0, 0, 82,129, 36, 0,146, 65,
/* 0x0800 */ 36, 0,146, 65, 6, 0,138, 47, 28, 0,158, 64, 16, 0,178,232, /* 0x0800 */ 6, 0,138, 47, 28, 0,158, 64, 16, 0,178,232,120,195, 3,127,
/* 0x0810 */ 120,195, 3,127, 3, 0,128, 56, 20, 42,190,124,217,253,255, 75, /* 0x0810 */ 3, 0,128, 56, 20, 42,191,124,221,253,255, 75,128, 2, 0, 72,
/* 0x0820 */ 144, 2, 0, 72, 1, 0,138, 47,136, 2,158, 64, 76, 0,146, 65, /* 0x0820 */ 1, 0,138, 47,120, 2,158, 64, 4, 0, 82,131, 81,115, 32, 61,
/* 0x0830 */ 8, 0, 82,233, 0, 0,170, 47, 64, 0,158, 64, 32, 0, 91,233, /* 0x0830 */ 64, 98, 41, 97,250, 22, 90, 87, 48,212, 58,125,126, 7, 84, 87,
/* 0x0840 */ 16, 0,178,232,120,195, 3,127, 3, 0,128, 56, 20, 82, 94,125, /* 0x0840 */ 76, 0,146, 65, 8, 0, 82,233, 0, 0,170, 47, 64, 0,158, 64,
/* 0x0850 */ 20, 42,170,124,161,253,255, 75, 56, 0,187,160,120,195, 3,127, /* 0x0850 */ 32, 0, 92,233, 16, 0,178,232,120,195, 3,127, 3, 0,128, 56,
/* 0x0860 */ 5, 0,128, 56,145,253,255, 75, 54, 0,187,160,120,195, 3,127, /* 0x0860 */ 20, 82, 95,125, 20, 42,170,124,141,253,255, 75, 56, 0,188,160,
/* 0x0870 */ 4, 0,128, 56,129,253,255, 75, 16, 0,178,235, 4, 0, 82,131, /* 0x0870 */ 120,195, 3,127, 5, 0,128, 56,125,253,255, 75, 54, 0,188,160,
/* 0x0880 */ 81,115, 32, 61, 32, 0,146,235, 40, 0,210,234, 64, 98, 41, 97, /* 0x0880 */ 120,195, 3,127, 4, 0,128, 56,109,253,255, 75, 16, 0,210,235,
/* 0x0890 */ 20,234,190,127,250, 22, 90, 87,112, 0,129,251, 56,152,168,127, /* 0x0890 */ 32, 0,114,235, 40, 0,210,234,136, 0, 33,233, 20,242,223,127,
/* 0x08a0 */ 48,212, 58,125, 32, 0, 17,121, 20,226,232,127,120, 0,161,251, /* 0x08a0 */ 112, 0, 97,251, 56,152,202,127, 20,218,190,127,120, 0,193,251,
/* 0x08b0 */ 136, 0, 33,233, 20,226,145,127, 20,178,221,126, 80,232,177,127, /* 0x08b0 */ 32, 0, 74,121, 20,178,222,126, 20,218,106,127, 80,240,202,127,
/* 0x08c0 */ 208, 0,255,127, 20,226,125,124, 56,152,255,127,208, 0, 99,124, /* 0x08c0 */ 20,218, 30,125,208, 0, 8,125, 56, 72, 8,125, 20,218,104,127,
/* 0x08d0 */ 126, 7, 84, 87, 56, 72, 99,124, 32, 0,255,123, 20,226,131,127, /* 0x08d0 */ 12, 0,146, 64, 0, 0,160, 56, 8, 0, 0, 72, 2, 0,160, 56,
/* 0x08e0 */ 12, 0,146, 64, 0, 0,160, 56, 8, 0, 0, 72, 2, 0,160, 56, /* 0x08e0 */ 120,163,165,124,180, 7,165,124, 16, 0,146, 64,120,139, 39,126,
/* 0x08f0 */ 120,163,165,124,180, 7,165,124, 16, 0,146, 64,112, 1,225,232, /* 0x08f0 */ 18, 0,192, 56, 12, 0, 0, 72, 50, 0,192, 56,255,255,224, 56,
/* 0x0900 */ 18, 0,192, 56, 12, 0, 0, 72, 50, 0,192, 56,255,255,224, 56, /* 0x0900 */ 8, 0, 18,233,120,243,195,127,120,219,100,127, 80, 64, 10,125,
/* 0x0910 */ 8, 0, 18,233,120,235,163,127,120,227,132,127, 80, 64, 17,125, /* 0x0910 */ 117,250,255, 75, 0, 0, 0, 96, 0, 24,190,127, 16, 0,254, 65,
/* 0x0920 */ 101,250,255, 75, 0, 0, 0, 96, 0, 24,189,127, 16, 0,254, 65, /* 0x0920 */ 127, 0, 96, 56,121,250,255, 75, 0, 0, 0, 96, 24, 0,146, 65,
/* 0x0930 */ 127, 0, 96, 56,105,250,255, 75, 0, 0, 0, 96, 24, 0,146, 65, /* 0x0930 */ 128, 0, 97,232,112, 0,129, 56,120,131, 5,126,120,123,230,125,
/* 0x0940 */ 128, 0, 97,232,112, 0,129, 56,120,131, 5,126,120,123,230,125, /* 0x0940 */ 21,251,255, 75,227,255, 73,123, 48, 0,130, 65,208, 0, 93,125,
/* 0x0950 */ 5,251,255, 75,227,255, 73,123, 12, 0,130, 64, 52, 0,146, 64, /* 0x0950 */ 255,255, 29, 57, 56,152, 74,125, 33, 0, 74,121, 12, 0,130, 64,
/* 0x0960 */ 24, 1, 0, 72, 0, 0,191, 47, 32, 0, 82,233,240,255,158, 65, /* 0x0960 */ 20, 82,189,127, 20, 0, 0, 72,166, 3, 73,125, 1, 0,200,157,
/* 0x0970 */ 20, 82, 81,125,255,255, 74, 57,166, 3,233,127, 20, 82, 93,125, /* 0x0970 */ 252,255, 0, 66,236,255,255, 75,244, 0,146, 65, 0, 0, 82,233,
/* 0x0980 */ 0, 0, 32, 57, 1, 0, 42,157,248,255, 0, 66,208,255,255, 75, /* 0x0980 */ 192, 7, 74,121, 0,184,170,127,200, 0,158, 64, 40, 0, 82,235,
/* 0x0990 */ 0, 0, 82,233,192, 7, 74,121, 0,184,170,127,192, 0,158, 64, /* 0x0990 */ 32, 0, 82,233, 16, 0, 18,233, 0, 80,186,127, 36, 0,158, 64,
/* 0x09a0 */ 40, 0, 82,235, 32, 0, 82,233, 16, 0, 18,233, 0, 80,186,127, /* 0x09a0 */ 20, 66, 90,127, 20,250, 90,127,208, 0, 90,125, 56,152, 74,125,
/* 0x09b0 */ 36, 0,158, 64, 20, 66, 90,127, 20,242, 90,127,208, 0, 90,125, /* 0x09b0 */ 15, 0,138, 43, 12, 0,157, 64, 0, 0, 64, 57, 60, 0, 0, 72,
/* 0x09c0 */ 56,152, 74,125, 15, 0,138, 43, 12, 0,157, 64, 0, 0, 64, 57, /* 0x09c0 */ 8, 0, 82,233, 0, 0,170, 47, 8, 1,158, 65, 0, 0, 96, 56,
/* 0x09d0 */ 60, 0, 0, 72, 8, 0, 82,233, 0, 0,170, 47, 8, 1,158, 65, /* 0x09d0 */ 0, 16,128, 56, 3, 0,160, 56, 34, 0,192, 56,255,255,224, 56,
/* 0x09e0 */ 0, 0, 96, 56, 0, 16,128, 56, 3, 0,160, 56, 34, 0,192, 56, /* 0x09e0 */ 0, 0, 0, 57,161,249,255, 75, 0, 0, 0, 96,121, 27,122,124,
/* 0x09f0 */ 255,255,224, 56, 0, 0, 0, 57,141,249,255, 75, 0, 0, 0, 96, /* 0x09f0 */ 96, 0,130, 65, 1, 0, 64, 57, 0, 68, 32, 61, 0, 0,170, 47,
/* 0x0a00 */ 121, 27,122,124, 88, 0,130, 65, 1, 0, 64, 57, 0, 68, 32, 61, /* 0x0a00 */ 2, 0, 41, 97, 0, 0, 58,145,236,127, 32, 61,120,251, 41, 97,
/* 0x0a10 */ 0, 0,170, 47, 12, 0,218,145, 2, 0, 41, 97, 0, 0, 58,145, /* 0x0a10 */ 4, 0, 58,145,128, 56, 32, 61, 8, 0, 58,145,128, 78, 32, 61,
/* 0x0a20 */ 236,127, 32, 61,120,251, 41, 97, 4, 0, 58,145,128, 56, 32, 61, /* 0x0a20 */ 32, 0, 41, 97, 12, 0, 58,145, 24, 0,158, 65,120,211, 67,127,
/* 0x0a30 */ 8, 0, 58,145, 24, 0,158, 65,120,211, 67,127, 12, 0,128, 56, /* 0x0a30 */ 12, 0,128, 56, 5, 0,160, 56,149,249,255, 75, 0, 0, 0, 96,
/* 0x0a40 */ 5, 0,160, 56,137,249,255, 75, 0, 0, 0, 96,152, 0, 97,232, /* 0x0a40 */ 152, 0, 97,232, 0, 0,128, 56,120,211, 69,127,169,251,255, 75,
/* 0x0a50 */ 0, 0,128, 56,120,211, 69,127,157,251,255, 75,120,235,163,127, /* 0x0a50 */ 120,243,195,127,120,219,100,127,180, 7,133,126,113,249,255, 75,
/* 0x0a60 */ 120,227,132,127,180, 7,133,126,101,249,255, 75, 0, 0, 0, 96, /* 0x0a60 */ 0, 0, 0, 96, 0, 0,163, 47,184,254,222, 64, 64,176,189,127,
/* 0x0a70 */ 0, 0,163, 47,188,254,222, 64, 20,250,252,127, 20,250,189,127, /* 0x0a70 */ 44, 0,156, 64,120,235,163,127, 80,176,157,124,180, 7,133,126,
/* 0x0a80 */ 64,176,189,127, 44, 0,156, 64,120,235,163,127, 80,176,157,124, /* 0x0a80 */ 50, 0,192, 56,255,255,224, 56, 0, 0, 0, 57,249,248,255, 75,
/* 0x0a90 */ 180, 7,133,126, 50, 0,192, 56,255,255,224, 56, 0, 0, 0, 57, /* 0x0a90 */ 0, 0, 0, 96, 0, 24,189,127,136,254,222, 64, 1, 0, 57, 59,
/* 0x0aa0 */ 229,248,255, 75, 0, 0, 0, 96, 0, 24,189,127,132,254,222, 64, /* 0x0aa0 */ 56, 0, 82, 58,180, 7, 57,127, 68,253,255, 75, 0, 0,181, 47,
/* 0x0ab0 */ 1, 0, 57, 59, 56, 0, 82, 58,180, 7, 57,127, 52,253,255, 75, /* 0x0ab0 */ 8, 0,158, 65, 0, 0,245,251, 48, 1, 33, 56, 24, 0,124,232,
/* 0x0ac0 */ 0, 0,181, 47, 8, 0,158, 65, 0, 0,213,251, 48, 1, 33, 56, /* 0x0ac0 */ 20, 26,127,124, 8, 0,129,129, 32,129,144,125,228, 1, 0, 72,
/* 0x0ad0 */ 24, 0,123,232, 20, 26,126,124, 8, 0,129,129, 32,129,144,125, /* 0x0ad0 */ 144, 0, 33,233, 20, 66, 73,127, 24, 0, 90, 59, 28,255,255, 75,
/* 0x0ae0 */ 228, 1, 0, 72,144, 0, 33,233, 20, 66, 73,127, 24, 0, 90, 59, /* 0x0ae0 */ 0, 0, 0, 0, 0, 0, 0, 3,128, 18, 0, 0,166, 2, 8,124,
/* 0x0af0 */ 28,255,255, 75, 0, 0, 0, 0, 0, 0, 0, 3,128, 18, 0, 0, /* 0x0af0 */ 153, 1, 0, 72, 17,255, 33,248,120, 75, 61,125, 0, 0, 35,129,
/* 0x0b00 */ 166, 2, 8,124,153, 1, 0, 72, 17,255, 33,248,120, 75, 61,125, /* 0x0b00 */ 120, 43,191,124,120, 51,218,124, 0, 0,192, 56,120, 83, 88,125,
/* 0x0b10 */ 0, 0, 35,129,120, 43,191,124,120, 51,218,124, 0, 0,192, 56, /* 0x0b10 */ 144, 0, 33,249,152, 0,161,248,120, 59,229,124, 64, 0,159, 59,
/* 0x0b20 */ 120, 83, 88,125,144, 0, 33,249,152, 0,161,248,120, 59,229,124, /* 0x0b20 */ 4, 0, 35,129,120, 0, 97,248, 0, 0,192, 59,136, 0, 97,248,
/* 0x0b30 */ 64, 0,159, 59, 4, 0, 35,129,120, 0, 97,248, 0, 0,192, 59, /* 0x0b30 */ 128, 0,129,248, 12, 0, 41, 57,160, 0,225,248,168, 0, 1,249,
/* 0x0b40 */ 136, 0, 97,248,128, 0,129,248, 12, 0, 41, 57,160, 0,225,248, /* 0x0b40 */ 112, 0, 33,249,112, 0, 97, 56,144, 0,129, 56, 9,249,255, 75,
/* 0x0b50 */ 168, 0, 1,249,112, 0, 33,249,112, 0, 97, 56,144, 0,129, 56, /* 0x0b50 */ 160, 0,225,232,168, 0, 1,233,128, 0,129, 56, 0, 0,160, 56,
/* 0x0b60 */ 245,248,255, 75,160, 0,225,232,168, 0, 1,233,128, 0,129, 56, /* 0x0b60 */ 120,211, 70,127,120,235,169,127,120,195, 10,127,120,251,227,127,
/* 0x0b70 */ 0, 0,160, 56,120,211, 70,127,120,235,169,127,120,195, 10,127, /* 0x0b70 */ 221,250,255, 75, 9, 0,128, 56,120, 27,123,124,120,211, 67,127,
/* 0x0b80 */ 120,251,227,127,201,250,255, 75, 9, 0,128, 56,120, 27,123,124, /* 0x0b80 */ 120,219,101,127,113,250,255, 75, 56, 0, 63,161, 64,240,137,127,
/* 0x0b90 */ 120,211, 67,127,120,219,101,127, 93,250,255, 75, 56, 0, 63,161, /* 0x0b90 */ 184, 0,157, 64, 0, 0, 60,129, 3, 0,137, 47,156, 0,158, 64,
/* 0x0ba0 */ 64,240,137,127,184, 0,157, 64, 0, 0, 60,129, 3, 0,137, 47, /* 0x0ba0 */ 16, 0,124,232, 0, 0, 61,233, 0, 0,128, 56, 0, 0,160, 56,
/* 0x0bb0 */ 156, 0,158, 64, 16, 0,124,232, 0, 0, 61,233, 0, 0,128, 56, /* 0x0bb0 */ 20, 74, 99,124, 9,248,255, 75, 0, 0, 0, 96, 0, 0,131, 47,
/* 0x0bc0 */ 0, 0,160, 56, 20, 74, 99,124,245,247,255, 75, 0, 0, 0, 96, /* 0x0bc0 */ 120, 27,121,124, 16, 0,252, 64,127, 0, 96, 56,209,247,255, 75,
/* 0x0bd0 */ 0, 0,131, 47,120, 27,121,124, 16, 0,252, 64,127, 0, 96, 56, /* 0x0bd0 */ 0, 0, 0, 96,120,251,228,127, 0, 4,160, 56,217,247,255, 75,
/* 0x0be0 */ 189,247,255, 75, 0, 0, 0, 96,120,251,228,127, 0, 4,160, 56, /* 0x0be0 */ 0, 0, 0, 96, 0, 4,163, 47,224,255,222, 64, 0, 0, 32, 57,
/* 0x0bf0 */ 197,247,255, 75, 0, 0, 0, 96, 0, 4,163, 47,224,255,222, 64, /* 0x0bf0 */ 0, 0,128, 56, 0, 0, 61,249,120,203, 37,127, 0, 0,192, 56,
/* 0x0c00 */ 0, 0, 32, 57, 0, 0,128, 56, 0, 0, 61,249,120,203, 37,127, /* 0x0c00 */ 0, 0,224, 56, 0, 0, 0, 57,120,235,169,127,120,195, 10,127,
/* 0x0c10 */ 0, 0,192, 56, 0, 0,224, 56, 0, 0, 0, 57,120,235,169,127, /* 0x0c10 */ 120,251,227,127, 57,250,255, 75, 0, 0,189,232, 7, 0,128, 56,
/* 0x0c20 */ 120,195, 10,127,120,251,227,127, 37,250,255, 75, 0, 0,189,232, /* 0x0c20 */ 120, 27,123,124,120,211, 67,127,205,249,255, 75,120,203, 35,127,
/* 0x0c30 */ 7, 0,128, 56,120, 27,123,124,120,211, 67,127,185,249,255, 75, /* 0x0c30 */ 149,247,255, 75, 0, 0, 0, 96, 1, 0,222, 59, 56, 0,156, 59,
/* 0x0c40 */ 120,203, 35,127,129,247,255, 75, 0, 0, 0, 96, 1, 0,222, 59, /* 0x0c40 */ 32, 0,222,123, 68,255,255, 75,240, 0, 33, 56,120,219, 99,127,
/* 0x0c50 */ 56, 0,156, 59, 32, 0,222,123, 68,255,255, 75,240, 0, 33, 56, /* 0x0c50 */ 136, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 1,128, 8, 0, 0,
/* 0x0c60 */ 120,219, 99,127,136, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 1, /* 0x0c60 */ 112,255,193,249,120,255,225,249,128,255, 1,250,136,255, 33,250,
/* 0x0c70 */ 128, 8, 0, 0,112,255,193,249,120,255,225,249,128,255, 1,250, /* 0x0c70 */ 144,255, 65,250,152,255, 97,250,160,255,129,250,168,255,161,250,
/* 0x0c80 */ 136,255, 33,250,144,255, 65,250,152,255, 97,250,160,255,129,250, /* 0x0c80 */ 176,255,193,250,184,255,225,250,192,255, 1,251,200,255, 33,251,
/* 0x0c90 */ 168,255,161,250,176,255,193,250,184,255,225,250,192,255, 1,251, /* 0x0c90 */ 208,255, 65,251,216,255, 97,251,224,255,129,251,232,255,161,251,
/* 0x0ca0 */ 200,255, 33,251,208,255, 65,251,216,255, 97,251,224,255,129,251, /* 0x0ca0 */ 240,255,193,251,248,255,225,251, 16, 0, 1,248, 32, 0,128, 78,
/* 0x0cb0 */ 232,255,161,251,240,255,193,251,248,255,225,251, 16, 0, 1,248, /* 0x0cb0 */ 112,255,193,233,120,255,225,233,128,255, 1,234,136,255, 33,234,
/* 0x0cc0 */ 32, 0,128, 78,112,255,193,233,120,255,225,233,128,255, 1,234, /* 0x0cc0 */ 144,255, 65,234,152,255, 97,234,160,255,129,234,168,255,161,234,
/* 0x0cd0 */ 136,255, 33,234,144,255, 65,234,152,255, 97,234,160,255,129,234, /* 0x0cd0 */ 176,255,193,234,184,255,225,234,192,255, 1,235,200,255, 33,235,
/* 0x0ce0 */ 168,255,161,234,176,255,193,234,184,255,225,234,192,255, 1,235, /* 0x0ce0 */ 208,255, 65,235,216,255, 97,235,224,255,129,235, 16, 0, 1,232,
/* 0x0cf0 */ 200,255, 33,235,208,255, 65,235,216,255, 97,235,224,255,129,235, /* 0x0cf0 */ 232,255,161,235,166, 3, 8,124,240,255,193,235,248,255,225,235,
/* 0x0d00 */ 16, 0, 1,232,232,255,161,235,166, 3, 8,124,240,255,193,235, /* 0x0d00 */ 32, 0,128, 78, 0, 0, 0, 0,228, 3, 16, 0, 0, 0, 0, 0,
/* 0x0d10 */ 248,255,225,235, 32, 0,128, 78,228, 3, 16, 0, 0, 0, 0, 0, /* 0x0d10 */ 8,141, 16, 0, 0, 0, 0, 0, 84, 4, 16, 0, 0, 0, 0, 0,
/* 0x0d20 */ 24,141, 16, 0, 0, 0, 0, 0, 84, 4, 16, 0, 0, 0, 0, 0, /* 0x0d20 */ 8,141, 16, 0, 0, 0, 0, 0,244, 5, 16, 0, 0, 0, 0, 0,
/* 0x0d30 */ 24,141, 16, 0, 0, 0, 0, 0,244, 5, 16, 0, 0, 0, 0, 0, /* 0x0d30 */ 8,141, 16, 0, 0, 0, 0, 0, 76, 6, 16, 0, 0, 0, 0, 0,
/* 0x0d40 */ 24,141, 16, 0, 0, 0, 0, 0, 76, 6, 16, 0, 0, 0, 0, 0, /* 0x0d40 */ 8,141, 16, 0, 0, 0, 0, 0,236, 10, 16, 0, 0, 0, 0, 0,
/* 0x0d50 */ 24,141, 16, 0, 0, 0, 0, 0, 0, 11, 16, 0, 0, 0, 0, 0, /* 0x0d50 */ 8,141, 16
/* 0x0d60 */ 24,141, 16
}; };
+21 -15
View File
@@ -231,7 +231,7 @@ make_hatch_x86_64(
{ {
unsigned xprot = 0; unsigned xprot = 0;
unsigned *hatch = 0; unsigned *hatch = 0;
DPRINTF("make_hatch %%p %%x %%x\\n",phdr,reloc,frag_mask); DPRINTF("make_hatch %%p %%x %%x %%x\\n",phdr,reloc,frag_mask, phdr->p_flags);
if (phdr->p_type==PT_LOAD && phdr->p_flags & PF_X) { if (phdr->p_type==PT_LOAD && phdr->p_flags & PF_X) {
if ( if (
// Try page fragmentation just beyond .text . // Try page fragmentation just beyond .text .
@@ -255,6 +255,7 @@ make_hatch_x86_64(
hatch = 0; hatch = 0;
} }
} }
DPRINTF("hatch=%%p\n", hatch);
return hatch; return hatch;
} }
#elif defined(__powerpc64__) //}{ #elif defined(__powerpc64__) //}{
@@ -313,7 +314,7 @@ make_hatch_arm64(
{ {
unsigned xprot = 0; unsigned xprot = 0;
unsigned *hatch = 0; unsigned *hatch = 0;
//DPRINTF((STR_make_hatch(),phdr,reloc)); DPRINTF("make_hatch %%p %%x %%x\\n",phdr,reloc,frag_mask);
if (phdr->p_type==PT_LOAD && phdr->p_flags & PF_X) { if (phdr->p_type==PT_LOAD && phdr->p_flags & PF_X) {
// The format of the 'if' is // The format of the 'if' is
// if ( ( (hatch = loc1), test_loc1 ) // if ( ( (hatch = loc1), test_loc1 )
@@ -346,6 +347,7 @@ make_hatch_arm64(
hatch = 0; hatch = 0;
} }
} }
DPRINTF("hatch=%%p\n", hatch);
return hatch; return hatch;
} }
#endif //} #endif //}
@@ -464,7 +466,8 @@ do_xmap(
if (xi) { // compressed main program: if (xi) { // compressed main program:
// C_BASE space reservation, C_TEXT compressed data and stub // C_BASE space reservation, C_TEXT compressed data and stub
Elf64_Addr ehdr0 = *p_reloc; // the 'hi' copy! Elf64_Addr ehdr0 = *p_reloc; // the 'hi' copy!
Elf64_Phdr *phdr0 = (Elf64_Phdr *)(((Elf64_Ehdr *)ehdr0)->e_phoff + ehdr0); Elf64_Phdr const *phdr0 = (Elf64_Phdr const *)(
((Elf64_Ehdr *)ehdr0)->e_phoff + ehdr0);
// Clear the 'lo' space reservation for use by PT_LOADs // Clear the 'lo' space reservation for use by PT_LOADs
ehdr0 -= phdr0[1].p_vaddr; // the 'lo' copy ehdr0 -= phdr0[1].p_vaddr; // the 'lo' copy
if (ET_EXEC==ehdr->e_type) { if (ET_EXEC==ehdr->e_type) {
@@ -493,8 +496,9 @@ do_xmap(
auxv_up(av, AT_PHDR, phdr->p_vaddr + reloc); auxv_up(av, AT_PHDR, phdr->p_vaddr + reloc);
} else } else
if (PT_LOAD==phdr->p_type) { if (PT_LOAD==phdr->p_type) {
DPRINTF("LOAD p_offset=%%p p_vaddr=%%p p_filesz=%%p p_memsz=%%p p_flags=%%x\\n", unsigned const prot = PF_TO_PROT(phdr->p_flags);
phdr->p_offset, phdr->p_vaddr, phdr->p_filesz, phdr->p_memsz, phdr->p_flags); DPRINTF("LOAD p_offset=%%p p_vaddr=%%p p_filesz=%%p p_memsz=%%p p_flags=%%x prot=%%x\\n",
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 if (xi && !phdr->p_offset /*&& ET_EXEC==ehdr->e_type*/) { // 1st PT_LOAD
// ? Compressed PT_INTERP must not overwrite values from compressed a.out? // ? 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_PHDR, phdr->p_vaddr + reloc + ehdr->e_phoff);
@@ -502,13 +506,12 @@ do_xmap(
auxv_up(av, AT_PHENT, ehdr->e_phentsize); /* ancient kernels might omit! */ 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 */ //auxv_up(av, AT_PAGESZ, PAGE_SIZE); /* ld-linux.so.2 does not need this */
} }
unsigned const prot = PF_TO_PROT(phdr->p_flags);
Extent xo; Extent xo;
size_t mlen = xo.size = phdr->p_filesz; size_t mlen = xo.size = phdr->p_filesz;
char *addr = xo.buf = reloc + (char *)phdr->p_vaddr; char *addr = xo.buf = reloc + (char *)phdr->p_vaddr;
char *haddr = phdr->p_memsz + addr; char *hi_addr = phdr->p_memsz + addr; // end of local .bss
char *addr2 = mlen + addr; // end of local .data
unsigned lo_frag = (unsigned)(long)addr &~ PAGE_MASK; unsigned lo_frag = (unsigned)(long)addr &~ PAGE_MASK;
unsigned hi_frag = -(lo_frag + mlen) &~ PAGE_MASK; // distance to next page
mlen += lo_frag; mlen += lo_frag;
addr -= lo_frag; addr -= lo_frag;
#if defined(__powerpc64__) || defined(__aarch64__) #if defined(__powerpc64__) || defined(__aarch64__)
@@ -518,8 +521,8 @@ do_xmap(
DPRINTF(" mlen=%%p\\n", mlen); DPRINTF(" mlen=%%p\\n", mlen);
#endif #endif
DPRINTF("mmap addr=%%p len=%%p offset=%%p lo_frag=%%p\\n", DPRINTF("mmap addr=%%p mlen=%%p offset=%%p lo_frag=%%p prot=%%x\\n",
addr, mlen, phdr->p_offset - lo_frag, lo_frag); addr, mlen, phdr->p_offset - lo_frag, lo_frag, prot);
if (addr != mmap(addr, mlen, prot | (xi ? PROT_WRITE : 0), if (addr != mmap(addr, mlen, prot | (xi ? PROT_WRITE : 0),
MAP_FIXED | MAP_PRIVATE | (xi ? MAP_ANONYMOUS : 0), MAP_FIXED | MAP_PRIVATE | (xi ? MAP_ANONYMOUS : 0),
(xi ? -1 : fdi), phdr->p_offset - lo_frag) ) { (xi ? -1 : fdi), phdr->p_offset - lo_frag) ) {
@@ -533,7 +536,10 @@ do_xmap(
// bzero(addr, lo_frag); // fragment at lo end // bzero(addr, lo_frag); // fragment at lo end
//} //}
if (PROT_WRITE & prot) { // note: read-only .bss not supported here if (PROT_WRITE & prot) { // note: read-only .bss not supported here
bzero(phdr->p_filesz + lo_frag + addr, hi_frag); // 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) { if (xi) {
#if defined(__x86_64) //{ #if defined(__x86_64) //{
@@ -546,15 +552,15 @@ do_xmap(
if (0!=hatch) { if (0!=hatch) {
auxv_up((Elf64_auxv_t *)(~1 & (size_t)av), AT_NULL, (size_t)hatch); auxv_up((Elf64_auxv_t *)(~1 & (size_t)av), AT_NULL, (size_t)hatch);
} }
DPRINTF("mprotect addr=%%p len=%%p prot=%%x\\n", addr, mlen, prot);
if (0!=mprotect(addr, mlen, prot)) { if (0!=mprotect(addr, mlen, prot)) {
err_exit(10); err_exit(10);
ERR_LAB ERR_LAB
} }
} }
addr += mlen + hi_frag; /* page boundary on hi end */ if (addr2 < hi_addr) { // pages for .bss beyond last page for p_filesz
if (addr < haddr) { // need pages for .bss DPRINTF("zmap addr2=%%p len=%%p prot=%%x\\n", addr2, hi_addr - addr2, prot);
DPRINTF("zmap addr=%%p len=%%p\\n", addr, haddr - addr); if (addr2 != mmap(addr2, hi_addr - addr2, prot,
if (addr != mmap(addr, haddr - addr, prot,
MAP_FIXED | MAP_PRIVATE | MAP_ANONYMOUS, -1, 0 ) ) { MAP_FIXED | MAP_PRIVATE | MAP_ANONYMOUS, -1, 0 ) ) {
err_exit(9); err_exit(9);
} }
+55 -1
View File
@@ -193,13 +193,67 @@ xPMASK .req x20
mov x0,xADRU mov x0,xADRU
mov w1,wLENU mov w1,wLENU
ldr x2,[xauxe,#NBPW - sz_auxv] // Elf64_auxv_t[AT_NULL@.a_type].a_val ldr x2,[xauxe,#NBPW - sz_auxv] // Elf64_auxv_t[AT_NULL@.a_type].a_val
mov w8,#__NR_munmap // munmap(ADRU, LENU) unfolded stub
// paranoia: zero used registers except x0,x1,x2,x30(lr)
stp xzr,xzr,[sp,#-2*NBPW]!
mov x16,xzr
ldp x3,x4,[sp,#0]
ldp x6,x7,[sp,#0]
ldp x8,x9,[sp,#0]
ldp x20,x21,[sp,#0]
ldp x22,x23,[sp,#0]
ldp x24,x25,[sp,#0]
ldp x26,x27,[sp,#0]
ldp x28,x29,[sp],#2*NBPW
#if DEBUG //{ #if DEBUG //{
ldr w3,[x2,#0] // 1st instr ldr w3,[x2,#0] // 1st instr
ldr w4,[x2,#4] // 2nd instr ldr w4,[x2,#4] // 2nd instr
TRACE(4) TRACE(4)
#endif //} #endif //}
#if 1 //{
// This is a workaround for an intermittent problem. The "svc #0" in the escape hatch
// to invoke munmap() on the unfolded stub, sometimes (20% ?) gets SIGILL despite
// apparent good environment. So do not unmap, which will waste 1 page.
// Example:
// Program received signal SIGILL, Illegal instruction.
// 0x0000fffff7fde974 in ?? ()
// (gdb) info proc
// process 748
// cmdline = '/home/jreiser/611/hello.packed'
// (gdb) shell cat /proc/748/maps
// fffff7faa000-fffff7fcb000 r-xp 00000000 b3:02 8845 /usr/lib/aarch64-linux-gnu/ld-2.31.so
// fffff7fcb000-fffff7fdb000 ---p 00000000 00:00 0
// fffff7fdb000-fffff7fde000 rw-p 00021000 b3:02 8845 /usr/lib/aarch64-linux-gnu/ld-2.31.so
// fffff7fde000-fffff7fdf000 r-xp 00000000 00:00 0 ## pc in this page; has 'r-x' permission
// fffff7fdf000-fffff7fee000 ---p 00000000 00:00 0
// fffff7fee000-fffff7ff0000 rw-p 00000000 00:00 0
// fffff7ffa000-fffff7ffb000 r-xp 00000000 00:00 0 ## target of munmap [x0, +x1)
// fffff7ffb000-fffff7ffd000 r--p 00000000 00:00 0 [vvar]
// fffff7ffd000-fffff7ffe000 r-xp 00000000 00:00 0 [vdso]
// fffff7fff000-fffff8000000 r--p 00000000 b3:02 126504 /home/jreiser/611/hello.packed
// fffffffdf000-1000000000000 rw-p 00000000 00:00 0 [stack]
// (gdb) x/2i $pc
// => 0xfffff7fde974: svc #0x0
// 0xfffff7fde978: ret
// (gdb) info reg
// x0 0xfffff7ffa000 0xfffff7ffa000 ## address to unmap
// x1 0xa10 0xa10 # length to unmap
// x2 0xfffff7fde974 0xfffff7fde974 ## address of escape hatch
// x3 - x29 0x0 0x0
// x30 0xfffff7fab140 0xfffff7fab140 ## entry to ld-linux
// sp 0xffffffffd7b0 0xffffffffd7b0
// pc 0xfffff7fde974 0xfffff7fde974
// cpsr 0x60000000 [ EL=0 C Z ]
// fpsr 0x0 0x0
// fpcr 0x0 0x0
// (gdb)
ret // "br lr"; just enter ld-linux, omitting the munmap of unfolded stub
#else //}{ This should work, but fails intermittently
mov w8,#__NR_munmap // munmap(ADRU, LENU) unfolded stub
br x2 // goto escape hatch br x2 // goto escape hatch
#endif //}
space3eq: space3eq:
.ascii " =" .ascii " ="
+10 -10
View File
@@ -8,7 +8,7 @@ Linker script and memory map
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc) 0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x00000000001000bc 0x88c .text 0x00000000001000bc 0x874
*(.text) *(.text)
.text 0x00000000001000bc 0x199 tmp/amd64-linux.elf-fold.o .text 0x00000000001000bc 0x199 tmp/amd64-linux.elf-fold.o
0x0000000000100245 munmap 0x0000000000100245 munmap
@@ -21,20 +21,20 @@ Linker script and memory map
0x0000000000100249 mprotect 0x0000000000100249 mprotect
0x000000000010023d close 0x000000000010023d close
*fill* 0x0000000000100255 0x3 00 *fill* 0x0000000000100255 0x3 00
.text 0x0000000000100258 0x6ee tmp/amd64-linux.elf-main.o .text 0x0000000000100258 0x6d7 tmp/amd64-linux.elf-main.o
0x00000000001007fe upx_main 0x00000000001007e7 upx_main
*(.data) *(.data)
*fill* 0x0000000000100946 0x2 00 *fill* 0x000000000010092f 0x1 00
.data 0x0000000000100948 0x0 tmp/amd64-linux.elf-fold.o .data 0x0000000000100930 0x0 tmp/amd64-linux.elf-fold.o
.data 0x0000000000100948 0x0 tmp/amd64-linux.elf-main.o .data 0x0000000000100930 0x0 tmp/amd64-linux.elf-main.o
.data .data
.bss 0x0000000000100948 0x0 .bss 0x0000000000100930 0x0
.bss 0x0000000000100948 0x0 tmp/amd64-linux.elf-fold.o .bss 0x0000000000100930 0x0 tmp/amd64-linux.elf-fold.o
.bss 0x0000000000100948 0x0 tmp/amd64-linux.elf-main.o .bss 0x0000000000100930 0x0 tmp/amd64-linux.elf-main.o
.rela.dyn 0x0000000000100948 0x0 .rela.dyn 0x0000000000100930 0x0
.rela.text 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o .rela.text 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o
LOAD tmp/amd64-linux.elf-fold.o LOAD tmp/amd64-linux.elf-fold.o
LOAD tmp/amd64-linux.elf-main.o LOAD tmp/amd64-linux.elf-main.o
+30 -30
View File
@@ -8,44 +8,44 @@ Linker script and memory map
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc) 0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x00000000001000bc 0xa10 .text 0x00000000001000bc 0xa0c
*(.text) *(.text)
.text 0x00000000001000bc 0x244 tmp/arm64-linux.elf-fold.o .text 0x00000000001000bc 0x268 tmp/arm64-linux.elf-fold.o
0x0000000000100234 my_bkpt 0x0000000000100258 my_bkpt
0x000000000010023c exit 0x0000000000100260 exit
0x0000000000100244 read 0x0000000000100268 read
0x0000000000100250 write 0x0000000000100274 write
0x000000000010025c close 0x0000000000100280 close
0x0000000000100268 getpid 0x000000000010028c getpid
0x0000000000100274 brk 0x0000000000100298 brk
0x0000000000100280 munmap 0x00000000001002a4 munmap
0x000000000010028c mprotect 0x00000000001002b0 mprotect
0x0000000000100298 mmap_privanon 0x00000000001002bc mmap_privanon
0x00000000001002a8 mmap 0x00000000001002cc mmap
0x00000000001002b4 unlink 0x00000000001002d8 unlink
0x00000000001002c8 readlink 0x00000000001002ec readlink
0x00000000001002d0 open 0x00000000001002f4 open
0x00000000001002ec __clear_cache 0x0000000000100310 __clear_cache
.text 0x0000000000100300 0x7cc tmp/arm64-linux.elf-main.o .text 0x0000000000100324 0x7a4 tmp/arm64-linux.elf-main.o
0x0000000000100964 upx_main 0x0000000000100960 upx_main
*(.data) *(.data)
.data 0x0000000000100acc 0x0 tmp/arm64-linux.elf-fold.o .data 0x0000000000100ac8 0x0 tmp/arm64-linux.elf-fold.o
.data 0x0000000000100acc 0x0 tmp/arm64-linux.elf-main.o .data 0x0000000000100ac8 0x0 tmp/arm64-linux.elf-main.o
.iplt 0x0000000000100acc 0x0 .iplt 0x0000000000100ac8 0x0
.iplt 0x0000000000100acc 0x0 tmp/arm64-linux.elf-fold.o .iplt 0x0000000000100ac8 0x0 tmp/arm64-linux.elf-fold.o
.rela.dyn 0x0000000000100ad0 0x0 .rela.dyn 0x0000000000100ac8 0x0
.rela.iplt 0x0000000000100ad0 0x0 tmp/arm64-linux.elf-fold.o .rela.iplt 0x0000000000100ac8 0x0 tmp/arm64-linux.elf-fold.o
.data .data
LOAD tmp/arm64-linux.elf-fold.o LOAD tmp/arm64-linux.elf-fold.o
LOAD tmp/arm64-linux.elf-main.o LOAD tmp/arm64-linux.elf-main.o
OUTPUT(tmp/arm64-linux.elf-fold.bin elf64-littleaarch64) OUTPUT(tmp/arm64-linux.elf-fold.bin elf64-littleaarch64)
.igot.plt 0x0000000000100ad0 0x0 .igot.plt 0x0000000000100ac8 0x0
.igot.plt 0x0000000000100ad0 0x0 tmp/arm64-linux.elf-fold.o .igot.plt 0x0000000000100ac8 0x0 tmp/arm64-linux.elf-fold.o
.bss 0x0000000000100acc 0x0 .bss 0x0000000000100ac8 0x0
.bss 0x0000000000100acc 0x0 tmp/arm64-linux.elf-fold.o .bss 0x0000000000100ac8 0x0 tmp/arm64-linux.elf-fold.o
.bss 0x0000000000100acc 0x0 tmp/arm64-linux.elf-main.o .bss 0x0000000000100ac8 0x0 tmp/arm64-linux.elf-main.o
+30 -30
View File
@@ -9,7 +9,7 @@ Linker script and memory map
TARGET(elf64-powerpc) TARGET(elf64-powerpc)
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc) 0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x00000000001000bc 0xbbc .text 0x00000000001000bc 0xba8
*(.text) *(.text)
.text 0x00000000001000bc 0x328 tmp/powerpc64-linux.elf-fold.o .text 0x00000000001000bc 0x328 tmp/powerpc64-linux.elf-fold.o
0x00000000001000bc get_page_mask 0x00000000001000bc get_page_mask
@@ -23,47 +23,47 @@ TARGET(elf64-powerpc)
0x00000000001003cc mprotect 0x00000000001003cc mprotect
0x00000000001003d4 munmap 0x00000000001003d4 munmap
0x00000000001003dc my_bkpt 0x00000000001003dc my_bkpt
.text 0x00000000001003e4 0x894 tmp/powerpc64-linux.elf-main.o .text 0x00000000001003e4 0x880 tmp/powerpc64-linux.elf-main.o
*(.data) *(.data)
.data 0x0000000000100c78 0x0 tmp/powerpc64-linux.elf-fold.o .data 0x0000000000100c64 0x0 tmp/powerpc64-linux.elf-fold.o
.data 0x0000000000100c78 0x0 tmp/powerpc64-linux.elf-main.o .data 0x0000000000100c64 0x0 tmp/powerpc64-linux.elf-main.o
.sfpr 0x0000000000100c78 0xa4 .sfpr 0x0000000000100c64 0xa4
.sfpr 0x0000000000100c78 0xa4 linker stubs .sfpr 0x0000000000100c64 0xa4 linker stubs
0x0000000000100c78 _savegpr0_14 0x0000000000100c64 _savegpr0_14
0x0000000000100ca0 _savegpr0_24 0x0000000000100c8c _savegpr0_24
0x0000000000100cb0 _savegpr0_28 0x0000000000100c9c _savegpr0_28
0x0000000000100cc8 _restgpr0_14 0x0000000000100cb4 _restgpr0_14
0x0000000000100cf0 _restgpr0_24 0x0000000000100cdc _restgpr0_24
0x0000000000100d00 _restgpr0_28 0x0000000000100cec _restgpr0_28
.glink 0x0000000000100d20 0x0 .glink 0x0000000000100d08 0x0
.glink 0x0000000000100d20 0x0 linker stubs .glink 0x0000000000100d08 0x0 linker stubs
.eh_frame 0x0000000000100d1c 0x0 .eh_frame 0x0000000000100d08 0x0
.eh_frame 0x0000000000100d1c 0x0 linker stubs .eh_frame 0x0000000000100d08 0x0 linker stubs
.rela.dyn 0x0000000000100d20 0x0 .rela.dyn 0x0000000000100d08 0x0
.rela.iplt 0x0000000000100d20 0x0 linker stubs .rela.iplt 0x0000000000100d08 0x0 linker stubs
.data .data
LOAD tmp/powerpc64-linux.elf-fold.o LOAD tmp/powerpc64-linux.elf-fold.o
LOAD tmp/powerpc64-linux.elf-main.o LOAD tmp/powerpc64-linux.elf-main.o
OUTPUT(tmp/powerpc64-linux.elf-fold.bin elf64-powerpc) OUTPUT(tmp/powerpc64-linux.elf-fold.bin elf64-powerpc)
.branch_lt 0x0000000000100d20 0x0 .branch_lt 0x0000000000100d08 0x0
.branch_lt 0x0000000000100d20 0x0 linker stubs .branch_lt 0x0000000000100d08 0x0 linker stubs
.toc 0x0000000000100d20 0x0 .toc 0x0000000000100d08 0x0
.toc 0x0000000000100d20 0x0 tmp/powerpc64-linux.elf-main.o .toc 0x0000000000100d08 0x0 tmp/powerpc64-linux.elf-main.o
.opd 0x0000000000100d20 0x58 .opd 0x0000000000100d08 0x58
.opd 0x0000000000100d20 0x58 tmp/powerpc64-linux.elf-main.o .opd 0x0000000000100d08 0x58 tmp/powerpc64-linux.elf-main.o
0x0000000000100d60 upx_main 0x0000000000100d48 upx_main
.iplt 0x0000000000100d78 0x0 .iplt 0x0000000000100d60 0x0
.iplt 0x0000000000100d78 0x0 linker stubs .iplt 0x0000000000100d60 0x0 linker stubs
.bss 0x0000000000100d78 0x0 .bss 0x0000000000100d60 0x0
.bss 0x0000000000100d78 0x0 tmp/powerpc64-linux.elf-fold.o .bss 0x0000000000100d60 0x0 tmp/powerpc64-linux.elf-fold.o
.bss 0x0000000000100d78 0x0 tmp/powerpc64-linux.elf-main.o .bss 0x0000000000100d60 0x0 tmp/powerpc64-linux.elf-main.o
+30 -30
View File
@@ -9,7 +9,7 @@ Linker script and memory map
TARGET(elf64-powerpcle) TARGET(elf64-powerpcle)
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc) 0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x00000000001000bc 0xbb8 .text 0x00000000001000bc 0xba4
*(.text) *(.text)
.text 0x00000000001000bc 0x328 tmp/powerpc64le-linux.elf-fold.o .text 0x00000000001000bc 0x328 tmp/powerpc64le-linux.elf-fold.o
0x00000000001000bc get_page_mask 0x00000000001000bc get_page_mask
@@ -23,47 +23,47 @@ TARGET(elf64-powerpcle)
0x00000000001003cc mprotect 0x00000000001003cc mprotect
0x00000000001003d4 munmap 0x00000000001003d4 munmap
0x00000000001003dc my_bkpt 0x00000000001003dc my_bkpt
.text 0x00000000001003e4 0x890 tmp/powerpc64le-linux.elf-main.o .text 0x00000000001003e4 0x87c tmp/powerpc64le-linux.elf-main.o
*(.data) *(.data)
.data 0x0000000000100c74 0x0 tmp/powerpc64le-linux.elf-fold.o .data 0x0000000000100c60 0x0 tmp/powerpc64le-linux.elf-fold.o
.data 0x0000000000100c74 0x0 tmp/powerpc64le-linux.elf-main.o .data 0x0000000000100c60 0x0 tmp/powerpc64le-linux.elf-main.o
.sfpr 0x0000000000100c74 0xa4 .sfpr 0x0000000000100c60 0xa4
.sfpr 0x0000000000100c74 0xa4 linker stubs .sfpr 0x0000000000100c60 0xa4 linker stubs
0x0000000000100c74 _savegpr0_14 0x0000000000100c60 _savegpr0_14
0x0000000000100c9c _savegpr0_24 0x0000000000100c88 _savegpr0_24
0x0000000000100cac _savegpr0_28 0x0000000000100c98 _savegpr0_28
0x0000000000100cc4 _restgpr0_14 0x0000000000100cb0 _restgpr0_14
0x0000000000100cec _restgpr0_24 0x0000000000100cd8 _restgpr0_24
0x0000000000100cfc _restgpr0_28 0x0000000000100ce8 _restgpr0_28
.glink 0x0000000000100d18 0x0 .glink 0x0000000000100d08 0x0
.glink 0x0000000000100d18 0x0 linker stubs .glink 0x0000000000100d08 0x0 linker stubs
.eh_frame 0x0000000000100d18 0x0 .eh_frame 0x0000000000100d04 0x0
.eh_frame 0x0000000000100d18 0x0 linker stubs .eh_frame 0x0000000000100d04 0x0 linker stubs
.rela.dyn 0x0000000000100d18 0x0 .rela.dyn 0x0000000000100d08 0x0
.rela.iplt 0x0000000000100d18 0x0 linker stubs .rela.iplt 0x0000000000100d08 0x0 linker stubs
.data .data
LOAD tmp/powerpc64le-linux.elf-fold.o LOAD tmp/powerpc64le-linux.elf-fold.o
LOAD tmp/powerpc64le-linux.elf-main.o LOAD tmp/powerpc64le-linux.elf-main.o
OUTPUT(tmp/powerpc64le-linux.elf-fold.bin elf64-powerpcle) OUTPUT(tmp/powerpc64le-linux.elf-fold.bin elf64-powerpcle)
.branch_lt 0x0000000000100d18 0x0 .branch_lt 0x0000000000100d08 0x0
.branch_lt 0x0000000000100d18 0x0 linker stubs .branch_lt 0x0000000000100d08 0x0 linker stubs
.toc 0x0000000000100d18 0x0 .toc 0x0000000000100d08 0x0
.toc 0x0000000000100d18 0x0 tmp/powerpc64le-linux.elf-main.o .toc 0x0000000000100d08 0x0 tmp/powerpc64le-linux.elf-main.o
.opd 0x0000000000100d18 0x58 .opd 0x0000000000100d08 0x58
.opd 0x0000000000100d18 0x58 tmp/powerpc64le-linux.elf-main.o .opd 0x0000000000100d08 0x58 tmp/powerpc64le-linux.elf-main.o
0x0000000000100d58 upx_main 0x0000000000100d48 upx_main
.iplt 0x0000000000100d70 0x0 .iplt 0x0000000000100d60 0x0
.iplt 0x0000000000100d70 0x0 linker stubs .iplt 0x0000000000100d60 0x0 linker stubs
.bss 0x0000000000100d70 0x0 .bss 0x0000000000100d60 0x0
.bss 0x0000000000100d70 0x0 tmp/powerpc64le-linux.elf-fold.o .bss 0x0000000000100d60 0x0 tmp/powerpc64le-linux.elf-fold.o
.bss 0x0000000000100d70 0x0 tmp/powerpc64le-linux.elf-main.o .bss 0x0000000000100d60 0x0 tmp/powerpc64le-linux.elf-main.o
+2 -1
View File
@@ -29,9 +29,10 @@
#ifndef UPX_BPTR_H__ #ifndef UPX_BPTR_H__
#define UPX_BPTR_H__ 1 #define UPX_BPTR_H__ 1
#error "this file is deprecated, please use xspan.h instead"
/************************************************************************* /*************************************************************************
// BoundedPtr // BoundedPtr
// (deprecated, use xspan.h instead)
**************************************************************************/ **************************************************************************/
template <class T> template <class T>
+3 -3
View File
@@ -122,7 +122,7 @@ unsigned MemBuffer::getSizeForCompression(unsigned uncompressed_size, unsigned e
return bytes; return bytes;
} }
unsigned MemBuffer::getSizeForUncompression(unsigned uncompressed_size, unsigned extra) { unsigned MemBuffer::getSizeForDecompression(unsigned uncompressed_size, unsigned extra) {
size_t bytes = mem_size(1, uncompressed_size, extra); // check size_t bytes = mem_size(1, uncompressed_size, extra); // check
return ACC_ICONV(unsigned, bytes); return ACC_ICONV(unsigned, bytes);
} }
@@ -132,8 +132,8 @@ void MemBuffer::allocForCompression(unsigned uncompressed_size, unsigned extra)
alloc(size); alloc(size);
} }
void MemBuffer::allocForUncompression(unsigned uncompressed_size, unsigned extra) { void MemBuffer::allocForDecompression(unsigned uncompressed_size, unsigned extra) {
unsigned size = getSizeForUncompression(uncompressed_size, extra); unsigned size = getSizeForDecompression(uncompressed_size, extra);
alloc(size); alloc(size);
} }
+2 -2
View File
@@ -78,11 +78,11 @@ public:
~MemBuffer(); ~MemBuffer();
static unsigned getSizeForCompression(unsigned uncompressed_size, unsigned extra = 0); static unsigned getSizeForCompression(unsigned uncompressed_size, unsigned extra = 0);
static unsigned getSizeForUncompression(unsigned uncompressed_size, unsigned extra = 0); static unsigned getSizeForDecompression(unsigned uncompressed_size, unsigned extra = 0);
void alloc(upx_uint64_t size); void alloc(upx_uint64_t size);
void allocForCompression(unsigned uncompressed_size, unsigned extra = 0); void allocForCompression(unsigned uncompressed_size, unsigned extra = 0);
void allocForUncompression(unsigned uncompressed_size, unsigned extra = 0); void allocForDecompression(unsigned uncompressed_size, unsigned extra = 0);
void dealloc(); void dealloc();
void checkState() const; void checkState() const;
+5 -5
View File
@@ -1,8 +1,8 @@
#define UPX_VERSION_HEX 0x036300 /* 03.99.00 */ #define UPX_VERSION_HEX 0x040000 /* 04.00.00 */
#define UPX_VERSION_STRING "3.99" #define UPX_VERSION_STRING "4.0.0"
#define UPX_VERSION_STRING4 "3.99" #define UPX_VERSION_STRING4 "4.00"
#define UPX_VERSION_DATE "Oct 27th 2022" #define UPX_VERSION_DATE "Oct 28th 2022"
#define UPX_VERSION_DATE_ISO "2022-10-27" #define UPX_VERSION_DATE_ISO "2022-10-28"
#define UPX_VERSION_YEAR "2022" #define UPX_VERSION_YEAR "2022"
/* vim:set ts=4 sw=4 et: */ /* vim:set ts=4 sw=4 et: */