NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    C# 비주얼 스튜디오 엔터프라이즈로 프로그램 소스 분석하기.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 마이크로소프트에서는 스타트업을 위한 무료 라이센스를 제공하고 있습니다. 오래전에~ 신청해서 여러가지 제품들을 사용해봤는데요. 지금은 스타트업 지원 서비스 기간이 만료되서 사용하지는 못하고 있습니다. 비주얼 스튜디오 엔터프라이즈 버전은 1Copy당 천만원이 넘기 때문에 개인이 사용할 수 있는 제품은 아니죠^^; 아무튼, 개발 회사를 다니는 경우 제품팀이나 솔루션 사업부에 몇카피는 있을겁니다. 주로 아키텍트가 사용하기 때문에 일반적인 개발자는 죽을때까지 사용해볼일이 없긴 합니다ㅠㅠ; 아래와 같이 비주얼 스튜디오 엔터프라이즈를 설치 해보세요.

    [ Visual Studio Enterprise Download ]

    woZ1qMK.png

     

     

    아키텍쳐 메뉴에 코드 맵을 사용해서 분석하려면 몇가지 추가 설치가 필요합니다. 아래 그림과 같이 비주얼 스튜디오 인스톨러에서 코드맵실시간 종속성 유효성 검사를 설치하세요.

    qywNFG4.png

     

     

    설치가 완료되면 Visual Studio Enterprise를 실행 해보세요. 커뮤니티 버전에는 없던~~~ 아키텍쳐 메뉴가 생긴걸 볼 수 있습니다. 분석할 솔루션을 열고, 아키텍쳐 메뉴의 솔루션용 코드 맵 생성을 클릭하세요.

    nfBewcG.png

     

     

    엔지엠은 아래와 같은 구조를 가지고 있습니다. 생각보다 단순하죠^^;

    k3BRKnj.png

     

     

    수천개의 클래스와 수백만줄의 코드로 이루어진 시스템을 분석하기란 쉽지 않은 작업입니다. 그래서, 코드맵을 보고 추적하면 많은 시간을 절약할 수 있게 됩니다. 아래 그림처럼 OpenProcess를 어디에서 사용하는지 한눈에 파악이 가능합니다. 물론, 소스에서 참조 찾기(Call Reference)나 정의로 이동할 수 있죠. 그러나 시각화된 맵 또는 차트를 따라갈 수 없습니다. 항상~!!! 분석은 시각화가 기본입니다! 음~ 커널 메모리를 조작하는 스텔스 모드도 보이는군요-_-;

    gFLfpbX.png

     

     

    분석하고자 하는 클래스를 참조하는 소스로도 이동이 가능합니다. 화살표를 잘 따라가다보면 실체를 발견하게 되는거죠^^; 아래는 사용자 정보를 담고 있는 핵심 인터페이스입니다. 이 인터페이스를 분석하면 인증이 어떻게 이루어지고 있는지 파악할 수 있게됩니다. 아마도, 크랙하게 된다면 사용자 정보를 위변조하기 보다는 사용자 정보를 체크하는 로그인 페이지를 수정할겁니다. 이게 더 쉽거든요~

    eoDmRt9.png

     

     

    아무튼, 비주얼 스튜디오 엔터프라이즈에서 제공하는 기능을 알아봤는데요. 이 UX를 한번 보면~ 정말 많은 생각이 듭니다. 매크로도 이런식으로 시각화할 수 있다면 정말 좋은 제품이 탄생하지 않을까하고 생각하게 되거든요. 작년에 S사 프로젝트에서 이런 비슷한 UX를 개발했었습니다. 그렇다보니 점점 욕심이 생기는군요~ 하지만, NGM을 개발하고 홍보하면서 느낀건 제품이 좋아도 사람들이 알아주지 않으면 소용없다는 것이었습니다. 마케팅과 포장이 그만큼 중요하다는걸 깨닫게 된거죠.

     

    아키텍트나 분석쪽 업무가 아니라면 개발자들도 이런게 있다는거 조차 모릅니다. 개발자 대부분은 처음보는 기능일거에요ㅎㅎ; 사실 개발자라고 해도 관심조차 없는 사람들이 대부분이기도 하구요. 우리나라 IT 산업 구조상 외주에 하청이 대부분인데다 C#은 설자리를 잃어서 더 그럴겁니다. 요즘은 자바도 웹에 밀렸죠. 그렇다보니 CS위주로 솔루션을 제공하던 우리 회사도~ 제품들을 웹으로 전환하고 있습니다. 대세를 따라야죠^^;

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    profile_image

    쏜프로님의 댓글

    no_profile 쏜프로 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    Professional에서는 지원하지 않는 기능이겠죠?

    profile_image

    엔지엠소프트웨어님의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    네 엔터프라이즈에만 있는 기능들이예요^^