실행 파일이 있습니다 (예 : notepad.exe). 이 실행 파일에 대한 함수 맵을 작성하려고합니다. 그래서이 실행 파일을 실행하면 일부 주소 (모듈의 기본 주소)에로드됩니다. 이제 각 함수는 모듈 내부에서 약간의 오프셋을 갖습니다. 각 모듈의 오프셋 (함수의 코드가 시작되는 곳)에 의해 각 함수를 모듈 내에서 고유하게 식별하려고 시도합니다. 실행 파일을 실행하는 컴퓨터와 상관없이이 오프셋이 항상 동일하게 유지 될 것이라고 생각하십니까?모듈 내부의 함수 오프셋은 항상 동일하게 유지됩니까?
답변
Windows에는 Vista 이후로 실행 파일의 기본이 임의의 시작 주소에 배치되는 주소 공간 레이아웃 임의 화라고하는 기능이 있습니다. 목표는 특정 종류의 보안 공격을 저지하는 것입니다. 현재는 함수의 내부 무작위 화는 발생하지 않지만 새 버전의 Windows에서이 함수가 발생하지 않도록하는 것은 없습니다.
ASLR에 대해 알고 있지만로드 된 dll이 실행 파일이 아닌 경우에만 수행되었다고 생각했습니다. 또한 다른 컴퓨터에서 실행하더라도 실행 파일의 기반이 동일하다는 것을 알았습니다. 그래서, 당신에 따르면 상쇄는 똑같이 유지되어야합니다, 그렇죠? – Bruce
@ Bruce : 맞습니다. 오프셋은 동일하게 유지되어야합니다. Microsoft는 도구를 사용하여 실행 파일의 기본 블록 레이아웃을 최적화합니다 (http://www.microsoft.com/windows/cse/bit_projects.mspx). 이것은 근본적으로 함수 재정렬/무작위 화와는 다르다. 따라서 함수 오프셋이 불변 인 지금은 안전한 가정이라고 기대할 것이다. – EmeryBerger
- 1. Facebook의 사진 URL은 항상 동일하게 유지됩니까?
- 2. iOS 업데이트간에 상수는 동일하게 유지됩니까?
- 3. 함수 내부의 함수.?
- 4. 왜 CALayer의 visibleRect 메서드는 화면 밖으로 반을 이동하더라도 UIImageView의 너비가 항상 동일하게 유지됩니까?
- 5. 앱 업데이트를 수행 할 때 번들 ID 접미사가 동일하게 유지됩니까?
- 6. 변수 내부의 함수 이름
- 7. 루프 선언 내부의 함수?
- 8. AppEngine : StringListProperty에 저장된 항목은 항상 같은 순서로 유지됩니까?
- 9. 도우미 함수 모듈 생성
- 10. mysql 오프셋은 true 동작을 나타냅니다.
- 11. 이 두 경우의 오프셋은 어떻게 적용됩니까?
- 12. FQL을 사용하는 동안 Facebook 친구 시퀀스가 동일하게 유지됩니까? 나는 친구의 목록을 가져 FQL을 사용하고
- 13. 함수 내부의 방정식에 관한 간단한 질문
- 14. PHP : 함수 내부의 코드 작성이 작동하지 않습니다.
- 15. 중첩 된 jquery 플러그인 내부의 호출 함수
- 16. 패키지 내부의 사용자 정의 집계 함수
- 17. 중첩 된 선택 내부의 값 비싼 함수
- 18. 어떻게 항상 귀찮게 실패한 커널 모듈
- 19. 준비된 문장의 한계 및 오프셋은 무엇입니까?
- 20. 개체의 메모리 주소가 평생 동안 유지됩니까?
- 21. 이메일 별칭의 사용자 ID 속성이 Google Apps/App Engine에서 동일하게 유지됩니까?
- 22. 개체를 업데이트 한 후 "환자가 성공적으로 업데이트되었습니다"라는 메시지가 표시되지만 값이 레일에서 동일하게 유지됩니까?
- 23. 사각형의 열 공간의 기준은 제곱 한 후에도 동일하게 유지됩니까? 즉 c (A) = c (AxA)입니까?
- 24. YUI3, 모듈, 네임 스페이스, 호출 함수
- 25. 루비 보석 내부의 모듈 내부에서 클래스를 수정하는 방법
- 26. PyroCMS 위젯은 모듈 내부의 위젯에서 기존 언어 파일
- 27. NSTimer는 자동으로 유지됩니까?
- 28. For-Loop 카운터는 유지됩니까?
- 29. 잔금은 출시와 함께 유지됩니까?
- 30. PHP로 file_get_contents가 그대로 유지됩니까?
무엇이 무엇을로드하는지 명확하지 않습니다. 제발, 분명히 해줘. 그 외에 최종 목표는 무엇입니까? – jweyrich
@jweyrich : 프로세스가 메모리 내부에로드되었음을 의미했습니다. 나는 누가 그것을 적재하는지 정말로 모른다. 최종 목표는 프로그램 내의 각 함수를 오프셋으로 고유하게 식별하는 것입니다. – Bruce