캡스톤 디자인 #2 retdec

llip·2022년 5월 1일
0

캡스톤 디자인

목록 보기
2/9

https://github.com/avast/retdec
위 링크의 깃허브를 이용하여 retdec이라는 디컴파일러를 우분투에 설치해줄 것이다.
RetDec는 LLVM을 기반으로 하는 기계 코드 디컴파일러이다. 악성코드를 정적 분석하여 캡스톤 디자인을 진행할 것이므로 사용하게 되었다.

retdec.zip을 다운로드 해주고 아래와 같은 명령어프롬프트에 입력하였다.

코드가 잘 실행되며 y를 눌러 설치를 진행했는데, 마지막에 아래와 같이 패치에 실패했다는 문구가 나와서 어떻게 해야할지 고민했다.

용량 문제인가 싶어서 https://m.blog.naver.com/jungspeedy/222036268371 이 사이트를 참고하여 보았다.
swap 문제였는지, 아니면 다른 에러였는지는 모르겠다.

sudo swapoff -a
sudo dd if=/dev/zero of=/swapfile bs=1G count=8

두 코드를 실행한 뒤에 다시 명령프롬프트에 처음 입력해주었던 명령어를 재 입력했다. 그러자 별 무리 없이 깔린 것 같았다.

이제 악성코드를 한 번 디컴파일러에 돌려보기 위하여 https://bazaar.abuse.ch/ 에서 악성코드를 다운받았다. 현재로써는 아는 게 적기 때문에 일단 받고 돌려보기로 했다.

sudo apt install p7zip-full

다운로드를 받은 것을 풀기 위해 7z 라이브러리를 다운받는다.

여기까지 왔을 때 정작 retdec의 압축을 풀지 않았기 때문에 풀려고 하자 사진과 같은 에러 창이 떴다.


즉 공간이 부족하다는 소리인데 현재의 VM에 내가 할당한 용량은 20GB이다. 그렇다면 용량을 더 늘려서 할당해야 할 것이다.

따라서 VM Ubuntu의 하드디스크 용량을 늘려주기로 했다. 그런데...

Advanced 외의 버튼은 활성화가 되어있지 않다. 혹시나 하고 Ubuntu의 전원을 끄고 확인하니 활성화가 되어 있다. 20GB로 할당되어 있는 것을 40GB로 확장한다.

가상머신의 하드디스크 용량을 늘렸다고 해서 파티션의 용량까지 자동으로 늘어나지 않기 때문에 이 점은 별도로 설정해주어야 한다. 여기서는 두 블로그를 참조햇다.
https://roadtosuccess.tistory.com/m/38
https://tech-dailylife.tistory.com/entry/VMWare-%EA%B0%80%EC%83%81%EB%A8%B8%EC%8B%A0-Disk-%EB%B0%8F-Partition-%EC%9A%A9%EB%9F%89-%EB%8A%98%EB%A6%AC%EA%B8%B0

다시 Ubuntu를 실행하고 파티션 프로그램인 gparted를 설치하고 실행한다.

$ sudo apt-get install gparted
$ sudo gparted

이렇게 되면 다음과 같은 창이 뜬다.

unlocated라고 된 부분이 할당되지 않은 공간이다. 실사용 가능한 공간을 늘려주기 위해 우클릭을 한 뒤 resize 해준다.


이렇게 되면 공간 할당은 성공.

명령 프롬프트에서 잘 할당되었는지 확인해준다.

/dev/sda3의 사용 가능한 공간이 늘어난 것을 확인할 수 있다.

이제 다시 retdec으로 돌아가서 보면 압축 해제가 가능하다. 7z 라이브러리도 다시 받아주자.

retdec-master/src/retdec-decompiler 해당 경로에 retdec-decompiler.cpp가 있다.

악성코드를 받아 압축을 풀긴 했지만, retdec에서 어떻게 돌리는 지를 모르겠다. 우선은 여기까지 설치 끝.

profile
공부중

0개의 댓글