어쩌다가 발견한 거라 남겨 둠. 다음은 http://reversing.kr 에서 출제한 Easy_CrackMe 파일의 어셈블리 코드 중 일부이다. 1. Ollydbg 2. IDA 먼저 올리디버거 에서는 일반적으로 표시하듯이 ESP + n 형태로 메모리 주소를 가리키고 있는데, IDA 에서는 ESP + 현재 스택 포인터 + var_? 형태로 표시하고 있다. 언뜻 보기에 왜 저렇게 표시했을까 싶은데, IDA 에서 자동으로 스택의 사용을 조사해서 지역 변수를 찾아내는데 용이하게 만든 것이다.IDA의 디스어셈블러 화면 시작 부분을 보면 이렇게 var_? 형태로 특정 값이 설정되어 있는데, 이는 함수 시작 시EBP 의 주소를 기준으로 스택 상에 변수가 위치하는 오프셋 값이다. String, var_63, var_..
IDA 6.8 버전 기준. 들어가기 전에...IDA란? Interactive DisAssembler 의 약자로, 강력한 바이너리 정적 분석 기능을 가진 툴이라 할 수 있다.특히 같이 설치되는 Hexray Decompiler 는 왠만한 ASM 코드를 가상 C언어 Pseudocode로 변환하고, 이를 기반으로 디버깅 할 수 있는 점이 큰 장점으로 꼽히고 있으며, C++, Python을 기반으로 하는 다양한 플러그인을 제작해 사용할 수 있다.이 외에도 찾아보면 다양한 장점이 존재한다. - 셋팅 1. 플러그인 설치먼저, 초기 설치 시 같이 설치되는 IDAPython을 설치하지 않았다면, 과감하게 전체 삭제 후 다시 설치하자.물론 수동으로 나중에 따로 설치해도 되겠지만 이거 은근히 귀찮고 잘 안된다. 플러그인은 ..