분류 전체보기

    2013.09.26_ASM_어셈블리 영역 출력하기(수정중~30)

    보호되어 있는 글입니다.

    2013.09.25_ HexaView 응용해서 스택구조확인

    0925_MEMtoCPU.c Source #include typedef struct _Context { int efl; int eip; int edi; int esi; int ebp; int esp; int ebx; int edx; int ecx; int eax; }CONTEXT; void HexaView(unsigned char *, unsigned int); void PrintReg(CONTEXT *); void STST(CONTEXT *); void LDST(CONTEXT *); //int ASKY(); // 반환값 받기 unsigned char MD(void *); // Momory Display Function By Assembly void MM(void *, char); // Momory Mo..

    2013.09.24_Assambly 메모리에 레지->CPU 에 다시 넣어서 무한 반복 하는 소스

    0924_MEMtoCPU.c#include typedef struct _Context { int efl; int eip; int edi; int esi; int ebp; int esp; int ebx; int edx; int ecx; int eax; }CONTEXT; void PrintReg(CONTEXT *); void STST(CONTEXT *); void LDST(CONTEXT *); int main() { CONTEXT stpReg = {0,}; PrintReg(&stpReg); STST(&stpReg); PrintReg(&stpReg); getchar(); LDST(&stpReg); // STST로 가게해줌. while 문 역할 // 메모리안에 있는 정보를 CPU 로 옮겨준다. printf("K..

    2013.09.24_ 명령어 실행 소스

    Source ▶ 구조체 안에 문자열 커맨드와 함수포인터를 넣음ex) 하이퍼터미널에서 LED ON 이라고 입력하면 LED 가 켜지고 LED OFF 라고 입력하면 LED가 꺼짐 ▶ 문자열 비교 함수를 직접 만듬구조체 배열 전역변수 안에있는 값과 직접 키보드로 적은 값을 비교하는 함수 문자열이 같을때 반환값으로 0 을 돌려주고 같지 않으면 0 이 아닌 값을 돌려줌값이 같으면 계속 +1 씩 늘어나고 , 값이 모두 같으면 뺄셈을 해주어 값을 0 이 돌려받게끔 하였다. ▶ 벡터25 ( 인터럽트 처리 벡터 번호 : USART 핸들러 )문자열을 ucBuff 에 저장해놓고, Enter 를 눌렀을 시에 if 문으로 \n 을 NULL로 변환후 CMD() 함수에 인자로 넣어줌 ▶ 추가로 ADC 를 입력하면 그때의 밝기값을 하..

    2013.09.23_어셈블리_ 메모리에 변수값직접넣기

    ▶ SMART 함수가 LINUX 함수를 호출하고, LINUX 함수에 변수값 직접넣기 디버깅 수행 ▶ EFL 의 주소 확인 ▶ 특이한점은 Debug 시에 Trap Flag 로 인해서 : 346이 떠서 AND 를 이용해서 임의로 EFL 의 주소를 제대로 찍어줌 ▶ 나머지는 주석을 순서대로 확인! ----------- 소스 ------------ ----------------------------

    2013.09.12_ASM_Disassambly로 분석해보기

    Entry Code , Exit Code ▶ 함수가 시작하고 끝날때 항상 붙음. ▶ Entry Code , Exit Code 를 다른 명령어로도 표현 할 수 있다. __cdecl 과 __stdcll 호출 규약의 차이점 ▶ __cdecl 규약 호출을 해서 인자가 스택영역에 쌓이는 순서는 오른쪽에서 왼쪽으로 쌓인다. 호출을 한 장소 ( 여기서는 main ) 에서 값을 꺼낸다. 스택 반환 작업을 호출자쪽에서 ( ebp = ebp + 8 ) 한다. ▶ __stdcall 규약 호출을 해서 인자가 스택영역에 쌓이는 순서는 오른쪽에서 왼쪽으로 쌓인다. 스택 반환 작업을 호출당한 쪽(피호출자)에서 ( ebp = ebp + 8 ) 한다. ▶ 둘의 차이점__cdecl과 __stdcall의 가장 큰 차이점은 스택 정리 주체..