emp@shuttle:~/crk/code/elfcrypt$ cp /bin/ls . emp@shuttle:~/crk/code/elfcrypt$ upx -qqq -9 ./ls emp@shuttle:~/crk/code/elfcrypt$ readelf -l ./ls Elf file type is EXEC (Executable file) Entry point 0xc09c50 There are 2 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0x00c01000 0x00c01000 0x093c8 0x093c8 R E 0x1000 LOAD 0x000f30 0x0805bf30 0x0805bf30 0x00000 0x00000 RW 0x1000 emp@shuttle:~/crk/code/elfcrypt$ ./crypt ./ls emp@shuttle:~/crk/code/elfcrypt$ readelf -l ./ls Elf file type is EXEC (Executable file) Entry point 0x1000054 There are 1 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0x01000000 0x01000000 0x0b474 0x0b474 RWE 0x1000 emp@shuttle:~/crk/code/elfcrypt$ ./ls a.out crypt crypt.h elf.mac exit.asm inj injection.o Makefile out TODO bak crypt.c crypt.o exit hello.c injection.asm ls mmap.mac scm.pl