diff --git a/misc/testsuite/upx_testsuite_1-expected_sha256sums.sh b/misc/testsuite/upx_testsuite_1-expected_sha256sums.sh index 40600d66..d4d0aa75 100644 --- a/misc/testsuite/upx_testsuite_1-expected_sha256sums.sh +++ b/misc/testsuite/upx_testsuite_1-expected_sha256sums.sh @@ -49,161 +49,161 @@ expected_sha256sums__t110_compress_ucl_nrv2b_3_no_filter="\ c79510a06670a0d0afb197abe4941ecbfe5df6de45c2ace46954f6e0d31163c8 *amd64-linux.elf/upx-3.91 595fbf9fa3404521f19513aa87b92a7bb540f22fd812bc4006d8d06d5c17b400 *amd64-linux.elf/upx-3.95 be68107b41e5ac9fdfe919f6e26b0ed83807dbe1c8f20d9e391a836be445c4fd *amd64-win64.pe/upx-3.95.exe -da1b48ae514f13aa77d412fe23ed32ea8fa274e9b1ead802468b62159a7d6b24 *arm-linux.elf/upx-3.95 +e49a6cd4701da031aa054202e94e5eae8faded1e3063e2648a1506d233f79d73 *arm-linux.elf/upx-3.95 94422a91473a467dfb534afa3f20247bc38691aeb386a42fb3e0fd18d3d0ae08 *arm-wince.pe/upx-3.91.exe c8650187ad21cfa873d01cb2f8d3f920388ce256b5627eb46c7ea0b5d3594ae3 *arm64-linux.elf/upx-3.95 -f0db9f1834d872731653e3635d8acd63b94f76f4d44eb2267bd74ef2fb76103b *armeb-linux.elf/upx-3.91 -a2da5bc38c3839d143db30e212603352be3a2ba7db37888856cc1f3bf31875ce *armeb-linux.elf/upx-3.95 +21c703ddac3c21c932d190474c5569bb42090d417157512c6ab32fca75406e87 *armeb-linux.elf/upx-3.91 +bbd6ae84cbb5e0fb5eeca8b6503cb4435eab3ea833d3b4b214920d31b1cf94e8 *armeb-linux.elf/upx-3.95 e17a126cebc32977991a292b7434d1435a7c95862ccece0e4acbf6e810bd3443 *i386-dos32.djgpp2.coff/upx-3.91.exe 88c54fa6bda1bbee0317c839dd756458ebe9bf4b0f6d746139517c7e0c3c9c6f *i386-dos32.djgpp2.coff/upx-3.95.exe -8861c31dd9d5f081acddade77dfe470e7b7891fdb669ff3f019424a225ba90bc *i386-linux.elf/upx-3.91 -afd71d8d2ad09d87b03651a3b16d162a8342ebfa4a9b7c4306fbda56810c266d *i386-linux.elf/upx-3.95 +1551c44d02f759404ebc9920aa6640ca5ce968c84b9880682a62d568cbbf3389 *i386-linux.elf/upx-3.91 +c5b01291f9d3baaf839366168cb8dea577999820732e99cd577e0f1fba32232d *i386-linux.elf/upx-3.95 9bc7ba34e675311527776726a98450722ac9faee73ef5df96a8e8dbd2943b734 *i386-win32.pe/upx-3.91.exe 0a33acc8fa5549c59a87897b318ab83d1eb2ffa7d6c156e92d71c4e9ab4c6483 *i386-win32.pe/upx-3.95.exe 22a6fe5e84dc759675c14314f1d72b84b64e22d106b4158969f5bc4f572288a1 *m68k-atari.tos/upx-3.91.ttp -d4b853c7cf10b96d437159769583cb47088773bb8df71f72105e74ad2135baf8 *mips-linux.elf/upx-3.95 -919fa70e8ac8c4ab7ffac2cc4a37085aa2f5f45a8b26ab39486d612bb2711c0f *mipsel-linux.elf/upx-3.91 -dd6c6828eec410ceb9be8c504ab9f59e29adc45511a2af5094a69430153b6f57 *mipsel-linux.elf/upx-3.95 -648323ff120e8b1b4b47d8216e6a1a7bcebc8aab09725c0771f63f7130d0249c *powerpc-linux.elf/upx-3.91 -9425ad2798809803d9d4ad1c918ef84faa84d5f65d47696a1d70705739f6bac5 *powerpc-linux.elf/upx-3.95 +6df25ee62da0a0d1f8b51c8407db928d2ee499446bb57e35f8c4513aa1652fbe *mips-linux.elf/upx-3.95 +0e1114ec29ae8d9183d0f832ee4188343c27c03c912e89fdc5ddfcabac113840 *mipsel-linux.elf/upx-3.91 +02ad28155de7f927c0ec737e5a8bbff58adb6cd6946e2092bbf706abcb1879fc *mipsel-linux.elf/upx-3.95 +5aa8fd7164aa18f81510157964445b0595516beb9fb37d75643b531896f16c78 *powerpc-linux.elf/upx-3.91 +1f8b2c07980ff03e6465f8ba7cd185b99abb75503e6d4c8692a5d6cfd449f93e *powerpc-linux.elf/upx-3.95 3f5171426075f09d0adeb6df1494be8227ecab967018f848837a0f51376a39a8 *powerpc64le-linux.elf/upx-3.95 " expected_sha256sums__t120_compress_ucl_nrv2d_3_no_filter="\ 2925ce2ff2cce151d5deeda7120d8d520bfe15a9c6a2a0825030d22d7e96b1a6 *amd64-linux.elf/upx-3.91 ff336b009719cd517ce9801bbadb6af6270af6cec4a94f4d29c39520b993a0f1 *amd64-linux.elf/upx-3.95 246079a063b098268c2c0c6237d7a4d0b7e18eaace45eff33a78400e1595f066 *amd64-win64.pe/upx-3.95.exe -dd52a453ca470b54df28254c16dffe59a40d9c3c14e946b9db3b0906b6ebfc92 *arm-linux.elf/upx-3.95 +c1d75e01ef6304424412794aa84ec2ec1b8a00d89689e53f8b4804ce1092b9cf *arm-linux.elf/upx-3.95 d7839b7dee866794e4ca3df32e2b1084b35aa22dee5f060fa14b5ca09c612ba3 *arm-wince.pe/upx-3.91.exe 4612793b1bf941141e4c1d269a559c641d7ea31052cba55aafff5ee3448e0706 *arm64-linux.elf/upx-3.95 -20041539aa768c84a0289430d995e1437766623926e022a73272fc1f657229b6 *armeb-linux.elf/upx-3.91 -b9e1f817ed5bbc28dcb2789366a4d31dc39354ed1f42aa2045c711102964d5e6 *armeb-linux.elf/upx-3.95 +c2961ab61c99744c5f7414387a3e4435b11b61f373559228c1cc21070d4e0f35 *armeb-linux.elf/upx-3.91 +af098ae164113e685e88934a178be1087ddfeed14c9b905918358239f8f44f1b *armeb-linux.elf/upx-3.95 4a434c3a14686786369c8bede8736d15e307ed7dd8c40cccb8f22003b05db968 *i386-dos32.djgpp2.coff/upx-3.91.exe 4ec6858a6c453176db25de5317269fa973f07051a15c9ff146920153dda52350 *i386-dos32.djgpp2.coff/upx-3.95.exe -03eaca25a39c4898a57544f8464ab2cb51a605792afb0f29767f73c5ff452fc0 *i386-linux.elf/upx-3.91 -a936f5627f7f9b9db867f25bf24f8b6d9e464b31d080e98eedb76767fbdfd760 *i386-linux.elf/upx-3.95 +bb336e4fbb635d206cc301490c5088651984a79a69e0e1d3b73c28c49e967e23 *i386-linux.elf/upx-3.91 +5f07ca481a92b8faed2554eaad2d629dbc18fb97a753d0c5b578b942855c88f3 *i386-linux.elf/upx-3.95 18c0e4fb6bf6b26b5c943c54571007b4aba4d0a4ba7391c149eeada54a0a404d *i386-win32.pe/upx-3.91.exe 8501c4a677eb66b482987122febc0360fc02f6720fd7c19d311cf60314d5705e *i386-win32.pe/upx-3.95.exe b8d481769be7aa7768bb1bd8775e766512c5720813e5d8bab6decb200a916f11 *m68k-atari.tos/upx-3.91.ttp -306367f288715e455394040385b92baaead47c8b62c0806370c467c0cd4a8573 *mips-linux.elf/upx-3.95 -1bc9597969605c2b0ebddd4e67efec207879bf06bd9a12c6a49478a8794f040f *mipsel-linux.elf/upx-3.91 -d4d70c7b6c5ed95d3dbf86f124e8067290575304f204326fb4561388463dfac0 *mipsel-linux.elf/upx-3.95 -0d545fcd0e450454bc7d5a7d5fc50165e70c9949ed32c839e6b6e72f35cda5bc *powerpc-linux.elf/upx-3.91 -e9e59af299572607a6c65c50a596e7d76c968a59e1d429c1091966e17fde2ff1 *powerpc-linux.elf/upx-3.95 +229e5e9fa1ecba28835b775258e30833ca9c4f4d635f54bbf163e2845bb045cf *mips-linux.elf/upx-3.95 +1f809c5b98e0e540e660fd22bfad3306ff52496f44f4775c597eaedd853eaf15 *mipsel-linux.elf/upx-3.91 +5197b7c4c859afe3ec8fe280f9cc33a13de3beb64c6d8ae71311983ddd82c90d *mipsel-linux.elf/upx-3.95 +de55f950641172195dea3f820844a04a4548e38769d227997192cbfe150cd4eb *powerpc-linux.elf/upx-3.91 +4a8431aa586174d2580627218515d9a03638df1cd05891125792b34cc69cff59 *powerpc-linux.elf/upx-3.95 1ca6dcfdf89dd86345953815ada92babe0b632acc39c244f8913a1f962e57898 *powerpc64le-linux.elf/upx-3.95 " expected_sha256sums__t130_compress_ucl_nrv2e_3_no_filter="\ 402eb4bb9d31ed3603d3e9d98239f5e0cd6d966965bfae92b0ab493505bc7e49 *amd64-linux.elf/upx-3.91 2992935c6b2f7276d48be9d0d4527c4895f0feeaed74ee21e86faaadedddc793 *amd64-linux.elf/upx-3.95 6caf4df19cfe55fc33b31b4e77b6ce0a5665d090de9d4210c1994b62049c66c5 *amd64-win64.pe/upx-3.95.exe -77c35cb16334ff95fe30813811dcef579a5d413c10bd323a2c950f3b9750b1e7 *arm-linux.elf/upx-3.95 +f02dd8281e9326cea8593324dd01c0f9ec4af01d5ac4062041ce78a049ccbb6d *arm-linux.elf/upx-3.95 8c73f5acfc70e3c518be09978af87b9bec4906240cb457a166da0eba05bea4db *arm-wince.pe/upx-3.91.exe b9ee27852d845f5fe91a563c14a55c9ddf71d33b330df407464c19f164bf05ae *arm64-linux.elf/upx-3.95 -fc881c2a27b95659e27a237970206d3452c132d193ed0ad36c42d42972deaffa *armeb-linux.elf/upx-3.91 -feb691d213d1129bb68af165d0d9be93d9b2a8ecd4fd40e28f0bee94ceedd3b3 *armeb-linux.elf/upx-3.95 +ddcacd227d84eb30c16eb2d228e8a70c7bf1f13b82f8cbcf4582d77205010f43 *armeb-linux.elf/upx-3.91 +e9fda742f41804593ac90315c02f59b63789402ba74310573d9c275a8c9fb081 *armeb-linux.elf/upx-3.95 d454dd376db342e7650a93bd4859546711c94f5da55336e5b969dbea996465d9 *i386-dos32.djgpp2.coff/upx-3.91.exe 89fdaef155f19e1388412109c955b3368df7e39f13ae2ef5db5b0f0df3df81ab *i386-dos32.djgpp2.coff/upx-3.95.exe -a42bd2e4cc47c015dc20db70c872c928dfb270fe079c5f6d844e787f8c396cf5 *i386-linux.elf/upx-3.91 -b3ef371c88303d4e912db1ddf43728b8681f8acffc96b766ade9eaf198647efa *i386-linux.elf/upx-3.95 +61460b6daef8036fcf8009bab74053f305de0e9ef9708297eab189e47e0f2f73 *i386-linux.elf/upx-3.91 +b1a1f3af6e5f91dfe05925d3fbecc6f27f8a0b91acd366e32d40638149d5aa1b *i386-linux.elf/upx-3.95 674216006959b78ef9bfeed682a6a858f657a860123c620dc77daf5d3c46c40d *i386-win32.pe/upx-3.91.exe a47825b63e33e2ff5f07ec2b8e51991172a1e26e17fa1b2a19dc7857ab76db35 *i386-win32.pe/upx-3.95.exe 2fc38c89629269a6c5ec22113f6a84a8b91e04c861359125d1c8e44d17ac190a *m68k-atari.tos/upx-3.91.ttp -0c7c48fd9a35f068ed08c5c65d419089508b45dc8952713eb8f36a8be4e1a70e *mips-linux.elf/upx-3.95 -e5bd5abfd71f19dd1c1bffe195f8414cea9f4d38d91bd601287f4e7a38af909d *mipsel-linux.elf/upx-3.91 -6ccf1b70b078435ac5dac72cb5d82d09bea0e61a8ca5051ea82f6f2e55489740 *mipsel-linux.elf/upx-3.95 -86bb3b1a04e9fc7ce93305fd7d58fdae8e16f51d205bd2780752e186cb2d755e *powerpc-linux.elf/upx-3.91 -d57826eb570d83337195a49c187613fcec943f6e78e476fa03b2635cb4411ba5 *powerpc-linux.elf/upx-3.95 +6fa50ab1b0a03bc0f38af6069e5b668e2887178ffa1d3b54608d4f8683d7cfa4 *mips-linux.elf/upx-3.95 +386284dd179d890a30f44f6c7af7a0e9cd66aae6a4d9cdbb86514e5aed5e330e *mipsel-linux.elf/upx-3.91 +8970d5ac1569c5f164aa20d603fc0450b7924f84d9f3b779dc3999f184b22a2d *mipsel-linux.elf/upx-3.95 +56d439322422887c4fca2d0d8b8cbb9716437f76e78358ee6c9d619313e00c5f *powerpc-linux.elf/upx-3.91 +612639e98978ceaff1b3f9036202e885903213bee42b614176d769f4cfea6e99 *powerpc-linux.elf/upx-3.95 c6473863d8058eab7ce2fdeaf376fe9ddd0f0732003fae7a166079a30b794cea *powerpc64le-linux.elf/upx-3.95 " expected_sha256sums__t140_compress_lzma_2_no_filter="\ 13a40034527eb0a5e4d5ee82135dccc95413bc3c159d5482b2bea9b96f673ff7 *amd64-linux.elf/upx-3.91 ee790dd4bfc2e1b2c3e749e9de7d70cd920f6340befecf0f5ac8ffa0556aa268 *amd64-linux.elf/upx-3.95 b8815f95e92d6853a04a86069e9054115be2d9aa657fa2c8912d0f37e56c894f *amd64-win64.pe/upx-3.95.exe -934c0bbdbd4a4de19430ecd48924ff964a93b6fd63ccc4107d65367763791e9b *arm-linux.elf/upx-3.95 +56bf86fbc97d75aaab595cda2fa41ba72fc49bbdbaa41329ec523e745fc25f67 *arm-linux.elf/upx-3.95 018242f330e19dd7ca2fb78687c0070ad88f1aa2e113be865c30ad3ff94a4ada *arm-wince.pe/upx-3.91.exe e821ad4e78ac0e14d6dfbae45d3d9d3a9391c8c7c1aef87cd95344a9ccbd2a0c *arm64-linux.elf/upx-3.95 -429c69e14284546d1d4c2aefc7cdd613cbb9def4d67ac898bc7a37cb476412d4 *armeb-linux.elf/upx-3.91 -5de21c68f98166ab4583a9a86e429ebaeb7d5958a1072c781d2d116e90f938ab *armeb-linux.elf/upx-3.95 +931470c326e8397f1ddd65298d69d17bd1e873c14b3ff9a832064d32b195da77 *armeb-linux.elf/upx-3.91 +93126b542ae533e0b7cbc9cdb796071c2c82f05a7a63b5dd8371fbef7f8b38b2 *armeb-linux.elf/upx-3.95 d87f0efee3de67a58d515acbea9789e6db99c47ba23bd33aa33992a0ef35bb67 *i386-dos32.djgpp2.coff/upx-3.91.exe 0039c6235cfa7d377594e7858ba24c5007379c33f57ca66f144687413d574ca6 *i386-dos32.djgpp2.coff/upx-3.95.exe -143d3cebc4a1b03a6155d835bfaa5070f9d65d1cbcc90b356fba202c0cdf9e37 *i386-linux.elf/upx-3.91 -2289d2c8fc60dc32173644020dd69010ca1632221874d9d0eaf9620508e46e62 *i386-linux.elf/upx-3.95 +98734a15bb98232bd457000eae1d8a91eaf083afee740e609cdb25f4b0d4012e *i386-linux.elf/upx-3.91 +a623b0d84c3bad4a98a6e2ed43f6a6a214bcf5e29e60245aa71c1af3e6f02196 *i386-linux.elf/upx-3.95 a33d057a391218e62f427cdd31c5850d5637346106f23523d21addc60451e159 *i386-win32.pe/upx-3.91.exe 24ecb3b5fd2f8d81f7deeadbec1988dc62503345d36b60bd17b9a4a09f8cbfb6 *i386-win32.pe/upx-3.95.exe d81bbba6a8ede3aa9bebcd28280914c1084dc0a9ff1d000389e3f52ff05a1ac7 *m68k-atari.tos/upx-3.91.ttp -16fe0c71887e11c10be8ff82d82e194596176e02dcd7d5f3b9c4b14b86657000 *mips-linux.elf/upx-3.95 -1ad1ef3253cd4cd58b36c4dadd224017889872c2bd912d98666f9a686c950299 *mipsel-linux.elf/upx-3.91 -67bb53c47d42e3dbe7329d09d6c1ecc5072b8e4b5a2dfd8dc6db6b25306455da *mipsel-linux.elf/upx-3.95 -f73ac160bb9ed28b5285c7972128038a7f3a63ff41b4bb2d0a4f74c1f073ddf0 *powerpc-linux.elf/upx-3.91 -3a6d6368d34c2af3c00c170863131d05a43fb2dc280f96d6df8ce32d99348845 *powerpc-linux.elf/upx-3.95 +80af7830aeb1596e2584b7f9c085762b2b7573cae9c0acd2058df245d4de2385 *mips-linux.elf/upx-3.95 +1b8dd4c51c72ef86f1eff84d1cbf7c23f8a2ce83937b483555724aed368ccada *mipsel-linux.elf/upx-3.91 +aa142cb76b705ce2be1a60ffd1b19591cbe587cc7c56ce698612e67a8f48a666 *mipsel-linux.elf/upx-3.95 +96047e72136f95a8f27bb89eee9e370a6728d3b78360d6cc4a8ddfd0127487d2 *powerpc-linux.elf/upx-3.91 +45a5ca18ad0f6157e898bc4bf5117f905a3bfddf5507abe35ffaf06f2c4cc4be *powerpc-linux.elf/upx-3.95 ac98e187eab50233948891089657afb8c851301d0a7616d0cbc2fb6f140cd16d *powerpc64le-linux.elf/upx-3.95 " expected_sha256sums__t150_compress_ucl_2_all_filters="\ 800eca887d350638f8540b75fd950f350a808b6c4cb0a3516b61002979e7a953 *amd64-linux.elf/upx-3.91 82ca9ff37fa4648069a912808c7bc9471027a623d211907f8566fd2c135df4c6 *amd64-linux.elf/upx-3.95 fa8ba95a5fcc1a0d591e9b50d26772b3334815ffbf95d0127b4daa6c74ecc28d *amd64-win64.pe/upx-3.95.exe -f2459e3ec0ddfb5d301bdeb5989732a3fa3faf980470d9ec04db6a24fb87c73b *arm-linux.elf/upx-3.95 +8f5189a42034b307486a9bca08767b93fd164048597f258b8475e52349c91e43 *arm-linux.elf/upx-3.95 93e2ead9e54732a1731896681d415e3ce60b7420ad7f3c57822ad7dbd061cdd3 *arm-wince.pe/upx-3.91.exe e3dd795d6e61ce5900fa9fd30e88439179ae1ef383a8ee7e74e986bfc9379250 *arm64-linux.elf/upx-3.95 -6ed3130b79cd846ad7bb36825dcb3330dc808fb0cf5d35c2cc8e9d91b0889c8f *armeb-linux.elf/upx-3.91 -d7ff943ed1f652fc3b617683ae253aa2035aa38ebce4b26c4e1868f5e36ee4b2 *armeb-linux.elf/upx-3.95 +1c6b940c246b709a62c1a14be26f19abc3bdbb2756779c52eb7d0e1d60351541 *armeb-linux.elf/upx-3.91 +fa3c88832233e6ae352ac4110efec42acd2c81c1666e286b914d3503ed649f5f *armeb-linux.elf/upx-3.95 2957b481e67689a5ad43dcfdfde207b9eb16142c161f3e43fd0eeff5917fefbd *i386-dos32.djgpp2.coff/upx-3.91.exe 8f02dbfdbddad405ec599afba4ead6d300ab792f7188df7a32a9d7d3dc7d72c9 *i386-dos32.djgpp2.coff/upx-3.95.exe -a79c764b27962a514a9d76d973ec5e5fb0523cde11f16c9f5358882289d47938 *i386-linux.elf/upx-3.91 -785c7bca36b67ae8e2866abfb140ba75a22812210757492ce32bbf8c30c83ecf *i386-linux.elf/upx-3.95 +496102b4d269354b9e5bbb0c3210c2e0cd5abef2f169388608c3d0ba5201b9d5 *i386-linux.elf/upx-3.91 +8f62f6cf88d8452352cb4c15b4eebbd653fc1f2faf147b5eb0c371fe070ffc5f *i386-linux.elf/upx-3.95 b233f8508a150a20dffaeb6da057ccfd1cf78fbb89d9bdf3fbdd1c21716665e3 *i386-win32.pe/upx-3.91.exe 57a4ff483773e64ab95963445049bff4044e055f31c13bd74c039fba1f113401 *i386-win32.pe/upx-3.95.exe 1c8973e104c93be98db7d5411b478d0badb7b6d5373f7d28e94f435fb31faa7e *m68k-atari.tos/upx-3.91.ttp -4a4c209e8f2abdfaac3d3870830cc88e8baeee8f7b208607ae2d6b0158a0310b *mips-linux.elf/upx-3.95 -527b202689a3b69b8f5e8ab1306764ace39e994e18587d88bd2ea8ca59a1a948 *mipsel-linux.elf/upx-3.91 -43db848ece4e2222305c2a1350aa1da7a9235a185896028fb7f232e7b4c33879 *mipsel-linux.elf/upx-3.95 -6c9f2b2c62d4a1fb8a84827d7ec4afd42732e6573ef97f8033866bbdedbd4d76 *powerpc-linux.elf/upx-3.91 -33d21bed66d8cf5adab2668fd1d67b3fa60bf17d34f095af9109cc04f4a79a0b *powerpc-linux.elf/upx-3.95 +04004d7519730e202e3db6b6e5462aa1ae095aa94058d1274a208ea703205053 *mips-linux.elf/upx-3.95 +23ce1fc5611e171abf8a041c09a1ae0d55c42b41bd68f165b8e12e8a5c3d83a8 *mipsel-linux.elf/upx-3.91 +68cc9c5af634f555d153391ff8abcbab348fb61d8571c834e1f8db0fbfb1003b *mipsel-linux.elf/upx-3.95 +c16031b7701630b1641e51d4ded0cc321221e7f5b282370cf12d01b6b8fc7645 *powerpc-linux.elf/upx-3.91 +13f2a274cf48a1e56e4acfe6d45c4580e19159dfa9ea0fa22acfac63db586051 *powerpc-linux.elf/upx-3.95 65f68e7dbb6366476eb6b9aacde13b05e1b9f460dc833b45ce6ac2097cb55100 *powerpc64le-linux.elf/upx-3.95 " expected_sha256sums__t160_compress_all_methods_1_no_filter="\ ed6fc641d8e958b9b39fcf2dd35c9acdf4af268393faf42a762183d0a384e894 *amd64-linux.elf/upx-3.91 517ce5e7ef22893234061879bbdec9e70d10351ebe270c1e6bf3fd76e73a1f8f *amd64-linux.elf/upx-3.95 f38ff7edc916c1a3e82020035667de858c89d52c98d960dad0e21b4da444ed6c *amd64-win64.pe/upx-3.95.exe -97d3764c08136a078c7f2fb67d89e21ecd27a8d9e0c9c668858d80ba8ce5e784 *arm-linux.elf/upx-3.95 +10e23bcaec4ed303d1362d02521b776a8ed472c65a3156164301a82fd2b64a5e *arm-linux.elf/upx-3.95 bb475839ec547696aaccf4da202b99be927c872e5de298a5eb1f0be0edc06d1d *arm-wince.pe/upx-3.91.exe b894f14b3ca9a806effdba402f8fab9e3f4cb571dc7731eafe3504afe3c5fe98 *arm64-linux.elf/upx-3.95 -8ebbb6cd147cfceba6b609d835664fa66a4dc9c77d8a5c87d22259be9736a450 *armeb-linux.elf/upx-3.91 -ceda66bb2defb68b23335627b989447c8fe9f9d95a4f336b25554f14d7b23192 *armeb-linux.elf/upx-3.95 +be81a29a618f2ff181553d6a14b957cc2cc2f478dfea7ba6fbed9b9b7e8de6b0 *armeb-linux.elf/upx-3.91 +0ede43e3e245faf452e8cba1c267101ee0179931c84b253d9eb6b22ae0341b89 *armeb-linux.elf/upx-3.95 6a5394bb8cc82863405b82d40cc92ea65af2125e48ad83591317a2526bb394e6 *i386-dos32.djgpp2.coff/upx-3.91.exe 7f9226941ef63ce50fd210b0da32f96053c029378c33c65f4e93c390ad5b0a85 *i386-dos32.djgpp2.coff/upx-3.95.exe -881d4af575f39d25c8140f2496ece75ef8ff9e8b96eb2c047045d7b4895bce56 *i386-linux.elf/upx-3.91 -23044f890fca3ef4c317a52b91e5c3e0c465de865da7d160868db58871f603b1 *i386-linux.elf/upx-3.95 +326a74e5199c866934223dcc81ec797c2a1543039ea19d449c5214eadc764112 *i386-linux.elf/upx-3.91 +8df147efd31ffd32b14daf4efa4727d2c81a0b05992b49490fbdaec9de375ca8 *i386-linux.elf/upx-3.95 20c9fcde690091218f83c1f9fcb9a8d211f384569724801c89f3ce5d23356004 *i386-win32.pe/upx-3.91.exe c99b42e740ca0fb80a06d2e76c0b5d9169fb76900521c5ccd8e2e5a46f5020d3 *i386-win32.pe/upx-3.95.exe 0bc481806564627f23125e3ab6fa59e8b90e35f0f117c3d185a728086ad02351 *m68k-atari.tos/upx-3.91.ttp -a5b8e2711679543fb5877a6962dc59688a63ada45c02bd7463547d92b2793300 *mips-linux.elf/upx-3.95 -f3a3deb39199114f22694c27e60f0e4546aab3967d30cf701c0a201bf83ef705 *mipsel-linux.elf/upx-3.91 -2b850d4d0a5fb6b1a4f4c563c370ca098e87de73c415432d79f698712759d876 *mipsel-linux.elf/upx-3.95 -03d86256e44dc3b1c5877d0b8b5f977265e9d7609774c9bf0aa9ed992e32e8d3 *powerpc-linux.elf/upx-3.91 -f20cb159b07531a48871b949ea3a50d1df5e618841b4cbdc8a93d276c352ee53 *powerpc-linux.elf/upx-3.95 +00778f894b0ac328d0b9a41bd55e0978891662f9a07008028c7cf278d3199b38 *mips-linux.elf/upx-3.95 +d00794432d3834bee2b51886603e23996a0309f1bfd8712aca377848d785d4cb *mipsel-linux.elf/upx-3.91 +4aa17a07eaa135aad3ec9b38c5d209bac746b21050d035b60d29cd6fafa99444 *mipsel-linux.elf/upx-3.95 +2b60e8dd14d7074e818a755bba489217c5ade5e38934953da16423c2143409e6 *powerpc-linux.elf/upx-3.91 +22da393e979c29ef1293f3d23d65d6f828403e27cc2e55b2f96151e8798f3fa3 *powerpc-linux.elf/upx-3.95 1931b0dcb7484d04ed4e09e3b2b259278d9ad34328def738364dabb098518f56 *powerpc64le-linux.elf/upx-3.95 " expected_sha256sums__t170_compress_all_methods_no_lzma_5_no_filter="\ c64127c7e014531a7d85141755afc2a68aa723a527ac162b1f1f28fe5b41fde4 *amd64-linux.elf/upx-3.91 740c9929ff8b5cb87d9946b5261c0a8e0ab7b142da9e0be2368b4337d4e8f3f9 *amd64-linux.elf/upx-3.95 fb362f2b3ea02f9c12de7e8f19f73ea6cfebfeb7b8c316003121a9ad13d3d8ae *amd64-win64.pe/upx-3.95.exe -83e6e04f5d95823246e27f97e67ad2211d7650e30d9d394369bc3e5b1ffec360 *arm-linux.elf/upx-3.95 +07404165788c2f2283e9ab5be165614cc1325e4369c5f1ee7f16e5780e1f32b1 *arm-linux.elf/upx-3.95 56be0b4046accdfadbe534ecb6e6452b9e3a18bb9eac39da0ee8893c31d24416 *arm-wince.pe/upx-3.91.exe 3680ad002545d6fd38468a3d3984ad6e2fcdc38a1bcdeb991289e6f5457dd2d3 *arm64-linux.elf/upx-3.95 -d9def76fcbe6625d0f9e7ec63ea75cfd370e67fdb2d5029578d8c5f94251da4c *armeb-linux.elf/upx-3.91 -0706d6f0ca8419eb05a3fac57c4f7d01818b9e4441d105a167346ceed7d15340 *armeb-linux.elf/upx-3.95 +add1e63acb02c97c631cb2641eca2f9f99754ed8585abe9e8ec241c28de8fc51 *armeb-linux.elf/upx-3.91 +bb871eb3b7599203e61d0708de84a45c2396d60b74d0a08be5221070dba7adba *armeb-linux.elf/upx-3.95 6f9fbac216cd42aa370cb90965e74669daf33fd403bf0a250aaec06dd3439009 *i386-dos32.djgpp2.coff/upx-3.91.exe 902f1c5036680b0fadbebaef913c4062f0ce5ef0f2d537f7e6da31d23974139d *i386-dos32.djgpp2.coff/upx-3.95.exe -a1d4d4a98a7b384a7ad439566a41302de4b202ed53b196477ea823aa076ed02e *i386-linux.elf/upx-3.91 -da4c93bcd2285a235a262b426d5955348728e29e54d33db47fff9396cd251daa *i386-linux.elf/upx-3.95 +12a13b9ef64eb79c0dd5a221480040c3da25670c556a68663c748615088788be *i386-linux.elf/upx-3.91 +48265b26701fdca592adf58dbedad23d4d09b323756722e507d25f1ffe727fff *i386-linux.elf/upx-3.95 63afac5307a2385757b3d29753c64e0026241ea2ca1324f53e8ccb4263cc9f62 *i386-win32.pe/upx-3.91.exe eb01b6f27798690115cabb88314551579da509455232bbaa3276eddc25106d0d *i386-win32.pe/upx-3.95.exe 3a5fa857ff517e41386062a0fb2be4f8b6fa5cb79d5624b5a00947c1f2758afb *m68k-atari.tos/upx-3.91.ttp -e5165e4559cdb1cfa0e1e88af085d91cc43db8b727e293167684259ab22c0a2a *mips-linux.elf/upx-3.95 -ee1aa0b01818be74e9d4112783d46eb0b6507d4a331817aacbea7a23dbebcf61 *mipsel-linux.elf/upx-3.91 -005f6a36eadaa4e6fc767604763fe58832f98fbcbb95d0279416b1d544f8f85a *mipsel-linux.elf/upx-3.95 -9b9bab06565f90882ad2dcdf0bb9c0294e160404dd489e55391b8ca2ef7a2205 *powerpc-linux.elf/upx-3.91 -770186cb2e13f4d63a5f100936891b835800d5fa87ccb84bdf68b8a2f893a145 *powerpc-linux.elf/upx-3.95 +5a264b88af458ae138c24031a0a3deda5512c45ad7320694572784681ff9ebdf *mips-linux.elf/upx-3.95 +317055e0724b1e5076158771b1c5915dd4ef094e15aa6ccc34080165ca67a703 *mipsel-linux.elf/upx-3.91 +75a37b8b346f2b4fb7c6fe6c69bbcba922d1acdffb0f717435d43484032eecd0 *mipsel-linux.elf/upx-3.95 +b16dc07ecf8b9ac490e46c43aa42c610cbe07aab604710dde48c6aecb1fa02ff *powerpc-linux.elf/upx-3.91 +f16b70a9dd44cb4109450f0fec101d98154775e94d61abdba47b3f7e67ddc8f7 *powerpc-linux.elf/upx-3.95 e8c9139050609ed541e3d881be853a15a99875ba01162b7fac071be9bd97fd94 *powerpc64le-linux.elf/upx-3.95 " ########## end .sha256sums.recreate diff --git a/src/p_elf_enum.h b/src/p_elf_enum.h index 79881e6e..06d1045d 100644 --- a/src/p_elf_enum.h +++ b/src/p_elf_enum.h @@ -138,6 +138,7 @@ class Dummy { SHT_PREINIT_ARRAY = 16, /* Array of pre-constructors */ SHT_GROUP = 17, /* Section group */ SHT_SYMTAB_SHNDX = 18, /* Extended section indices */ + SHT_RELR = 19, /* RELR relative relocations */ SHT_GNU_HASH = 0x6ffffff6, /* GNU-style hash table. */ SHT_GNU_LIBLIST = 0x6ffffff7, /* Prelink library list */ SHT_GNU_verdef = 0x6ffffffd, /* Version definition section. */ diff --git a/src/p_lx_elf.cpp b/src/p_lx_elf.cpp index e5f1c6ec..5833db36 100644 --- a/src/p_lx_elf.cpp +++ b/src/p_lx_elf.cpp @@ -5790,16 +5790,16 @@ unsigned PackLinuxElf32::forward_Shdrs(OutputFile *fo, Elf32_Ehdr *const eho) // Keep _Shdr for SHF_WRITE. // Discard _Shdr with (0==sh_addr), except _Shdr[0] // Keep ARM_ATTRIBUTES - unsigned const want_types_mask = - 1u<p_type)) { u32_t hi = get_te32(&ptr->p_filesz) @@ -5829,6 +5829,13 @@ unsigned PackLinuxElf32::forward_Shdrs(OutputFile *fo, Elf32_Ehdr *const eho) Elf32_Shdr *sh_out0 = (Elf32_Shdr *)mb_shdro.getVoidPtr(); Elf32_Shdr *sh_out = sh_out0; Elf32_Shdr *sh_in = shdri; + Elf32_Shdr *n_shstrsec = nullptr; + + // Some binutils does tail merging on section names; we don't. + // ".plt" == (4+ ".rel.plt"); ".hash" == (4+ ".gnu.hash") + MemBuffer mb_shstrings(100 + 2*get_te32(&sh_in[e_shstrndx].sh_size)); + char *ptr_shstrings = (char *)&mb_shstrings[0]; + *ptr_shstrings++ = '\0'; memset(sh_out, 0, sizeof(*sh_out)); // blank sh_out[0] ++sh_in; ++sh_out; unsigned n_sh_out = 1; @@ -5840,6 +5847,8 @@ unsigned PackLinuxElf32::forward_Shdrs(OutputFile *fo, Elf32_Ehdr *const eho) unsigned sh_addr = get_te32(&sh_in->sh_addr); unsigned sh_offset = get_te32(&sh_in->sh_offset); unsigned sh_size = get_te32(&sh_in->sh_size); + unsigned sh_name = get_te32(&sh_in->sh_name); + char const *name = &shstrtab[sh_name]; if (ask_for[j]) { // Some previous _Shdr requested me // Tell them my new index set_te32(&sh_out0[ask_for[j]].sh_info, n_sh_out); // sh_info vs st_shndx @@ -5853,7 +5862,7 @@ unsigned PackLinuxElf32::forward_Shdrs(OutputFile *fo, Elf32_Ehdr *const eho) || (sec_arm_attr == sh_in) || (want_types_mask & (1<<(0x1f & sh_type))) ) { - *sh_out = *sh_in; + *sh_out = *sh_in; // *sh_in is a candidate for fowarding if (sh_offset > xct_off) { // may slide down: earlier compression if (sh_offset >= xct_off_hi) { // easy: so_slide down if (sh_out->sh_addr) // change only if non-zero @@ -5861,6 +5870,8 @@ unsigned PackLinuxElf32::forward_Shdrs(OutputFile *fo, Elf32_Ehdr *const eho) set_te32(&sh_out->sh_offset, so_slide + sh_offset); } else { // somewhere in compressed; try proportional (aligned) + // But note that PROGBITS without SHF_ALLOC + // will be dropped below. u32_t const slice = xct_off + (~0xFu & (unsigned)( (sh_offset - xct_off) * ((sh_offset - xct_off) / (float)(xct_off_hi - xct_off)))); @@ -5876,8 +5887,7 @@ unsigned PackLinuxElf32::forward_Shdrs(OutputFile *fo, Elf32_Ehdr *const eho) set_te16(&eho->e_shstrndx, sh_out - (Elf32_Shdr *)mb_shdro.getVoidPtr()); } - if (j == e_shstrndx - || sec_arm_attr == sh_in + if (sec_arm_attr == sh_in || (SHT_NOTE == sh_type && xct_off < sh_offset) ) { // append a copy set_te32(&sh_out->sh_offset, total_out); @@ -5887,26 +5897,70 @@ unsigned PackLinuxElf32::forward_Shdrs(OutputFile *fo, Elf32_Ehdr *const eho) total_out += sh_size; } else if (SHT_PROGBITS == sh_type) { + if (!(Elf32_Shdr::SHF_ALLOC & sh_flags)) { + // .debug_*, .gnu_debuglink etc. Typically compressed + // but not in RAM, and gdb (BFD) gets confused. + continue; // OMIT the commit: do not forward + } else if (sh_offset <= xct_off - && 0 == strcmp(".text", shstrtab + get_te32(&sh_in->sh_name)) ) { + && 0 == strcmp(".text", name) ) { // .text was compressed (but perhaps omitting some leading // portion, if less than 4 PT_LOAD) set_te32(&sh_out->sh_size, so_slide + sh_size); + // FIXME: so_slide is negative; avoid negative result + } + } else + if (SHT_STRTAB == sh_type) { + if (j == e_shstrndx) { + n_shstrsec = sh_out; } else - if (0 == sh_in->sh_addr) { // .gnu_debuglink etc - set_te32(&sh_out->sh_offset, so_slide + sh_offset); + if (strcmp(".dynstr", name)) { + continue; // OMIT the commit of non-global symbol names } } - ++sh_out; ++n_sh_out; + set_te32(&sh_out->sh_name, ptr_shstrings - (char *)mb_shstrings.getVoidPtr()); + ptr_shstrings = 1+ stpcpy(ptr_shstrings, name); // past terminating '\0' + ++sh_out; ++n_sh_out; // actually commit the fowarding } } - total_out = fpad4(fo, total_out); + unsigned len = ptr_shstrings - (char *)mb_shstrings.getVoidPtr(); + set_te32(&n_shstrsec->sh_offset, total_out); + set_te32(&n_shstrsec->sh_size, len); + fo->write(mb_shstrings, len); + total_out += len; + + total_out = fpad4(fo, total_out); // align _Shdr[] set_te32(&eho->e_shoff, total_out); - unsigned len = (char *)sh_out - (char *)mb_shdro.getVoidPtr(); + len = (char *)sh_out - (char *)mb_shdro.getVoidPtr(); set_te16(&eho->e_shnum, len / sizeof(*sh_out)); set_te16(&eho->e_shentsize, sizeof(Elf32_Shdr)); fo->write(mb_shdro, len); total_out += len; + + // Try to pacify gdb (before DT_INIT) by making it look like + // the compressed PT_LOAD extends all the way to the next PT_LOAD, + // with no gap in address space. Thus gdb should not complain about + // "Loadable section "..." [Shdr] outside of ELF segments [PT_LOAD]". + // gdb still "warning: section ... not found in .gnu_debugdata" + // because .gdb_debugdata is not present (or gets removed), + // but that is separate and "just" a warning. + ptr = (Elf32_Phdr *)(1+ eho); + for (ptr_end = &ptr[e_phnum]; ptr < ptr_end; ++ptr) { + if (PT_LOAD32 == get_te32(&ptr->p_type)) { + Elf32_Phdr *ptr2 = 1+ ptr; + for (; ptr2 < ptr_end; ++ptr2) { + if (PT_LOAD32 == get_te32(&ptr2->p_type)) { + unsigned pmask = 0u - get_te32(&ptr2->p_align); + set_te32(&ptr->p_memsz, + (pmask & get_te32(&ptr2->p_vaddr)) - + (pmask & get_te32(&ptr ->p_vaddr)) ); + ptr = ptr_end; // force end of outer loop + ptr2 = ptr_end; // force end of inner loop + } + } + } + } + fo->seek(0, SEEK_SET); fo->rewrite(eho, sizeof(*eho)); fo->seek(0, SEEK_END); @@ -5971,6 +6025,7 @@ unsigned PackLinuxElf64::forward_Shdrs(OutputFile *fo, Elf64_Ehdr *const eho) | 1u<off_reloc - so_info->off_reloc; So_info so_infc; // So_info Copy diff --git a/src/stub/src/upxfd_android.c b/src/stub/src/upxfd_android.c index 57d33c75..3fdbe7f8 100644 --- a/src/stub/src/upxfd_android.c +++ b/src/stub/src/upxfd_android.c @@ -140,6 +140,7 @@ extern int fstatat(int dirfd, const char *restrict pathname, struct stat *restrict statbuf, int flags); #define ENOENT 2 /* no such name */ +#define EACCES 13 /* permission denied */ #define EINVAL 22 /* invalid arguemnt */ #define ENOSPC 28 /* no space left on device */ #define ENOSYS 38 /* no such system call */ @@ -151,7 +152,7 @@ extern int stat(char const *path, struct stat *statbuf); extern int mkdir(char const *path, unsigned mode); __attribute__((__noinline__)) -static int dir_check(char const *path) +static int dir_check(char const *path, int fatal) { struct stat sb; memset(&sb,0xff, sizeof(sb)); // DEBUG aid @@ -164,8 +165,8 @@ static int dir_check(char const *path) if (-ENOENT == rv) { rv = mkdir(path, S_IRWXU); } - if (-ENOENT == rv) { - exit(-1); + if (rv < 0 && fatal) { + my_bkpt(path, rv); // required path not available } return rv; } @@ -206,14 +207,15 @@ static int create_upxfn_path(char *name, char *buf) // Construct path "/data/data/$APP_NAME/cache/upxAAA". // Note 'mempcpy' [with 'p' in the middle!] returns the end-of-string. char *p = mempcpy(&name[0], addr_string("/data/data/"), 11); // '/' sentinel at end - p[0] = '\0'; dir_check(name); + p[0] = '\0'; dir_check(name, 1); // Append the name of the app - int fd = open(addr_string("/proc/self/cmdline"), O_RDONLY, 0); + char const *q = addr_string("/proc/self/cmdline"); + int fd = open(q, O_RDONLY, 0); int rlen = read(fd, p= buf, -1+ PATH_MAX); close(fd); if (rlen < 0) { - return rlen; // failure + my_bkpt(q); } p[rlen] = '\0'; // insurance sentinel // Kernel-parsed arguments are separated by '\0'. @@ -223,12 +225,19 @@ static int create_upxfn_path(char *name, char *buf) char *app_end = p; // Sentinel '/' at name[10] provides safety for backing up. while ('/' != *p) --p; // find last component of argv[0] + q = p; p = mempcpy(&name[10], p, app_end - p); - p[0] = '\0'; dir_check(name); + p[0] = '\0'; + if (-EACCES == dir_check(name, 0)) { + p = mempcpy(&name[11], addr_string("com.termux/files"), 16); + p = mempcpy(p, q, app_end - q); + p[0] = '\0'; + dir_check(name, 1); + } } p = mempcpy(p, addr_string("/cache"), 6); - p[0] = '\0'; dir_check(name); + p[0] = '\0'; dir_check(name, 1); p = mempcpy(p, addr_string("/upx"), 4); pid_t pid = getpid(); p[0] = sixbit(pid >> 0*6); @@ -347,7 +356,7 @@ unsigned long upx_mmap_and_fd( // returns (mapped_addr | (1+ fd)) } if (!not_android && -ENOSYS == fd && pathname) { if ('\0' == pathname[0]) { // first time; create the pathname and file - int rv = create_upxfn_path(pathname, u.buf); + int rv = create_upxfn_path(pathname, &u.buf[BUFLEN / 2]); if (rv < 0) { return rv; } diff --git a/src/stub/tmp/arm.v4a-linux.elf-entry.bin.dump b/src/stub/tmp/arm.v4a-linux.elf-entry.bin.dump index f5c7b49e..2ed33d5a 100644 --- a/src/stub/tmp/arm.v4a-linux.elf-entry.bin.dump +++ b/src/stub/tmp/arm.v4a-linux.elf-entry.bin.dump @@ -4,14 +4,14 @@ Sections: Idx Name Size VMA LMA File off Algn Flags 0 ELFMAINY 0 0 0 034 2**0 CONTENTS 1 ELFMAINZ 01f0 0 0 034 2**0 CONTENTS - 2 ELFMAINX 06d4 0 0 0224 2**2 CONTENTS + 2 ELFMAINX 074c 0 0 0224 2**2 CONTENTS SYMBOL TABLE: 00000000 l d ELFMAINZ 0 ELFMAINZ 00000000 l d ELFMAINX 0 ELFMAINX 00000000 l d ELFMAINY 0 ELFMAINY 00000000 *UND* 0 MFLG 000000ec g ELFMAINZ 0 getpid -0000048c g F ELFMAINX 0248 upx_mmap_and_fd +00000500 g F ELFMAINX 024c upx_mmap_and_fd 00000008 g ELFMAINZ 0 memcpy 00000000 *UND* 0 O_BINFO 0000004c g ELFMAINZ 0 mempcpy @@ -84,75 +84,80 @@ OFFSET TYPE VALUE 000002bc R_ARM_PC24 memset 000002c8 R_ARM_PC24 stat 000002d0 R_ARM_PC24 ELFMAINX -000002e0 R_ARM_PC24 ELFMAINX 000002e4 R_ARM_PC24 ELFMAINX 000002ec R_ARM_PC24 ELFMAINX 000002f8 R_ARM_PC24 mkdir -00000300 R_ARM_PC24 ELFMAINX -00000308 R_ARM_PC24 exit -00000324 R_ARM_PC24 ELFMAINX -0000033c R_ARM_PC24 mempcpy -0000034c R_ARM_PC24 ELFMAINX -00000350 R_ARM_PC24 ELFMAINX -00000374 R_ARM_PC24 open -00000388 R_ARM_PC24 read -00000394 R_ARM_PC24 close -000003b8 R_ARM_PC24 ELFMAINX -000003c8 R_ARM_PC24 ELFMAINX -000003d0 R_ARM_PC24 ELFMAINX +00000314 R_ARM_PC24 my_bkpt +00000330 R_ARM_PC24 ELFMAINX +00000348 R_ARM_PC24 mempcpy +0000035c R_ARM_PC24 ELFMAINX +00000360 R_ARM_PC24 ELFMAINX +00000388 R_ARM_PC24 open +0000039c R_ARM_PC24 read +000003a8 R_ARM_PC24 close +000003b4 R_ARM_PC24 my_bkpt +000003cc R_ARM_PC24 ELFMAINX 000003dc R_ARM_PC24 ELFMAINX -000003ec R_ARM_PC24 mempcpy -00000400 R_ARM_PC24 ELFMAINX -00000404 R_ARM_PC24 ELFMAINX -0000041c R_ARM_PC24 mempcpy -0000042c R_ARM_PC24 ELFMAINX -00000430 R_ARM_PC24 ELFMAINX +000003e0 R_ARM_PC24 ELFMAINX +000003ec R_ARM_PC24 ELFMAINX +00000400 R_ARM_PC24 mempcpy +00000418 R_ARM_PC24 ELFMAINX +00000420 R_ARM_PC24 ELFMAINX +00000424 R_ARM_PC24 ELFMAINX 00000448 R_ARM_PC24 mempcpy -00000450 R_ARM_PC24 getpid -00000458 R_ARM_PC24 ELFMAINX -00000464 R_ARM_PC24 ELFMAINX -00000470 R_ARM_PC24 ELFMAINX -00000488 R_ARM_PC24 ELFMAINX -000004a4 R_ARM_PC24 ELFMAINX -000004b8 R_ARM_PC24 memfd_create -000004c4 R_ARM_PC24 ELFMAINX -000004d0 R_ARM_PC24 memfd_create -000004dc R_ARM_PC24 ELFMAINX +00000454 R_ARM_PC24 mempcpy +00000468 R_ARM_PC24 ELFMAINX +0000046c R_ARM_PC24 ELFMAINX +00000474 R_ARM_PC24 ELFMAINX +00000478 R_ARM_PC24 ELFMAINX +00000490 R_ARM_PC24 mempcpy +000004a8 R_ARM_PC24 ELFMAINX +000004ac R_ARM_PC24 ELFMAINX +000004c4 R_ARM_PC24 mempcpy +000004cc R_ARM_PC24 getpid +000004d4 R_ARM_PC24 ELFMAINX 000004e0 R_ARM_PC24 ELFMAINX -00000500 R_ARM_PC24 open -00000508 R_ARM_PC24 ELFMAINX -0000050c R_ARM_PC24 ELFMAINX -00000524 R_ARM_PC24 my_bkpt -00000530 R_ARM_PC24 uname -00000534 R_ARM_PC24 ELFMAINX -00000548 R_ARM_PC24 ELFMAINX +000004ec R_ARM_PC24 ELFMAINX +00000518 R_ARM_PC24 ELFMAINX +0000052c R_ARM_PC24 memfd_create +00000538 R_ARM_PC24 ELFMAINX +00000544 R_ARM_PC24 memfd_create 00000550 R_ARM_PC24 ELFMAINX 00000554 R_ARM_PC24 ELFMAINX -00000568 R_ARM_PC24 ELFMAINX -00000570 R_ARM_PC24 ELFMAINX +00000574 R_ARM_PC24 open +0000057c R_ARM_PC24 ELFMAINX 00000580 R_ARM_PC24 ELFMAINX -00000588 R_ARM_PC24 ELFMAINX -0000058c R_ARM_PC24 get_upxfn_path -000005ac R_ARM_PC24 ELFMAINX -000005b4 R_ARM_PC24 ELFMAINX -000005c0 R_ARM_PC24 ELFMAINX -000005cc R_ARM_PC24 ELFMAINX -000005d4 R_ARM_PC24 ELFMAINX -000005e4 R_ARM_PC24 open -000005f0 R_ARM_PC24 ELFMAINX -000005f8 R_ARM_PC24 unlink -00000600 R_ARM_PC24 ELFMAINX -0000060c R_ARM_PC24 ELFMAINX -00000614 R_ARM_PC24 ELFMAINX -00000620 R_ARM_PC24 ftruncate +00000598 R_ARM_PC24 my_bkpt +000005a4 R_ARM_PC24 uname +000005a8 R_ARM_PC24 ELFMAINX +000005bc R_ARM_PC24 ELFMAINX +000005c4 R_ARM_PC24 ELFMAINX +000005c8 R_ARM_PC24 ELFMAINX +000005dc R_ARM_PC24 ELFMAINX +000005e4 R_ARM_PC24 ELFMAINX +000005f4 R_ARM_PC24 ELFMAINX +000005fc R_ARM_PC24 ELFMAINX +00000600 R_ARM_PC24 get_upxfn_path +00000620 R_ARM_PC24 ELFMAINX 00000628 R_ARM_PC24 ELFMAINX -0000062c R_ARM_PC24 ELFMAINX -0000063c R_ARM_PC24 memset -0000065c R_ARM_PC24 write -00000664 R_ARM_PC24 ELFMAINX -0000066c R_ARM_PC24 ELFMAINX -0000067c R_ARM_PC24 lseek -00000688 R_ARM_PC24 ELFMAINX +00000634 R_ARM_PC24 ELFMAINX +00000644 R_ARM_PC24 ELFMAINX +0000064c R_ARM_PC24 ELFMAINX +0000065c R_ARM_PC24 open +00000668 R_ARM_PC24 ELFMAINX +00000670 R_ARM_PC24 unlink +00000678 R_ARM_PC24 ELFMAINX +00000684 R_ARM_PC24 ELFMAINX 0000068c R_ARM_PC24 ELFMAINX -00000694 R_ARM_PC24 ELFMAINX -000006b8 R_ARM_PC24 mmap +00000698 R_ARM_PC24 ftruncate +000006a0 R_ARM_PC24 ELFMAINX +000006a4 R_ARM_PC24 ELFMAINX +000006b4 R_ARM_PC24 memset +000006d4 R_ARM_PC24 write +000006dc R_ARM_PC24 ELFMAINX +000006e4 R_ARM_PC24 ELFMAINX +000006f4 R_ARM_PC24 lseek +00000700 R_ARM_PC24 ELFMAINX +00000704 R_ARM_PC24 ELFMAINX +0000070c R_ARM_PC24 ELFMAINX +00000730 R_ARM_PC24 mmap diff --git a/src/stub/tmp/arm.v4a-linux.elf-fold.map b/src/stub/tmp/arm.v4a-linux.elf-fold.map index efaa4d2d..c7d3fb78 100644 --- a/src/stub/tmp/arm.v4a-linux.elf-fold.map +++ b/src/stub/tmp/arm.v4a-linux.elf-fold.map @@ -7,7 +7,7 @@ Name Origin Length Attributes Linker script and memory map -.text 0x0000000000000000 0x10cc +.text 0x0000000000000000 0x1144 .text 0x0000000000000000 0x348 tmp/arm.v4a-linux.elf-fold.o 0x0000000000000004 get_page_mask 0x00000000000002e8 memcpy @@ -19,12 +19,12 @@ Linker script and memory map 0x00000000fffffff4 page_mask 0x0000000000000024 Pprotect 0x0000000000000024 mprotect - .text 0x0000000000000348 0x498 tmp/arm.v4a-linux.elf-upxfd_android.o - 0x0000000000000598 upx_mmap_and_fd - .text 0x00000000000007e0 0x0 tmp/arm.v4a-expand.o - .text 0x00000000000007e0 0x8ec tmp/arm.v4a-linux.elf-main2.o - 0x0000000000001068 underlay - 0x0000000000000f38 upx_main + .text 0x0000000000000348 0x510 tmp/arm.v4a-linux.elf-upxfd_android.o + 0x000000000000060c upx_mmap_and_fd + .text 0x0000000000000858 0x0 tmp/arm.v4a-expand.o + .text 0x0000000000000858 0x8ec tmp/arm.v4a-linux.elf-main2.o + 0x00000000000010e0 underlay + 0x0000000000000fb0 upx_main SYSCALLS 0x0000000000000000 0x214 SYSCALLS 0x0000000000000000 0x214 tmp/arm.v4a-linux.elf-fold.o diff --git a/src/stub/tmp/arm.v5a-linux.elf-entry.bin.dump b/src/stub/tmp/arm.v5a-linux.elf-entry.bin.dump index c69bdfc8..52e01989 100644 --- a/src/stub/tmp/arm.v5a-linux.elf-entry.bin.dump +++ b/src/stub/tmp/arm.v5a-linux.elf-entry.bin.dump @@ -4,14 +4,14 @@ Sections: Idx Name Size VMA LMA File off Algn Flags 0 ELFMAINY 0 0 0 034 2**0 CONTENTS 1 ELFMAINZ 01f0 0 0 034 2**0 CONTENTS - 2 ELFMAINX 06d8 0 0 0224 2**2 CONTENTS + 2 ELFMAINX 0758 0 0 0224 2**2 CONTENTS SYMBOL TABLE: 00000000 l d ELFMAINZ 0 ELFMAINZ 00000000 l d ELFMAINX 0 ELFMAINX 00000000 l d ELFMAINY 0 ELFMAINY 00000000 *UND* 0 MFLG 000000ec g ELFMAINZ 0 getpid -0000048c g F ELFMAINX 024c upx_mmap_and_fd +00000508 g F ELFMAINX 0250 upx_mmap_and_fd 00000008 g ELFMAINZ 0 memcpy 00000000 *UND* 0 O_BINFO 0000004c g ELFMAINZ 0 mempcpy @@ -84,75 +84,82 @@ OFFSET TYPE VALUE 000002bc R_ARM_PC24 memset 000002c8 R_ARM_PC24 stat 000002d0 R_ARM_PC24 ELFMAINX -000002e0 R_ARM_PC24 ELFMAINX 000002e4 R_ARM_PC24 ELFMAINX 000002ec R_ARM_PC24 ELFMAINX 000002f8 R_ARM_PC24 mkdir -00000300 R_ARM_PC24 ELFMAINX -00000308 R_ARM_PC24 exit -00000324 R_ARM_PC24 ELFMAINX -0000033c R_ARM_PC24 mempcpy -0000034c R_ARM_PC24 ELFMAINX -00000350 R_ARM_PC24 ELFMAINX -00000374 R_ARM_PC24 open -00000384 R_ARM_PC24 read -00000390 R_ARM_PC24 close -000003b4 R_ARM_PC24 ELFMAINX -000003c4 R_ARM_PC24 ELFMAINX -000003cc R_ARM_PC24 ELFMAINX -000003d8 R_ARM_PC24 ELFMAINX -000003e8 R_ARM_PC24 mempcpy -000003fc R_ARM_PC24 ELFMAINX -00000400 R_ARM_PC24 ELFMAINX -00000418 R_ARM_PC24 mempcpy +0000030c R_ARM_PC24 ELFMAINX +00000318 R_ARM_PC24 my_bkpt +00000334 R_ARM_PC24 ELFMAINX +0000034c R_ARM_PC24 mempcpy +00000360 R_ARM_PC24 ELFMAINX +00000364 R_ARM_PC24 ELFMAINX +0000038c R_ARM_PC24 open +0000039c R_ARM_PC24 read +000003a8 R_ARM_PC24 close +000003b0 R_ARM_PC24 ELFMAINX +000003b8 R_ARM_PC24 my_bkpt +000003d0 R_ARM_PC24 ELFMAINX +000003e0 R_ARM_PC24 ELFMAINX +000003e4 R_ARM_PC24 ELFMAINX +000003f0 R_ARM_PC24 ELFMAINX +00000404 R_ARM_PC24 mempcpy +0000041c R_ARM_PC24 ELFMAINX +00000424 R_ARM_PC24 ELFMAINX 00000428 R_ARM_PC24 ELFMAINX -0000042c R_ARM_PC24 ELFMAINX -00000444 R_ARM_PC24 mempcpy -0000044c R_ARM_PC24 getpid -00000454 R_ARM_PC24 ELFMAINX -00000460 R_ARM_PC24 ELFMAINX +0000044c R_ARM_PC24 mempcpy +00000458 R_ARM_PC24 mempcpy 0000046c R_ARM_PC24 ELFMAINX -00000484 R_ARM_PC24 ELFMAINX -000004a4 R_ARM_PC24 ELFMAINX -000004b8 R_ARM_PC24 memfd_create -000004c4 R_ARM_PC24 ELFMAINX -000004d0 R_ARM_PC24 memfd_create -000004dc R_ARM_PC24 ELFMAINX -000004e0 R_ARM_PC24 ELFMAINX -000004fc R_ARM_PC24 open -00000504 R_ARM_PC24 ELFMAINX -00000508 R_ARM_PC24 ELFMAINX -00000520 R_ARM_PC24 my_bkpt -0000052c R_ARM_PC24 uname -00000530 R_ARM_PC24 ELFMAINX -00000544 R_ARM_PC24 ELFMAINX -0000054c R_ARM_PC24 ELFMAINX -00000550 R_ARM_PC24 ELFMAINX -00000564 R_ARM_PC24 ELFMAINX -0000056c R_ARM_PC24 ELFMAINX -0000057c R_ARM_PC24 ELFMAINX +00000470 R_ARM_PC24 ELFMAINX +00000478 R_ARM_PC24 ELFMAINX +0000047c R_ARM_PC24 ELFMAINX +00000494 R_ARM_PC24 mempcpy +000004ac R_ARM_PC24 ELFMAINX +000004b0 R_ARM_PC24 ELFMAINX +000004c8 R_ARM_PC24 mempcpy +000004d0 R_ARM_PC24 getpid +000004d8 R_ARM_PC24 ELFMAINX +000004e4 R_ARM_PC24 ELFMAINX +000004f0 R_ARM_PC24 ELFMAINX +00000520 R_ARM_PC24 ELFMAINX +00000534 R_ARM_PC24 memfd_create +00000540 R_ARM_PC24 ELFMAINX +0000054c R_ARM_PC24 memfd_create +00000558 R_ARM_PC24 ELFMAINX +0000055c R_ARM_PC24 ELFMAINX +00000578 R_ARM_PC24 open +00000580 R_ARM_PC24 ELFMAINX 00000584 R_ARM_PC24 ELFMAINX -00000588 R_ARM_PC24 get_upxfn_path -000005a8 R_ARM_PC24 ELFMAINX -000005b0 R_ARM_PC24 ELFMAINX -000005bc R_ARM_PC24 ELFMAINX +0000059c R_ARM_PC24 my_bkpt +000005a8 R_ARM_PC24 uname +000005ac R_ARM_PC24 ELFMAINX +000005c0 R_ARM_PC24 ELFMAINX 000005c8 R_ARM_PC24 ELFMAINX -000005d0 R_ARM_PC24 ELFMAINX -000005e0 R_ARM_PC24 open -000005ec R_ARM_PC24 ELFMAINX -000005f4 R_ARM_PC24 unlink -000005fc R_ARM_PC24 ELFMAINX -00000608 R_ARM_PC24 ELFMAINX -00000610 R_ARM_PC24 ELFMAINX -0000061c R_ARM_PC24 ftruncate +000005cc R_ARM_PC24 ELFMAINX +000005e0 R_ARM_PC24 ELFMAINX +000005e8 R_ARM_PC24 ELFMAINX +000005f8 R_ARM_PC24 ELFMAINX +00000600 R_ARM_PC24 ELFMAINX +00000604 R_ARM_PC24 get_upxfn_path 00000624 R_ARM_PC24 ELFMAINX -00000628 R_ARM_PC24 ELFMAINX -00000638 R_ARM_PC24 memset -00000658 R_ARM_PC24 write -00000660 R_ARM_PC24 ELFMAINX -00000668 R_ARM_PC24 ELFMAINX -00000678 R_ARM_PC24 lseek -00000684 R_ARM_PC24 ELFMAINX +0000062c R_ARM_PC24 ELFMAINX +00000638 R_ARM_PC24 ELFMAINX +00000648 R_ARM_PC24 ELFMAINX +00000650 R_ARM_PC24 ELFMAINX +00000660 R_ARM_PC24 open +0000066c R_ARM_PC24 ELFMAINX +00000674 R_ARM_PC24 unlink +0000067c R_ARM_PC24 ELFMAINX 00000688 R_ARM_PC24 ELFMAINX 00000690 R_ARM_PC24 ELFMAINX -000006b4 R_ARM_PC24 mmap +0000069c R_ARM_PC24 ftruncate +000006a4 R_ARM_PC24 ELFMAINX +000006a8 R_ARM_PC24 ELFMAINX +000006b8 R_ARM_PC24 memset +000006d8 R_ARM_PC24 write +000006e0 R_ARM_PC24 ELFMAINX +000006e8 R_ARM_PC24 ELFMAINX +000006f8 R_ARM_PC24 lseek +00000704 R_ARM_PC24 ELFMAINX +00000708 R_ARM_PC24 ELFMAINX +00000710 R_ARM_PC24 ELFMAINX +00000734 R_ARM_PC24 mmap diff --git a/src/stub/tmp/arm.v5a-linux.elf-fold.map b/src/stub/tmp/arm.v5a-linux.elf-fold.map index 4940798d..20173f56 100644 --- a/src/stub/tmp/arm.v5a-linux.elf-fold.map +++ b/src/stub/tmp/arm.v5a-linux.elf-fold.map @@ -8,7 +8,7 @@ Linker script and memory map TARGET(elf32-littlearm) -.text 0x0000000000000000 0x10d0 +.text 0x0000000000000000 0x1150 *(.text) .text 0x0000000000000000 0x348 tmp/arm.v5a-linux.elf-fold.o 0x0000000000000004 get_page_mask @@ -21,17 +21,17 @@ TARGET(elf32-littlearm) 0x00000000fffffff4 page_mask 0x0000000000000024 Pprotect 0x0000000000000024 mprotect - .text 0x0000000000000348 0x49c tmp/arm.v5a-linux.elf-upxfd_android.o - 0x0000000000000598 upx_mmap_and_fd - .text 0x00000000000007e4 0x0 tmp/arm.v5a-expand.o - .text 0x00000000000007e4 0x8ec tmp/arm.v5a-linux.elf-main2.o - 0x000000000000106c underlay - 0x0000000000000f3c upx_main + .text 0x0000000000000348 0x51c tmp/arm.v5a-linux.elf-upxfd_android.o + 0x0000000000000614 upx_mmap_and_fd + .text 0x0000000000000864 0x0 tmp/arm.v5a-expand.o + .text 0x0000000000000864 0x8ec tmp/arm.v5a-linux.elf-main2.o + 0x00000000000010ec underlay + 0x0000000000000fbc upx_main *(.data) - .data 0x00000000000010d0 0x0 tmp/arm.v5a-linux.elf-fold.o - .data 0x00000000000010d0 0x0 tmp/arm.v5a-linux.elf-upxfd_android.o - .data 0x00000000000010d0 0x0 tmp/arm.v5a-expand.o - .data 0x00000000000010d0 0x0 tmp/arm.v5a-linux.elf-main2.o + .data 0x0000000000001150 0x0 tmp/arm.v5a-linux.elf-fold.o + .data 0x0000000000001150 0x0 tmp/arm.v5a-linux.elf-upxfd_android.o + .data 0x0000000000001150 0x0 tmp/arm.v5a-expand.o + .data 0x0000000000001150 0x0 tmp/arm.v5a-linux.elf-main2.o SYSCALLS 0x0000000000000000 0x214 SYSCALLS 0x0000000000000000 0x214 tmp/arm.v5a-linux.elf-fold.o diff --git a/src/stub/tmp/armeb.v4a-linux.elf-entry.bin.dump b/src/stub/tmp/armeb.v4a-linux.elf-entry.bin.dump index c6dcb300..24817042 100644 --- a/src/stub/tmp/armeb.v4a-linux.elf-entry.bin.dump +++ b/src/stub/tmp/armeb.v4a-linux.elf-entry.bin.dump @@ -4,14 +4,14 @@ Sections: Idx Name Size VMA LMA File off Algn Flags 0 ELFMAINY 0 0 0 034 2**0 CONTENTS 1 ELFMAINZ 01f0 0 0 034 2**0 CONTENTS - 2 ELFMAINX 06d4 0 0 0224 2**2 CONTENTS + 2 ELFMAINX 074c 0 0 0224 2**2 CONTENTS SYMBOL TABLE: 00000000 l d ELFMAINZ 0 ELFMAINZ 00000000 l d ELFMAINX 0 ELFMAINX 00000000 l d ELFMAINY 0 ELFMAINY 00000000 *UND* 0 MFLG 000000ec g ELFMAINZ 0 getpid -0000048c g F ELFMAINX 0248 upx_mmap_and_fd +00000500 g F ELFMAINX 024c upx_mmap_and_fd 00000008 g ELFMAINZ 0 memcpy 00000000 *UND* 0 O_BINFO 0000004c g ELFMAINZ 0 mempcpy @@ -84,75 +84,80 @@ OFFSET TYPE VALUE 000002bc R_ARM_PC24 memset 000002c8 R_ARM_PC24 stat 000002d0 R_ARM_PC24 ELFMAINX -000002e0 R_ARM_PC24 ELFMAINX 000002e4 R_ARM_PC24 ELFMAINX 000002ec R_ARM_PC24 ELFMAINX 000002f8 R_ARM_PC24 mkdir -00000300 R_ARM_PC24 ELFMAINX -00000308 R_ARM_PC24 exit -00000324 R_ARM_PC24 ELFMAINX -0000033c R_ARM_PC24 mempcpy -0000034c R_ARM_PC24 ELFMAINX -00000350 R_ARM_PC24 ELFMAINX -00000374 R_ARM_PC24 open -00000388 R_ARM_PC24 read -00000394 R_ARM_PC24 close -000003b8 R_ARM_PC24 ELFMAINX -000003c8 R_ARM_PC24 ELFMAINX -000003d0 R_ARM_PC24 ELFMAINX +00000314 R_ARM_PC24 my_bkpt +00000330 R_ARM_PC24 ELFMAINX +00000348 R_ARM_PC24 mempcpy +0000035c R_ARM_PC24 ELFMAINX +00000360 R_ARM_PC24 ELFMAINX +00000388 R_ARM_PC24 open +0000039c R_ARM_PC24 read +000003a8 R_ARM_PC24 close +000003b4 R_ARM_PC24 my_bkpt +000003cc R_ARM_PC24 ELFMAINX 000003dc R_ARM_PC24 ELFMAINX -000003ec R_ARM_PC24 mempcpy -00000400 R_ARM_PC24 ELFMAINX -00000404 R_ARM_PC24 ELFMAINX -0000041c R_ARM_PC24 mempcpy -0000042c R_ARM_PC24 ELFMAINX -00000430 R_ARM_PC24 ELFMAINX +000003e0 R_ARM_PC24 ELFMAINX +000003ec R_ARM_PC24 ELFMAINX +00000400 R_ARM_PC24 mempcpy +00000418 R_ARM_PC24 ELFMAINX +00000420 R_ARM_PC24 ELFMAINX +00000424 R_ARM_PC24 ELFMAINX 00000448 R_ARM_PC24 mempcpy -00000450 R_ARM_PC24 getpid -00000458 R_ARM_PC24 ELFMAINX -00000464 R_ARM_PC24 ELFMAINX -00000470 R_ARM_PC24 ELFMAINX -00000488 R_ARM_PC24 ELFMAINX -000004a4 R_ARM_PC24 ELFMAINX -000004b8 R_ARM_PC24 memfd_create -000004c4 R_ARM_PC24 ELFMAINX -000004d0 R_ARM_PC24 memfd_create -000004dc R_ARM_PC24 ELFMAINX +00000454 R_ARM_PC24 mempcpy +00000468 R_ARM_PC24 ELFMAINX +0000046c R_ARM_PC24 ELFMAINX +00000474 R_ARM_PC24 ELFMAINX +00000478 R_ARM_PC24 ELFMAINX +00000490 R_ARM_PC24 mempcpy +000004a8 R_ARM_PC24 ELFMAINX +000004ac R_ARM_PC24 ELFMAINX +000004c4 R_ARM_PC24 mempcpy +000004cc R_ARM_PC24 getpid +000004d4 R_ARM_PC24 ELFMAINX 000004e0 R_ARM_PC24 ELFMAINX -00000500 R_ARM_PC24 open -00000508 R_ARM_PC24 ELFMAINX -0000050c R_ARM_PC24 ELFMAINX -00000524 R_ARM_PC24 my_bkpt -00000530 R_ARM_PC24 uname -00000534 R_ARM_PC24 ELFMAINX -00000548 R_ARM_PC24 ELFMAINX +000004ec R_ARM_PC24 ELFMAINX +00000518 R_ARM_PC24 ELFMAINX +0000052c R_ARM_PC24 memfd_create +00000538 R_ARM_PC24 ELFMAINX +00000544 R_ARM_PC24 memfd_create 00000550 R_ARM_PC24 ELFMAINX 00000554 R_ARM_PC24 ELFMAINX -00000568 R_ARM_PC24 ELFMAINX -00000570 R_ARM_PC24 ELFMAINX +00000574 R_ARM_PC24 open +0000057c R_ARM_PC24 ELFMAINX 00000580 R_ARM_PC24 ELFMAINX -00000588 R_ARM_PC24 ELFMAINX -0000058c R_ARM_PC24 get_upxfn_path -000005ac R_ARM_PC24 ELFMAINX -000005b4 R_ARM_PC24 ELFMAINX -000005c0 R_ARM_PC24 ELFMAINX -000005cc R_ARM_PC24 ELFMAINX -000005d4 R_ARM_PC24 ELFMAINX -000005e4 R_ARM_PC24 open -000005f0 R_ARM_PC24 ELFMAINX -000005f8 R_ARM_PC24 unlink -00000600 R_ARM_PC24 ELFMAINX -0000060c R_ARM_PC24 ELFMAINX -00000614 R_ARM_PC24 ELFMAINX -00000620 R_ARM_PC24 ftruncate +00000598 R_ARM_PC24 my_bkpt +000005a4 R_ARM_PC24 uname +000005a8 R_ARM_PC24 ELFMAINX +000005bc R_ARM_PC24 ELFMAINX +000005c4 R_ARM_PC24 ELFMAINX +000005c8 R_ARM_PC24 ELFMAINX +000005dc R_ARM_PC24 ELFMAINX +000005e4 R_ARM_PC24 ELFMAINX +000005f4 R_ARM_PC24 ELFMAINX +000005fc R_ARM_PC24 ELFMAINX +00000600 R_ARM_PC24 get_upxfn_path +00000620 R_ARM_PC24 ELFMAINX 00000628 R_ARM_PC24 ELFMAINX -0000062c R_ARM_PC24 ELFMAINX -0000063c R_ARM_PC24 memset -0000065c R_ARM_PC24 write -00000664 R_ARM_PC24 ELFMAINX -0000066c R_ARM_PC24 ELFMAINX -0000067c R_ARM_PC24 lseek -00000688 R_ARM_PC24 ELFMAINX +00000634 R_ARM_PC24 ELFMAINX +00000644 R_ARM_PC24 ELFMAINX +0000064c R_ARM_PC24 ELFMAINX +0000065c R_ARM_PC24 open +00000668 R_ARM_PC24 ELFMAINX +00000670 R_ARM_PC24 unlink +00000678 R_ARM_PC24 ELFMAINX +00000684 R_ARM_PC24 ELFMAINX 0000068c R_ARM_PC24 ELFMAINX -00000694 R_ARM_PC24 ELFMAINX -000006b8 R_ARM_PC24 mmap +00000698 R_ARM_PC24 ftruncate +000006a0 R_ARM_PC24 ELFMAINX +000006a4 R_ARM_PC24 ELFMAINX +000006b4 R_ARM_PC24 memset +000006d4 R_ARM_PC24 write +000006dc R_ARM_PC24 ELFMAINX +000006e4 R_ARM_PC24 ELFMAINX +000006f4 R_ARM_PC24 lseek +00000700 R_ARM_PC24 ELFMAINX +00000704 R_ARM_PC24 ELFMAINX +0000070c R_ARM_PC24 ELFMAINX +00000730 R_ARM_PC24 mmap diff --git a/src/stub/tmp/armeb.v4a-linux.elf-fold.map b/src/stub/tmp/armeb.v4a-linux.elf-fold.map index b80c1f31..916cf534 100644 --- a/src/stub/tmp/armeb.v4a-linux.elf-fold.map +++ b/src/stub/tmp/armeb.v4a-linux.elf-fold.map @@ -7,7 +7,7 @@ Name Origin Length Attributes Linker script and memory map -.text 0x0000000000000000 0x10e0 +.text 0x0000000000000000 0x1158 .text 0x0000000000000000 0x348 tmp/armeb.v4a-linux.elf-fold.o 0x0000000000000004 get_page_mask 0x00000000000002e8 memcpy @@ -19,12 +19,12 @@ Linker script and memory map 0x00000000fffffff4 page_mask 0x0000000000000024 Pprotect 0x0000000000000024 mprotect - .text 0x0000000000000348 0x498 tmp/armeb.v4a-linux.elf-upxfd_android.o - 0x0000000000000598 upx_mmap_and_fd - .text 0x00000000000007e0 0x0 tmp/armeb.v4a-expand.o - .text 0x00000000000007e0 0x900 tmp/armeb.v4a-linux.elf-main2.o - 0x000000000000107c underlay - 0x0000000000000f48 upx_main + .text 0x0000000000000348 0x510 tmp/armeb.v4a-linux.elf-upxfd_android.o + 0x000000000000060c upx_mmap_and_fd + .text 0x0000000000000858 0x0 tmp/armeb.v4a-expand.o + .text 0x0000000000000858 0x900 tmp/armeb.v4a-linux.elf-main2.o + 0x00000000000010f4 underlay + 0x0000000000000fc0 upx_main SYSCALLS 0x0000000000000000 0x214 SYSCALLS 0x0000000000000000 0x214 tmp/armeb.v4a-linux.elf-fold.o diff --git a/src/stub/tmp/i386-linux.elf-entry.bin.dump b/src/stub/tmp/i386-linux.elf-entry.bin.dump index 9f923f1b..51677878 100644 --- a/src/stub/tmp/i386-linux.elf-entry.bin.dump +++ b/src/stub/tmp/i386-linux.elf-entry.bin.dump @@ -2,12 +2,12 @@ file format elf32-i386 Sections: Idx Name Size VMA LMA File off Algn Flags - 0 ELFMAINX 0667 0 0 034 2**2 CONTENTS - 1 ELFMAINZ 0a 0 0 069b 2**0 CONTENTS + 0 ELFMAINX 06da 0 0 034 2**2 CONTENTS + 1 ELFMAINZ 0a 0 0 070e 2**0 CONTENTS SYMBOL TABLE: 00000000 l d ELFMAINX 0 ELFMAINX 00000000 l d ELFMAINZ 0 ELFMAINZ -0000040f g F ELFMAINX 0258 upx_mmap_and_fd +00000482 g F ELFMAINX 0258 upx_mmap_and_fd 00000000 *UND* 0 O_BINFO 000001d4 g ELFMAINX 0 mempcpy 0000017a g ELFMAINX 0 mmap @@ -25,11 +25,14 @@ OFFSET TYPE VALUE 000000a5 R_386_PC32 upx_mmap_and_fd 00000152 R_386_PC32 mmap 0000020c R_386_PC32 memset -00000343 R_386_PC32 mempcpy -0000048d R_386_PC32 my_bkpt -00000506 R_386_PC32 get_upxfn_path -000005b7 R_386_PC32 memset -0000063b R_386_PC32 mmap +0000025b R_386_PC32 my_bkpt +00000321 R_386_PC32 my_bkpt +00000355 R_386_PC32 mempcpy +000003b1 R_386_PC32 mempcpy +00000500 R_386_PC32 my_bkpt +00000579 R_386_PC32 get_upxfn_path +0000062a R_386_PC32 memset +000006ae R_386_PC32 mmap RELOCATION RECORDS FOR [ELFMAINZ]: OFFSET TYPE VALUE diff --git a/src/stub/tmp/i386-linux.elf-fold.map b/src/stub/tmp/i386-linux.elf-fold.map index 26ee92dd..784f36d6 100644 --- a/src/stub/tmp/i386-linux.elf-fold.map +++ b/src/stub/tmp/i386-linux.elf-fold.map @@ -7,17 +7,17 @@ Name Origin Length Attributes Linker script and memory map -.text 0x0000000000000000 0xdf6 +.text 0x0000000000000000 0xe6a .text 0x0000000000000000 0x190 tmp/i386-linux.elf-fold.o 0x0000000000000008 get_page_mask 0x0000000000000015 get_upxfn_path - .text 0x0000000000000190 0x46f tmp/i386-linux.elf-upxfd_android.o - 0x00000000000003a7 upx_mmap_and_fd - *fill* 0x00000000000005ff 0x1 00 - .text 0x0000000000000600 0x0 tmp/i386-expand.o - .text 0x0000000000000600 0x7f6 tmp/i386-linux.elf-main2.o - 0x0000000000000755 underlay - 0x0000000000000ca2 upx_main + .text 0x0000000000000190 0x4e2 tmp/i386-linux.elf-upxfd_android.o + 0x000000000000041a upx_mmap_and_fd + *fill* 0x0000000000000672 0x2 00 + .text 0x0000000000000674 0x0 tmp/i386-expand.o + .text 0x0000000000000674 0x7f6 tmp/i386-linux.elf-main2.o + 0x00000000000007c9 underlay + 0x0000000000000d16 upx_main .data 0x0000000000000000 0x0 .data 0x0000000000000000 0x0 tmp/i386-linux.elf-fold.o