티스토리 뷰

reversing.kr 문제를 풀면서 ELF에 대해 공부한 것을 정리 해 보겠습니다.

IDA_Remote_Debugging을 하기위해서는 먼저 해야할 작업이 디버깅을 당할 컴퓨터에서 포트를 열어주어야 합니다. ELF를 분석하려고 하는 것이기 때문에 디버깅을 당하는 컴퓨터는 리눅스 환경이 되겠죠?

HOST PC에서 IDA가 깔려있는 곳(C:\Program Files\IDA)에 가서 linux_server가 있는 곳으로 갑니다.

위에 보시다시피 64가 붙은 것은 64비트 환경이고 32비트는 안 붙어 있습니다. 저 같은 경우는 리눅스 환경이 64비트였는데, ELF 헤더가 32bit라서 linux_server로 진행하겠습니다. 밑의 win32_remote는 윈도우와 윈도우 환경을 진행할 때 필요하므로 패스하겠습니다.

linux_server 파일을 리눅스로 옮기겠습니다. 참고로 제 리눅스 환경은 칼리리눅스 32bit로 진행하였습니다.

리눅스 환경에서 한 폴더에 분석할 파일과 linux_server을 같이 놓는게 편합니다.

아까 위에서 설명드린 것처럼 리눅스에서 포트를 열어주어야 합니다. linux_server을 실행해주시고 옆의 인자 P123은

P가 패스워드이고 123이 지정해준 패스워드입니다. 붙여서 P123 입력하면 IDA에서 패스워드 입력하는 공간에 넣어주시면 됩니다.

리눅스에서의 설정은 끝이 났습니다. 분석하려는 파일과 linux_server 파일만 잘 챙겨주세요.

이제 호스트 PC(저는 WIN7)로 돌아와서 IDA에 분석하려는 파일을 불러들온 후에 F9를 눌러 줍니다. 누름과 동시에 

어떤 debugger를 사용할 것인지 물어보네요. 리눅스 파일 ELF을 분석하기 때문에 Remote Linux debugger를 체크합니다.

오류창이 뜨는데 YES를 누릅니다.


YES를 누르면 원격지 linux의 정보와 분석 파일의 위치를 입력하라고 나옵니다. 

리눅스 환경에서 위의 사진과 같이 pwd를 눌러서 실행경로를 붙여 주시면 되고, Hostname은 리눅스의 아이피를 가져와서 입력해 주시면 됩니다. Port는 위의 사진에서 23946 포트를 열어 주었기 때문에 자동으로 23946포트로 연결됩니다. 

Password는 아까 P123 이라고 해주었죠? 123으로 해줍니다. 간단하죠 ?

OK를 누르고 분석하고 싶은 곳에 BP(F2)를 걸어서 실행을 누릅니다.

디버깅 준비가 끝났네요~~ 이 것을 응용해서 리버싱 문제중에 ELF 문제를 풀어봐야겠네요.



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

[Cheat Engine] 사용법  (6) 2015.08.11
[ASPACK Unpacking]MUP  (1) 2015.07.29
.NET Reflector에 reflexil 추가 하기  (0) 2015.07.03
.net 프로그램 리버싱툴  (0) 2015.07.02
reversing jump 명령어  (0) 2015.07.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함