3 Aug
2010
Posted in: 코드
By    4 Comments

AsmView, x86 심플 디스어셈블러


AsmView, x86 심플 디스어셈블러
by 신영진(YoungJin Shin), codewiz at gmail.com, @codemaru, http://www.jiniya.net

직업 특성상 어셈 코드 볼 일이 많습니다. 직접 실행 파일을 분석하는 경우도 있지만 알 수 없는 곳에서 긁혀온 바이트 코드들을 분석하기도 하는데요. 매번 그런 걸 분석할 때마다 수동으로 하다가 불편해서 하나 만들어 봤습니다. 헥사 코드를 넣으면 디스어셈블된 코드를 보여주는 유틸리티입니다.

16, 32, 64비트 코드로 디스어셈블을 해서 보실 수 있구요. 시작 주소와 코드를 넣고 디스어셈블 버튼을 누르시면 됩니다. Config에서 글꼴을 설정하시면 좀 더 이쁘게 결과를 보실 수 있어요. 입력되는 헥사 코드 형태는 0xaa, aa, aah와 같은 형태를 인식합니다. 구분은 콤마, 스페이스 등으로 하시면 됩니다. 물론 붙여서 하거나 헥사 값으로 인식되지 않는 다른 문자들로 구분을 하셔도 됩니당.

사용해 보시고 싶으신 분들은 여기서 다운로드 받으시면 됩니다. 즐디어셈하세욤~

Browser does not supports flash movie

  • 트랙백 주소: http://www.jiniya.net/wp/archives/2706/trackback

관련 글

  • http://smartsnake.tistory.com smartsnake

    안녕하세요… 프로그래밍을 공부하는 학생입니다.. 그런데 이번에 저런 프로그램을
    구현해볼려고하는데여
    어떻게 해야될지 막막하네여;;
    죄송하지만 전체소스가 아니더라도.. 일부분이라도 좀 공유해주실수 있으실까 해서
    이렇게 여쭈어보네요

  • codewiz

    smartsnake // 핵심은 바이트 코드를 디스어셈블링 하는 건데요. 디스어셈블러 엔진을 직접 제작하고 싶으신 거라면 인텔 매뉴얼을 다운로드 받으셔서서 Instruction manual의 앞쪽과 뒤쪽을 보시면 도움이 됩니다. 핵심은 instruction manual 2권 마지막에 있는 명령어 테이블인데요. 보시면 어떻게 만들어야 할지 감이 오실 거예욥.

    디스어셈블러 엔진을 직접 만들고 싶으신게 아니라면 그냥 만들어진 디스어셈블러 엔진을 다운받아서 거기다 바이트 코드를 넣으시면 해석을해서 리턴해 준답니다. 이 경우에는 껍데기만 만드시면 됩니다. 엔진은 구글에서 disassembler engine으로 검색해 보시면 좋은 무료 엔진이 많이 있습니다.

  • 지나가던곰

    다운 받습니다.
    유용하겠습니다. 정말 감사합니다.

  • codewiz

    지나가던곰 // 넵. 쓰시다 불편하신 점 있으심 언제든지 말씀해 주세욥. ㅋ~