1580, 73/79 회원가입  로그인  
   sysopp2002
   버퍼오버플로우 배우기 2

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1966 [복사]


이제 스택의 구조를 살펴볼 차례입니다.

하지만 리눅스의 기본적인 명령어들을 모르실 분들을 위해 간략하게 필요한 명령어를 알려드리겠습니다.

pwd :현재의 디렉토리 출력
ls :해당 폴더에 파일 정보 출력
cd :폴더 이동
cp : 복사
gcc :컴파일러
gdb :디버거
find :파일 검색


뭐 이정도만 알고 계시면 배우는데에는 무리없습니다.

자 이제 슬슬 스택의 구조나 알아봐야하는데 어셈블리가 먼저군요

어셈블리는 간략하게 설명드리며 궁금하신게 있으시면 다른 분들의 강좌를 보시기 바랍니다.

기본적으로 어셈블리어는 이런형식으로 되어있습니다.
[라벨]  [오퍼랜드 1] [오퍼랜드 2]
값의 방향     <-

물론 위에건 인텔 문법에 한정되어있느거지만 요즘은 다들 인텔 문법을 쓰니 이 강좌도 인텔 문법을 기준으로 하겠습니다.

우선 기초인 레지스터를 살펴보죠

우리가 쓸 레지스터는 기본적으로 ax,bx,cx,dx,esp,ebp 이  6가지 입니다.
이 6가지만 잘 알면 스택의 구조 알기에는 충분합니다.

eAX: 곱셉,나눗셈 계산등에 사용되며 함수의 리턴값을 저장
ebx: 메모리 주소지정
ecx:반복문의 사용
edx: 부호 확장 명령
esp: 스택 포인터라 하며   이게 스택의 구조 배울떄 중요
ebp: 스택은 항상 변하기 떄문에 변수의 기준주소를 위한 레지스터 즉 ESP를 보조해준다.

이 6가지  개념을 익히는게 중요합니다.  
그리고 나중에 중요한레지스터들은 따로 보충설명을 해드릴겁니다.

이제 명령어들을 살펴보죠.


MOV : 값을 옮긴다
예: MOV %EAX, %EBX
이 명령을 해석해보면 EBX값을 EAX에 옮긴다는걸 알수 있습니다.

push : 스택에 값을 푸시한다.
예: push %EAX
이 명령은 EAX 레지스터에 들은 값을 스택에 푸시한다는 뜻입니다.

pop : 스택에 들어있는 값을 해당 레지스터에 옮긴다.
예: pop %eax
스택에서 팝을해서 eax에 저장합니다

sub : 값을 뺀다
예 : sub %eax, 40
eax 레지스터에서 40을 뺀다.

ADD : 값을 더한다
예: add %eax, 50
eax에 50을 더한다.

lea :기본적인 명령은 MOV와 똑같지만 차이점이 있다
예: lea %eax, %ebx
eax에 ebx 값을 옮긴다.


우선 이정도만 설명하면 될듯 싶군요.

이 명령을 다 외우실 필요는 없고 천천히 배우다 보면 이제 어떤게 어떤 명령을 수행하는지 아실수 있습니다.

어쩌다보니 스택의 구조는 다음 강좌에 알아봐야 될것같네요.

  Hit : 6584     Date : 2012/02/21 08:32



    
smartbloger 감사합니당 2012/06/16  
140   버퍼 오버 플로우에 관해서(속칭 BOF)[1]     사월
09/11 8804
139   버퍼 오버플로우란?[3]     qkreoghks00
11/10 11309
138   버퍼오버플로우 by 오하라[3]     소유
07/07 15013
137   버퍼오버플로우 자료입니다.[2]     oldlove7
12/04 8142
136   버퍼오버플로우 배우기 1      sysopp2002
02/21 7023
  버퍼오버플로우 배우기 2[1]     sysopp2002
02/21 6583
134   무료 정보보안 기술인재 양성 과정 교육생 모집     chanjung111
06/17 4121
133   문자의 종류     smartbloger
06/16 6007
132   밑에 제가 올린 API 소스에 대해서.........     승리의박성환
10/02 8450
131   밑에 버퍼오버플로우 왕기초 찾으신다는분[1]     치킨발랄
03/13 8915
130   브로드캐스트에대한 정보하나 알려드립니다.[2]     zzangon7
08/01 8254
129   부탁드려요[1]     rabbitlycat
05/08 5757
128   블랙햇 리버싱 강좌[2]     gnsehfvlr
05/08 8649
127   부산에서 같이 공부 할 분 있어요?ㅋㅋ[4]     연산동고래
01/16 8072
126   비쥬얼 c++담당 pica4500입니다.[3]     pica4500
07/25 6917
125   비주얼 베이직 용어설명..;;[4]     H.R.T
12/15 9615
124   빌게이츠에 대해서[2]     asdzxc301
12/13 9156
123   보안 허술한 웹공격 1차[6]     rootguy
12/04 9479
122   보안에서의 net use     craft
01/06 6508
121   사이트 제작 기획에 대해서[6]     eyes..
05/25 6790
[1]..[71][72] 73 [74][75][76][77][78][79]

Copyright 1999-2023 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com