정리할 것
각자 질문 내용
최호수
1. 동적 라이브러리를 링크할 때, 외부에 제공하는 export 함수란?
--> http://xenostudy.tistory.com/6 (DLL 작동방식)
2. 스택 프레임에서 스택은 아래서 위로 쌓아 올린다. 와이?
--> 아래와 위에서 안쪽으로 쌓아 올려서 효율적인 메모리 활용이 가능하다.
정상민
1. 파이썬 해킹 28페이지에서
"하지만 함수 호출자가 스택을 정리하는 것이 아니라 호출된 함수가 리턴하기 바로 전에 스택을 정리한다."
가 무슨 뜻인지 이해를 못함.
--> 함수 호출 규약 (cdecl, stdcall) 자체가 다른 것. 스택을 호출자가 정리하느냐, 피호출자가 정리하느냐 차이.
--> 추후 좀 더 찾아볼 것
2. 유니언의 메모리 공유 방식이 이해가 안됨. + 유니언이란?
--> 원래 자료를 참조할 때는 한 가지의 형태를 가지지만, 여러 종류의 자료형을 한 메모리 공간에 담음 (자료형의 확장형)
김영후
1. 왜 stdcall과 cdecl을 굳이 나누어 놓았는지? 스택을 호출자에서 정리하는 것과 피호출자에서 정리하는 것이 성능차이가 있나?
--> cdecl 은 가변인자 지원. stdcall은 더 빠름. (조금 더 알아볼 것)
2. 어셈블리어에서 leave,ret
김진용
1. 패킷의 페이로드가 저장되는 부분에 메모리 브레이크 포인트를 걸고나서 핸들러에 전달되면, 이때 패킷의 활용 용도를 어떻게 아나?
--> 패킷의 페이로드가 저장된 메모리에 접근이 발생하면 그 전/후 의 어셈블리어를 보고 나서 활용 하는 코드를 보고 알 수 있다.
김현우
Q1. 책에서는 Win32 API가 stdcall을 사용한다고 말했는데, 어떤 곳에서는 윗 부분처럼 함수의 파라미터가 명확하게 정의되어 있어 함수 내부에서 파라미터를 pop하는 cdecl 방식을 주로 이용한다고 함. 진실은?
--> 좀 더 알아볼 것.
--> Win32 API 함수를 이용할 땐 stdcall, 기본 C 함수에서는 cdecl?
--> 좀 더 알아볼 것 22
Q2. 스택에서 꺼낼 때, 함수내에서 pop 하는 것과 호출자에서 pop 하는 것중 무엇이 다르며, 왜 함수 내에서 가변적인 파라미터를 스택에서 pop 할 수 없는가.
--> 호출한 함수에서는 가변 인자의 스택의 크기를 알지만 호출된 함수에서는 가변 인자의 스택의 크기를 알 수 없기 때문.
Q3. JTP 12345 -> 12,345 예제에서 소스코드 구조 질문
--> 이해함. head_num이 앞에 붙은 머리 숫자.
박상협
1. 윈도우 API에서 callback의 사용되는 시점에서 주소를 보고 찾아가는 건지 아니면 핸들러를 통해 찾아가는건지?
--> 좀더 찾아보기
송상준
1. 브레이크 포인트에서 사용되는 INT3, INT1 의 차이?
--> 인터럽트(INT)의 구분을 통해 브레이크 포인트의 구분을 위함.
2. 루프 연산
--- 광준형 정리본 ---
각자 질문:
최호수:
1. 동적 라이브러리를 링크할 때, 외부에 제공하는 익스포트 함수란?
- http://xenostudy.tistory.com/6
2. 스택 프레임에서 스택은 아래서 위로 쌓아 올린다. 왜?
- 아래와 위에서 안쪽으로 쌍하올려서 효율적인 메모리 활용이 가능하다.
정상민:
1. 파이선 해킹 프로그래밍 28쪽에 ~~~~~
- 호출 규약의 차이, 좀 더 찾아볼것ㅇㅇ
2. 유니온이란?
김영후:
1. sdtcall과 cdecl이 어떤 차이점이 있나?
- http://egloos.zum.com/qufl1999/v/2338204
2. 어셈블리어에서 ret가 있는 pop eip,
- http://hisjournal.net/blog/351
낌진용:
1. 50페이지 ㅇㅇ
2. edx가 eax와 연산할 때 스이는 데 굳이 edx를 쓰는 이유?
김현우:
1. 윈도32api에서는 stdcall을 사용하는 데 cdecl은? 왜 굳이 win32api와 그냥 함수호출에만 쓰이는 이유?
- cdecl: http://msdn.microsoft.com/ko-kr/library/zkwh89ks.aspx
- stdcall: http://msdn.microsoft.com/ko-kr/library/zxk0tw93.aspx
2. 스택에서 가변적인 파라미터를 가지는 함수내에서 왜 스스로 팝을 못하는가?
- 호출한 함수에서는 가변 인자의 크기를 알지만 호출된 함수에서는 인자의 크기를 모른다 왜 몰름?
3. j2p에서 222페이지에서서 알고리즘 설명.
박상협:
1. 윈도우api에서 callback이 사용되는 시점에서 주소를 보고 찾아가는 건지 아니면 핸들러를 통해 찾아가는 건지?
송상준:
1. 소프트 브레이크포인트 INT3이고 하드 브포가 INT1인데 왜 다른건지?
2. 루프연산할 때 ECX를 사용하는 다른 레지스터 사용할 때도 있는 데 왜 그런지?
신영원:
1. 윈도우에서와 리눅스에서 실행의 차이?
최원주:
1. 50페이지 위에꺼 왜?
2. 윈도우API 함수 앞에 뭐가 붙는 데 뭔지?
-
노도원:
1. 소프트 브레이크 대신 메모리 브레이크를 쓰는 이유?
'스터디 > 파이썬 해킹 프로그래밍' 카테고리의 다른 글
DLL 기초개념 (0) | 2015.01.14 |
---|---|
스터디 질문 답변 (0) | 2015.01.14 |
2015-01-12 질문 정리 (0) | 2015.01.12 |
레지스터 / 브레이크 포인트 (0) | 2015.01.11 |
환경 구축 및 동적 라이브러리 (0) | 2015.01.11 |