Переведено для codeby. Net


Алгоритм 13 hello_pwner32.c


Download 0.92 Mb.
Pdf ko'rish
bet33/36
Sana09.05.2023
Hajmi0.92 Mb.
#1449564
TuriРеферат
1   ...   28   29   30   31   32   33   34   35   36
Bog'liq
эксплуатация систем arm linux AFANX

Алгоритм 13 hello_pwner32.c
#include
int main()
{
puts(“H3ll0, PWN3R! -> ARM32\n”);
return 0;
}
Для 32-бит arm, компиляция аналогична:
arm-linux-gnueabihf-gcc -o hello32 hello32.c
Однако, запуск отличается:
62


qemu-arm -L /usr/arm-linux-gnueabihf ./hello32
Ожидаемый вывод:
H3ll0, PWN3R! -> ARM32
Теперь попробуем написать программу на языке Ассемблер, скомпилировать ее
и запустить.
Алгоритм 14 shellcode.s (64-bit)
.section .text
.global _start
_start:
mov x0, #1
ldr x1, =msg
ldr x2, =len
mov w8, #64
svc #0
mov x0, #0
mov w8, #93
svc #0
msg:
.ascii "shellcodeARM64!\n";
len = . - msg
Компиляция аналогична компиляции программы для обычного x86_64:
aarch64-linux-gnu-as shellcode.s -o shellcode.o
aarch64-linux-gnu-ld shellcode.o -o shellcode
./shellcode
shellcodeARM64!
63


Алгоритм 15 shellcode.s (32-bit)
.section .text
.global _start
_start:
mov r0, #1
ldr r1, =msg
ldr r2, =len
mov r7, #4
svc #0
mov r0, #0
mov r7, #1
svc #0
msg:
.ascii "shellcodeARM32!\n";
len = . – msg
Для Arm 32-bit шаги аналогичны:
arm-linux-gnueabihf-as shellcode.s -o shellcode.o
arm-linux-gnueabihf-ld shellcode.o -o shellcode
./shellcode
shellcodeARM32!
8.3 Создаем эмулятор ARM64 QEMU
Для того, чтобы эмулировать процессор типа ARM64 необходимо создать две
директориии deb11_inst и deb11_start:
mkdir deb11_inst deb11_start
После необходимо перейти в deb11_inst и скачать два файла:
wget -O installer-linux http://http.us.debian.org/
debian/dists/bullseye/main/installer-arm64/current/im-
ages/netboot/debian-installer/arm64/linux
wget -O installer-initrd.gz http://http.us.debian.org/de-
bian/dists/bullseye/main/installer-arm64/current/images/
netboot/debian-installer/arm64/initrd.gz
В результате получим два файла:
64


 installer-linux
 installer-initrd.gz
Дальше создаем диск для установки на него системы:
qemu-img create -f raw hda.img 20G
Создаем файл instDebARM64.sh и в него необходимо записать скрипт
представленный в Алгоритме 16:

Download 0.92 Mb.

Do'stlaringiz bilan baham:
1   ...   28   29   30   31   32   33   34   35   36




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling