이 글 읽기 전에 이전글 참고
이전 글에서 retdec이라는 디컴파일러를 사용하기로 하였는데, 설치가 제대로 되지않은 채로 마무리 되었었다.
다운 받고 나서 파일을 돌렸을때 오류가 계속 떴다.
Error: Unsupported target architecture 'invalid'. Supported architectures: Intel x86, Intel x86-64, ARM, ARM + Thumb, ARM64, MIPS, PIC32, PowerPC.
라는 오류였다.
그래서 혹시나 해서 아키텍쳐도 확인해 보았으나, 분명히 내 컴퓨터의 아키텍쳐는 지원이 된다고 하는 아키텍쳐인 'x86_64'였다.
그래서 github 설명을 다시 보았다.
아키텍쳐에는 문제가 없는 것이 확인이 되었고, 그렇다면 깔린 파일이 문제가 있다고 여겨졌다.
이전글에서 보면, 먼저 따로 리눅스 안에서 git-clone을 진행하는 방식을 통해 진행하는 것은 가상머신 용량 문제로 인해서 진행이 안되었고, 따로 실행파일을 압축파일 형태로 다운 받아서 진행했다.
근데 이경우에서 아키텍쳐 관련 오류가 뜬것이다.
그래서 나는 vm용량을 늘리고, 최적화된 파일을 git-clone을 통해 다시 가져오는 방법을 택했다.
https://roadtosuccess.tistory.com/m/38
이글을 참고해서 용량을 늘렸고, 이전글에서 처럼 git 문서를 보고 리눅스 cmd창에서 다운을 진행했다.
중간에 fetal error가 난 부분은 메모리가 부족한 에러라고 해서 swap파일 교체를 통해서 오류를 해결했다.
https://m.blog.naver.com/jungspeedy/222036268371
다 다운 받은 뒤 github에 나와있는 예시를 통해서 retdec을 돌렸다.
retdec 설치 경로/bin/retdec-decompiler <파일 이름>
돌리게 되면 밑에 처럼 각자 파일이 나오게 된다.
bc가 bitcode ll이 llvm ir이다.
(주의! retdec 돌릴때, 해당 위치에 디스어셈블할 파일을 같이 둘것)