FILTER_ID was wrong for arm64-linux.shlib and arm64-darwin.macho.
https://github.com/upx/upx/issues/100 (partial) modified: stub/src/arm64-darwin.macho-fold.S modified: stub/src/arm64-linux.shlib-init.S modified: p_mach.cpp modified: stub/arm64-darwin.macho-fold.h modified: stub/arm64-linux.shlib-init.h
This commit is contained in:
parent
f4947cc2ae
commit
96433b4e39
@ -223,7 +223,7 @@ int const *PackMachARMEL::getFilters() const
|
||||
|
||||
int const *PackMachARM64EL::getFilters() const
|
||||
{
|
||||
static const int filters[] = { 0x51, FT_END };
|
||||
static const int filters[] = { 0x52, FT_END };
|
||||
return filters;
|
||||
}
|
||||
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
|
||||
|
||||
#define STUB_ARM64_DARWIN_MACHO_FOLD_SIZE 1920
|
||||
#define STUB_ARM64_DARWIN_MACHO_FOLD_ADLER32 0x2900c991
|
||||
#define STUB_ARM64_DARWIN_MACHO_FOLD_CRC32 0xcc0bdf2e
|
||||
#define STUB_ARM64_DARWIN_MACHO_FOLD_ADLER32 0x6158c999
|
||||
#define STUB_ARM64_DARWIN_MACHO_FOLD_CRC32 0x39554d8d
|
||||
|
||||
unsigned char stub_arm64_darwin_macho_fold[1920] = {
|
||||
/* 0x0000 */ 97, 1, 64,249,231, 3, 4,145, 96, 65, 33,203, 3, 24, 64,185,
|
||||
@ -43,7 +43,7 @@ unsigned char stub_arm64_darwin_macho_fold[1920] = {
|
||||
/* 0x0040 */ 244, 87, 74,169,242, 79, 73,169,240, 71, 72,169,238, 63, 71,169,
|
||||
/* 0x0050 */ 236, 55, 70,169,234, 47, 69,169,232, 39, 68,169,230, 31, 67,169,
|
||||
/* 0x0060 */ 228, 23, 66,169,226, 15, 65,169,224, 7,207,168,192, 3, 31,214,
|
||||
/* 0x0070 */ 99, 28, 0, 18,127, 64, 1,113, 1, 2, 0, 84, 33,124, 2, 83,
|
||||
/* 0x0070 */ 99, 28, 0, 18,127, 72, 1,113, 1, 2, 0, 84, 33,124, 2, 83,
|
||||
/* 0x0080 */ 192, 1, 0,180,161, 1, 0, 52, 33, 4, 0, 81, 2, 88, 97,184,
|
||||
/* 0x0090 */ 67,124, 26, 83,127,148, 0,113,193, 0, 0, 84, 67, 20, 6, 18,
|
||||
/* 0x00a0 */ 66, 0, 1, 75, 66,100, 0, 18, 66, 0, 3, 42, 2, 88, 33,184,
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
|
||||
|
||||
#define STUB_ARM64_LINUX_SHLIB_INIT_SIZE 8113
|
||||
#define STUB_ARM64_LINUX_SHLIB_INIT_ADLER32 0x54c80b7d
|
||||
#define STUB_ARM64_LINUX_SHLIB_INIT_CRC32 0xf51cd9f5
|
||||
#define STUB_ARM64_LINUX_SHLIB_INIT_ADLER32 0xb9f80b85
|
||||
#define STUB_ARM64_LINUX_SHLIB_INIT_CRC32 0x70c58bbc
|
||||
|
||||
unsigned char stub_arm64_linux_shlib_init[8113] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@ -340,7 +340,7 @@ unsigned char stub_arm64_linux_shlib_init[8113] = {
|
||||
/* 0x12d0 */ 0,145,255, 67, 0,209, 36, 4, 64,185, 33, 48, 0,145, 33, 0,
|
||||
/* 0x12e0 */ 4,139, 36, 68, 64,184, 5, 44, 12, 83,165,124, 22, 83,132, 8,
|
||||
/* 0x12f0 */ 5, 11, 0, 8, 5,203,224, 19,191,169,132, 8, 5, 75, 0, 8,
|
||||
/* 0x1300 */ 5,139, 16, 0, 0,148, 99, 28, 0, 18,127, 64, 1,113,129, 1,
|
||||
/* 0x1300 */ 5,139, 16, 0, 0,148, 99, 28, 0, 18,127, 72, 1,113,129, 1,
|
||||
/* 0x1310 */ 0, 84, 33,252, 66,211, 65, 1, 0,180, 33, 4, 0,209, 2,120,
|
||||
/* 0x1320 */ 97,184, 67,120, 26, 83,127, 20, 0,113,129, 0, 0, 84, 66, 0,
|
||||
/* 0x1330 */ 1, 75, 98, 20, 26, 83, 2,120, 33,184, 1,255,255,181,192, 3,
|
||||
|
||||
@ -99,11 +99,11 @@ f_unfilter: // (char *ptr, uint len, uint cto, uint fid)
|
||||
t2 .req w3
|
||||
|
||||
#ifndef FILTER_ID /*{*/
|
||||
#define FILTER_ID 0x50 /* little-endian */
|
||||
#define FILTER_ID 0x52 /* little-endian */
|
||||
#endif /*}*/
|
||||
and fid,fid,#0xff
|
||||
cmp fid,#FILTER_ID // last use of fid
|
||||
bne unf_ret // no-op if not filter 0x50
|
||||
bne unf_ret // no-op if not filter 0x52
|
||||
|
||||
lsr len,len,#2 // word count
|
||||
cbz ptr,unf_ret // no-op if ptr is NULL
|
||||
|
||||
@ -201,7 +201,7 @@ f_unfilter: // (char *ptr, uint len, uint cto, uint fid)
|
||||
fid .req w3
|
||||
|
||||
#ifndef FILTER_ID /*{*/
|
||||
#define FILTER_ID 0x50 /* little-endian */
|
||||
#define FILTER_ID 0x52 /* little-endian */
|
||||
#endif /*}*/
|
||||
and fid,fid,#0xff
|
||||
cmp fid,#FILTER_ID // last use of fid
|
||||
|
||||
Loading…
Reference in New Issue
Block a user