mirror of
https://github.com/upx/upx
synced 2025-09-28 19:06:07 +08:00
clear registers at user entry (paranoia)
This commit is contained in:
parent
b362a61863
commit
92ad524947
|
@ -98,12 +98,25 @@ SP_argc= 5*4
|
||||||
ldmia sp!,{r0,r1,r2,r3,r4} @ ADRU,LENU,1+ &Elf32_auxv_t[AT_NULL@.a_type],crumb,MFLG
|
ldmia sp!,{r0,r1,r2,r3,r4} @ ADRU,LENU,1+ &Elf32_auxv_t[AT_NULL@.a_type],crumb,MFLG
|
||||||
add r0,r0,r3 @ ADRU+=crumb
|
add r0,r0,r3 @ ADRU+=crumb
|
||||||
sub r1,r1,r3 @ LENU-=crumb
|
sub r1,r1,r3 @ LENU-=crumb
|
||||||
|
|
||||||
|
mov r3,#0 @ clear registers: paranoia
|
||||||
|
mov r4,#0
|
||||||
|
mov r5,#0
|
||||||
|
mov r6,#0
|
||||||
|
|
||||||
|
mov r8,#0
|
||||||
|
mov r9,#0
|
||||||
|
mov r10,#0
|
||||||
|
mov r11,#0
|
||||||
#if defined(ARMEL_DARWIN) /*{*/
|
#if defined(ARMEL_DARWIN) /*{*/
|
||||||
|
mov r7,#0
|
||||||
mov r12,#0xff & __NR_munmap
|
mov r12,#0xff & __NR_munmap
|
||||||
#elif defined(ARMEL_EABI4) /*}{*/
|
#elif defined(ARMEL_EABI4) /*}{*/
|
||||||
|
mov r12,#0
|
||||||
mov r7, #0xff & __NR_munmap
|
mov r7, #0xff & __NR_munmap
|
||||||
#elif defined(ARM_OLDABI) /*{*/
|
#elif defined(ARM_OLDABI) /*{*/
|
||||||
@ empty
|
mov r7,#0
|
||||||
|
mov r12,#0
|
||||||
#endif /*}*/
|
#endif /*}*/
|
||||||
ldr pc,[r2,#4 -2*4] @ Elf32_auxv_t[AT_NULL@.a_type].a_val
|
ldr pc,[r2,#4 -2*4] @ Elf32_auxv_t[AT_NULL@.a_type].a_val
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user