본문 바로가기
리버싱/기타

arm, powerpc, mips Cross Compile, Execute and Remote Debugging

by 즉흥 2016. 10. 23.
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. 실행

 

 

1
2
sudo apt-get install gdb-multiarch
sudo apt-get install qemu-user-static
cs

1
2
3
qemu-arm-static -L /usr/arm-linux-gnueabi ./a
qemu-ppc-static -L /usr/powerpc-linux-gnu/ ./a
qemu-mips-static -L /usr/mips-linux-gnu/ ./a



cs
 
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/

 

 

http://amgn.tistory.com/639

 

.

 

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
반응형

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

Anti VM  (0) 2019.01.02
Anti Reversing 정리  (3) 2019.01.02
AutoHotKey / AHK 분석 정리  (0) 2018.10.13
how to extract python code from pyinstaller  (0) 2017.04.14
IL 코드 보기  (0) 2017.01.15
Code Injection from BlackEnergy  (0) 2016.10.12
프로세스 시작과 동시에 디버거 붙이기  (0) 2016.09.25
Anti Debugging using NtSetInformationThread  (0) 2016.07.23
Anti Debugging using CheckRemoteDebuggerPresent  (0) 2016.07.20
Anti Debugging using RDTSC  (0) 2016.07.20

댓글