IDA로 64비트 시스템 파일 디스어셈블시 주의사항 :: 2007/12/09 14:20


64비트 윈도우의 경우에는 32비트 시스템 DLL과 64비트 시스템 DLL을 모두 가지고 있습니다. 64비트 DLL들은 System32 폴더에 들어있고, 32비트 DLL들은 SysWOW64 폴더에 들어 있습니다. 64비트용 kernel32.dll 파일을 디스어셈블링 하려고 한다면 아마 대부분 다음과 같이 할 겁니다.

1. 64비트용 IDA를 실행한다.
2. System32에 있는 kernel32.dll을 연다.
3. 분석된 내용을 살펴본다.

하지만 위와 같이 하면 백날해도 64비트 버전의 kernel32.dll은 볼 수 없습니다. 왜냐하면 64비트 윈도우의 경우 기본적으로 32비트 프로세스에게는 System32 폴더를 SysWOW64로 맵핑시켜 두기 때문입니다. 즉, System32에 있는 kernel32.dll을 열지만 실제로는 SysWOW64에 있는 kernel32.dll이 열리는 겁니다. 64비트용 IDA도 프로그램 자체는 32비트이기 때문이죠. 따라서 64비트 시스템 DLL을 디스어셈블링 하기 위해서는 다음과 같이 해야 합니다.

1. System32에 있는 kernel32.dll을 다른 폴더로 복사한다.
2. 64비트용 IDA를 연다.
3. 복사한 파일을 연다.
4. 분석된 내용을 살펴본다.

olly, immunity 모두 64비트 디버깅은 지원하지 않더군요. 아직 64비트 디버깅 환경은 불모지대인 것 같습니다. 물론 windbg가 있긴 하지만 손에 안익어서 그런지 영 적응이 안되는군요.

스폰서
글타래

  • 2주간 인기 글
  • 2주간 인기글이 없습니다.
Trackback Address :: http://jiniya.net/tt/trackback/673
  • Gravatar Image.
    window31 | 2007/12/10 21:01 | PERMALINK | EDIT/DEL | REPLY

    아직 바이러스나 해킹툴이 64비트용으로 개발되고 있지 않아서 올리나 이뮤니티도 64비트는
    냅두고 있는게 아닌가 하는 생각이 들어요 ^^
    어쨌든 말씀하신대로 강력한 windbg가 64비트용으로 있으니 그걸쓰면 되겠네요 ㅋㅋ
    재미있는글 감사합니다. 덕분에 좋은 아이디어가 하나 생각나서 이번주안에 구현해볼 예정입니다 :)


    • Gravatar Image.
      codewiz | 2007/12/20 22:47 | PERMALINK | EDIT/DEL

      64비트가 대세가 되려면 좀 더 기다려야할 것 같가요.
      어떤 아이디언지 궁금한데요 ㅋㅋ

Name
Password
Homepage
Secret
< PREV | 1| ... 79|80|81|82|83|84|85|86|87| ... 604| NEXT >