반응형

register 3

Assembly 04. 변수 Swap 프로그램

1.레지스터를 이용한 Swap 프로그램 2.Stack을 이용한 Swap 프로그램 CHAR1 = 'a' 라는 변수와 CHAR2 = 'b' 라는 변수를 생성하고, CHAR1,CHAR2를 차례대로 실행하는 OUTPUT 프로시저를 만들었습니다. 1.레지스터를 이용한 Swap 프로그램 PAGE 60,132 TITLE A04ASM2 (EXE) MOVE AND ADD OPERATION ; ------------------------------------------------------------------------- .MODEL SMALL .STACK 64 .DATA ;DEFINE DATA CHAR1 DW 'a' ;변수 1 CHAR2 DW 'b' ;변수 2 ; ------------------------------..

Linux :: 디버거 GDB 디버깅 테크닉

/* * http://sosal.tistory.com/ * made by so_Sal */ 1. 디버깅 정보를 담아 컴파일 하기 2. gdb 실행하기, 프로그램 디버깅 시작하기, gdb 종료하기 3. 프로그램의 c언어 소스 보기 (디버깅 정보 포함) 4. 프로그램의 어셈블리 코드 보기 5. break 포인트. 디버깅 실행과 진행 명령어 6. 변수, 포인터 값 보기, 출력 형식 지정,함수 리턴값 지정 등 value 값 모니터링 하기 7. 변수값 바꾸기 8. 레지스터 값 보기 9. 메모리가 가지는 값 확인하기 10. 디버깅중인 프로세스에 시그널 보내기 gdb :: GNU Debugger GDB는 컴퓨터 프로그램을 실행하여, 사용자에게 실행 과정을 추적하고, 중간에 임의로 수정, 심볼(함수,변수)들을 모니터링..

Linux/Linux_technic 2010.01.31

BOF - 01.buffer over flow? 메모리 구조, 레지스터

/* * http://sosal.tistory.com/ * made by so_Sal */ :: 버퍼 오버플로우 :: 어떤 메모리 공간에 사용자가 데이타를 입력할 수 있는 기회가 생겼을 때, 시스템이 원하는 메모리 공간 이상의 코드를 대입하여 ret라는 녀석을 조절하여 시스템에게 사용자가 원하는 행동을 하도록 합니다. 이게 무슨뜻이냐면.. 천천히 내려갑시다. 아래는 시스템 메모리 구조를 나타낸다. 환경변수, 프로그램 인자값중 문자열 환경변수, Argv 포인터 인자값의 수 스택 영역. heap 영역. 초기화 되지 않은 변수 초기화 된 변수 읽을 수 있는 부분이 있으나, 변조될 경우 Segfault 발생 인텔 80x86 CPU 레지스터 - 범용 레지스터 - AX - Accumulator :: 산술연산 BX ..

반응형