mirror of
https://github.com/upx/upx.git
synced 2024-11-30 16:11:08 +00:00
i386: clear the stack when leaving (for buggy programs); align esp to 0 mod 8
modified: stub/src/i386-linux.elf-entry.S modified: stub/src/i386-linux.elf-fold.S modified: ../.github/travis_testsuite_1.sh modified: stub/i386-linux.elf-entry.h modified: stub/i386-linux.elf-fold.h modified: stub/tmp/i386-linux.elf-entry.bin.dump modified: stub/tmp/i386-linux.elf-fold.map
This commit is contained in:
parent
d67bf16a08
commit
b2115a4162
56
.github/travis_testsuite_1.sh
vendored
56
.github/travis_testsuite_1.sh
vendored
@ -151,79 +151,79 @@ b8c35fa2956da17ca505956e9f5017bb5f3a746322647e24ccb8ff28059cafa4 *powerpc-linux.
|
||||
expected_sha256sums__t110_compress_ucl_nrv2b_3_no_filter="\
|
||||
5b7938b426ea815f13f4f5e5c416c67df32650ba08fdc2a83cc7676f88cec461 *amd64-linux.elf/upx-3.91
|
||||
c1a6ef9d0b8a26f1d6e3307af6f119bc95411a54421c7da3bd6ade9c4eead187 *arm-wince.pe/upx-3.91.exe
|
||||
251f06ba4ad755d4778896a823e745c68ac629a92f054fc9c65a45ca9969ff2e *armeb-linux.elf/upx-3.91
|
||||
e7aa5f3074be256986220ca829517ba46694a938c89d4a0dc1432b8949bef12a *armeb-linux.elf/upx-3.91
|
||||
7d5f0fd6f18e4cd16655ef58805f228bcaddd5b035ce998faed446e290aea3d9 *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
7ad99e5f6b14bffa9570767171c421afc5a8c4d50393c1d6f95575ff79741639 *i386-linux.elf/upx-3.91
|
||||
7b89af196ad32522bd6afd62ba0906f0562ac275c6656494afec63f62f9a8134 *i386-linux.elf/upx-3.91
|
||||
d3cfb5347758ee54e54cfc92ae502a3e19702cd4fec115d74f84f8a5ab7a9bc2 *i386-win32.pe/upx-3.91.exe
|
||||
c4c8b912a48bcaaef72fd94cd0c307659a03be2ec359bf01a42a2a39307dd964 *m68k-atari.tos/upx-3.91.ttp
|
||||
4faf438ef2dfa355fa8d6cada37500c0321a2efc10611dc0be6268b599c0f289 *mipsel-linux.elf/upx-3.91
|
||||
680df2db2771adcbc8f7826928c6f6583b54297943fd6a314f2a8873ed9858ea *powerpc-linux.elf/upx-3.91
|
||||
27e9f354bf83d7bd6ee649400520fa47b3f26cfdc94958068a3983a42709bd12 *mipsel-linux.elf/upx-3.91
|
||||
132da85c65a1fbc1c76b41e45877eb39c0f3da6d31eb4e31abf4a17793e38ec7 *powerpc-linux.elf/upx-3.91
|
||||
"
|
||||
expected_sha256sums__t120_compress_ucl_nrv2d_3_no_filter="\
|
||||
70c7e9da1ea26ff9369560b4b33f49296fff9b6d7bb5683d06d2ceb31f5d3405 *amd64-linux.elf/upx-3.91
|
||||
2bb2477bdf4643954b4bb707b1017459238b03f66883303cd20e9e8740764dd7 *arm-wince.pe/upx-3.91.exe
|
||||
23df2cd90d8e7e0c83f38ff48063fd38e95913e2b0cbb8064b7489a818d6f910 *armeb-linux.elf/upx-3.91
|
||||
2ea79bce7468a0189c1d83b55f97e99f08162689a79894fa1f4b0aab8a628d69 *armeb-linux.elf/upx-3.91
|
||||
c52473f5dbdac560c05d5d173e5342b5e696e604517359baef581672eb25a9e6 *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
c49c1ef2a88806e8607e8744f230f8757e97bffa5b622872eec471df1731677a *i386-linux.elf/upx-3.91
|
||||
694f39c69cf424e6fc846697cc0606d493cfb8b6ff74c439d9acfacf4f9e6db5 *i386-linux.elf/upx-3.91
|
||||
5bebadb8455b052580b1f22a949c3eb5a441c8b6ba9c6b50506cb703fc3f65ce *i386-win32.pe/upx-3.91.exe
|
||||
ef94d8b0e02a650c302bec9f2d50462f2accc2fbb8003cc4977bc550d2e5b9f2 *m68k-atari.tos/upx-3.91.ttp
|
||||
7f06d743c5c2cec42fb7ed7a9c520143a54ab9e34f1cc6f1c08ea3c9588b3cbb *mipsel-linux.elf/upx-3.91
|
||||
a2c7b256d4173122f2c5f1e90f4354e6259a18739e66b3a4b671bb921d8be915 *powerpc-linux.elf/upx-3.91
|
||||
18efda400ce0d158459c24a0d80c2a3d2f924c45780405ed3fbf727099106b89 *mipsel-linux.elf/upx-3.91
|
||||
f6dfd4d18135acb2a1fa1a8a77fb184016a9f06e1b726173c44a20c0961c7853 *powerpc-linux.elf/upx-3.91
|
||||
"
|
||||
expected_sha256sums__t130_compress_ucl_nrv2e_3_no_filter="\
|
||||
0aa0397c6e6e728992c8cd09fb203bc90d7e114ed9f40c2880b72ed78fa63589 *amd64-linux.elf/upx-3.91
|
||||
0915344e0ee8e7c006e6cce71c024f518e097a88820c7ab3ca183ab1c614ce82 *arm-wince.pe/upx-3.91.exe
|
||||
07b254b6f07f3128c0f57abe7307a759e0d0584809aa958a1bc3f37e716869bc *armeb-linux.elf/upx-3.91
|
||||
ca0e3c8e74bf306f1721654697ab2edf47a9566893315b3f01f05eeac8ca6c7b *armeb-linux.elf/upx-3.91
|
||||
5c5ff78652e76834f3f9ab110c42e3a34ef54c748bce212b0e942049f43f5d4d *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
c522e960cadecbfcc97895bc800b4f7f07980272180732e4d9003c9927dba1f6 *i386-linux.elf/upx-3.91
|
||||
3e4a146936d8080fe3201316b7e066a8c611d221cbfd636d756d844199309d9d *i386-linux.elf/upx-3.91
|
||||
ef5e25c79d356e9ed0736f34dc5ee7a8f4c66d0c330b8d16672fac7d829b5a7c *i386-win32.pe/upx-3.91.exe
|
||||
dfc6abff2d3417b9708b1232d5791a9232c6623dcedb9dcb59428b67bbf864e9 *m68k-atari.tos/upx-3.91.ttp
|
||||
7e20ffee5cae1f8c5fff57fa4a25f52115510643ad1282048f51b3f4b285e824 *mipsel-linux.elf/upx-3.91
|
||||
342350804bd91a64825dc022142df9efac0f98a400dd24ad49d890865fcdd10e *powerpc-linux.elf/upx-3.91
|
||||
e4b558b1d7bb1328bebd61a20faee86dcab3cda2e964b9287c71dfc737c26365 *mipsel-linux.elf/upx-3.91
|
||||
0abec661715762e978256cd24d7f1c714806d16f649fa3a263630ce31626516f *powerpc-linux.elf/upx-3.91
|
||||
"
|
||||
expected_sha256sums__t140_compress_lzma_2_no_filter="\
|
||||
926006d4461c7df64659aa7b484a663ff0d482712c2240c3b40f7a63d3f9c07c *amd64-linux.elf/upx-3.91
|
||||
3af2a2346a252dfacefb6209725907b2947dc1ccf5e99af139608354f852507c *arm-wince.pe/upx-3.91.exe
|
||||
a1761724510df2254d298884def8b421fb988866faebd874618041d1d53ad89c *armeb-linux.elf/upx-3.91
|
||||
0455bc4c87c56957d119df692d79b3c3198e110feb22ac0cf8531fd074ce12c8 *armeb-linux.elf/upx-3.91
|
||||
964fb400b0b4a2b1926ce7076610db8c3a8e41807fe030209af1615d43b6a020 *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
837d900ab3e629073d3206d078dabbbffac9ad087d826bf2be51af1668147774 *i386-linux.elf/upx-3.91
|
||||
24af1df888402d67d8d4227b657e322a112f93ee2b5d7114649c813b1abad3d1 *i386-linux.elf/upx-3.91
|
||||
171bde9f27a5571b524e9d7cdba6cefa142bb8a0b114c4d5294944ee5781e0bb *i386-win32.pe/upx-3.91.exe
|
||||
8826c1f910007360ba6cec02c91bd7cdc87bce1ce27804ca728846b92d9086c9 *m68k-atari.tos/upx-3.91.ttp
|
||||
8708a5e8b6f4ce590b8b4308b0bdeeb8e930a064d2aeab9eeeb9befc322c551a *mipsel-linux.elf/upx-3.91
|
||||
b599ec1ac95748e5964fed0a262d6fdf45eb2677289d00675e3a20dbd182593a *powerpc-linux.elf/upx-3.91
|
||||
800ca71d86e2a119cbfad3da13d9d40b91863cf74b7c64d5e366eeb33b5bd3c8 *mipsel-linux.elf/upx-3.91
|
||||
c2abd35be067a6548f11b1df2b39ea74e33315171b8c8ec9eddaccc94febee04 *powerpc-linux.elf/upx-3.91
|
||||
"
|
||||
expected_sha256sums__t150_compress_ucl_2_all_filters="\
|
||||
b7ae93def74c119d62ef1a92eb06074b8ce3a4429512ac64de6120097fb48692 *amd64-linux.elf/upx-3.91
|
||||
dc7323e753ce62e6a1c22112f139953dbaa1e5268530479f8ad48e0c54062295 *arm-wince.pe/upx-3.91.exe
|
||||
9f3f077a7b5624ddd91d979837b282f9a95c41d6cedd3c0b0a6cda450fc46f10 *armeb-linux.elf/upx-3.91
|
||||
71a5b99face388e4036ba0cd3c335b61429fb44fefe8a2b86832321f294487ea *armeb-linux.elf/upx-3.91
|
||||
8614d93ba30def6866b3be92ae5bdd5f294266e0fc4a26c078682917f127656d *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
ca103203ad545351725690a12dc4a80fbd468a75061864ab15eea51e1679718d *i386-linux.elf/upx-3.91
|
||||
b1cb869f9577b6264e323923686422b5a402a8ee9dd59549e2fd6c600555f980 *i386-linux.elf/upx-3.91
|
||||
7c3d7398f63eb9e235992d2d8fd6de9e355f6f21621c45032a6ae6c9009067e6 *i386-win32.pe/upx-3.91.exe
|
||||
25e9e84bf4e01350b362d088f8107d8228b4576bc47b6b718e9e742f7e4a5205 *m68k-atari.tos/upx-3.91.ttp
|
||||
fb51563bb81637379db2a0f28a22b0077b115021a480373d4efa694564cb1a0e *mipsel-linux.elf/upx-3.91
|
||||
c7a9e77ca00eee8116513ad27b82de1d9d1c9100c7d533113ccbd3b99c91fc67 *powerpc-linux.elf/upx-3.91
|
||||
8330f99b418b2c3bfa8557a611b7698f9d9d329a8288a976db6ca437d9628f65 *mipsel-linux.elf/upx-3.91
|
||||
625eb0c1aea02d8da6a05de8da1dc4e1503dbb9b8df206aa47912cfc7220a91e *powerpc-linux.elf/upx-3.91
|
||||
"
|
||||
expected_sha256sums__t160_compress_all_methods_1_no_filter="\
|
||||
e091849d471a5eb866a34ebe09ca4ccae014dae5b592b59b013a4a689bd67385 *amd64-linux.elf/upx-3.91
|
||||
1c9c618741739404f40d198d2fc77010539589379bf260502af9f10f1ec0d05b *arm-wince.pe/upx-3.91.exe
|
||||
a49116af3fd482adcbc4e6b319e12c2d0907d205eb660cf55e9e8bfdc29f4b4a *armeb-linux.elf/upx-3.91
|
||||
afa84e2fac416c6a6fb9a453d79a6f3a526969e10a9af606d4aa757b4c1a925f *armeb-linux.elf/upx-3.91
|
||||
863bbf7f3cf41296987b085a4db8acba372e3d65d8d9c656f9a7276f2e7aa4d3 *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
bc98b196cbe35c9ed81b342a631938e1c402e834160136762c194297b038fdb1 *i386-linux.elf/upx-3.91
|
||||
bf3611aae92a034ea5db3975b2841e457458f25e1e4f5a482cb8371858e68ccf *i386-linux.elf/upx-3.91
|
||||
4c73a38e81fe12f36dc37e514f8580c12bdf5d8cb92e9a07b7070db291a2f7eb *i386-win32.pe/upx-3.91.exe
|
||||
0f902defbce3c9a8ea08910ff2ac62b9f06e7ceed0570501cb3b6287bfd6d797 *m68k-atari.tos/upx-3.91.ttp
|
||||
fcc2e2c8fddbc2c03f153a08560da2cc6e9936a646c561d0db1c70875dce9c8b *mipsel-linux.elf/upx-3.91
|
||||
2e46e51385a86ac403da8edefe595d0627259ab483f871a53d228ca21a03ede7 *powerpc-linux.elf/upx-3.91
|
||||
f9f7fa61d7ce42b383f4281620f16e1153e00c9f00a2e78fc6d1f02ecfd92135 *mipsel-linux.elf/upx-3.91
|
||||
65080a91c5a9b36ead403812d674ef56eec89a296ce85bc65a85d060e8f9767a *powerpc-linux.elf/upx-3.91
|
||||
"
|
||||
expected_sha256sums__t170_compress_all_methods_no_lzma_5_no_filter="\
|
||||
46d8a75ddc5141f042431188404f720aa2966982d3df25d058b43f4dec692eb0 *amd64-linux.elf/upx-3.91
|
||||
66653a91c355a1ad1ab7b07c6c20b2d2899d0f42078683d0f4d540df476b1afb *arm-wince.pe/upx-3.91.exe
|
||||
92630136b8e3716491a5a11c177ea6f3a5e663c40eca526707f617ace5f867af *armeb-linux.elf/upx-3.91
|
||||
3f70d22dd0afc3b4853e0f7b9690f3c87a4f1c30cb7d3d394f8738436e0d0c65 *armeb-linux.elf/upx-3.91
|
||||
490a196fbba4a8f21bfb9ac2a3b92a6dc7e287f255a3ab987f7d29d5a75d8db4 *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
24b3359726518349588c92c4fb2210911fae338e2ed1aa6e6e34c3048cecda03 *i386-linux.elf/upx-3.91
|
||||
327131ced126ba9fb8741fa9693753e8bf13dbe7bcfbe984909b5ec97846e208 *i386-linux.elf/upx-3.91
|
||||
14b192b5419ca0ec2b3f238dc6ed9c17596e82ff2674a299d4b0a76d118a73de *i386-win32.pe/upx-3.91.exe
|
||||
2eb756cf3c7e4f80fea379a267071c981f3ab1fbb3eaab7057ca18a2b400fb8f *m68k-atari.tos/upx-3.91.ttp
|
||||
07ab4317e0cab489e9c28ea9effd14f56a5895853396232a8f6d7896e4909549 *mipsel-linux.elf/upx-3.91
|
||||
bd4482fec346ec52435cb77ab50249fe63f11033dbc79bda24d4897b90d2b1fd *powerpc-linux.elf/upx-3.91
|
||||
5c95ea7da0f46b077299a4d4f7ca8357090aaa9b79aead92a6a580954e7a17ff *mipsel-linux.elf/upx-3.91
|
||||
a7046736941e5ec0e9104f72334921946fecf7aa5f700ab98b69c2c370097fcd *powerpc-linux.elf/upx-3.91
|
||||
"
|
||||
########## end .sha256sums.recreate
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
/* i386-linux.elf-fold.h
|
||||
created from i386-linux.elf-fold.bin, 1884 (0x75c) bytes
|
||||
created from i386-linux.elf-fold.bin, 1912 (0x778) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@ -31,127 +31,129 @@
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_I386_LINUX_ELF_FOLD_SIZE 1884
|
||||
#define STUB_I386_LINUX_ELF_FOLD_ADLER32 0x2c5018f0
|
||||
#define STUB_I386_LINUX_ELF_FOLD_CRC32 0x0a25f2a1
|
||||
#define STUB_I386_LINUX_ELF_FOLD_SIZE 1912
|
||||
#define STUB_I386_LINUX_ELF_FOLD_ADLER32 0x11c72d9e
|
||||
#define STUB_I386_LINUX_ELF_FOLD_CRC32 0xefe3f69e
|
||||
|
||||
unsigned char stub_i386_linux_elf_fold[1884] = {
|
||||
unsigned char stub_i386_linux_elf_fold[1912] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 2, 0, 3, 0, 1, 0, 0, 0,128, 16,192, 0, 52, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 16,192, 0,
|
||||
/* 0x0040 */ 0, 16,192, 0, 92, 7, 0, 0, 92, 7, 0, 0, 5, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0, 92, 7, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 0, 16,192, 0,120, 7, 0, 0,120, 7, 0, 0, 5, 0, 0, 0,
|
||||
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,120, 7, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0070 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0080 */ 137,230,129,236, 0, 16, 0, 0,137,231,106, 8, 89,243,165, 85,
|
||||
/* 0x0090 */ 137,229,173,133,192,171,117,250, 87,171,173,133,192,171,117,250,
|
||||
/* 0x00a0 */ 87,173,133,192,171,165,117,249, 64,131,239, 8,185, 10, 0, 0,
|
||||
/* 0x00b0 */ 0,243,171, 72,171,171, 41,125,248, 87, 86,186,215, 15, 0, 0,
|
||||
/* 0x00c0 */ 137,249,232, 15, 0, 0, 0, 47,112,114,111, 99, 47,115,101,108,
|
||||
/* 0x00d0 */ 102, 47,101,120,101, 0, 91,106, 85, 88,205,128,133,192,121, 7,
|
||||
/* 0x00e0 */ 137,217,184, 14, 0, 0, 0,141,116, 1,255,145,253, 95, 79,176,
|
||||
/* 0x00f0 */ 0,170,243,164,184, 32, 32, 32, 61,131,239, 3,137, 7,139, 69,
|
||||
/* 0x0100 */ 252,137, 56,131,231,252, 41,201,106, 5, 88,205,128,137, 69, 16,
|
||||
/* 0x0110 */ 94, 90, 1,250,175,137,241,173, 41,225,193,233, 2,243,165,141,
|
||||
/* 0x0120 */ 103, 4,137,215,252, 89, 93, 94, 88, 89,129,236, 0, 10, 0, 0,
|
||||
/* 0x0130 */ 137,226, 81,139, 24,139, 72, 4,131,193, 12, 96, 71,232,162, 4,
|
||||
/* 0x0140 */ 0, 0, 79,129,196, 36, 10, 0, 0,137, 68, 36, 12, 89, 87, 81,
|
||||
/* 0x0150 */ 41,237,137,207,190, 2, 0, 0, 0,186, 1, 0, 0, 0,185, 0,
|
||||
/* 0x0160 */ 16, 0, 0, 41,219,104,192, 0, 0, 0, 88,205,128, 91,106, 6,
|
||||
/* 0x0170 */ 88,205,128, 95, 41,192, 60,175,175,117,252, 89, 91, 80, 80, 80,
|
||||
/* 0x0180 */ 80, 80, 80, 80, 80,176, 91,255, 39, 85, 83, 86, 87,139, 92, 36,
|
||||
/* 0x0190 */ 20,139, 76, 36, 24,139, 84, 36, 28,139,116, 36, 32,139,124, 36,
|
||||
/* 0x01a0 */ 36,139,108, 36, 40,193,237, 12,104,192, 0, 0, 0, 88,205,128,
|
||||
/* 0x01b0 */ 95, 94, 91, 93,195, 0, 0, 0, 87, 86,137,206, 83,137,195, 57,
|
||||
/* 0x01c0 */ 8,139,120, 4,115, 10,106,127, 91,106, 1, 88,205,128,235,254,
|
||||
/* 0x01d0 */ 133,201,116, 8,138, 7, 71,136, 2, 66,226,248, 1,115, 4, 41,
|
||||
/* 0x01e0 */ 51, 91, 94, 95,195,106,127, 91,106, 1, 88,205,128,235,254, 85,
|
||||
/* 0x01f0 */ 137,229, 87, 86,137,198, 83,137,211,131,236, 24,139, 69, 8,139,
|
||||
/* 0x0200 */ 125, 12,137, 69,220,131, 58, 0, 15,132,205, 0, 0, 0,141, 85,
|
||||
/* 0x0210 */ 228,185, 12, 0, 0, 0,137,240,232,155,255,255,255,139, 69,228,
|
||||
/* 0x0220 */ 139, 77,232,133,192,117, 25,129,249, 85, 80, 88, 33,176, 2,117,
|
||||
/* 0x0230 */ 85,131, 62, 0,184, 3, 0, 0, 0,117, 75,233,155, 0, 0, 0,
|
||||
/* 0x0240 */ 133,201,117, 7,184, 4, 0, 0, 0,235, 59, 57,193,119, 4, 59,
|
||||
/* 0x0250 */ 3,118, 7,184, 5, 0, 0, 0,235, 44, 57,193,115, 96,137, 69,
|
||||
/* 0x0260 */ 224,141, 69,224,255,117,236, 80,255,115, 4, 81,255,118, 4,255,
|
||||
/* 0x0270 */ 85,220,131,196, 20,133,192,117, 8,139, 85,224, 59, 85,228,116,
|
||||
/* 0x0280 */ 10,184, 7, 0, 0, 0,232, 90,255,255,255,138, 69,237,132,192,
|
||||
/* 0x0290 */ 116, 34,133,255,116, 30,129,250, 0, 2, 0, 0,119, 4, 57, 19,
|
||||
/* 0x02a0 */ 117, 18, 15,182,192, 80, 15,182, 69,238, 80, 82,255,115, 4,255,
|
||||
/* 0x02b0 */ 215,131,196, 16,139, 69,232, 1, 70, 4, 41, 6,235, 10,139, 83,
|
||||
/* 0x02c0 */ 4,137,240,232,240,254,255,255,139, 85,228,139, 3, 1, 83, 4,
|
||||
/* 0x02d0 */ 41,208,133,192,137, 3,233, 45,255,255,255,141,101,244, 91, 94,
|
||||
/* 0x02e0 */ 95,201,195,133,192,116, 13,168, 1,117, 9, 57, 16,116, 7,131,
|
||||
/* 0x02f0 */ 192, 8,235,247, 49,192,133,192,116, 3,137, 72, 4,195, 85,137,
|
||||
/* 0x0300 */ 229, 87, 86, 83,131,236, 72,137, 69,228,139, 69, 8,137, 85,224,
|
||||
/* 0x0310 */ 139, 93, 20,137, 69,220,139,117,224,139, 69,224,137, 93,208,139,
|
||||
/* 0x0320 */ 85, 12,139, 93,224, 3,118, 28,137, 85,216,102,131,120, 16, 2,
|
||||
/* 0x0330 */ 15,183, 83, 44,139, 77, 16,137,117,204, 15,148,192, 49,255, 15,
|
||||
/* 0x0340 */ 182,192,137,211,137, 77,212,193,224, 4,137,241,131,206,255, 75,
|
||||
/* 0x0350 */ 120, 31,137,211,131, 57, 1,117, 18,139, 81, 8, 57,242,115, 2,
|
||||
/* 0x0360 */ 137,214, 3, 81, 20, 57,215,115, 2,137,215,131,193, 32, 75,117,
|
||||
/* 0x0370 */ 227,129,230, 0,240,255,255, 41,247,137,242,141,159,255, 15, 0,
|
||||
/* 0x0380 */ 0,129,227, 0,240,255,255,133,192,117, 22,106, 0,131,200, 34,
|
||||
/* 0x0390 */ 106,255, 80,106, 0, 83, 86,232,237,253,255,255,131,196, 24,137,
|
||||
/* 0x03a0 */ 194,141, 4, 26, 41,242,139,117,224,137, 85,200,137, 69,240,102,
|
||||
/* 0x03b0 */ 131,126, 44, 0,199, 69,196, 0, 0, 0, 0, 15,132,233, 1, 0,
|
||||
/* 0x03c0 */ 0,131,125,220, 0,116, 32,139, 69,204,131, 56, 6,117, 24,139,
|
||||
/* 0x03d0 */ 77,200,186, 3, 0, 0, 0, 3, 72, 8,139, 69,216,232, 1,255,
|
||||
/* 0x03e0 */ 255,255,233,172, 1, 0, 0,139, 85,204,131, 58, 1, 15,133,160,
|
||||
/* 0x03f0 */ 1, 0, 0,139, 74, 24,187, 64, 98, 81,115,137,214,139, 69,200,
|
||||
/* 0x0400 */ 131,225, 7, 3, 70, 8,193,225, 2,139, 82, 16,211,235,137,217,
|
||||
/* 0x0410 */ 137, 85,232,131,225, 7,137, 69,236,137, 77,192,139, 78, 20,137,
|
||||
/* 0x0420 */ 198, 1,193,137, 77,188,137,193,129,225,255, 15, 0, 0, 41,206,
|
||||
/* 0x0430 */ 131,125,220, 0,141, 60, 10,116, 64,106, 0,106,255,106, 50,141,
|
||||
/* 0x0440 */ 71, 3,106, 3, 80, 86,232, 62,253,255,255,131,196, 24, 57,198,
|
||||
/* 0x0450 */ 116, 10,184, 6, 0, 0, 0,233, 25, 1, 0, 0,128,227, 4,139,
|
||||
/* 0x0460 */ 69,208,117, 2, 49,192, 80,139, 69,220,255,117,228,141, 85,232,
|
||||
/* 0x0470 */ 232,122,253,255,255, 88, 90,235, 41,139, 93,204,139, 67, 4, 41,
|
||||
/* 0x0480 */ 200, 80,255,117,228,106, 18,255,117,192, 87, 86,232,248,252,255,
|
||||
/* 0x0490 */ 255,131,196, 24, 57,198,116, 10,184, 8, 0, 0, 0,233,211, 0,
|
||||
/* 0x04a0 */ 0, 0,137,248,247,216, 37,255, 15, 0, 0,246, 69,192, 2,137,
|
||||
/* 0x04b0 */ 69,184,116, 18,131,125,184, 0,141, 4, 62,116, 9,139, 77,184,
|
||||
/* 0x04c0 */ 198, 0, 0, 64,226,250,131,125,220, 0,116,122,139, 85,204,131,
|
||||
/* 0x04d0 */ 58, 1,117, 91,246, 66, 24, 1,116, 85,137,209,139, 82, 20,139,
|
||||
/* 0x04e0 */ 89, 8,139, 69,204,141, 12, 26, 3, 77,200, 59, 80, 16,117, 14,
|
||||
/* 0x04f0 */ 137,200,247,216, 37,255, 15, 0, 0,131,248, 3,119, 17,139, 85,
|
||||
/* 0x0500 */ 204,107, 69,200, 52,131,122, 4, 0,141, 76, 3, 12,117, 32,139,
|
||||
/* 0x0510 */ 1, 61,205,128, 97,195,116, 6,199, 1,205,128, 97,195,133,201,
|
||||
/* 0x0520 */ 116, 13,139, 69,216, 49,210,131,224,254,232,180,253,255,255,137,
|
||||
/* 0x0530 */ 243,137,249,139, 85,192,106,125, 88,205,128,133,192,116, 7,184,
|
||||
/* 0x0540 */ 10, 0, 0, 0,235, 47,139, 85,184,141, 4, 23,141, 28, 6, 59,
|
||||
/* 0x0550 */ 93,188,115, 38,106, 0,106,255,106, 50,255,117,192, 41, 93,188,
|
||||
/* 0x0560 */ 255,117,188, 83,232, 32,252,255,255,131,196, 24, 57,195,116, 35,
|
||||
/* 0x0570 */ 184, 9, 0, 0, 0,232,107,252,255,255,131,125,220, 0,116, 19,
|
||||
/* 0x0580 */ 141, 79, 3,129,225,255, 15, 0, 0,131,249, 3,119, 5,106, 91,
|
||||
/* 0x0590 */ 88,205,128,139, 77,224,255, 69,196, 15,183, 65, 44,131, 69,204,
|
||||
/* 0x05a0 */ 32, 57, 69,196, 15,140, 23,254,255,255,131,125,220, 0,116, 18,
|
||||
/* 0x05b0 */ 139, 93,224,102,131,123, 16, 3,116, 8,139, 93,240,106, 45, 88,
|
||||
/* 0x05c0 */ 205,128,131,125,212, 0,116, 8,139, 69,200,139,117,212,137, 6,
|
||||
/* 0x05d0 */ 139, 85,224,139, 82, 24, 1, 85,200,139, 69,200,141,101,244, 91,
|
||||
/* 0x05e0 */ 94, 95,201,195, 85,137,229, 87, 86, 83,131,236, 28,199, 69,232,
|
||||
/* 0x05f0 */ 0, 0, 0, 0,139, 69, 8,139,117, 16,137, 69,236,139,125, 28,
|
||||
/* 0x0600 */ 128, 62,235,139, 93, 32,117, 6,141, 86, 2,137, 85,232,106, 0,
|
||||
/* 0x0610 */ 141, 85, 24,141, 69, 32, 86,232,211,251,255,255,139, 77, 40,139,
|
||||
/* 0x0620 */ 69, 12,186, 3, 0, 0, 0,137, 77,240, 3, 79, 28,137, 69, 32,
|
||||
/* 0x0630 */ 139, 69,236, 41, 93, 36,232,168,252,255,255, 15,183, 79, 44,139,
|
||||
/* 0x0640 */ 69,236,186, 5, 0, 0, 0,141, 95, 52,232,148,252,255,255, 15,
|
||||
/* 0x0650 */ 183, 79, 42,139, 69,236,186, 4, 0, 0, 0,232,131,252,255,255,
|
||||
/* 0x0660 */ 102,131,127, 16, 3, 89, 88,117, 50,139, 77,240,102,199, 71, 16,
|
||||
/* 0x0670 */ 2, 0, 3, 79, 24,186, 9, 0, 0, 0,139, 69,236,137, 79, 24,
|
||||
/* 0x0680 */ 232, 94,252,255,255, 15,183, 79, 44,133,201,116, 14,139, 69,240,
|
||||
/* 0x0690 */ 1, 67, 8, 1, 67, 12,131,195, 32,226,245,141, 77,240,137,250,
|
||||
/* 0x06a0 */ 255,117,232, 81,255,117,236,141, 69, 32, 80,137,240,232, 76,252,
|
||||
/* 0x06b0 */ 255,255,186, 9, 0, 0, 0,137,193,137, 69,228,139, 69,236,232,
|
||||
/* 0x06c0 */ 31,252,255,255,102,139, 95, 44,131,196, 16, 49,201,102,133,219,
|
||||
/* 0x06d0 */ 141, 87, 52,116,124,131, 58, 3,117,108,139, 93,240, 49,201, 3,
|
||||
/* 0x06e0 */ 90, 8,137,202,106, 5, 88,205,128,137,198,133,246,184, 18, 0,
|
||||
/* 0x06f0 */ 0, 0,120, 26,186, 0, 2, 0, 0,137,243,137,249,106, 3, 88,
|
||||
/* 0x0700 */ 205,128, 61, 0, 2, 0, 0,116, 10,184, 19, 0, 0, 0,232,210,
|
||||
/* 0x0710 */ 250,255,255,141, 69,240,137,250,106, 0,137,243, 80,137,240,255,
|
||||
/* 0x0720 */ 117,236,106, 0,232,213,251,255,255,139, 77,240,137, 69,228,139,
|
||||
/* 0x0730 */ 69,236,186, 7, 0, 0, 0,232,167,251,255,255,131,196, 16,106,
|
||||
/* 0x0740 */ 6, 88,205,128,235, 11, 65, 15,183,195,131,194, 32, 57,193,124,
|
||||
/* 0x0750 */ 132,139, 69,228,141,101,244, 91, 94, 95,201,195
|
||||
/* 0x00b0 */ 0,243,171, 72,171,171, 41,125,248, 87, 86,232, 15, 0, 0, 0,
|
||||
/* 0x00c0 */ 47,112,114,111, 99, 47,115,101,108,102, 47,101,120,101, 0, 91,
|
||||
/* 0x00d0 */ 41,201,106, 5, 88,205,128,137, 69, 16,186,215, 15, 0, 0,137,
|
||||
/* 0x00e0 */ 249,106, 85, 88,205,128,133,192,121, 7,137,217,184, 14, 0, 0,
|
||||
/* 0x00f0 */ 0,141,116, 1,255,145,253, 95, 79,176, 0,170,243,164,184, 32,
|
||||
/* 0x0100 */ 32, 32, 61,131,239, 3,137, 7,139, 69,252,137, 56,131,231,252,
|
||||
/* 0x0110 */ 94,137,241, 41,225,137,200, 49,248,131,224, 4, 41,199, 90, 1,
|
||||
/* 0x0120 */ 250,175,173,193,233, 2, 73,243,165,252,141, 79, 4, 49,192, 41,
|
||||
/* 0x0130 */ 225,137,231,193,233, 2,243,171,137,252,137,215, 88, 93, 94, 88,
|
||||
/* 0x0140 */ 89,129,236, 0, 10, 0, 0,137,226, 81,139, 24,139, 72, 4,131,
|
||||
/* 0x0150 */ 193, 12, 96, 71,232,167, 4, 0, 0, 79,137,198,137,250,137,231,
|
||||
/* 0x0160 */ 185,137, 2, 0, 0, 49,192,243,171,137,252,137,116, 36, 12, 95,
|
||||
/* 0x0170 */ 82, 87, 41,237,106, 2, 94,106, 1, 90,185, 0, 16, 0, 0, 41,
|
||||
/* 0x0180 */ 219,104,192, 0, 0, 0, 88,205,128, 91,106, 6, 88,205,128, 95,
|
||||
/* 0x0190 */ 41,192, 60,175,175,117,252, 89, 91, 80, 80, 80, 80, 80, 80, 80,
|
||||
/* 0x01a0 */ 80,176, 91,255, 39, 85, 83, 86, 87,139, 92, 36, 20,139, 76, 36,
|
||||
/* 0x01b0 */ 24,139, 84, 36, 28,139,116, 36, 32,139,124, 36, 36,139,108, 36,
|
||||
/* 0x01c0 */ 40,193,237, 12,104,192, 0, 0, 0, 88,205,128, 95, 94, 91, 93,
|
||||
/* 0x01d0 */ 195, 0, 0, 0, 87, 86,137,206, 83,137,195, 57, 8,139,120, 4,
|
||||
/* 0x01e0 */ 115, 10,106,127, 91,106, 1, 88,205,128,235,254,133,201,116, 8,
|
||||
/* 0x01f0 */ 138, 7, 71,136, 2, 66,226,248, 1,115, 4, 41, 51, 91, 94, 95,
|
||||
/* 0x0200 */ 195,106,127, 91,106, 1, 88,205,128,235,254, 85,137,229, 87, 86,
|
||||
/* 0x0210 */ 137,198, 83,137,211,131,236, 24,139, 69, 8,139,125, 12,137, 69,
|
||||
/* 0x0220 */ 220,131, 58, 0, 15,132,205, 0, 0, 0,141, 85,228,185, 12, 0,
|
||||
/* 0x0230 */ 0, 0,137,240,232,155,255,255,255,139, 69,228,139, 77,232,133,
|
||||
/* 0x0240 */ 192,117, 25,129,249, 85, 80, 88, 33,176, 2,117, 85,131, 62, 0,
|
||||
/* 0x0250 */ 184, 3, 0, 0, 0,117, 75,233,155, 0, 0, 0,133,201,117, 7,
|
||||
/* 0x0260 */ 184, 4, 0, 0, 0,235, 59, 57,193,119, 4, 59, 3,118, 7,184,
|
||||
/* 0x0270 */ 5, 0, 0, 0,235, 44, 57,193,115, 96,137, 69,224,141, 69,224,
|
||||
/* 0x0280 */ 255,117,236, 80,255,115, 4, 81,255,118, 4,255, 85,220,131,196,
|
||||
/* 0x0290 */ 20,133,192,117, 8,139, 85,224, 59, 85,228,116, 10,184, 7, 0,
|
||||
/* 0x02a0 */ 0, 0,232, 90,255,255,255,138, 69,237,132,192,116, 34,133,255,
|
||||
/* 0x02b0 */ 116, 30,129,250, 0, 2, 0, 0,119, 4, 57, 19,117, 18, 15,182,
|
||||
/* 0x02c0 */ 192, 80, 15,182, 69,238, 80, 82,255,115, 4,255,215,131,196, 16,
|
||||
/* 0x02d0 */ 139, 69,232, 1, 70, 4, 41, 6,235, 10,139, 83, 4,137,240,232,
|
||||
/* 0x02e0 */ 240,254,255,255,139, 85,228,139, 3, 1, 83, 4, 41,208,133,192,
|
||||
/* 0x02f0 */ 137, 3,233, 45,255,255,255,141,101,244, 91, 94, 95,201,195,133,
|
||||
/* 0x0300 */ 192,116, 13,168, 1,117, 9, 57, 16,116, 7,131,192, 8,235,247,
|
||||
/* 0x0310 */ 49,192,133,192,116, 3,137, 72, 4,195, 85,137,229, 87, 86, 83,
|
||||
/* 0x0320 */ 131,236, 72,137, 69,228,139, 69, 8,137, 85,224,139, 93, 20,137,
|
||||
/* 0x0330 */ 69,220,139,117,224,139, 69,224,137, 93,208,139, 85, 12,139, 93,
|
||||
/* 0x0340 */ 224, 3,118, 28,137, 85,216,102,131,120, 16, 2, 15,183, 83, 44,
|
||||
/* 0x0350 */ 139, 77, 16,137,117,204, 15,148,192, 49,255, 15,182,192,137,211,
|
||||
/* 0x0360 */ 137, 77,212,193,224, 4,137,241,131,206,255, 75,120, 31,137,211,
|
||||
/* 0x0370 */ 131, 57, 1,117, 18,139, 81, 8, 57,242,115, 2,137,214, 3, 81,
|
||||
/* 0x0380 */ 20, 57,215,115, 2,137,215,131,193, 32, 75,117,227,129,230, 0,
|
||||
/* 0x0390 */ 240,255,255, 41,247,137,242,141,159,255, 15, 0, 0,129,227, 0,
|
||||
/* 0x03a0 */ 240,255,255,133,192,117, 22,106, 0,131,200, 34,106,255, 80,106,
|
||||
/* 0x03b0 */ 0, 83, 86,232,237,253,255,255,131,196, 24,137,194,141, 4, 26,
|
||||
/* 0x03c0 */ 41,242,139,117,224,137, 85,200,137, 69,240,102,131,126, 44, 0,
|
||||
/* 0x03d0 */ 199, 69,196, 0, 0, 0, 0, 15,132,233, 1, 0, 0,131,125,220,
|
||||
/* 0x03e0 */ 0,116, 32,139, 69,204,131, 56, 6,117, 24,139, 77,200,186, 3,
|
||||
/* 0x03f0 */ 0, 0, 0, 3, 72, 8,139, 69,216,232, 1,255,255,255,233,172,
|
||||
/* 0x0400 */ 1, 0, 0,139, 85,204,131, 58, 1, 15,133,160, 1, 0, 0,139,
|
||||
/* 0x0410 */ 74, 24,187, 64, 98, 81,115,137,214,139, 69,200,131,225, 7, 3,
|
||||
/* 0x0420 */ 70, 8,193,225, 2,139, 82, 16,211,235,137,217,137, 85,232,131,
|
||||
/* 0x0430 */ 225, 7,137, 69,236,137, 77,192,139, 78, 20,137,198, 1,193,137,
|
||||
/* 0x0440 */ 77,188,137,193,129,225,255, 15, 0, 0, 41,206,131,125,220, 0,
|
||||
/* 0x0450 */ 141, 60, 10,116, 64,106, 0,106,255,106, 50,141, 71, 3,106, 3,
|
||||
/* 0x0460 */ 80, 86,232, 62,253,255,255,131,196, 24, 57,198,116, 10,184, 6,
|
||||
/* 0x0470 */ 0, 0, 0,233, 25, 1, 0, 0,128,227, 4,139, 69,208,117, 2,
|
||||
/* 0x0480 */ 49,192, 80,139, 69,220,255,117,228,141, 85,232,232,122,253,255,
|
||||
/* 0x0490 */ 255, 88, 90,235, 41,139, 93,204,139, 67, 4, 41,200, 80,255,117,
|
||||
/* 0x04a0 */ 228,106, 18,255,117,192, 87, 86,232,248,252,255,255,131,196, 24,
|
||||
/* 0x04b0 */ 57,198,116, 10,184, 8, 0, 0, 0,233,211, 0, 0, 0,137,248,
|
||||
/* 0x04c0 */ 247,216, 37,255, 15, 0, 0,246, 69,192, 2,137, 69,184,116, 18,
|
||||
/* 0x04d0 */ 131,125,184, 0,141, 4, 62,116, 9,139, 77,184,198, 0, 0, 64,
|
||||
/* 0x04e0 */ 226,250,131,125,220, 0,116,122,139, 85,204,131, 58, 1,117, 91,
|
||||
/* 0x04f0 */ 246, 66, 24, 1,116, 85,137,209,139, 82, 20,139, 89, 8,139, 69,
|
||||
/* 0x0500 */ 204,141, 12, 26, 3, 77,200, 59, 80, 16,117, 14,137,200,247,216,
|
||||
/* 0x0510 */ 37,255, 15, 0, 0,131,248, 3,119, 17,139, 85,204,107, 69,200,
|
||||
/* 0x0520 */ 52,131,122, 4, 0,141, 76, 3, 12,117, 32,139, 1, 61,205,128,
|
||||
/* 0x0530 */ 97,195,116, 6,199, 1,205,128, 97,195,133,201,116, 13,139, 69,
|
||||
/* 0x0540 */ 216, 49,210,131,224,254,232,180,253,255,255,137,243,137,249,139,
|
||||
/* 0x0550 */ 85,192,106,125, 88,205,128,133,192,116, 7,184, 10, 0, 0, 0,
|
||||
/* 0x0560 */ 235, 47,139, 85,184,141, 4, 23,141, 28, 6, 59, 93,188,115, 38,
|
||||
/* 0x0570 */ 106, 0,106,255,106, 50,255,117,192, 41, 93,188,255,117,188, 83,
|
||||
/* 0x0580 */ 232, 32,252,255,255,131,196, 24, 57,195,116, 35,184, 9, 0, 0,
|
||||
/* 0x0590 */ 0,232,107,252,255,255,131,125,220, 0,116, 19,141, 79, 3,129,
|
||||
/* 0x05a0 */ 225,255, 15, 0, 0,131,249, 3,119, 5,106, 91, 88,205,128,139,
|
||||
/* 0x05b0 */ 77,224,255, 69,196, 15,183, 65, 44,131, 69,204, 32, 57, 69,196,
|
||||
/* 0x05c0 */ 15,140, 23,254,255,255,131,125,220, 0,116, 18,139, 93,224,102,
|
||||
/* 0x05d0 */ 131,123, 16, 3,116, 8,139, 93,240,106, 45, 88,205,128,131,125,
|
||||
/* 0x05e0 */ 212, 0,116, 8,139, 69,200,139,117,212,137, 6,139, 85,224,139,
|
||||
/* 0x05f0 */ 82, 24, 1, 85,200,139, 69,200,141,101,244, 91, 94, 95,201,195,
|
||||
/* 0x0600 */ 85,137,229, 87, 86, 83,131,236, 28,199, 69,232, 0, 0, 0, 0,
|
||||
/* 0x0610 */ 139, 69, 8,139,117, 16,137, 69,236,139,125, 28,128, 62,235,139,
|
||||
/* 0x0620 */ 93, 32,117, 6,141, 86, 2,137, 85,232,106, 0,141, 85, 24,141,
|
||||
/* 0x0630 */ 69, 32, 86,232,211,251,255,255,139, 77, 40,139, 69, 12,186, 3,
|
||||
/* 0x0640 */ 0, 0, 0,137, 77,240, 3, 79, 28,137, 69, 32,139, 69,236, 41,
|
||||
/* 0x0650 */ 93, 36,232,168,252,255,255, 15,183, 79, 44,139, 69,236,186, 5,
|
||||
/* 0x0660 */ 0, 0, 0,141, 95, 52,232,148,252,255,255, 15,183, 79, 42,139,
|
||||
/* 0x0670 */ 69,236,186, 4, 0, 0, 0,232,131,252,255,255,102,131,127, 16,
|
||||
/* 0x0680 */ 3, 89, 88,117, 50,139, 77,240,102,199, 71, 16, 2, 0, 3, 79,
|
||||
/* 0x0690 */ 24,186, 9, 0, 0, 0,139, 69,236,137, 79, 24,232, 94,252,255,
|
||||
/* 0x06a0 */ 255, 15,183, 79, 44,133,201,116, 14,139, 69,240, 1, 67, 8, 1,
|
||||
/* 0x06b0 */ 67, 12,131,195, 32,226,245,141, 77,240,137,250,255,117,232, 81,
|
||||
/* 0x06c0 */ 255,117,236,141, 69, 32, 80,137,240,232, 76,252,255,255,186, 9,
|
||||
/* 0x06d0 */ 0, 0, 0,137,193,137, 69,228,139, 69,236,232, 31,252,255,255,
|
||||
/* 0x06e0 */ 102,139, 95, 44,131,196, 16, 49,201,102,133,219,141, 87, 52,116,
|
||||
/* 0x06f0 */ 124,131, 58, 3,117,108,139, 93,240, 49,201, 3, 90, 8,137,202,
|
||||
/* 0x0700 */ 106, 5, 88,205,128,137,198,133,246,184, 18, 0, 0, 0,120, 26,
|
||||
/* 0x0710 */ 186, 0, 2, 0, 0,137,243,137,249,106, 3, 88,205,128, 61, 0,
|
||||
/* 0x0720 */ 2, 0, 0,116, 10,184, 19, 0, 0, 0,232,210,250,255,255,141,
|
||||
/* 0x0730 */ 69,240,137,250,106, 0,137,243, 80,137,240,255,117,236,106, 0,
|
||||
/* 0x0740 */ 232,213,251,255,255,139, 77,240,137, 69,228,139, 69,236,186, 7,
|
||||
/* 0x0750 */ 0, 0, 0,232,167,251,255,255,131,196, 16,106, 6, 88,205,128,
|
||||
/* 0x0760 */ 235, 11, 65, 15,183,195,131,194, 32, 57,193,124,132,139, 69,228,
|
||||
/* 0x0770 */ 141,101,244, 91, 94, 95,201,195
|
||||
};
|
||||
|
@ -145,6 +145,7 @@ section LEXEC020
|
||||
|
||||
#define __NR_write 4
|
||||
#define __NR_exit 1
|
||||
EINVAL= 22
|
||||
|
||||
#define pushsbli .byte 0x6a, /* push sign-extended byte to long immediate*/
|
||||
|
||||
@ -254,8 +255,15 @@ AT_SYSINFO_EHDR=33
|
||||
push edi // length
|
||||
push eax // destination
|
||||
mov ebx, esp // address of parameter vector for __NR_mmap
|
||||
0:
|
||||
push __NR_mmap; pop eax; int 0x80 // changes only %eax; %edx is live
|
||||
cmp eax,[ebx]; jne msg_SELinux // not the expected address (includes error)
|
||||
sub ecx,ecx; cmp [ebx],ecx; je 7f // "any address" always succeeds
|
||||
cmp eax,[ebx]; je 7f // success
|
||||
mov [ebx],ecx // any addr
|
||||
mov [word ptr 3*4 + ebx], MAP_PRIVATE | MAP_ANONYMOUS // not MAP_FIXED
|
||||
cmp eax,-EINVAL; je 0b
|
||||
jmp msg_SELinux
|
||||
7:
|
||||
add esp,6*4
|
||||
pop ecx // O_BINFO
|
||||
push eax // ADRU
|
||||
|
@ -94,16 +94,21 @@ F_fd= 4*4 // frame offset to fd
|
||||
mov ecx,5*2; rep stosd // 5 extra slots of AT_IGNORE
|
||||
dec eax; stosd; stosd // 0, AT_NULL
|
||||
sub [-2*4 + ebp],edi // -len_aux
|
||||
push edi // &new_aux[N],-len_aux,&new_env[0]; f_exp,LENX,ADRX,slide,fd,LENU,ADRU,entry,argc
|
||||
push edi // P_07 &new_aux[N],-len_aux,&new_env[0]; f_exp,LENX,ADRX,slide,fd,LENU,ADRU,entry,argc
|
||||
push esi // &strings,&new_aux[N],-len_aux,&new_env[0]; f_exp,LENX,ADRX,slide,fd,LENU,ADRU,fd,entry,argc
|
||||
|
||||
mov edx,-5*2*4 -1+ PATH_MAX // buflen
|
||||
mov ecx,edi // buffer
|
||||
call 1f
|
||||
0:
|
||||
.asciz "/proc/self/exe"
|
||||
1:
|
||||
pop ebx // path
|
||||
sub ecx,ecx // O_RDONLY
|
||||
push __NR_open; pop eax; int 0x80
|
||||
mov [F_fd + ebp],eax // fd for later mmap
|
||||
|
||||
mov edx,-5*2*4 -1+ PATH_MAX // buflen
|
||||
mov ecx,edi // buffer
|
||||
// mov ebx,ebx // name
|
||||
push __NR_readlink; pop eax; int 0x80; test eax,eax; jns 0f
|
||||
mov ecx,ebx // point at name
|
||||
mov eax,-1+ (1b - 0b) // len
|
||||
@ -120,26 +125,32 @@ F_fd= 4*4 // frame offset to fd
|
||||
mov eax,[-1*4 + ebp]; mov [eax],edi // new_env[0]
|
||||
and edi,~3 // word align
|
||||
|
||||
sub ecx,ecx // O_RDONLY
|
||||
// mov ebx,ebx // name
|
||||
push __NR_open; pop eax; int 0x80
|
||||
mov [F_fd + ebp],eax // fd for later mmap
|
||||
pop esi // P_07 &new_aux[N]; -len_aux,&new_env[0]; f_exp,LENX,ADRX,slide,fd,LENU,ADRU,entry,argc
|
||||
// Final sp must be 0 mod 8. There are now 10 words below argc.
|
||||
mov ecx,esi // last
|
||||
sub ecx,esp // length of moved block
|
||||
mov eax,ecx
|
||||
xor eax,edi // check parity of purported destination
|
||||
and eax,4
|
||||
sub edi,eax // align &new_aux[last]
|
||||
|
||||
pop esi // &new_aux[N]; -len_aux,&new_env[0]; f_exp,LENX,ADRX,slide,fd,LENU,ADRU,entry,argc
|
||||
pop edx // -len_aux; &new_env[0]; f_exp,LENX,ADRX,slide,fd,LENU,ADRU,entry,argc
|
||||
add edx,edi // edx= &final_aux[0]
|
||||
|
||||
scasd // edi -= 4
|
||||
mov ecx,esi
|
||||
lodsd // esi -= 4
|
||||
sub ecx,esp
|
||||
shr ecx,2
|
||||
rep movsd
|
||||
lea esp,[4+ edi]
|
||||
mov edi,edx // &final_aux[0]
|
||||
shr ecx,2; dec ecx; rep movsd // dec: compensate for P_07
|
||||
cld
|
||||
// Clear the vacated stack, for buggy programs that assume it is 0
|
||||
lea ecx,[1*4+ edi] // correct for 'std'
|
||||
xor eax,eax // 0
|
||||
sub ecx,esp
|
||||
mov edi,esp
|
||||
shr ecx,2; rep stosd
|
||||
mov esp,edi
|
||||
mov edi,edx // &final_aux[0]
|
||||
|
||||
pop ecx // toss &new_env[0]
|
||||
pop eax // toss &new_env[0]
|
||||
pop ebp // f_exp
|
||||
// stack is back to original state: LENX,ADRX,slide,fd,LENU,ADRU,entry,argc
|
||||
|
||||
@ -160,16 +171,25 @@ F_fd= 4*4 // frame offset to fd
|
||||
.extern upx_main
|
||||
call upx_main // returns entry address
|
||||
dec edi
|
||||
add esp, (8 +1)*4 + MAX_ELF_HDR + OVERHEAD // 8 params, slide, un-alloca
|
||||
mov [3*4 + esp],eax // entry
|
||||
pop ecx // fd
|
||||
push edi // auxv
|
||||
push ecx // fd, auxv, LENU, ADRU, entry, argc
|
||||
|
||||
// Buggy programs may depend on uninit stack being 0, so clear what we used.
|
||||
mov esi,eax // save entry
|
||||
mov edx,edi // save auxv
|
||||
mov edi,esp
|
||||
mov ecx,((8 +1)*4 + MAX_ELF_HDR + OVERHEAD) >>2 // 8 params, slide, un-alloca
|
||||
xor eax,eax // 0
|
||||
rep stosd // clear frame on exit
|
||||
mov esp,edi // end of frame
|
||||
|
||||
mov [3*4 + esp],esi // entry
|
||||
pop edi // fd
|
||||
push edx // auxv
|
||||
push edi // fd, auxv, LENU, ADRU, entry, argc
|
||||
|
||||
sub ebp,ebp // 0 block in file
|
||||
mov edi,ecx // fd
|
||||
mov esi,MAP_PRIVATE
|
||||
mov edx,PROT_READ
|
||||
// edi has fd
|
||||
push MAP_PRIVATE; pop esi
|
||||
push PROT_READ; pop edx
|
||||
mov ecx,PAGE_SIZE
|
||||
sub ebx,ebx // 0 ==> Linux chooses page frame
|
||||
push __NR_mmap; pop eax; int 0x80
|
||||
|
@ -171,8 +171,8 @@ Idx Name Size VMA LMA File off Algn Flags
|
||||
166 LEXEC017 00000002 00000000 00000000 00001ab7 2**0 CONTENTS, READONLY
|
||||
167 LEXEC020 0000003e 00000000 00000000 00001ab9 2**0 CONTENTS, READONLY
|
||||
168 LEXECEXE 00000033 00000000 00000000 00001af7 2**0 CONTENTS, RELOC, READONLY
|
||||
169 LEXECDYN 00000087 00000000 00000000 00001b2a 2**0 CONTENTS, RELOC, READONLY
|
||||
170 LEXEC025 00000041 00000000 00000000 00001bb1 2**0 CONTENTS, RELOC, READONLY
|
||||
169 LEXECDYN 0000009b 00000000 00000000 00001b2a 2**0 CONTENTS, RELOC, READONLY
|
||||
170 LEXEC025 00000041 00000000 00000000 00001bc5 2**0 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d N2BSMA10 00000000 N2BSMA10
|
||||
00000000 l d N2BFAS11 00000000 N2BFAS11
|
||||
@ -668,8 +668,8 @@ OFFSET TYPE VALUE
|
||||
RELOCATION RECORDS FOR [LEXECDYN]:
|
||||
OFFSET TYPE VALUE
|
||||
00000031 R_386_32 LEXEC025
|
||||
00000081 R_386_32 LEXEC025
|
||||
00000051 R_386_PC32 LEXEC020
|
||||
00000095 R_386_32 LEXEC025
|
||||
00000065 R_386_PC32 LEXEC020
|
||||
|
||||
RELOCATION RECORDS FOR [LEXEC025]:
|
||||
OFFSET TYPE VALUE
|
||||
|
@ -9,23 +9,23 @@ Linker script and memory map
|
||||
TARGET(elf32-i386)
|
||||
0x0000000000c01080 . = ((0xc01000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x0000000000c01080 0x6dc
|
||||
.text 0x0000000000c01080 0x6f8
|
||||
*(.text)
|
||||
.text 0x0000000000c01080 0x138 tmp/i386-linux.elf-fold.o
|
||||
0x0000000000c01189 mmap
|
||||
.text 0x0000000000c011b8 0x5a4 tmp/i386-linux.elf-main.o
|
||||
0x0000000000c015e4 upx_main
|
||||
.text 0x0000000000c01080 0x154 tmp/i386-linux.elf-fold.o
|
||||
0x0000000000c011a5 mmap
|
||||
.text 0x0000000000c011d4 0x5a4 tmp/i386-linux.elf-main.o
|
||||
0x0000000000c01600 upx_main
|
||||
*(.data)
|
||||
.data 0x0000000000c0175c 0x0 tmp/i386-linux.elf-fold.o
|
||||
.data 0x0000000000c0175c 0x0 tmp/i386-linux.elf-main.o
|
||||
.data 0x0000000000c01778 0x0 tmp/i386-linux.elf-fold.o
|
||||
.data 0x0000000000c01778 0x0 tmp/i386-linux.elf-main.o
|
||||
|
||||
.data
|
||||
|
||||
.bss 0x0000000000c0175c 0x0
|
||||
.bss 0x0000000000c0175c 0x0 tmp/i386-linux.elf-fold.o
|
||||
.bss 0x0000000000c0175c 0x0 tmp/i386-linux.elf-main.o
|
||||
.bss 0x0000000000c01778 0x0
|
||||
.bss 0x0000000000c01778 0x0 tmp/i386-linux.elf-fold.o
|
||||
.bss 0x0000000000c01778 0x0 tmp/i386-linux.elf-main.o
|
||||
|
||||
.rel.dyn 0x0000000000c0175c 0x0
|
||||
.rel.dyn 0x0000000000c01778 0x0
|
||||
.rel.text 0x0000000000000000 0x0 tmp/i386-linux.elf-fold.o
|
||||
LOAD tmp/i386-linux.elf-fold.o
|
||||
LOAD tmp/i386-linux.elf-main.o
|
||||
|
Loading…
Reference in New Issue
Block a user