본문 바로가기

쓰기

원문: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/1f7/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 291743
최근 신작 2개 코드 찾기 질문 by 권혁철 file 2015-09-18 01:21 tkrkr 25 868
AIR SE 코드를 찾으려 하는데 막힙니다 by 새의시 2014-03-18 20:01 v폴라 25 750
최면술3 실행 관련 질문입니다.(개인적으로는 해결, 댓글 봐주세요) by 야이라 2013-10-02 23:48 dhqpffls 23 1537
음요충(淫妖蟲~凌触学園退魔録~) 이거 제발 해결좀요. by 왕가가 2013-05-17 18:59 왕가가 20 1156
비너스 블러드 히프노 기리기리를 아예 못잡네요 by Kaleidoscope 2014-12-12 20:57 키잡 16 1284
elona 라는 로그라이크를 할려고 하는데여 by 피자 file 2013-07-16 20:12 피자 16 1003
구식 브라우저면 안보인다는데...... by 미사일연속발사시스템 2013-03-10 12:26 S0warS 16 1276
기리기리엔진 파일 리팩시 생기는 문제에 관해 질문드립니다. by stamp file 2013-08-05 13:54 루디아 15 2142
기리기리엔진 미연시 후킹하면 팅깁니다 해결방법좀 ㅠㅠ by 헤카림장인 file 2016-01-22 12:57 미래도 14 808
淫らに喘ぐ七人の夜這いする孕女 실행시 시티키 뜨던데 어떻게 하나요? by 비닐모자 2017-06-24 08:59 평화 14 3621
(질문해결) 동방심기루 AT코드 디버깅시 1글자씩 번역되는 코드들만 뜨네요. by Remilia file 2013-08-02 21:51 Remilia 14 617
업데이트시 바이러스가 뜹니다. by ee 2010-11-01 22:11 holybell0 14 17461
[130125][대도서관의 양치기] 大図書館の羊飼い 아랄적용시 튕김현상 ㅠㅠ by JCHAIT file 2016-12-09 18:06 JCHAIT 13 2095
키리키리 엔진 패턴을 찾을 수없데요... by pitarose file 2016-06-04 23:14 pitarose 13 781
平安亭 회사 게임 이렇게 뜨는데 어떻게 하면 좋죠... by 디리리링 2016-03-13 18:32 암흑마제 13 1972
Dracu riot(드라큐 라이옷) 백로그 오류.. by 패닉스토리 file 2013-07-12 16:20 패닉스토리 13 1408
헤더 프로텍트 질문 by 비밀을준수하는자 2013-07-25 15:04 비밀을준수하는자 12 455
大悪司(대악사) 이거 bgm 어케 나오게 하나요 ㅠㅠ by rhdd 2018-10-20 22:24 이칠공 12 2539
아랄트랜스 초보자입니다 도와주실수 있을까요? by 펑펑잉 file 2019-04-06 05:36 푱퐁이 11 772