본문 바로가기

Hacking & Security/Reverse Engineering

Stolen Bytes

Stolen Bytes

Stolen Bytes란 훔쳐진 바이트란 의미로 프로그램의 한 부분의 코드를 훔쳐내어 다른 부분으로 옮겨진 코드를 의미한다.

주로 옮겨지는 코드는 EP 위 몇개의 코드들이며 옮겨진 코드들은 OEP주소로 점프하기 전 위치에서 PUSH되어진다.

이부분의 명령어들은 이동된 곳 또는 할당받은 메모리 공간에서 실행되어진다.

만일, 보호된 프로세스의 메모리가 덤프 되었을 때 Stolen bytes를 복구하지 못한다면 덤프된 실행파일은 정상적으로 작동하지 않는다.

POPAD와 jmp OEP 사이에 연속되어진 PUSH부분을 Stolen Bytes라고 한다.

 

PUSHAD

PUSHAD는 모든 Register를 Stack에 적재(push)하는 명령어이다.

 

POPAD

POPAD는 Stack에 백업되어있던 모든 Register의 값들을 원래대로 Register에 복구시키는 명령어이다.

 

 

'Hacking & Security > Reverse Engineering' 카테고리의 다른 글

ASPACK unpacking  (1) 2019.09.26
x86 그리고 x64  (0) 2019.09.26
#1. Reverse Engineering  (0) 2018.09.21
Reverse Engineering 2  (0) 2017.11.23
Reverse Engineering  (0) 2017.11.23