38 lines
676 B
ArmAsm
38 lines
676 B
ArmAsm
bits 64
|
|
global _start
|
|
|
|
_start:
|
|
push rax
|
|
push rdi
|
|
push rsi
|
|
push rdx
|
|
|
|
mov rdi, 1
|
|
lea rsi, [rel msg]
|
|
mov rax, rsi
|
|
sub rax, qword [rel text_section] ;text_section address
|
|
mov r8, qword [rel section_size] ;text_section size
|
|
mov r9, 0 ;increment register
|
|
xor r10, r10
|
|
encrypt:
|
|
cmp r8, r9
|
|
je end_encrypt
|
|
movzx r10, byte[rax + r9]
|
|
inc r10b ;rot + 1
|
|
mov byte[rax + r9], r10b
|
|
inc r9
|
|
jmp encrypt
|
|
end_encrypt:
|
|
mov rdx, 14
|
|
mov rax, 1
|
|
syscall
|
|
pop rdx
|
|
pop rsi
|
|
pop rdi
|
|
pop rax
|
|
|
|
jmp 0xdadadada
|
|
msg db "....WOODY....",10
|
|
text_section dq 0xbabababababababa
|
|
section_size dq 0xcacacacacacacaca
|