본문 바로가기

쓰기

원문:http://lab.aralgood.com/?mid=board_lecture&page=4&document_srl=2228

여기서 보면

함수 시작점에서는 [ESP+4] 로 얻어올 수 있는 인자였지만, 저 세 번의 푸쉬로 인해 [ESP + 10] 위치가 되었습니다.

이렇게 적혀있는데요 흠...
왜 함수 시작점에서는 ESP+4로 얻을 수 있었던거죠? 그리고 세번의 푸쉬로 인해 +10이 되는 이유가 잘 이해가 안되네요 이리 저리 찾아 봤는데 push같은경우에는 esp의 값이 4만큼 줄어들고 새로운 값이 들어간다고 했는데
10이 나오는 이유가 이해가 안되네요... 도와주세요~

그럼 즐거운 밤 보내시길...^^

ps2.2번째 강의에서 "이제 이 상태에서 대사 메모리에 다시 브포를 겁시다(브포: 브레이크 포인트 ㅡ,.ㅡ;;;)
이건 어느 대사에 브포를 거는건가요...?리턴에 브포 걸어두고 이것저것 건드려도 계속해서 리턴에만 머무르네요 강의로 보면 저 밑에있는 주소가 잡혀야하는데....

조회 수 :
3148
등록일 :
2010.01.05
00:12:53
엮인글 :
https://arallab.hided.net/31573/08a/trackback
게시글 주소 :
https://arallab.hided.net/board_qna/31573

루시퍼

2010.01.05
16:40:30
어쩌다보니 ps2는 이해했습니다 .ㅎㅎ 저 첫번째 esp+4는 왜,,, 저렇게 나오는지가 이해가 안되네요.. ;;
흠... 그래도 순서대로 따라가니까 한글로 나오는거 보고 깜짝놀랬어요 ㅎㅎ

whoami

2010.01.05
16:56:31
네. 일단 ESP 는 Extended Stack Pointer 의 약자입니다. Extended 는 생각하실 것 없고..
Stack 이라는 것은 꼭 상자 쌓아놓는 것처럼 1,2,3번 상자를 쌓으면 3,2,1번 순으로 다시 찾아올
수 있는 구조를 말합니다 (3번 상자가 가장 위에 있으니 당연히 3번이 먼저 나오겠죠?)
이 때 쌓아놓는 명령어가 PUSH, 찾아오는 명령어가 POP 입니다. ESP 는 항상 가장 위의 상자를
가리키고(Point) 있는 표시입니다.

어쨌든. 어떤 함수를 호출 할 때 프로그램은 함수의 인자 (전해주는 값) 를 쭉 쌓아놓고
마지막으로 자기가 돌아갈 곳의 위치를 쌓아놓습니다. 그러니까..
[돌아갈 곳] - ESP+0
[인자 1] - ESP+4
[인자 2] - ESP+8

이런 식입니다. 그런데 위에 세개를 더 쌓았다는 말이니.. 당연히 ESP 에서부터 세어넣을 위치도
달라졌겠지요.

[ESI] - ESP+0
[EBX] - ESP+4
[ECX] - ESP+8
[돌아갈 곳] - ESP+C
[인자 1] - ESP+10
[인자 2] - ESP+14

왜 ESP+16 이 아니라 ESP+10 이냐면.. 보시다시피 저게 10진수가 아니라 16진수라서 그렇습니다.
(추천 수: 1 / 0)

루시퍼

2010.01.06
00:20:35
좋은 설명 감사합니다^^ 많은 도움이 되었어요~
List of Articles
주제 최종 글sort 댓글 조회 수
공지 아랄트랜스가 정상 동작하지 않는다면 꼭 읽어주세요. by Hide_D file 2020-05-14 14:28 ppqq 177 291713
전여신 memoria 하는데 스크립트 오류가 사라지지 않네여 by 하모 2016-11-23 23:30 Kaijin 1 295
체인지! 그녀가 되어 킁킁 날름날름 실행시 오류가 나네요. 글 보시고 진단해주세요 ㅠ by 모두잘될거야 2016-11-24 10:51 모두잘될거야 1 2091
란스퀘스트 인스톨 버튼이 클릭이 안되요 ㅠㅠ 어떻해 해야하나요, by 마마마미마미 file 2016-11-25 12:52 saturnice 2 991
DumpText 관련 질문인데요. by 후니1 2016-11-25 22:39 후니1 4 603
아랄트라스 아예 한글이안나와요.. by 미미비비 file 2016-11-27 08:12 미래도 1 537
炎の孕ませおっぱい★エロアプリ学園 질문입니다ㅠㅠ by 이유가뭐야 file 2016-11-27 13:36 이유가뭐야 2 850
아랄써서 번역돌리다가 게임 중간마다 cannot convert the variable type 오류가 뜸 by rnfma 2016-11-27 23:59 미래도 3 1559
枯れない世界と終わる花(시들지 않는세계와 끝나는 꽃) 설치중 시리얼넘버.... by laforia 2016-12-01 06:43 DetectiveConan 2 1190
코드게시판 검색 어떻게 하나요? by 행인09 2016-12-03 09:45 미래도 5 1924
코드센터 검색 + 로그인 문제 by 98dlstod 2016-12-03 14:41 Juice 4 9565
ensenmble사 미연시 몇개 스크립트 출력문제 질문입니다. by Etuner file 2016-12-04 20:40 미래도 1 781
아랄+어플로케일 오류 질문입니다. by 어둠의추적자 2016-12-05 16:05 DetectiveConan 2 1048
枯れない世界と終わる花 설치중 시리얼넘버 입력하라고 나오는데 by anjfmfehepcp1 2016-12-06 22:14 미래도 1 850
후킹플러그인을 고르는데 at코드를 눌러도 다시 <none>으로 돌아옵니다. 도와주세요 by 존탄 file 2016-12-09 09:14 JCHAIT 2 734
[130125][대도서관의 양치기] 大図書館の羊飼い 아랄적용시 튕김현상 ㅠㅠ by JCHAIT file 2016-12-09 18:06 JCHAIT 13 2093
마이테츠 아랄트렌스 번역 오류 .. by 끼로로로록끼록 file 2016-12-15 16:11 DetectiveConan 1 1807
핀포인트사 게임 실행오류 관련 질문드립니다!!! by 귀차니즘=_= file 2016-12-16 00:59 버드웨이 1 1146
아랄 써서 '내가 모르는 아내의 얼굴' 하려고 하는데요.... 외계어가 자꾸 떠요 by dskdlfasnd file 2016-12-16 05:42 DetectiveConan 1 1351
후킹이 전혀안되는 게임도 있나요? by 큐베 file 2016-12-17 21:42 큐베 5 3422
AT코드 사용시 번역문 변경 질문이욤 by 니카이도아야 2016-12-22 15:39 미래도 1 636