ELF2 arm32-linux unmap_all_pages

modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   stub/src/arm.v4a-linux.elf-entry.S
	modified:   stub/src/arm.v4a-linux.elf-fold.S
	modified:   stub/src/powerpc-linux.elf-entry.S
           plus generated *.h *.map *.dump
This commit is contained in:
John Reiser 2024-07-08 17:59:14 -07:00
parent 66dc1d90d8
commit 6cda0b6016
16 changed files with 7689 additions and 7638 deletions

View File

@ -49,11 +49,11 @@ expected_sha256sums__t110_compress_ucl_nrv2b_3_no_filter="\
facd4ce6bf34d66fa1fb35b09efe2a643fe6174f63470905aa94ee137a5d05cf *amd64-linux.elf/upx-3.91 facd4ce6bf34d66fa1fb35b09efe2a643fe6174f63470905aa94ee137a5d05cf *amd64-linux.elf/upx-3.91
ae17b09aa5fa72356f4920522025475ce9f0fde1cd84934eca0cb47578636fe6 *amd64-linux.elf/upx-3.95 ae17b09aa5fa72356f4920522025475ce9f0fde1cd84934eca0cb47578636fe6 *amd64-linux.elf/upx-3.95
1bd70a3cd3b34e635a3c947cacd46c4d66bf07e0fd350cc6d1f3cf60483f75b9 *amd64-win64.pe/upx-3.95.exe 1bd70a3cd3b34e635a3c947cacd46c4d66bf07e0fd350cc6d1f3cf60483f75b9 *amd64-win64.pe/upx-3.95.exe
ae0eb45a60d7898f0b57b776db59cfa92da158ac4bd1be33450543f1b0866f28 *arm-linux.elf/upx-3.95 6128f5ab439adc24d77690c2bdde30fa554b9a71348f3cb6733a2322e7fba010 *arm-linux.elf/upx-3.95
94422a91473a467dfb534afa3f20247bc38691aeb386a42fb3e0fd18d3d0ae08 *arm-wince.pe/upx-3.91.exe 94422a91473a467dfb534afa3f20247bc38691aeb386a42fb3e0fd18d3d0ae08 *arm-wince.pe/upx-3.91.exe
d63d4c9886b175c5388758c3d963e8d0b1e562536cf22e85792df35b028a94c1 *arm64-linux.elf/upx-3.95 d63d4c9886b175c5388758c3d963e8d0b1e562536cf22e85792df35b028a94c1 *arm64-linux.elf/upx-3.95
1fe1bf73416e9635675a84e0672b1ad6ab770ea9bacb374065b56d96cad7e887 *armeb-linux.elf/upx-3.91 83229b43730fca1dd78ef8a963db149c0e8d694231cf1217456b046af32d0ce6 *armeb-linux.elf/upx-3.91
5ebe64cfbdee4af7f71d59d709ffa3804ac6f5c2ac357e35e9bda21607af9377 *armeb-linux.elf/upx-3.95 19591fa50cfcb751edb6f1fe3c0420fdf145c42b51b0ebf47d7884785d1b4121 *armeb-linux.elf/upx-3.95
e17a126cebc32977991a292b7434d1435a7c95862ccece0e4acbf6e810bd3443 *i386-dos32.djgpp2.coff/upx-3.91.exe e17a126cebc32977991a292b7434d1435a7c95862ccece0e4acbf6e810bd3443 *i386-dos32.djgpp2.coff/upx-3.91.exe
88c54fa6bda1bbee0317c839dd756458ebe9bf4b0f6d746139517c7e0c3c9c6f *i386-dos32.djgpp2.coff/upx-3.95.exe 88c54fa6bda1bbee0317c839dd756458ebe9bf4b0f6d746139517c7e0c3c9c6f *i386-dos32.djgpp2.coff/upx-3.95.exe
e5ccaa48ec0223990abc7681bb97a9f49b0192db4d04a21b0525dd610bfcbcae *i386-linux.elf/upx-3.91 e5ccaa48ec0223990abc7681bb97a9f49b0192db4d04a21b0525dd610bfcbcae *i386-linux.elf/upx-3.91
@ -72,11 +72,11 @@ expected_sha256sums__t120_compress_ucl_nrv2d_3_no_filter="\
7ae7eea1444d1b6e56dda4a0512ff94e5ebaf8c02288a4132def5fdf46fb4b2e *amd64-linux.elf/upx-3.91 7ae7eea1444d1b6e56dda4a0512ff94e5ebaf8c02288a4132def5fdf46fb4b2e *amd64-linux.elf/upx-3.91
65b9124e6b3944071870d2bdeeb072e7c85f75864340646038aea4e38be74537 *amd64-linux.elf/upx-3.95 65b9124e6b3944071870d2bdeeb072e7c85f75864340646038aea4e38be74537 *amd64-linux.elf/upx-3.95
0314c6974f29d180e46e41a1004d46a3993fe96f03de7f78d45ad89ad3b2177e *amd64-win64.pe/upx-3.95.exe 0314c6974f29d180e46e41a1004d46a3993fe96f03de7f78d45ad89ad3b2177e *amd64-win64.pe/upx-3.95.exe
d4546ebbe67736b06b3f026916cd36547f8cdec71e87126d34033981be9332d1 *arm-linux.elf/upx-3.95 83ee707ccd24bfcc11ebd6bce119c3f9c5d41889bab42f2aa232fe4aa66bb261 *arm-linux.elf/upx-3.95
d7839b7dee866794e4ca3df32e2b1084b35aa22dee5f060fa14b5ca09c612ba3 *arm-wince.pe/upx-3.91.exe d7839b7dee866794e4ca3df32e2b1084b35aa22dee5f060fa14b5ca09c612ba3 *arm-wince.pe/upx-3.91.exe
8ebe1bd25ce7fa3c6a2727578aa564b631e9865b14b63b6f38234cd5f55a4f9c *arm64-linux.elf/upx-3.95 8ebe1bd25ce7fa3c6a2727578aa564b631e9865b14b63b6f38234cd5f55a4f9c *arm64-linux.elf/upx-3.95
bff48a7c8c9dbec8ff71de3dc882f872f8278b9abf12a4abb0e7b084f00e0fc2 *armeb-linux.elf/upx-3.91 59bb507e93782895ebd99cdf312cf80fd322dd74d8bae9c378946eaf5dcc2655 *armeb-linux.elf/upx-3.91
06bec58553ad7655f016ffa0fbaf50c293252c3b61264b4bd0bf004cc29a6efd *armeb-linux.elf/upx-3.95 7377227af66db9cb9feebf08ca470ccc82a2bdb7a02f3d20c92f9ddaa37d2dd1 *armeb-linux.elf/upx-3.95
4a434c3a14686786369c8bede8736d15e307ed7dd8c40cccb8f22003b05db968 *i386-dos32.djgpp2.coff/upx-3.91.exe 4a434c3a14686786369c8bede8736d15e307ed7dd8c40cccb8f22003b05db968 *i386-dos32.djgpp2.coff/upx-3.91.exe
4ec6858a6c453176db25de5317269fa973f07051a15c9ff146920153dda52350 *i386-dos32.djgpp2.coff/upx-3.95.exe 4ec6858a6c453176db25de5317269fa973f07051a15c9ff146920153dda52350 *i386-dos32.djgpp2.coff/upx-3.95.exe
d1c2204d10c2753b485f0aac2d58e6ec614951271436467c345e113465e9fb9b *i386-linux.elf/upx-3.91 d1c2204d10c2753b485f0aac2d58e6ec614951271436467c345e113465e9fb9b *i386-linux.elf/upx-3.91
@ -95,11 +95,11 @@ expected_sha256sums__t130_compress_ucl_nrv2e_3_no_filter="\
34959e4a8682e4270e7a1a471fca0d8cd20391201ec50c2815b7dbfb6df5b9a8 *amd64-linux.elf/upx-3.91 34959e4a8682e4270e7a1a471fca0d8cd20391201ec50c2815b7dbfb6df5b9a8 *amd64-linux.elf/upx-3.91
777f0cfc3cfe323de7868688a60246c499abc682b524ed0087ebcceb26f812d4 *amd64-linux.elf/upx-3.95 777f0cfc3cfe323de7868688a60246c499abc682b524ed0087ebcceb26f812d4 *amd64-linux.elf/upx-3.95
97bb5953405f3413d9ff9bdc272caf2858697168b3e85dab54213da356b5ea0f *amd64-win64.pe/upx-3.95.exe 97bb5953405f3413d9ff9bdc272caf2858697168b3e85dab54213da356b5ea0f *amd64-win64.pe/upx-3.95.exe
c0eb941b8dc0b421185b03699a280c7b199267e196c9db9e0dc3a966dbbde8c0 *arm-linux.elf/upx-3.95 10a97e59e67452d5ff9f19e53c5ce311bd848acaf689eba97e30daadedcf215d *arm-linux.elf/upx-3.95
8c73f5acfc70e3c518be09978af87b9bec4906240cb457a166da0eba05bea4db *arm-wince.pe/upx-3.91.exe 8c73f5acfc70e3c518be09978af87b9bec4906240cb457a166da0eba05bea4db *arm-wince.pe/upx-3.91.exe
8762bc97745ee0f1323843cb5bde227420d9ced810d36af0df5a44823d39404a *arm64-linux.elf/upx-3.95 8762bc97745ee0f1323843cb5bde227420d9ced810d36af0df5a44823d39404a *arm64-linux.elf/upx-3.95
a1f00f0bb2cb3de5b0e7204ece5ae71ce46e352cbb4ea9fd72d8dc2284525c66 *armeb-linux.elf/upx-3.91 a2a5425a36e51a8fec3aeb543d5ec97077ed28c2443851557b1579e9416ab166 *armeb-linux.elf/upx-3.91
de106d25cb12ddebb2aa164ff859e10fe373496dc991b41ad3f0ff781471695e *armeb-linux.elf/upx-3.95 5c86388b4bdf0aa324f04da193af5f0c75b329a57059f0ab2422be0b496c3627 *armeb-linux.elf/upx-3.95
d454dd376db342e7650a93bd4859546711c94f5da55336e5b969dbea996465d9 *i386-dos32.djgpp2.coff/upx-3.91.exe d454dd376db342e7650a93bd4859546711c94f5da55336e5b969dbea996465d9 *i386-dos32.djgpp2.coff/upx-3.91.exe
89fdaef155f19e1388412109c955b3368df7e39f13ae2ef5db5b0f0df3df81ab *i386-dos32.djgpp2.coff/upx-3.95.exe 89fdaef155f19e1388412109c955b3368df7e39f13ae2ef5db5b0f0df3df81ab *i386-dos32.djgpp2.coff/upx-3.95.exe
313f889ea2623c553c73989949dde6404243336ee7087901e860c882620379a1 *i386-linux.elf/upx-3.91 313f889ea2623c553c73989949dde6404243336ee7087901e860c882620379a1 *i386-linux.elf/upx-3.91
@ -118,11 +118,11 @@ expected_sha256sums__t140_compress_lzma_2_no_filter="\
b028e56efb322a8d3a462cde72ff1ed193ba1e53bb055a40e20f436fa374403d *amd64-linux.elf/upx-3.91 b028e56efb322a8d3a462cde72ff1ed193ba1e53bb055a40e20f436fa374403d *amd64-linux.elf/upx-3.91
73913ea7fa471fd7208451efb7af6285bafba0c7228fab3461022743efb15205 *amd64-linux.elf/upx-3.95 73913ea7fa471fd7208451efb7af6285bafba0c7228fab3461022743efb15205 *amd64-linux.elf/upx-3.95
b8815f95e92d6853a04a86069e9054115be2d9aa657fa2c8912d0f37e56c894f *amd64-win64.pe/upx-3.95.exe b8815f95e92d6853a04a86069e9054115be2d9aa657fa2c8912d0f37e56c894f *amd64-win64.pe/upx-3.95.exe
9b40ed6bc951d50f2cd26156f196105a82e12f50dae89ca9a3182de2d063c83e *arm-linux.elf/upx-3.95 113aa01fc9103013e50fd9423dcf10ef56d266de438611170188265774d1f898 *arm-linux.elf/upx-3.95
018242f330e19dd7ca2fb78687c0070ad88f1aa2e113be865c30ad3ff94a4ada *arm-wince.pe/upx-3.91.exe 018242f330e19dd7ca2fb78687c0070ad88f1aa2e113be865c30ad3ff94a4ada *arm-wince.pe/upx-3.91.exe
b2faa2181b1d5c3718c1c05c5ae130b61ee67a3b481b3235ac3af3d5de9ddce8 *arm64-linux.elf/upx-3.95 b2faa2181b1d5c3718c1c05c5ae130b61ee67a3b481b3235ac3af3d5de9ddce8 *arm64-linux.elf/upx-3.95
4d59557e647b464c22870862d6eaf6f387911266aab66477720a556e64587e81 *armeb-linux.elf/upx-3.91 2459d2f54b0c2a0da775dc20aeb6582e1e51e360728671d2e86a6c786e88267b *armeb-linux.elf/upx-3.91
fb32097a3c9abb47eadb88ad0b0b504d8e3ee5853768f1bf9b438c76f5317af9 *armeb-linux.elf/upx-3.95 5eca167136cad9f40b9f5b3b4e8e3d6f51dff34ab8d421b3ba5103bf6badd263 *armeb-linux.elf/upx-3.95
4e16bdab8b74ea5c7de4f255eec035189c24ac6374afef883c17696642c4fe16 *i386-dos32.djgpp2.coff/upx-3.91.exe 4e16bdab8b74ea5c7de4f255eec035189c24ac6374afef883c17696642c4fe16 *i386-dos32.djgpp2.coff/upx-3.91.exe
a526f335f984af6f8adb5dca85c5564ab888c009b79daead8631de766857e033 *i386-dos32.djgpp2.coff/upx-3.95.exe a526f335f984af6f8adb5dca85c5564ab888c009b79daead8631de766857e033 *i386-dos32.djgpp2.coff/upx-3.95.exe
94f234404c58bf66ca9197eff731a84e8aac2ac57524ce20e7282664d6e98806 *i386-linux.elf/upx-3.91 94f234404c58bf66ca9197eff731a84e8aac2ac57524ce20e7282664d6e98806 *i386-linux.elf/upx-3.91
@ -141,11 +141,11 @@ expected_sha256sums__t150_compress_ucl_2_all_filters="\
fc70cf55446c99b6e6845511f86c7f9496c97bcd44f0844206c9b70722fc33eb *amd64-linux.elf/upx-3.91 fc70cf55446c99b6e6845511f86c7f9496c97bcd44f0844206c9b70722fc33eb *amd64-linux.elf/upx-3.91
4e983b29ac9e37552531c4bf41da9953140e0e7a72429933f069c7685985df14 *amd64-linux.elf/upx-3.95 4e983b29ac9e37552531c4bf41da9953140e0e7a72429933f069c7685985df14 *amd64-linux.elf/upx-3.95
434732efb16b89114162a1787a28c128e2c11edb9835411f2b707cac5cd475ae *amd64-win64.pe/upx-3.95.exe 434732efb16b89114162a1787a28c128e2c11edb9835411f2b707cac5cd475ae *amd64-win64.pe/upx-3.95.exe
a884e33d31a54f9c97c250cc1132c2cec594b5c41f676a306f2a78298630dbee *arm-linux.elf/upx-3.95 636537ef1431c8d3caa40db1a76061cf9a94ecda1748d3459940ed7cb6b78856 *arm-linux.elf/upx-3.95
93e2ead9e54732a1731896681d415e3ce60b7420ad7f3c57822ad7dbd061cdd3 *arm-wince.pe/upx-3.91.exe 93e2ead9e54732a1731896681d415e3ce60b7420ad7f3c57822ad7dbd061cdd3 *arm-wince.pe/upx-3.91.exe
fe3bb2d827888c20e34bf86f6b1593408d91338934530df2e7aa2af2149a1627 *arm64-linux.elf/upx-3.95 fe3bb2d827888c20e34bf86f6b1593408d91338934530df2e7aa2af2149a1627 *arm64-linux.elf/upx-3.95
068b4c43aff0a0ffcada69e1b535a933f64d9ecbb8b3dff5b90a8b741be049a9 *armeb-linux.elf/upx-3.91 a7907351a42a7c70c219f4325de0cad1c7c84e9803703a2fad040362ef800813 *armeb-linux.elf/upx-3.91
1175fa09bb7e92abb4d763c0334ae0f8584d86db45f5e5f85b433bf900f68363 *armeb-linux.elf/upx-3.95 1dd67a34717e3e605e0290d3470023ffed05cbda7d2117dedfc506261897c0ca *armeb-linux.elf/upx-3.95
2957b481e67689a5ad43dcfdfde207b9eb16142c161f3e43fd0eeff5917fefbd *i386-dos32.djgpp2.coff/upx-3.91.exe 2957b481e67689a5ad43dcfdfde207b9eb16142c161f3e43fd0eeff5917fefbd *i386-dos32.djgpp2.coff/upx-3.91.exe
8f02dbfdbddad405ec599afba4ead6d300ab792f7188df7a32a9d7d3dc7d72c9 *i386-dos32.djgpp2.coff/upx-3.95.exe 8f02dbfdbddad405ec599afba4ead6d300ab792f7188df7a32a9d7d3dc7d72c9 *i386-dos32.djgpp2.coff/upx-3.95.exe
10fa881f45706adef32effd3320566d46af2f9e4c9e6198ceade511f324c3952 *i386-linux.elf/upx-3.91 10fa881f45706adef32effd3320566d46af2f9e4c9e6198ceade511f324c3952 *i386-linux.elf/upx-3.91
@ -164,11 +164,11 @@ expected_sha256sums__t160_compress_all_methods_1_no_filter="\
09724f7b02c462d992ec9f4464f72bd7c25eb6e2918c9ad14fa88d4edc1207dc *amd64-linux.elf/upx-3.91 09724f7b02c462d992ec9f4464f72bd7c25eb6e2918c9ad14fa88d4edc1207dc *amd64-linux.elf/upx-3.91
0a84ad9366d8cbd39b02c383fedc72eb27e8c664bc6f52cb3808544daea87f00 *amd64-linux.elf/upx-3.95 0a84ad9366d8cbd39b02c383fedc72eb27e8c664bc6f52cb3808544daea87f00 *amd64-linux.elf/upx-3.95
f38ff7edc916c1a3e82020035667de858c89d52c98d960dad0e21b4da444ed6c *amd64-win64.pe/upx-3.95.exe f38ff7edc916c1a3e82020035667de858c89d52c98d960dad0e21b4da444ed6c *amd64-win64.pe/upx-3.95.exe
e43e7cec0f2619abd23e2e9671abf5f6b79802eb6018ba5c4f1d23ab87af6441 *arm-linux.elf/upx-3.95 5811a91951050d2be3ec9540b0919e362533140fce612e125f7a6e2f34207981 *arm-linux.elf/upx-3.95
bb475839ec547696aaccf4da202b99be927c872e5de298a5eb1f0be0edc06d1d *arm-wince.pe/upx-3.91.exe bb475839ec547696aaccf4da202b99be927c872e5de298a5eb1f0be0edc06d1d *arm-wince.pe/upx-3.91.exe
0b5c580c7aa633038cf6b7edfd1183bda308ea85999b36f503d89e651a7a66f5 *arm64-linux.elf/upx-3.95 0b5c580c7aa633038cf6b7edfd1183bda308ea85999b36f503d89e651a7a66f5 *arm64-linux.elf/upx-3.95
5c90b2981476056c242a33b3726868dc49b01d3db335d2252918f781553bfd3e *armeb-linux.elf/upx-3.91 cd9598b86db047f045eec2bfb40406b9e223ea9cf392c72aaac599d5451ed0f3 *armeb-linux.elf/upx-3.91
d7d2c4b8cb284ec6a8f994097298f664ba9a8dc26eceee316d36e1005546bf4b *armeb-linux.elf/upx-3.95 65c629dd8a736ad0f5e75555fa95222bbee0814be11ec5f86ddb34b58fb0f21e *armeb-linux.elf/upx-3.95
8673a20ba4b83e25daab30431ed215dcb35f595fa0cabf67ff57368a07ba4c14 *i386-dos32.djgpp2.coff/upx-3.91.exe 8673a20ba4b83e25daab30431ed215dcb35f595fa0cabf67ff57368a07ba4c14 *i386-dos32.djgpp2.coff/upx-3.91.exe
c7eb37a33f4f044ce444e5c258fade07c8fdf6d64236900c839196bedcb241fe *i386-dos32.djgpp2.coff/upx-3.95.exe c7eb37a33f4f044ce444e5c258fade07c8fdf6d64236900c839196bedcb241fe *i386-dos32.djgpp2.coff/upx-3.95.exe
e40f96019386617f462a0216d6301639fae7ca0ed16cd7c0d52e8a95372d60c1 *i386-linux.elf/upx-3.91 e40f96019386617f462a0216d6301639fae7ca0ed16cd7c0d52e8a95372d60c1 *i386-linux.elf/upx-3.91
@ -187,11 +187,11 @@ expected_sha256sums__t170_compress_all_methods_no_lzma_5_no_filter="\
cdc4ed9c5f1f724c436a3fc97a45b6b89605b34d8210ab6fdbbefb5954b5361b *amd64-linux.elf/upx-3.91 cdc4ed9c5f1f724c436a3fc97a45b6b89605b34d8210ab6fdbbefb5954b5361b *amd64-linux.elf/upx-3.91
1822fd4102edea03b7a251df37c605005465b716820cabb627249c0057b132df *amd64-linux.elf/upx-3.95 1822fd4102edea03b7a251df37c605005465b716820cabb627249c0057b132df *amd64-linux.elf/upx-3.95
5fccb0f5044baaa74d176efb25eefa3b5810dc737ed0f9d38084d275f7ebe7b8 *amd64-win64.pe/upx-3.95.exe 5fccb0f5044baaa74d176efb25eefa3b5810dc737ed0f9d38084d275f7ebe7b8 *amd64-win64.pe/upx-3.95.exe
77f42e69f1ab703364bef9855da95af50f8e6c9822de6b8f4c878594104acd96 *arm-linux.elf/upx-3.95 8f0771ae166bc9f8647a4b2842bf866bce1b8d43526721c708725817f6739512 *arm-linux.elf/upx-3.95
56be0b4046accdfadbe534ecb6e6452b9e3a18bb9eac39da0ee8893c31d24416 *arm-wince.pe/upx-3.91.exe 56be0b4046accdfadbe534ecb6e6452b9e3a18bb9eac39da0ee8893c31d24416 *arm-wince.pe/upx-3.91.exe
8e440516964e8f9871437bfe83284d5cf0ab26a6eee9bcd9b46f9b491ecd51fb *arm64-linux.elf/upx-3.95 8e440516964e8f9871437bfe83284d5cf0ab26a6eee9bcd9b46f9b491ecd51fb *arm64-linux.elf/upx-3.95
c7ad57f653fa01c43199f8b4a84be552ce98ee1c2eea11c5d1c998eea0a78314 *armeb-linux.elf/upx-3.91 13a7bcf608966c074841020bb819f38f2cd7df5f765d62e77ba6f67528b86ebe *armeb-linux.elf/upx-3.91
fa8f3ecb37f89531b7a87f6fbbb6e06f900515aa5ddfd5da98a80ee8c525eaa7 *armeb-linux.elf/upx-3.95 00ee8b7d43849294772648532f38db68103b45a623665d9f637376b64cb3fc26 *armeb-linux.elf/upx-3.95
6f9fbac216cd42aa370cb90965e74669daf33fd403bf0a250aaec06dd3439009 *i386-dos32.djgpp2.coff/upx-3.91.exe 6f9fbac216cd42aa370cb90965e74669daf33fd403bf0a250aaec06dd3439009 *i386-dos32.djgpp2.coff/upx-3.91.exe
902f1c5036680b0fadbebaef913c4062f0ce5ef0f2d537f7e6da31d23974139d *i386-dos32.djgpp2.coff/upx-3.95.exe 902f1c5036680b0fadbebaef913c4062f0ce5ef0f2d537f7e6da31d23974139d *i386-dos32.djgpp2.coff/upx-3.95.exe
5716eeb0a4dc7320c9b4f871d4bc4ad0ac33b9e7aed1437c316e1dd63f981b70 *i386-linux.elf/upx-3.91 5716eeb0a4dc7320c9b4f871d4bc4ad0ac33b9e7aed1437c316e1dd63f981b70 *i386-linux.elf/upx-3.91

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -60,6 +60,9 @@ PROT_READ= 1
PROT_WRITE= 2 PROT_WRITE= 2
PROT_EXEC= 4 PROT_EXEC= 4
is_ptinterp= (1<<0)
unmap_all_pages= (1<<1)
MAP_ANONYMOUS= 0x20 MAP_ANONYMOUS= 0x20
MAP_FIXED= 0x10 MAP_FIXED= 0x10
MAP_PRIVATE= 0x02 MAP_PRIVATE= 0x02
@ -246,8 +249,9 @@ mfd .req old_sp
// jmp unfolded_code // jmp unfolded_code
ldr r0,[sp,#F_ELFA] ldr r0,[sp,#F_ELFA]
ldr r1,[binfo,#-NBPW] @ O_BINFO ldr r1,[binfo,#-NBPW] @ O_BINFO | unmap_all_pages
add r4,r0,r1 @ ADRX= &b_info add r4,r0,r1 @ ADRX= &b_info | unmap_all_pages
bic r1,r1,#unmap_all_pages
sub r5,r_pack2,r1 @ LENX= sz_pack2 - O_BINFO sub r5,r_pack2,r1 @ LENX= sz_pack2 - O_BINFO
stmia sp,{r4,r5} // F_ADRX, F_LENX stmia sp,{r4,r5} // F_ADRX, F_LENX
#if DEBUG /*{*/ #if DEBUG /*{*/

View File

@ -80,19 +80,6 @@ arg4 .req r3
arg5 .req r4 arg5 .req r4
arg6 .req r5 arg6 .req r5
// In: sp/ F_ADRX,F_LENX,F_ELFA,F_ADRU,F_LENU,F_R0,F_R1,%F_ENTR,F_argc
// [ADRX, +LENX) = extent of compressed program
// [ADRU, +LENU) = params to munmap unfolded stub
F_ADRX= 0*NBPW
F_LENX= 1*NBPW
F_ELFA= 2*NBPW
F_ADRU= 3*NBPW
F_LENU= 4*NBPW
F_R0= 5*NBPW
F_R1= 6*NBPW
F_ENTR= 7*NBPW
F_ARGC= 8*NBPW
fold_begin: // enter here fold_begin: // enter here
b L05 // put PAGE_MASK and qflg_data within short-displacement of uses b L05 // put PAGE_MASK and qflg_data within short-displacement of uses
@ -142,10 +129,36 @@ mmap_do: // sp: saved r4,r5,lr
proc_self_exe: .asciz "/proc/self/exe"; .balign 4 proc_self_exe: .asciz "/proc/self/exe"; .balign 4
// In: sp/ F_ADRX,F_LENX,F_ELFA,F_ADRU,F_LENU,F_R0,F_R1,%F_ENTR,F_argc
// [ADRX, +LENX) = extent of compressed program
// [ADRU, +LENU) = params to munmap unfolded stub
F_ADRX= 0*NBPW
F_obinfo= F_ADRX // unmap_all_pages in lo bits
F_LENX= 1*NBPW
F_ELFA= 2*NBPW
F_ADRU= 3*NBPW
F_LENU= 4*NBPW
F_R0= 5*NBPW
F_R1= 6*NBPW
F_ENTR= 7*NBPW
F_qflg = F_ENTR // QNX mmap flags
F_ARGC= 8*NBPW
is_ptinterp= (1<<0)
unmap_all_pages= (1<<1)
/* In:
r4= ADRX | unmap_all_pages
r5= LENX
sp/ ADRX|uap,LENX,ELFA,ADRU,LENU,r0,r1,%entry, r0,r1, argc,argv,0,envp,0,auxv
(ADRX,LENX) = extent of compressed program
(ADRU,LENU) = params to munmap unfolded stub
*/
L05: L05:
ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12} // includes argc ldmia sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12} // F_ADRX .. F_ARGC
mov r1,sp @ src mov r1,sp @ src
sub sp,sp,#PATH_MAX tst r4,#unmap_all_pages; bne 0f; sub sp,sp,#PATH_MAX; 0:
mov r0,sp @ dst mov r0,sp @ dst
stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12} stmdb sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12}
@ -153,7 +166,9 @@ L05:
ldr r3,[r1],#NBPW; cmp r3,#0 ldr r3,[r1],#NBPW; cmp r3,#0
str r3,[r0],#NBPW; bne 0b str r3,[r0],#NBPW; bne 0b
mov r4,r0 @ &new_env[0] mov r4,r0 @ &new_env[0]
ldr r2,[sp,#F_obinfo]; tst r2,#unmap_all_pages; bne 0f @ no new_env
str r3,[r0],#NBPW @ space for new_env[0] str r3,[r0],#NBPW @ space for new_env[0]
0:
0: // copy env down 0: // copy env down
ldr r3,[r1],#NBPW; cmp r3,#0 ldr r3,[r1],#NBPW; cmp r3,#0
@ -165,12 +180,13 @@ L05:
stmia r0!,{r2,r3}; bne 0b stmia r0!,{r2,r3}; bne 0b
mov r6,r1 @ &orig_auxv[end]; also &old_strings mov r6,r1 @ &orig_auxv[end]; also &old_strings
mov r9,r0 @ &down_auxv[end] mov r9,r0 @ &down_auxv[end]
ldr r2,[sp,#F_obinfo]; tst r2,#unmap_all_pages; bne no_pse_env
pse_env:
adr arg1,proc_self_exe adr arg1,proc_self_exe
mov arg2,#O_RDONLY mov arg2,#O_RDONLY
do_sys7t __NR_open // ENOENT is OK do_sys7t __NR_open // ENOENT is OK
r_pse .req r8 //r_pse .req r8
mov r_pse,r0 // mov r_pse,r0
mov arg3,#PATH_MAX mov arg3,#PATH_MAX
mov arg2,r9 @ buffer mov arg2,r9 @ buffer
@ -211,10 +227,12 @@ r_auxe .req r10
ldr r2,[r1,#-4]!; cmp r1,sp ldr r2,[r1,#-4]!; cmp r1,sp
str r2,[r0,#-4]!; bne 0b str r2,[r0,#-4]!; bne 0b
mov sp,r0 mov sp,r0
no_pse_env:
/* Construct arglist for upx_main */ /* Construct arglist for upx_main */
ldmia sp!,{arg1,arg2,arg3} @ pop: ADRX, LENX, elfaddr ldmia sp!,{arg1,arg2,arg3} @ pop: ADRX, LENX, elfaddr
stmdb sp!,{arg1,arg2,arg3} @ put back stmdb sp!,{arg1,arg2,arg3} @ put back
bic arg1,arg1,#unmap_all_pages // ADRX
r_elfa .req r9 r_elfa .req r9
mov r_elfa,arg3 // save elfaddr mov r_elfa,arg3 // save elfaddr
//mov arg4,r3 @ auxv //mov arg4,r3 @ auxv
@ -226,10 +244,9 @@ r_elfa .req r9
str r0,[sp,#F_ENTR] @ entry address str r0,[sp,#F_ENTR] @ entry address
// Map 1 page of /proc/self/exe so that it does not disappear // Map 1 page of /proc/self/exe so that it does not disappear
mov arg5,r_pse ldr r0,[sp,#F_obinfo]; tst r0,#unmap_all_pages; bne no_map_pse
cmp arg5,#0; blt no_map_pse
mov arg6,#0 @ SEEK_SET offset mov arg6,#0 @ SEEK_SET offset
stmdb sp!,{arg5,arg6} @ arg5,arg6 calling convention stmdb sp!,{arg5,arg6} @ arg5,arg6 C-lang calling convention
mov arg4,#MAP_PRIVATE mov arg4,#MAP_PRIVATE
mov arg3,#PROT_READ mov arg3,#PROT_READ
mov arg2,#PAGE_SIZE mov arg2,#PAGE_SIZE

View File

@ -273,7 +273,7 @@ main:
call unfold call unfold
LrFLD: LrFLD:
LOBINFO: LOBINFO:
.long O_BINFO .long O_BINFO // | unmap_all_pages
LBINFO: LBINFO:
/* { b_info={sz_unc, sz_cpr, {4 char}}, folded_loader...} */ /* { b_info={sz_unc, sz_cpr, {4 char}}, folded_loader...} */

View File

@ -4,14 +4,14 @@ Sections:
Idx Name Size VMA LMA File off Algn Flags Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINY 0 0 0 034 2**0 CONTENTS 0 ELFMAINY 0 0 0 034 2**0 CONTENTS
1 ELFMAINZ 0114 0 0 034 2**0 CONTENTS 1 ELFMAINZ 0114 0 0 034 2**0 CONTENTS
2 ELFMAINX 0628 0 0 0148 2**2 CONTENTS 2 ELFMAINX 062c 0 0 0148 2**2 CONTENTS
SYMBOL TABLE: SYMBOL TABLE:
00000000 l d ELFMAINZ 0 ELFMAINZ 00000000 l d ELFMAINZ 0 ELFMAINZ
00000000 l d ELFMAINX 0 ELFMAINX 00000000 l d ELFMAINX 0 ELFMAINX
00000000 l d ELFMAINY 0 ELFMAINY 00000000 l d ELFMAINY 0 ELFMAINY
00000000 *UND* 0 MFLG 00000000 *UND* 0 MFLG
00000090 g ELFMAINZ 0 getpid 00000090 g ELFMAINZ 0 getpid
00000474 g F ELFMAINX 01b4 upx_mmap_and_fd 00000478 g F ELFMAINX 01b4 upx_mmap_and_fd
00000008 g ELFMAINZ 0 memcpy 00000008 g ELFMAINZ 0 memcpy
00000000 *UND* 0 O_BINFO 00000000 *UND* 0 O_BINFO
0000004c g ELFMAINZ 0 mempcpy 0000004c g ELFMAINZ 0 mempcpy
@ -28,7 +28,7 @@ SYMBOL TABLE:
000000b0 g ELFMAINZ 0 read 000000b0 g ELFMAINZ 0 read
000000c8 g ELFMAINZ 0 unlink 000000c8 g ELFMAINZ 0 unlink
0000002c g ELFMAINZ 0 memset 0000002c g ELFMAINZ 0 memset
00000160 g F ELFMAINX 0dc ucl_nrv2b_decompress_8 00000164 g F ELFMAINX 0dc ucl_nrv2b_decompress_8
00000080 g ELFMAINZ 0 fsync 00000080 g ELFMAINZ 0 fsync
000000b8 g ELFMAINZ 0 stat 000000b8 g ELFMAINZ 0 stat
00000114 g ELFMAINZ 0 cpr0 00000114 g ELFMAINZ 0 cpr0
@ -58,80 +58,80 @@ OFFSET TYPE VALUE
000000a0 R_ARM_PC24 upx_mmap_and_fd 000000a0 R_ARM_PC24 upx_mmap_and_fd
000000cc R_ARM_PC24 ELFMAINX 000000cc R_ARM_PC24 ELFMAINX
00000108 R_ARM_PC24 ELFMAINX 00000108 R_ARM_PC24 ELFMAINX
00000158 R_ARM_PC24 ELFMAINX 0000015c R_ARM_PC24 ELFMAINX
00000170 R_ARM_PC24 ELFMAINX 00000174 R_ARM_PC24 ELFMAINX
000001c0 R_ARM_PC24 ELFMAINX 000001c4 R_ARM_PC24 ELFMAINX
000001c8 R_ARM_PC24 ELFMAINX
000001cc R_ARM_PC24 ELFMAINX 000001cc R_ARM_PC24 ELFMAINX
000001dc R_ARM_PC24 ELFMAINX 000001d0 R_ARM_PC24 ELFMAINX
000001e0 R_ARM_PC24 ELFMAINX 000001e0 R_ARM_PC24 ELFMAINX
000001e4 R_ARM_PC24 ELFMAINX 000001e4 R_ARM_PC24 ELFMAINX
000001f0 R_ARM_PC24 ELFMAINX 000001e8 R_ARM_PC24 ELFMAINX
00000200 R_ARM_PC24 ELFMAINX 000001f4 R_ARM_PC24 ELFMAINX
00000204 R_ARM_PC24 ELFMAINX 00000204 R_ARM_PC24 ELFMAINX
0000020c R_ARM_PC24 ELFMAINX 00000208 R_ARM_PC24 ELFMAINX
00000214 R_ARM_PC24 ELFMAINX 00000210 R_ARM_PC24 ELFMAINX
00000218 R_ARM_PC24 ELFMAINX 00000218 R_ARM_PC24 ELFMAINX
00000234 R_ARM_PC24 ELFMAINX 0000021c R_ARM_PC24 ELFMAINX
00000238 R_ARM_PC24 ELFMAINX 00000238 R_ARM_PC24 ELFMAINX
00000248 R_ARM_PC24 ELFMAINX 0000023c R_ARM_PC24 ELFMAINX
00000264 R_ARM_PC24 ELFMAINX 0000024c R_ARM_PC24 ELFMAINX
0000027c R_ARM_PC24 ELFMAINX 00000268 R_ARM_PC24 ELFMAINX
00000290 R_ARM_PC24 ELFMAINX 00000280 R_ARM_PC24 ELFMAINX
000002bc R_ARM_PC24 memset 00000294 R_ARM_PC24 ELFMAINX
000002c8 R_ARM_PC24 stat 000002c0 R_ARM_PC24 memset
000002d0 R_ARM_PC24 ELFMAINX 000002cc R_ARM_PC24 stat
000002e4 R_ARM_PC24 ELFMAINX 000002d4 R_ARM_PC24 ELFMAINX
000002f4 R_ARM_PC24 mkdir 000002e8 R_ARM_PC24 ELFMAINX
0000030c R_ARM_PC24 ELFMAINX 000002f8 R_ARM_PC24 mkdir
00000324 R_ARM_PC24 mempcpy 00000310 R_ARM_PC24 ELFMAINX
00000334 R_ARM_PC24 ELFMAINX 00000328 R_ARM_PC24 mempcpy
00000338 R_ARM_PC24 ELFMAINX 00000338 R_ARM_PC24 ELFMAINX
0000035c R_ARM_PC24 open 0000033c R_ARM_PC24 ELFMAINX
00000370 R_ARM_PC24 read 00000360 R_ARM_PC24 open
0000037c R_ARM_PC24 close 00000374 R_ARM_PC24 read
000003a0 R_ARM_PC24 ELFMAINX 00000380 R_ARM_PC24 close
000003b0 R_ARM_PC24 ELFMAINX 000003a4 R_ARM_PC24 ELFMAINX
000003b8 R_ARM_PC24 ELFMAINX 000003b4 R_ARM_PC24 ELFMAINX
000003c4 R_ARM_PC24 ELFMAINX 000003bc R_ARM_PC24 ELFMAINX
000003d4 R_ARM_PC24 mempcpy 000003c8 R_ARM_PC24 ELFMAINX
000003e8 R_ARM_PC24 ELFMAINX 000003d8 R_ARM_PC24 mempcpy
000003ec R_ARM_PC24 ELFMAINX 000003ec R_ARM_PC24 ELFMAINX
00000404 R_ARM_PC24 mempcpy 000003f0 R_ARM_PC24 ELFMAINX
00000414 R_ARM_PC24 ELFMAINX 00000408 R_ARM_PC24 mempcpy
00000418 R_ARM_PC24 ELFMAINX 00000418 R_ARM_PC24 ELFMAINX
00000430 R_ARM_PC24 mempcpy 0000041c R_ARM_PC24 ELFMAINX
00000438 R_ARM_PC24 getpid 00000434 R_ARM_PC24 mempcpy
00000440 R_ARM_PC24 ELFMAINX 0000043c R_ARM_PC24 getpid
0000044c R_ARM_PC24 ELFMAINX 00000444 R_ARM_PC24 ELFMAINX
00000458 R_ARM_PC24 ELFMAINX 00000450 R_ARM_PC24 ELFMAINX
00000470 R_ARM_PC24 ELFMAINX 0000045c R_ARM_PC24 ELFMAINX
00000490 R_ARM_PC24 ELFMAINX 00000474 R_ARM_PC24 ELFMAINX
000004a0 R_ARM_PC24 memfd_create 00000494 R_ARM_PC24 ELFMAINX
000004c0 R_ARM_PC24 uname 000004a4 R_ARM_PC24 memfd_create
000004c4 R_ARM_PC24 ELFMAINX 000004c4 R_ARM_PC24 uname
000004dc R_ARM_PC24 ELFMAINX 000004c8 R_ARM_PC24 ELFMAINX
000004f4 R_ARM_PC24 ELFMAINX 000004e0 R_ARM_PC24 ELFMAINX
000004f8 R_ARM_PC24 get_upxfn_path 000004f8 R_ARM_PC24 ELFMAINX
00000510 R_ARM_PC24 ELFMAINX 000004fc R_ARM_PC24 get_upxfn_path
00000518 R_ARM_PC24 ELFMAINX 00000514 R_ARM_PC24 ELFMAINX
00000524 R_ARM_PC24 ELFMAINX 0000051c R_ARM_PC24 ELFMAINX
00000530 R_ARM_PC24 ELFMAINX 00000528 R_ARM_PC24 ELFMAINX
00000538 R_ARM_PC24 ELFMAINX 00000534 R_ARM_PC24 ELFMAINX
00000548 R_ARM_PC24 open 0000053c R_ARM_PC24 ELFMAINX
00000554 R_ARM_PC24 ELFMAINX 0000054c R_ARM_PC24 open
0000055c R_ARM_PC24 unlink 00000558 R_ARM_PC24 ELFMAINX
00000564 R_ARM_PC24 ELFMAINX 00000560 R_ARM_PC24 unlink
0000056c R_ARM_PC24 ELFMAINX 00000568 R_ARM_PC24 ELFMAINX
00000578 R_ARM_PC24 ftruncate 00000570 R_ARM_PC24 ELFMAINX
00000580 R_ARM_PC24 ELFMAINX 0000057c R_ARM_PC24 ftruncate
00000584 R_ARM_PC24 ELFMAINX 00000584 R_ARM_PC24 ELFMAINX
00000594 R_ARM_PC24 memset 00000588 R_ARM_PC24 ELFMAINX
000005b4 R_ARM_PC24 write 00000598 R_ARM_PC24 memset
000005bc R_ARM_PC24 ELFMAINX 000005b8 R_ARM_PC24 write
000005c4 R_ARM_PC24 ELFMAINX 000005c0 R_ARM_PC24 ELFMAINX
000005d4 R_ARM_PC24 lseek 000005c8 R_ARM_PC24 ELFMAINX
000005e0 R_ARM_PC24 ELFMAINX 000005d8 R_ARM_PC24 lseek
000005e4 R_ARM_PC24 ELFMAINX 000005e4 R_ARM_PC24 ELFMAINX
000005ec R_ARM_PC24 ELFMAINX 000005e8 R_ARM_PC24 ELFMAINX
00000610 R_ARM_PC24 mmap 000005f0 R_ARM_PC24 ELFMAINX
00000614 R_ARM_PC24 mmap

View File

@ -7,24 +7,24 @@ Name Origin Length Attributes
Linker script and memory map Linker script and memory map
.text 0x0000000000000000 0xf88 .text 0x0000000000000000 0xfa8
.text 0x0000000000000000 0x2f8 tmp/arm.v4a-linux.elf-fold.o .text 0x0000000000000000 0x318 tmp/arm.v4a-linux.elf-fold.o
0x0000000000000004 get_page_mask 0x0000000000000004 get_page_mask
0x0000000000000298 memcpy 0x00000000000002b8 memcpy
0x00000000000002dc mempcpy 0x00000000000002fc mempcpy
0x0000000000000054 mmap 0x0000000000000054 mmap
0x000000000000003c mmap_privanon 0x000000000000003c mmap_privanon
0x000000000000000c get_upxfn_path 0x000000000000000c get_upxfn_path
0x00000000000002bc memset 0x00000000000002dc memset
0x0000000000000024 Pprotect 0x0000000000000024 Pprotect
0x00000000fffffff4 PAGE_MASK 0x00000000fffffff4 PAGE_MASK
0x0000000000000024 mprotect 0x0000000000000024 mprotect
.text 0x00000000000002f8 0x3ec tmp/arm.v4a-linux.elf-upxfd_android.o .text 0x0000000000000318 0x3ec tmp/arm.v4a-linux.elf-upxfd_android.o
0x0000000000000530 upx_mmap_and_fd 0x0000000000000550 upx_mmap_and_fd
.text 0x00000000000006e4 0x0 tmp/arm.v4a-expand.o .text 0x0000000000000704 0x0 tmp/arm.v4a-expand.o
.text 0x00000000000006e4 0x8a4 tmp/arm.v4a-linux.elf-main2.o .text 0x0000000000000704 0x8a4 tmp/arm.v4a-linux.elf-main2.o
0x0000000000000f24 underlay 0x0000000000000f44 underlay
0x0000000000000df4 upx_main 0x0000000000000e14 upx_main
SYSCALLS 0x0000000000000000 0x10c SYSCALLS 0x0000000000000000 0x10c
SYSCALLS 0x0000000000000000 0x10c tmp/arm.v4a-linux.elf-fold.o SYSCALLS 0x0000000000000000 0x10c tmp/arm.v4a-linux.elf-fold.o

View File

@ -4,14 +4,14 @@ Sections:
Idx Name Size VMA LMA File off Algn Flags Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINY 0 0 0 034 2**0 CONTENTS 0 ELFMAINY 0 0 0 034 2**0 CONTENTS
1 ELFMAINZ 01d4 0 0 034 2**0 CONTENTS 1 ELFMAINZ 01d4 0 0 034 2**0 CONTENTS
2 ELFMAINX 064c 0 0 0208 2**2 CONTENTS 2 ELFMAINX 0650 0 0 0208 2**2 CONTENTS
SYMBOL TABLE: SYMBOL TABLE:
00000000 l d ELFMAINZ 0 ELFMAINZ 00000000 l d ELFMAINZ 0 ELFMAINZ
00000000 l d ELFMAINX 0 ELFMAINX 00000000 l d ELFMAINX 0 ELFMAINX
00000000 l d ELFMAINY 0 ELFMAINY 00000000 l d ELFMAINY 0 ELFMAINY
00000000 *UND* 0 MFLG 00000000 *UND* 0 MFLG
000000d8 g ELFMAINZ 0 getpid 000000d8 g ELFMAINZ 0 getpid
00000498 g F ELFMAINX 01b4 upx_mmap_and_fd 0000049c g F ELFMAINX 01b4 upx_mmap_and_fd
00000008 g ELFMAINZ 0 memcpy 00000008 g ELFMAINZ 0 memcpy
00000000 *UND* 0 O_BINFO 00000000 *UND* 0 O_BINFO
0000004c g ELFMAINZ 0 mempcpy 0000004c g ELFMAINZ 0 mempcpy
@ -28,7 +28,7 @@ SYMBOL TABLE:
00000128 g ELFMAINZ 0 read 00000128 g ELFMAINZ 0 read
00000164 g ELFMAINZ 0 unlink 00000164 g ELFMAINZ 0 unlink
0000002c g ELFMAINZ 0 memset 0000002c g ELFMAINZ 0 memset
00000168 g F ELFMAINX 0f4 ucl_nrv2b_decompress_8 0000016c g F ELFMAINX 0f4 ucl_nrv2b_decompress_8
000000b0 g ELFMAINZ 0 fsync 000000b0 g ELFMAINZ 0 fsync
0000013c g ELFMAINZ 0 stat 0000013c g ELFMAINZ 0 stat
000001d4 g ELFMAINZ 0 cpr0 000001d4 g ELFMAINZ 0 cpr0
@ -58,81 +58,81 @@ OFFSET TYPE VALUE
000000a0 R_ARM_PC24 upx_mmap_and_fd 000000a0 R_ARM_PC24 upx_mmap_and_fd
000000cc R_ARM_PC24 ELFMAINX 000000cc R_ARM_PC24 ELFMAINX
00000108 R_ARM_PC24 ELFMAINX 00000108 R_ARM_PC24 ELFMAINX
00000160 R_ARM_PC24 ELFMAINX 00000164 R_ARM_PC24 ELFMAINX
00000178 R_ARM_PC24 ELFMAINX 0000017c R_ARM_PC24 ELFMAINX
000001e0 R_ARM_PC24 ELFMAINX 000001e4 R_ARM_PC24 ELFMAINX
000001e8 R_ARM_PC24 ELFMAINX
000001ec R_ARM_PC24 ELFMAINX 000001ec R_ARM_PC24 ELFMAINX
000001fc R_ARM_PC24 ELFMAINX 000001f0 R_ARM_PC24 ELFMAINX
00000200 R_ARM_PC24 ELFMAINX 00000200 R_ARM_PC24 ELFMAINX
00000204 R_ARM_PC24 ELFMAINX 00000204 R_ARM_PC24 ELFMAINX
00000210 R_ARM_PC24 ELFMAINX 00000208 R_ARM_PC24 ELFMAINX
00000220 R_ARM_PC24 ELFMAINX 00000214 R_ARM_PC24 ELFMAINX
00000224 R_ARM_PC24 ELFMAINX 00000224 R_ARM_PC24 ELFMAINX
0000022c R_ARM_PC24 ELFMAINX 00000228 R_ARM_PC24 ELFMAINX
00000234 R_ARM_PC24 ELFMAINX 00000230 R_ARM_PC24 ELFMAINX
00000238 R_ARM_PC24 ELFMAINX 00000238 R_ARM_PC24 ELFMAINX
00000254 R_ARM_PC24 ELFMAINX 0000023c R_ARM_PC24 ELFMAINX
00000258 R_ARM_PC24 ELFMAINX 00000258 R_ARM_PC24 ELFMAINX
00000268 R_ARM_PC24 ELFMAINX 0000025c R_ARM_PC24 ELFMAINX
00000284 R_ARM_PC24 ELFMAINX 0000026c R_ARM_PC24 ELFMAINX
0000029c R_ARM_PC24 ELFMAINX 00000288 R_ARM_PC24 ELFMAINX
000002b0 R_ARM_PC24 ELFMAINX 000002a0 R_ARM_PC24 ELFMAINX
000002dc R_ARM_PC24 memset 000002b4 R_ARM_PC24 ELFMAINX
000002e8 R_ARM_PC24 stat 000002e0 R_ARM_PC24 memset
000002f0 R_ARM_PC24 ELFMAINX 000002ec R_ARM_PC24 stat
00000304 R_ARM_PC24 ELFMAINX 000002f4 R_ARM_PC24 ELFMAINX
0000030c R_ARM_PC24 ELFMAINX 00000308 R_ARM_PC24 ELFMAINX
00000318 R_ARM_PC24 mkdir 00000310 R_ARM_PC24 ELFMAINX
00000330 R_ARM_PC24 ELFMAINX 0000031c R_ARM_PC24 mkdir
00000348 R_ARM_PC24 mempcpy 00000334 R_ARM_PC24 ELFMAINX
00000358 R_ARM_PC24 ELFMAINX 0000034c R_ARM_PC24 mempcpy
0000035c R_ARM_PC24 ELFMAINX 0000035c R_ARM_PC24 ELFMAINX
00000380 R_ARM_PC24 open 00000360 R_ARM_PC24 ELFMAINX
00000390 R_ARM_PC24 read 00000384 R_ARM_PC24 open
0000039c R_ARM_PC24 close 00000394 R_ARM_PC24 read
000003c0 R_ARM_PC24 ELFMAINX 000003a0 R_ARM_PC24 close
000003d0 R_ARM_PC24 ELFMAINX 000003c4 R_ARM_PC24 ELFMAINX
000003d8 R_ARM_PC24 ELFMAINX 000003d4 R_ARM_PC24 ELFMAINX
000003e4 R_ARM_PC24 ELFMAINX 000003dc R_ARM_PC24 ELFMAINX
000003f4 R_ARM_PC24 mempcpy 000003e8 R_ARM_PC24 ELFMAINX
00000408 R_ARM_PC24 ELFMAINX 000003f8 R_ARM_PC24 mempcpy
0000040c R_ARM_PC24 ELFMAINX 0000040c R_ARM_PC24 ELFMAINX
00000424 R_ARM_PC24 mempcpy 00000410 R_ARM_PC24 ELFMAINX
00000434 R_ARM_PC24 ELFMAINX 00000428 R_ARM_PC24 mempcpy
00000438 R_ARM_PC24 ELFMAINX 00000438 R_ARM_PC24 ELFMAINX
00000450 R_ARM_PC24 mempcpy 0000043c R_ARM_PC24 ELFMAINX
00000458 R_ARM_PC24 getpid 00000454 R_ARM_PC24 mempcpy
00000460 R_ARM_PC24 ELFMAINX 0000045c R_ARM_PC24 getpid
0000046c R_ARM_PC24 ELFMAINX 00000464 R_ARM_PC24 ELFMAINX
00000478 R_ARM_PC24 ELFMAINX 00000470 R_ARM_PC24 ELFMAINX
00000490 R_ARM_PC24 ELFMAINX 0000047c R_ARM_PC24 ELFMAINX
000004b4 R_ARM_PC24 ELFMAINX 00000494 R_ARM_PC24 ELFMAINX
000004c4 R_ARM_PC24 memfd_create 000004b8 R_ARM_PC24 ELFMAINX
000004e4 R_ARM_PC24 uname 000004c8 R_ARM_PC24 memfd_create
000004e8 R_ARM_PC24 ELFMAINX 000004e8 R_ARM_PC24 uname
00000500 R_ARM_PC24 ELFMAINX 000004ec R_ARM_PC24 ELFMAINX
00000518 R_ARM_PC24 ELFMAINX 00000504 R_ARM_PC24 ELFMAINX
0000051c R_ARM_PC24 get_upxfn_path 0000051c R_ARM_PC24 ELFMAINX
00000534 R_ARM_PC24 ELFMAINX 00000520 R_ARM_PC24 get_upxfn_path
0000053c R_ARM_PC24 ELFMAINX 00000538 R_ARM_PC24 ELFMAINX
00000548 R_ARM_PC24 ELFMAINX 00000540 R_ARM_PC24 ELFMAINX
00000554 R_ARM_PC24 ELFMAINX 0000054c R_ARM_PC24 ELFMAINX
0000055c R_ARM_PC24 ELFMAINX 00000558 R_ARM_PC24 ELFMAINX
0000056c R_ARM_PC24 open 00000560 R_ARM_PC24 ELFMAINX
00000578 R_ARM_PC24 ELFMAINX 00000570 R_ARM_PC24 open
00000580 R_ARM_PC24 unlink 0000057c R_ARM_PC24 ELFMAINX
00000588 R_ARM_PC24 ELFMAINX 00000584 R_ARM_PC24 unlink
00000590 R_ARM_PC24 ELFMAINX 0000058c R_ARM_PC24 ELFMAINX
0000059c R_ARM_PC24 ftruncate 00000594 R_ARM_PC24 ELFMAINX
000005a4 R_ARM_PC24 ELFMAINX 000005a0 R_ARM_PC24 ftruncate
000005a8 R_ARM_PC24 ELFMAINX 000005a8 R_ARM_PC24 ELFMAINX
000005b8 R_ARM_PC24 memset 000005ac R_ARM_PC24 ELFMAINX
000005d8 R_ARM_PC24 write 000005bc R_ARM_PC24 memset
000005e0 R_ARM_PC24 ELFMAINX 000005dc R_ARM_PC24 write
000005e8 R_ARM_PC24 ELFMAINX 000005e4 R_ARM_PC24 ELFMAINX
000005f8 R_ARM_PC24 lseek 000005ec R_ARM_PC24 ELFMAINX
00000604 R_ARM_PC24 ELFMAINX 000005fc R_ARM_PC24 lseek
00000608 R_ARM_PC24 ELFMAINX 00000608 R_ARM_PC24 ELFMAINX
00000610 R_ARM_PC24 ELFMAINX 0000060c R_ARM_PC24 ELFMAINX
00000634 R_ARM_PC24 mmap 00000614 R_ARM_PC24 ELFMAINX
00000638 R_ARM_PC24 mmap

View File

@ -8,30 +8,30 @@ Linker script and memory map
TARGET(elf32-littlearm) TARGET(elf32-littlearm)
.text 0x0000000000000000 0xfa8 .text 0x0000000000000000 0xfc8
*(.text) *(.text)
.text 0x0000000000000000 0x318 tmp/arm.v5a-linux.elf-fold.o .text 0x0000000000000000 0x338 tmp/arm.v5a-linux.elf-fold.o
0x0000000000000004 get_page_mask 0x0000000000000004 get_page_mask
0x00000000000002b8 memcpy 0x00000000000002d8 memcpy
0x00000000000002fc mempcpy 0x000000000000031c mempcpy
0x0000000000000060 mmap 0x0000000000000060 mmap
0x0000000000000048 mmap_privanon 0x0000000000000048 mmap_privanon
0x000000000000000c get_upxfn_path 0x000000000000000c get_upxfn_path
0x00000000000002dc memset 0x00000000000002fc memset
0x0000000000000024 Pprotect 0x0000000000000024 Pprotect
0x00000000fffffff4 PAGE_MASK 0x00000000fffffff4 PAGE_MASK
0x0000000000000024 mprotect 0x0000000000000024 mprotect
.text 0x0000000000000318 0x3f0 tmp/arm.v5a-linux.elf-upxfd_android.o .text 0x0000000000000338 0x3f0 tmp/arm.v5a-linux.elf-upxfd_android.o
0x0000000000000554 upx_mmap_and_fd 0x0000000000000574 upx_mmap_and_fd
.text 0x0000000000000708 0x0 tmp/arm.v5a-expand.o .text 0x0000000000000728 0x0 tmp/arm.v5a-expand.o
.text 0x0000000000000708 0x8a0 tmp/arm.v5a-linux.elf-main2.o .text 0x0000000000000728 0x8a0 tmp/arm.v5a-linux.elf-main2.o
0x0000000000000f44 underlay 0x0000000000000f64 underlay
0x0000000000000e14 upx_main 0x0000000000000e34 upx_main
*(.data) *(.data)
.data 0x0000000000000fa8 0x0 tmp/arm.v5a-linux.elf-fold.o .data 0x0000000000000fc8 0x0 tmp/arm.v5a-linux.elf-fold.o
.data 0x0000000000000fa8 0x0 tmp/arm.v5a-linux.elf-upxfd_android.o .data 0x0000000000000fc8 0x0 tmp/arm.v5a-linux.elf-upxfd_android.o
.data 0x0000000000000fa8 0x0 tmp/arm.v5a-expand.o .data 0x0000000000000fc8 0x0 tmp/arm.v5a-expand.o
.data 0x0000000000000fa8 0x0 tmp/arm.v5a-linux.elf-main2.o .data 0x0000000000000fc8 0x0 tmp/arm.v5a-linux.elf-main2.o
SYSCALLS 0x0000000000000000 0x214 SYSCALLS 0x0000000000000000 0x214
SYSCALLS 0x0000000000000000 0x214 tmp/arm.v5a-linux.elf-fold.o SYSCALLS 0x0000000000000000 0x214 tmp/arm.v5a-linux.elf-fold.o

View File

@ -4,14 +4,14 @@ Sections:
Idx Name Size VMA LMA File off Algn Flags Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINY 0 0 0 034 2**0 CONTENTS 0 ELFMAINY 0 0 0 034 2**0 CONTENTS
1 ELFMAINZ 0114 0 0 034 2**0 CONTENTS 1 ELFMAINZ 0114 0 0 034 2**0 CONTENTS
2 ELFMAINX 0628 0 0 0148 2**2 CONTENTS 2 ELFMAINX 062c 0 0 0148 2**2 CONTENTS
SYMBOL TABLE: SYMBOL TABLE:
00000000 l d ELFMAINZ 0 ELFMAINZ 00000000 l d ELFMAINZ 0 ELFMAINZ
00000000 l d ELFMAINX 0 ELFMAINX 00000000 l d ELFMAINX 0 ELFMAINX
00000000 l d ELFMAINY 0 ELFMAINY 00000000 l d ELFMAINY 0 ELFMAINY
00000000 *UND* 0 MFLG 00000000 *UND* 0 MFLG
00000090 g ELFMAINZ 0 getpid 00000090 g ELFMAINZ 0 getpid
00000474 g F ELFMAINX 01b4 upx_mmap_and_fd 00000478 g F ELFMAINX 01b4 upx_mmap_and_fd
00000008 g ELFMAINZ 0 memcpy 00000008 g ELFMAINZ 0 memcpy
00000000 *UND* 0 O_BINFO 00000000 *UND* 0 O_BINFO
0000004c g ELFMAINZ 0 mempcpy 0000004c g ELFMAINZ 0 mempcpy
@ -28,7 +28,7 @@ SYMBOL TABLE:
000000b0 g ELFMAINZ 0 read 000000b0 g ELFMAINZ 0 read
000000c8 g ELFMAINZ 0 unlink 000000c8 g ELFMAINZ 0 unlink
0000002c g ELFMAINZ 0 memset 0000002c g ELFMAINZ 0 memset
00000160 g F ELFMAINX 0dc ucl_nrv2b_decompress_8 00000164 g F ELFMAINX 0dc ucl_nrv2b_decompress_8
00000080 g ELFMAINZ 0 fsync 00000080 g ELFMAINZ 0 fsync
000000b8 g ELFMAINZ 0 stat 000000b8 g ELFMAINZ 0 stat
00000114 g ELFMAINZ 0 cpr0 00000114 g ELFMAINZ 0 cpr0
@ -58,80 +58,80 @@ OFFSET TYPE VALUE
000000a0 R_ARM_PC24 upx_mmap_and_fd 000000a0 R_ARM_PC24 upx_mmap_and_fd
000000cc R_ARM_PC24 ELFMAINX 000000cc R_ARM_PC24 ELFMAINX
00000108 R_ARM_PC24 ELFMAINX 00000108 R_ARM_PC24 ELFMAINX
00000158 R_ARM_PC24 ELFMAINX 0000015c R_ARM_PC24 ELFMAINX
00000170 R_ARM_PC24 ELFMAINX 00000174 R_ARM_PC24 ELFMAINX
000001c0 R_ARM_PC24 ELFMAINX 000001c4 R_ARM_PC24 ELFMAINX
000001c8 R_ARM_PC24 ELFMAINX
000001cc R_ARM_PC24 ELFMAINX 000001cc R_ARM_PC24 ELFMAINX
000001dc R_ARM_PC24 ELFMAINX 000001d0 R_ARM_PC24 ELFMAINX
000001e0 R_ARM_PC24 ELFMAINX 000001e0 R_ARM_PC24 ELFMAINX
000001e4 R_ARM_PC24 ELFMAINX 000001e4 R_ARM_PC24 ELFMAINX
000001f0 R_ARM_PC24 ELFMAINX 000001e8 R_ARM_PC24 ELFMAINX
00000200 R_ARM_PC24 ELFMAINX 000001f4 R_ARM_PC24 ELFMAINX
00000204 R_ARM_PC24 ELFMAINX 00000204 R_ARM_PC24 ELFMAINX
0000020c R_ARM_PC24 ELFMAINX 00000208 R_ARM_PC24 ELFMAINX
00000214 R_ARM_PC24 ELFMAINX 00000210 R_ARM_PC24 ELFMAINX
00000218 R_ARM_PC24 ELFMAINX 00000218 R_ARM_PC24 ELFMAINX
00000234 R_ARM_PC24 ELFMAINX 0000021c R_ARM_PC24 ELFMAINX
00000238 R_ARM_PC24 ELFMAINX 00000238 R_ARM_PC24 ELFMAINX
00000248 R_ARM_PC24 ELFMAINX 0000023c R_ARM_PC24 ELFMAINX
00000264 R_ARM_PC24 ELFMAINX 0000024c R_ARM_PC24 ELFMAINX
0000027c R_ARM_PC24 ELFMAINX 00000268 R_ARM_PC24 ELFMAINX
00000290 R_ARM_PC24 ELFMAINX 00000280 R_ARM_PC24 ELFMAINX
000002bc R_ARM_PC24 memset 00000294 R_ARM_PC24 ELFMAINX
000002c8 R_ARM_PC24 stat 000002c0 R_ARM_PC24 memset
000002d0 R_ARM_PC24 ELFMAINX 000002cc R_ARM_PC24 stat
000002e4 R_ARM_PC24 ELFMAINX 000002d4 R_ARM_PC24 ELFMAINX
000002f4 R_ARM_PC24 mkdir 000002e8 R_ARM_PC24 ELFMAINX
0000030c R_ARM_PC24 ELFMAINX 000002f8 R_ARM_PC24 mkdir
00000324 R_ARM_PC24 mempcpy 00000310 R_ARM_PC24 ELFMAINX
00000334 R_ARM_PC24 ELFMAINX 00000328 R_ARM_PC24 mempcpy
00000338 R_ARM_PC24 ELFMAINX 00000338 R_ARM_PC24 ELFMAINX
0000035c R_ARM_PC24 open 0000033c R_ARM_PC24 ELFMAINX
00000370 R_ARM_PC24 read 00000360 R_ARM_PC24 open
0000037c R_ARM_PC24 close 00000374 R_ARM_PC24 read
000003a0 R_ARM_PC24 ELFMAINX 00000380 R_ARM_PC24 close
000003b0 R_ARM_PC24 ELFMAINX 000003a4 R_ARM_PC24 ELFMAINX
000003b8 R_ARM_PC24 ELFMAINX 000003b4 R_ARM_PC24 ELFMAINX
000003c4 R_ARM_PC24 ELFMAINX 000003bc R_ARM_PC24 ELFMAINX
000003d4 R_ARM_PC24 mempcpy 000003c8 R_ARM_PC24 ELFMAINX
000003e8 R_ARM_PC24 ELFMAINX 000003d8 R_ARM_PC24 mempcpy
000003ec R_ARM_PC24 ELFMAINX 000003ec R_ARM_PC24 ELFMAINX
00000404 R_ARM_PC24 mempcpy 000003f0 R_ARM_PC24 ELFMAINX
00000414 R_ARM_PC24 ELFMAINX 00000408 R_ARM_PC24 mempcpy
00000418 R_ARM_PC24 ELFMAINX 00000418 R_ARM_PC24 ELFMAINX
00000430 R_ARM_PC24 mempcpy 0000041c R_ARM_PC24 ELFMAINX
00000438 R_ARM_PC24 getpid 00000434 R_ARM_PC24 mempcpy
00000440 R_ARM_PC24 ELFMAINX 0000043c R_ARM_PC24 getpid
0000044c R_ARM_PC24 ELFMAINX 00000444 R_ARM_PC24 ELFMAINX
00000458 R_ARM_PC24 ELFMAINX 00000450 R_ARM_PC24 ELFMAINX
00000470 R_ARM_PC24 ELFMAINX 0000045c R_ARM_PC24 ELFMAINX
00000490 R_ARM_PC24 ELFMAINX 00000474 R_ARM_PC24 ELFMAINX
000004a0 R_ARM_PC24 memfd_create 00000494 R_ARM_PC24 ELFMAINX
000004c0 R_ARM_PC24 uname 000004a4 R_ARM_PC24 memfd_create
000004c4 R_ARM_PC24 ELFMAINX 000004c4 R_ARM_PC24 uname
000004dc R_ARM_PC24 ELFMAINX 000004c8 R_ARM_PC24 ELFMAINX
000004f4 R_ARM_PC24 ELFMAINX 000004e0 R_ARM_PC24 ELFMAINX
000004f8 R_ARM_PC24 get_upxfn_path 000004f8 R_ARM_PC24 ELFMAINX
00000510 R_ARM_PC24 ELFMAINX 000004fc R_ARM_PC24 get_upxfn_path
00000518 R_ARM_PC24 ELFMAINX 00000514 R_ARM_PC24 ELFMAINX
00000524 R_ARM_PC24 ELFMAINX 0000051c R_ARM_PC24 ELFMAINX
00000530 R_ARM_PC24 ELFMAINX 00000528 R_ARM_PC24 ELFMAINX
00000538 R_ARM_PC24 ELFMAINX 00000534 R_ARM_PC24 ELFMAINX
00000548 R_ARM_PC24 open 0000053c R_ARM_PC24 ELFMAINX
00000554 R_ARM_PC24 ELFMAINX 0000054c R_ARM_PC24 open
0000055c R_ARM_PC24 unlink 00000558 R_ARM_PC24 ELFMAINX
00000564 R_ARM_PC24 ELFMAINX 00000560 R_ARM_PC24 unlink
0000056c R_ARM_PC24 ELFMAINX 00000568 R_ARM_PC24 ELFMAINX
00000578 R_ARM_PC24 ftruncate 00000570 R_ARM_PC24 ELFMAINX
00000580 R_ARM_PC24 ELFMAINX 0000057c R_ARM_PC24 ftruncate
00000584 R_ARM_PC24 ELFMAINX 00000584 R_ARM_PC24 ELFMAINX
00000594 R_ARM_PC24 memset 00000588 R_ARM_PC24 ELFMAINX
000005b4 R_ARM_PC24 write 00000598 R_ARM_PC24 memset
000005bc R_ARM_PC24 ELFMAINX 000005b8 R_ARM_PC24 write
000005c4 R_ARM_PC24 ELFMAINX 000005c0 R_ARM_PC24 ELFMAINX
000005d4 R_ARM_PC24 lseek 000005c8 R_ARM_PC24 ELFMAINX
000005e0 R_ARM_PC24 ELFMAINX 000005d8 R_ARM_PC24 lseek
000005e4 R_ARM_PC24 ELFMAINX 000005e4 R_ARM_PC24 ELFMAINX
000005ec R_ARM_PC24 ELFMAINX 000005e8 R_ARM_PC24 ELFMAINX
00000610 R_ARM_PC24 mmap 000005f0 R_ARM_PC24 ELFMAINX
00000614 R_ARM_PC24 mmap

View File

@ -7,24 +7,24 @@ Name Origin Length Attributes
Linker script and memory map Linker script and memory map
.text 0x0000000000000000 0xf9c .text 0x0000000000000000 0xfbc
.text 0x0000000000000000 0x2f8 tmp/armeb.v4a-linux.elf-fold.o .text 0x0000000000000000 0x318 tmp/armeb.v4a-linux.elf-fold.o
0x0000000000000004 get_page_mask 0x0000000000000004 get_page_mask
0x0000000000000298 memcpy 0x00000000000002b8 memcpy
0x00000000000002dc mempcpy 0x00000000000002fc mempcpy
0x0000000000000054 mmap 0x0000000000000054 mmap
0x000000000000003c mmap_privanon 0x000000000000003c mmap_privanon
0x000000000000000c get_upxfn_path 0x000000000000000c get_upxfn_path
0x00000000000002bc memset 0x00000000000002dc memset
0x0000000000000024 Pprotect 0x0000000000000024 Pprotect
0x00000000fffffff4 PAGE_MASK 0x00000000fffffff4 PAGE_MASK
0x0000000000000024 mprotect 0x0000000000000024 mprotect
.text 0x00000000000002f8 0x3ec tmp/armeb.v4a-linux.elf-upxfd_android.o .text 0x0000000000000318 0x3ec tmp/armeb.v4a-linux.elf-upxfd_android.o
0x0000000000000530 upx_mmap_and_fd 0x0000000000000550 upx_mmap_and_fd
.text 0x00000000000006e4 0x0 tmp/armeb.v4a-expand.o .text 0x0000000000000704 0x0 tmp/armeb.v4a-expand.o
.text 0x00000000000006e4 0x8b8 tmp/armeb.v4a-linux.elf-main2.o .text 0x0000000000000704 0x8b8 tmp/armeb.v4a-linux.elf-main2.o
0x0000000000000f38 underlay 0x0000000000000f58 underlay
0x0000000000000e04 upx_main 0x0000000000000e24 upx_main
SYSCALLS 0x0000000000000000 0x10c SYSCALLS 0x0000000000000000 0x10c
SYSCALLS 0x0000000000000000 0x10c tmp/armeb.v4a-linux.elf-fold.o SYSCALLS 0x0000000000000000 0x10c tmp/armeb.v4a-linux.elf-fold.o