2016-08-20 3 views
-1

코드가 PE (Portable Executable) 형식의 초기화 된 데이터로 표시되며 초기화 된 데이터와 단위화된 데이터의 차이점은 무엇입니까?초기화 된 데이터와 초기화 된 데이터의 차이점은 무엇입니까?

이전의 경험으로 볼 때 초기화 된 데이터는 문자열 또는 정수와 같지만 실행 가능한 코드는 PE 컨텍스트의 초기화 된 데이터라고도합니다.

또한 초기화 된 데이터와 단위화된 데이터의 차이점은 무엇입니까?

문서는 말한다 :

섹션 데이터 섹션에 대한

초기화 데이터가 간단한 블록 바이트 로 구성되어 있습니다. 그러나 모두 0을 포함하는 섹션의 경우 섹션 을 포함 할 필요가 없습니다.

...

모든 프로세스 프로세스에 액세스하고 그 중 하나에 .DATA 부 분할된다되는있는 어드레스 공간 기본적으로 4 부분으로 구성
+0

진행중인 시험이 있습니까? http://stackoverflow.com/questions/39052762/can-a-section-in-a-win32-pe-contain-a-combination-of-both-executable-code-initi –

+0

무엇? 말하듯이 프로그램에서 특정 문자열이나 값이 필요한 경우 해당 값은 실행 파일에 있어야합니다. 10MB 0 블록 만 있으면 파일에이 모든 바이트를 저장할 필요가 없습니다. –

+0

코드는 데이터가 아니며 코드이며 자체 섹션이 있습니다. 또한 초기화 할 수있는 것이 무엇인지 알기 때문에 초기화 된 것입니다. – James

답변

1

:)

1 초기화 된 읽기 전용 데이터 : 이것은 프로그램에 의해 초기화 된 데이터 요소 을 포함하며 프로세스의 실행 중에 만 읽혀집니다. 초기화 된 읽기 쓰기 데이터

2) :이 포함 ​​된 프로그램에 의해 초기화되고 프로세스 실행 과정에서 수정되는 데이터 요소 .

3) 무진장 데이터 :이 요소는 프로그램에 의해 초기화 된 이 아니며 프로세스가 실행되기 전에 0으로 설정됩니다. 또한 수정하여 BSS (Block Started Symbol)라고 부를 수 있습니다. 이러한 요소들에 대한 은 시스템이이 영역에 대한 프로그램 파일에 공간을 할당 할 필요가 없다는 것을 의미합니다. 즉, 프로세스가 실행되기 전에 OS에 의해 0으로 초기화됩니다.

는 많은상에서 실행되는 실제의 지시가 포함되어있는 프로그램의 코드는 .text 부분에서 찾아 볼 수있다

휴대용 실행 (PE) 형식으로 초기화 데이터로 간주 코드 운영 체제 초기화 된 읽기 전용 데이터와 유사하게 읽기 전용으로 설정됩니다.

초기화 된 데이터와 단위화된 데이터의 차이점은 무엇입니까?

그래서 그들 사이의 차이는 자신의 가치에, 초기화 된 데이터는 프로세스를 시작하기 전에 프로그램에서 설정 한 고유 값을 가지고 데이터 만, 다른 손에 초기화되지 않은 데이터 값이 쓰기를 읽거나 읽을 수 있습니다 운영 체제가 0으로 설정하면 here을 볼 수 있습니다.

Amrane Abdelkader.

+0

고맙습니다. 그러나 코드가 초기화 된 데이터인지 여부를 잊어 버렸습니까? – Shuzheng

+0

답변을 추가했습니다. 도움이 되었기를 바랍니다. –

+0

단지 PE 문서가 섹션 데이터를 초기화 또는 초기화되지 않은 것으로 언급하기 때문에 코드가 첫 번째 카테고리에 속해 있다고 생각하십니까? – Shuzheng

관련 문제