본문 바로가기

My Study/Reversing

GODUP플러그인

Tuts 4 You사이트를 돌아다니던중.. 분석할 때 이런건 알고있으면 좋겠다라고 생각한게 있어서 글을 써봅니다.
GODUP플러그인은 올디 플러그인입니다.



먼저 위 화면은 플러그인이 어떻게 생겨먹은지를 보여준것입니다.

여러 기능이 있지만 분석 프로그램의 map파일을 로드시키는 기능을 보시겠습니다.
다행이 map파일에 대한 지식이 있어서 이런 플러그인을 발견했을 수도 있겠군요. ;;

map 파일 이라는 것은 저번에 제 블로그에도 글을 올린적이 있습니다.

그러면 이러한 map파일을 올디 분석시에 로딩시켜 분석을 하게되면 훨씬 편하게 분석을 할 수 있습니다.
당연히.. map파일도 중요하지만 심볼(pdb)파일이나 소스코드가 있다면 굳이 map파일까진 필요없을 것 같습니다.
여기선 pdb파일도 없고 소스코드도 없다는 가정하에 해보겠습니다.

먼저 프로그램 하나를 만들어보겠습니다.

소스코드는 너무나 간단합니다. 이제 해당 파일을 올디로 열어보겠습니다.
(pdb,소스코드,map 전부 없는 상태)


디버그 모드로 컴파일했습니다. 보시면 study프로세스에 대해서는 아무런 정보가 없습니다.
그냥 단순히 주소만 나와있습니다.
그리고 여기서 main함수를 찾아가기 위해서는 .. 
exit함수 위쪽을 찾아가 거기에 브포를 걸고 들어가야하는 조금은 불편한 점이 있습니다. 

이제 map파일을 로드시켜보겠습니다.

이렇게 생긴게 map파일 입니다.


map파일을 로드시킨 상태입니다. 좌측하단을 보시면 Map loading finished - 100.0%라고 나옵니다.
제대로 로딩이 된 듯하구요. 이제 코드를 보시면 ! 뭔가 달라진점이 있을 것입니다. 딱 보니 map파일 형식대로 보입니다.

그리고 빨간색 네모친 부분을 보시면 main함수의 위치도 바로 나오는군요.

이제 main함수 내부로 들어가보겠습니다.
우리가 원하는 최종 목표는 Multi라는 함수명도 제대로 나오느냐입니다.

빨간색 네모친 부분이 Multi라는 부분입니다. 하지만.. 함수명은 안나오는군요. 사실 Debug모드로 컴파일을 해놔서 
전부 JMP로 연결이 되어있습니다. 그래서 제대로 안나오는거 같군요. 아무튼 F7을 눌러서 들어가보겠습니다.

Multi라는 함수명이 보입니다.

이렇게 map파일이 있으면 로드를 시켜서 분석을 하면 훨씬 편하고 빠르게 분석하실 수 있습니다.

그리고 map파일이 없는 경우 IDA에서 map파일을 만들수 있습니다. 비록 IDA도 해당 프로세스의 함수명이나 이런건 모르겠지만 IDA의 디스어셈블링 능력을 조금이나마 빌려와 올디에서 분석할 수 있다는 것입니다.


위와 같이 만들어 주면 됩니다. 그러면 map파일이 생성될탠데 올디로 분석할 때 해당 map파일을 로드시켜주면 됩니다.