today : 2018_10_13

Reverse Eng2018. 10. 13. 20:57

rev.xlsx


# include <stdio.h>

# include <stdlib.h>

int main(void) {

int* ptrV = (int*)malloc(sizeof(int));

(*ptrV) = 11;


return 0;

}

'Reverse Eng' 카테고리의 다른 글

리버싱 공부 01  (0) 2018.10.10
리버싱  (0) 2018.10.07
리버싱 공부  (0) 2018.01.22
그냥 공부_1  (0) 2017.11.30
Rev_3  (0) 2017.11.20

리버싱 공부 01

Reverse Eng2018. 10. 10. 21:45

stu01.xlsx


'Reverse Eng' 카테고리의 다른 글

today : 2018_10_13  (0) 2018.10.13
리버싱  (0) 2018.10.07
리버싱 공부  (0) 2018.01.22
그냥 공부_1  (0) 2017.11.30
Rev_3  (0) 2017.11.20

리버싱

Reverse Eng2018. 10. 7. 12:32

section_header_성결대.xlsx

리버싱_01_성결대.xlsx


'Reverse Eng' 카테고리의 다른 글

today : 2018_10_13  (0) 2018.10.13
리버싱 공부 01  (0) 2018.10.10
리버싱 공부  (0) 2018.01.22
그냥 공부_1  (0) 2017.11.30
Rev_3  (0) 2017.11.20

리버싱 공부

Reverse Eng2018. 1. 22. 23:48

# include <stdio.h>

int f(int, int);
int main(void) {
 int x = 0x0;
 x = f(10, 20);
 return 0;
} // end of main function
int f(int p1, int p2) {
 int t = 0x0;
 t = p1 + p2;
 return t;
} // end of f function

Sheet1.xlsx

 

 

'Reverse Eng' 카테고리의 다른 글

리버싱 공부 01  (0) 2018.10.10
리버싱  (0) 2018.10.07
그냥 공부_1  (0) 2017.11.30
Rev_3  (0) 2017.11.20
Rev_2  (0) 2017.11.12

그냥 공부_1

Reverse Eng2017. 11. 30. 23:09

 

레지스터 집합
RAX [64bit => 8byte]/ EAX [32bit => 4byte]/ AX [16bit => 2byte]/ AH [8bit => 1byte]/ AL [8bit => 1byte]  
RBX/ EBX/ BX/ BH/ BL
RCX/ ECX/ CX/ CH/ CL
RDX/ EDX/ DX/ DH/ DL
RBP/ EBP/ BP/ BH/ BL
RSP/ ESP


IA-32 레지스터
------------------------------------------------------------------------------------------------------------------------
EAX :: Accumulator :: 누산기
EBX :: Base :: 베이스
ECX :: Counter :: 카운터, 반복을 요구하는 명령의 경우 반복 횟수 지정
EDX :: Data :: 데이터
EBP :: Base Pointer :: 프레임 포인터
ESI :: Source index :: 송신 측 번지 지정
EDI :: Destination index :: 수신 측 번지 지정
ESP :: Stack Pointer :: 스택 top의 번지 지정, 스택 관리

------------------------------------------------------------------------------------------------------------------------

 

EAX 가 실제 누산에 관여하는지 확인해 보았다.

[실제 원본 코드]

# include <stdio.h>

int main(void) {
 int v1 = 0x10;
 int v2 = 0x11;
 int v3 = 0x0;
 v3 = v1 + v2;
 return 0;
}

 

 

 

 

스택 포인터 (stack pointer , RSP(64bit), ESP(32bit))

[1] 스택의 시작을 기저 (Bottom) 또는 베이스(Base) 라고 함

[2] Push(푸시) : 데이터 삽입  :: (데이터를 삽입하기 전에 Is_Full 이라는 함수를 먼저 호출한다. (왜냐하면 스택의 크기는 무한정 크지 않기 때문이다.))

[3] Pop(팝) : 데이터 제거  :: (데이터를 제거하기 전에 Is_Empty 이라는 함수를 먼저 호출한다.)

 

스택의 특징

 [1] LIFO (후입 선출, Last In First Out) // FILO (First In Last Out)

 : 스택 포인터의 감소는 스택 자체가 늘어나는 것을 의미 ( "스택은 거꾸로 자라난다." )

 스택 포인터의 증가는 스택 크기가 감소하는 것을 믜미

(* 32비트인 경우는 4바이트, 64비트의 겨우는 8바이트 단위로 스택 포인터가 증가 또는 감소)

 

 

ebp : 0019FF04

esp : 0019FEB4 : 10 00 00 00 (little endian)

============================================

ebp : 0019FF04

esp : 0019FEB0 : 11 00 00 00

============================================

ebp : 0019FF04

esp : 0019FEAC : 12 00 00 00

============================================

 

ebp : 0019FF04

esp : 0019FEA8 : 13 00 00 00

============================================

ebp : 0019FF04

esp : 0019FEAC

ebx : 00000013

============================================

ebp : 0019FF04

esp : 0019FEB0

ebx : 00000012

============================================

ebp : 0019FF04

esp : 0019FEB4

ebx : 00000011

============================================

ebp : 0019FF04

esp : 0019FEB8

ebx : 00000010

============================================

'Reverse Eng' 카테고리의 다른 글

리버싱  (0) 2018.10.07
리버싱 공부  (0) 2018.01.22
Rev_3  (0) 2017.11.20
Rev_2  (0) 2017.11.12
Rev_1  (0) 2017.10.06

Rev_3

Reverse Eng2017. 11. 20. 15:58

REV.xlsx


'Reverse Eng' 카테고리의 다른 글

리버싱  (0) 2018.10.07
리버싱 공부  (0) 2018.01.22
그냥 공부_1  (0) 2017.11.30
Rev_2  (0) 2017.11.12
Rev_1  (0) 2017.10.06

Rev_2

Reverse Eng2017. 11. 12. 14:38

Rev_stu1.xlsx

# include <stdio.h>

int f(int param1, int param2);

int main(void) {

int v1 = 10;

int v2 = 11;

int result = 0;

result = f(v1, v2);

return 0;

}

int f(int param1, int param2) {

int tmpSum = 0;

tmpSum = param1 + param2;

return tmpSum;

}

'Reverse Eng' 카테고리의 다른 글

리버싱  (0) 2018.10.07
리버싱 공부  (0) 2018.01.22
그냥 공부_1  (0) 2017.11.30
Rev_3  (0) 2017.11.20
Rev_1  (0) 2017.10.06

Rev_1

Reverse Eng2017. 10. 6. 17:47

공부.xlsx

리버싱 공부

'Reverse Eng' 카테고리의 다른 글

리버싱  (0) 2018.10.07
리버싱 공부  (0) 2018.01.22
그냥 공부_1  (0) 2017.11.30
Rev_3  (0) 2017.11.20
Rev_2  (0) 2017.11.12