HEAP_TAIL_CHECKING_ENABLED 플래그는 항상 할당된 블록의 끝에서 연속된 값 “0xABABABAB“을 두 번 표시하게 합니다.
HEAP_FREE_CHECKING_ENABLED 플래그는 slack 공간에서 다음 블록 까지 채우기 위해 추가적인 바이트가 필요하다면 연속된 값 “0xFEEEFEEE”(또는 일부)을 표시 합니다.
예제 코드는 다음과 같습니다.
mov eax, <heap ptr>
;get unused_bytes
movzx ecx, b [eax-2]
movzx edx, w [eax-8] ;size
sub eax, ecx
lea edi, [edx*8+eax]
mov al, 0abh
mov cl, 8
repe scasb
je being_debugged
이 값은 Themida에 의해 확인되었습니다.
-------------------------------------
말이 너무 어려워서 이해가 잘 안가네요, 실행해보면서 수정하도록 하겠습니다^^



덧글