리버싱/기타
arm, powerpc, mips Cross Compile, Execute and Remote Debugging
즉흥
2016. 10. 23. 15:59
728x90
반응형
1. gcc 설치
1
2
3
|
sudo apt-get install gcc-arm-linux-gnueabi
sudo apt-get install gcc-powerpc-linux-gnu
sudo apt-get install gcc-mips-linux-gnu
|
cs |
1
2
3
4
5
6
7
8
9
10
|
sudo apt-get install -y gcc-multilib-arm-linux-gnueabi
sudo apt-get install -y gcc-multilib-arm-linux-gnueabihf
sudo apt-get install -y gcc-multilib-mips-linux-gnu
sudo apt-get install -y gcc-multilib-mips64-linux-gnuabi64
sudo apt-get install -y gcc-multilib-mips64el-linux-gnuabi64
sudo apt-get install -y gcc-multilib-mipsel-linux-gnu
sudo apt-get install -y gcc-multilib-powerpc-linux-gnu
sudo apt-get install -y gcc-multilib-powerpc64-linux-gnu
sudo apt-get install -y gcc-multilib-s390x-linux-gnu
sudo apt-get install -y gcc-multilib-sparc64-linux-gnu
|
cs |
1
|
sudo apt-get install -y gcc-multilib-arm-linux-gnueabi gcc-multilib-arm-linux-gnueabihf gcc-multilib-mips-linux-gnu gcc-multilib-mips64-linux-gnuabi64 gcc-multilib-mips64el-linux-gnuabi64 gcc-multilib-mipsel-linux-gnu gcc-multilib-powerpc-linux-gnu gcc-multilib-powerpc64-linux-gnu gcc-multilib-s390x-linux-gnu gcc-multilib-sparc64-linux-gnu
|
cs |
크로스 컴파일을 위한 gcc 설치
*g++이 필요할 수도 있다. gcc를 g++로 바꾸어서 apt-get install하면 됨.
2. 컴파일
1
2
3
|
arm-linux-gnueabi-gcc -o a a.c
powerpc-linux-gnu-gcc -o a a.c
mips-linux-gnu-gcc -o a a.c
|
cs |
각 플랫폼에 맞추어 c 코드를 컴파일
3. 실행
QEMU 설치 및 실행파일 실행
4. 디버깅
실행파일을 실행할 때에 -g 옵션과 포트 번호를 써주면 원격 디버깅이 가능하다!!
1
2
3
|
qemu-arm-static -L /usr/arm-linux-gnueabi -g 5021 ./a
qemu-ppc-static -L /usr/powerpc-linux-gnu/ -g 5021 ./a
qemu-mips-static -L /usr/mips-linux-gnu/ -g 5021 ./a
|
cs |
5. 기타 및 참고
https://github.com/multiarch/qemu-user-static/releases/
.
6. 64bit ARM
sudo apt install gcc-aarch64-linux-gnu
aarch64-linux-gnu-gcc -o a a.c
qemu-aarch64 -L /usr/aarch64-linux-gnu -g 5021 ./a
728x90
반응형