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 :스택에 가장 상위에 있는 값을 꺼내애서 eax에 저장한다. 주의점 : Pu..
C 프로그래머가 알아야 할 것들 - Chapter 7 어셈블리 김성훈 (sunghun84@nate.com) (1) 어셈블리 언어 C언어는 다른 언어들 보다 어셈블리에 근접한 언어입니다. 인라인 어셈블리가 가능한 데다가, 메모리를 직접 다루는 것이 가능하며, C언어는 어셈블리어와 1:1대응까진 아니지만 대응 되는 언어이기 때문입니다. C언어로 작성한 코드는 컴파일러를 통해서 어셈블리어와 대응되는 오브젝트 파일로 반드시 변환이 되어야 해당 코드가 실행 될 수 있습니다. 어셈블리 언어는 그 코드가 어떤 일을 할지를 추상적이 아니라, 직접적으로 보여줍니다. 논리상의 오류나, 수행 속도, 수행 과정에 대해 명확히 해준다는 점에서 직관적인 언어입니다. 어셈블리 언어를 사용하면 메모리에 대한 이해도도 높아집니다. 우..
- Total
- Today
- Yesterday
- 게임개발포에버
- Ruby on Rails
- ftp
- 멀티스레드
- ruby
- SQLite Spy
- 조엘 온 소프트웨어
- Rails
- 루비 온 레일즈
- 루비
- EzShortcut
- NDC2013
- MS-SQL
- 바로가기 프로그램
- 디자인 패턴
- svn
- 엘키
- TraceRoute
- 리버스 엔지니어링
- TDD
- 임백준
- 디버깅
- 좋은 프로그래머
- perfmon
- 게임데브포에버
- c언어
- EasyExec
- SDL
- RoR
- CppSQLite
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |