정보보안/Lena's Reversing Tutorial

Lena's Reversing Tutorial 1

b1ackhand 2019. 1. 3. 15:03



2019.01.03.


책사서 리버싱 공부중에 abexcrackme시리즈랑 lena강의 다 봐보는걸 추천한다고 해서 해보기로 했습니다.


먼저 lena강의 주소

https://tuts4you.com/e107_plugins/download/download.php?list.17

ollydbg 공식사이트

http://www.ollydbg.de/




ollydbg를 이용하여 lena 튜토리얼에 있던 reverseme를 열어보았다.



실행을 하니 다음과 같은 창이 뜬다.


1) virtual address 가상 주소


2) OP code


3) 어셈블리어


4) comment


5) 레지스터 - 데이터를 저장할수있는 특별한 장소 hexademical system


intel CPU의 경우 9개의 범용 레지스터를 갖는다.


EAX= Extended Accumulator Register

EBX= Extended Base Register

ECX= Extended Counter Register

EDX= Extended Data Register

ESI= Extended Source Index

EDI= Extended Destination Index

EBP= Extended Base Pointer

ESP= Extended Stack Pointer

EIP= Extended Instruction Pointer


자세한역할은 쓰면서 알아보자


32비트 레지스트는 8비트 단위로 나눠서 쓸수 있다


32bit     16bit    8bit


EAX        AX       AH/AL

EBX        BX       BH/BL

ECX        CX      CH/CL

EDX        DX      DH/DL

ESI          SI

EDI         DI

EBP        BP

ESP        SP

EIP         IP


32bit 컴퓨터일 경우 0-FFFFFF까지 메모리를 쓸수 있다.


6) 스택 => 메모리의 종류로 LIFO구조(처음들어간것이 나중에 나간다)




다음은 실행 화면


단축키및 사용법

F9) RUN

F8) Step Over

F7) Step In

Ctrl+F2) Restart

F2) BreakPoint


2번째 줄에서 step in을 하여 함수안으로 들어가면 위의 사진으로 온다.



<어셈블리어>


PUSH: Stack에 입력한다

CALL: 뒤에 온것을 호출한다.

MOV: 뒤에값을 이동시킨다.


자세한것은 검색을 통해 알아보자




밑줄친 부분 두줄 위에 KERNEL32.CreateFileA를 검색해보았다.


comment 부분을 읽어보면 keyfile.dat를 찾는중이라고 한다.



JNE => Jump if not 0

ZFlag가 0이 아니면 건너뛴다

레지스터에서 Z를 두번클릭해 0을 만들어 건너뛰게 해줬다.





밑으로 내리다 보니 You really did it이라는 말과 함께 축하한다고 한다.

프로그램을 실행했을때 JNE JMP등을 통해서 이 지점까지 와야된다고 하는것이다.



실행결과



어셈블리어에 Space를 누르면 수정 가능 하다


위 사진처럼 JMP경로를 만들어주거나 실패했다는 메세지로 보내는 길을 NOP처리 시킨다.




수정한 코드는 위 사진처럼 새로 저장할 수 있다.



고찰:

리버싱을 시작하기 위해 ollydbg의 기본사용법과 레지스터에 관한 기초 지식을 익힐수 있었다.



















'정보보안 > Lena's Reversing Tutorial' 카테고리의 다른 글

Lena's Reversing Tutorial 6  (0) 2022.09.12
Lena's Reversing Tutorial 5  (0) 2022.08.16
Lena's Reversing Tutorial 4  (0) 2022.08.15
Lena's Reversing Tutorial 3  (0) 2019.01.07
Lena's Reversing Tutorial 2  (0) 2019.01.04