OllyDbg (4) 썸네일형 리스트형 Reversing Theory- little endian 악성코드를 분석할 때, 소스코드를 모르는 상태에서 분석해야하는 것이 대부분입니다. 리버싱 또한, 소스와 결과물 없이 분석을 해야합니다. 앞으로 우리는 디셈블 코드를 주로 보게 될겁니다. 그런데 이 디셈블 코드도 없이! 오직 헥사코드로만 분석을 해야하는 경우가 있습니다. 바이트 오더링: 컴퓨터에서 메모리에 데이터를 저장하는 방식입니다. 두가지의 방법이 있는데, Big Endian과 Little Endian이 있습니다. Big Endian- 순서대로 표기 Little Endian- 역순으로 표기 여기서 우리가 주목해야할 방법은 Little Endian 이 되겠습니다. 리틀에디언 방식은 윈도우계열에서 사용이 되기때문에 알아두어야겠죠? 우선 예제 코드를 보겠습니다. #include "windows.h" BYTE.. Reversing Basic- helloworld.exe *ollydbg 2.0, 윈도우 10에서 진행하고 있습니다. 앞에서 작성한 helloworld 코드를 다시 보겠습니다. #include "windows.h" #include "tchar.h" int _tmain(int argc, TCHAR* argv[]) { MessageBox(NULL, L"Hello World!", L"www.reversecore.com", MB_OK); return 0; } 저희가 작성한 메인은 아주 짧은데요. 이 메인함수를 찾아보겠습니다. 첫번째 방법은 F8(step over)를 이용하는 것입니다. 계속 누르다보면 창이 하나 뜨게됩니다. visual studio에서 창이 뜨도록 코딩을 해놓았기 때문이죠! 여기서 주목해야할 점은 CALL 00401000 이 호출되고, main함수로 .. Reversing Basic- ollydbg 기본 명령어 올리디버거를 사용하기전에, 왜 사용하는지! 디버깅이 무엇인가요? 우리가 기본적으로 작성한 소스코드(cpp)를 컴파일하면 exe파일로 나타나게 됩니다. 그렇게 되면, 당연히 제작자는 exe파일이 어떻게 동작하는지 압니다. 소스코드를 직접 작성했으니까요. 앞에서 helloworld를 작성한 것은 아주 간단하게 메시지 창을 띄워주는 프로그램이었습니다. 만약에 소스코드 없이, exe파일만 가지고 있다면 이게 어떤 파일인지 알 수 없겠죠? 우리의 코드는 창을 띄워주어서 실행한다면 알 수 있지만, 보여지는 것 없이 뒤에서 작업이 되는 파일이라면 알 수가 없겠죠. 그래서 디버깅 툴을 사용하는 것입니다. 어셈블리 언어로 번역해서 보여주는 것이죠! 그래서 우리가 사용할 디버거는 올리디버거입니다. 제일 많이 쓰고, 무료니.. Reversing Basic- ollydbg install+ setting 리버싱을 하기위해 우선 필요한 프로그램들을 먼저 말씀드리겠습니다. 1. visual studio - 코딩을 해야하니까요. - 비주얼 스튜디오에 대한 것은 리버싱을 하려고 하시는 분이라면 다들 기본적으로 설치되었을거라고 생각합니다. - 코딩 하시는 분들이라면 이미 다 설치되어있겠죠..? 설명 생략하겠습니다! 2. ollydbg - 실제 분석을 위해 올리디버거가 필요합니다. - 올리디버거는 1.1 버전(32bit) ,2.0버전(64bit). - 아래 설명은 1.1 버전을 64bit에서 사용하기위한 세팅입니다. 3. helloworld.exe - 샘플용으로 작성할 파일입니다. http://www.ollydbg.de/ 에서 파일을 받아 설정을 하겠습니다. 1. 우선 64bit에서 사용하기 위해 한가지를 설치해주.. 이전 1 다음