- Today
- Total
목록리버스 엔지니어링 (3)
내 머릿속 데이터베이스
요새 리버스엔지니어링 까페도 가입하고 인터넷에서 자료도 찾고 공부 예제도 찾아서 공부하는데.. 너무어렵다 ㅠㅠ
요즘 이상하리만큼 많은 사람들이 리버스엔지니어링 에 관심을 보인다. 리버싱이란 리버스 엔지니어링의 준말로 우리말로는 역공학 정도가 된다. 남이 만든 것을 역으로 분석하는 것이라고 생각하면 된다. 소스 코드를 컴파일하면 컴퓨터가 이해하는 바이너리 코드가 생성된다. 우리는 이러한 작업을 하는 사람들을 개발자라 부른다. 리버싱은 이렇게 생성된 바이너리 코드로부터 소스 코드를 유출해내는 기술을 말한다. 이런 작업을 하는 사람들을 우리는 리버스엔지니어링 라 부른다. 이렇게 관심을 끌고 있는 기술인 만큼 주변에서 리버스엔지니어링 을 공부하는 사람을 찾는 것은 어렵지 않다. 하지만 공부를 하는 사람에 비해서 리버싱을 배웠다고 느끼는 사람은 적다. 그들이 실패하는 이유는 잘못된 학습 방식에 기인한 경우가 많다. 보통의..
자료 출처 : http://cafe.daum.net/TerranGirL The Base knowledge of Reverse Engineering. 이번글에서는 RE를 하는데에 있어서의 기초 지식인 어셈블리어,논리연산,레지스터에 대해 간단하게 다룹니다. 1.어셈블리어 Push : sp 레지스터를 조작하는 명령어중의 하나이다. 스택에 데이터를 저장하는데 쓰인다. ex:) Push eax : 스택에 Eax의 값을 스택에 저장한다. ex:) Push 20 :즉석값인 20을 스택에 저장한다. ex:) Push 401F47 : 메모리 오프셋 401F47의 값을 스택에 저장한다. Pop : 이또한 sp 레지스터를 조작하는 명령어중 하나이다. 스택에서 데이터를 꺼내는데 쓰인다. ex:) Pop eax :스택에 가장 ..