리버싱/ARM

ARM 크로스 컴파일러 및 실행

cyanhe_wh 2021. 2. 1. 13:48
728x90
반응형

ARM 32Bit

sudo apt-get install gcc-arm-linux-gnueabi
sudo apt-get install g++-arm-linux-gnueabi

ARM 64Bit

sudo apt-get install gcc-aarch64-linux-gnu
sudo apt-get install g++-aarch64-linux-gnu

ARM 크로스 컴파일 하기

arm-linux-gnueabi-gcc -o test test.c (32Bit)
aarch64-linux-gnu-gcc -o test test.c (64Bit)

ARM 실행

qemu-arm -L /usr/arm-linux-gnueabi ./실행파일
qemu-aarch64 -L /usr/aarch64-linux-gnu ./실행파일

gdb-multiarch (gdb 디버깅시 여러 아키텍처 가능)

sudo apt-get install gdb-multiarch

gdb 붙이기

gdb-multiarch
set arc arm(aarch64)
target remote localhost:1234
file (경로)

qemu-user

sudo apt-get install qemu-user

원하는 아키텍처 실행가능

추가로 mip

sudo apt-get install gcc-multilib-mips-linux-gnu
qemu-mips -L /usr/mips-linux-gnu ./실행파일 (이렇게 실행)
qemu-mips -g (포트) -L /usr/mips-linux-gnu ./실행 파일 (리모트 디버깅)

728x90
반응형

'리버싱 > ARM' 카테고리의 다른 글

실행 상태  (0) 2021.02.09
Exception Level 변경  (0) 2021.02.09
ARMv8 Exception Model  (0) 2021.02.09
ARMv8  (0) 2021.02.09
ARM Assembly  (0) 2021.02.09