본문 바로가기

쓰기

원문: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/cab/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 291670
오토메 도메인 패치 시 실행 오류 by kgd123 2017-02-12 08:43 whbest 1 6207
클립보드 후커 화면인데요. by 궁궁궁 file 2009-08-14 02:19 류제로 2 6200
자막이 깨져서 나옵니다 by file 2010-11-09 00:39 암흑마제 2 6155
대사가 나오다 말고 꺼집니다..;; by H file 2010-10-12 17:54 H 2 6135
번역.........플러그인에 ez트랜스로 하면 아랄트랜스가 팅겨요 어떡해하죠? by 장미꽃 2009-07-23 15:55 Hide_D 1 6096
플러그인 by 빡쳐 2009-07-16 01:55 Hide_D 1 6082
AT코드찾기에서 게임이 튕깁니다;ㅁ; by 히엔 2009-12-28 22:13 Hide_D 1 6052
비스타 아랄트랜스 at코드 입력하면 튕기네요 by lisianthus file 2017-09-22 18:58 guqckddl 1 6040
덤프텍스트 필터 사용시 캐릭터들 이름이 MadeByHideD 로 나옵니다. by kpld 2010-08-20 20:54 Hide_D 1 5966
AT코드 이게 무슨 말인가요?? by 우왕ㅋ굿ㅋㅋ 2011-10-02 10:53 Nike Free tilbud 2 5941
아 폴트가 아랄이 적용안되고 팅겨서 미치겠습니다.. by 치질의아픔 file 2009-12-02 16:56 치질의아픔 3 5932
魔世中ハ終ワラナイ (마의 세계는 끝나지 않아) AT코드 적용질문좀... by 안녕하세요-0- file 2009-09-17 00:33 Hide_D 1 5930
아랄 적용할때 질문입니다... 부탁드려요 by 꿈꾸는나무 file 2009-07-15 13:07 Hide_D 1 5929
바이너리패치는 어케하는겁니깡?? by 상위존슨 2015-11-29 03:48 상위존슨 2 5925
윈도우10 로컬 에뮬레이터 연동 아랄트랜스 0.2 바로가기 질문입니다. by 하늘마법사 2016-05-02 02:30 하늘마법사 6 5890
칭송받는자 fixline 사용방법이 궁금해요. by NaORi21 2009-09-26 00:02 Hide_D 1 5866
이지트랜스 설치경로를 찾을수 없다고 나오는데 어떻게 해야 하나요? by 후앙 file 2013-02-27 09:05 비밀을준수하는자 3 5864
아랄트랜스 적용 전에 목록에 게임 이름이 안떠요 ㅜ by potarian 2009-08-01 14:56 Hide_D 3 5863
하급생2 아랄트랜스 질문좀요... by 불처럼 2010-12-04 19:58 Hide_D 1 5861
커스텀딕 적용 질문 좀.. by 잉그리드 2013-03-10 07:22 聖花姫 1 5854