Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- ncurses
- mvwin
- NAPT
- .nret core 배포
- epoll
- C언어
- rfc5508
- iptables
- architecture
- vtable
- DOCKER-USER
- doupdate
- 어셈블리어
- level trigger
- 풀이
- wnourefresh
- edge trigger
- 취약점
- Docker
- REDIS
- .net core 7
- ioctl
- epoll_wait
- cbpf
- wrefresh
- packet flow
- Compiler
- BOF
- packet filter
- LOB
Archives
- Today
- Total
Tuuna Computer Science
배열 포인터 본문
@pointer1_00401500: ;<= Procedure Start
PUSH EBP
MOV EBP,ESP
AND ESP,0FFFFFFF0h
SUB ESP,030h
CALL @pointer1_00401EB0 ;<= Jump/Call Address Not Resolved
MOV BYTE PTR SS:[ESP+02Fh],0Ah
MOV BYTE PTR SS:[ESP+02Eh],014h
MOV DWORD PTR SS:[ESP+018h],1 ;1,2,3,4를 차례대로 생성한 공간에 값을 넣는다.
MOV DWORD PTR SS:[ESP+01Ch],2
MOV DWORD PTR SS:[ESP+020h],3
MOV DWORD PTR SS:[ESP+024h],4
LEA EAX,DWORD PTR SS:[ESP+018h] ; 이차원배열의 시작주소를 잡는것인가(뇌피셜) 그리고 EAX레지스터에 넣는다.
MOV DWORD PTR SS:[ESP+028h],EAX ; 값을 메모리에 넣어서 저장
MOV EAX,DWORD PTR SS:[ESP+028h] ;
ADD EAX,0Ch ; *(parr[1]+1)이라서 그크기만큼 12를 더함 총 변수 크기 16.
MOV EAX,DWORD PTR DS:[EAX]
MOV DWORD PTR SS:[ESP+4],EAX ;
MOV DWORD PTR SS:[ESP],pointer1_00404000 ; ASCII "%d
"
CALL printf ;<= Jump/Call Address Not Resolved
MOV EAX,0
LEAVE
RETN ;<= Procedure End
'Assembly' 카테고리의 다른 글
C 언어 문자열 관련 함수 (strcpy) 분석 (0) | 2018.06.11 |
---|---|
포인터 배열 (0) | 2018.06.11 |
[Assembly]어셈블리어 lea, mov 명령어 차이 (0) | 2018.04.28 |
[Assembly] 어셈블리어 명령어(TEST) (0) | 2018.04.24 |
[Assembly] 포인터 이용하기 (0) | 2018.04.23 |
Comments