ebp

    [FC3] Level 3. dark_eyes → hell_fire

    [FC3] Level 3. dark_eyes → hell_fire

    hell_fire keyword : another fake_ebp or got overwriting /* The Lord of the BOF : The Fellowship of the BOF - hell_fire - Remote BOF on Fedora Core 3 - hint : another fake ebp or got overwriting - port : TCP 7777 */ #include int main() { char buffer[256]; char saved_sfp[4]; char temp[1024]; printf("hell_fire : What's this smell?\n"); printf("you : "); fflush(stdout); // give me a food fgets(temp,..

    리버싱, 레지스터(Register)

    리버싱, 레지스터(Register)

    레지스터(Register) 범용 레지스터 CPU는 연산, 처리도 하지만, 레지스터라는 곳에 저장도 한다. 범용 레지스터란, 이름처럼 범용적으로 사용되는 레지스터들을 의미한다.즉, CPU가 필요할 때 쓰는 레지스터라고 생각하면 된다.보통은 상수/주소값 등을 저장할 때 주로 사용되며, 특정 어셈블러 명령어에서는특정 레지스터를 조작하여 값을 저장 및 사용하기도 한다. EAX, EBX, ECX, EDX 주로 산술 연산(ADD, SUB, XOR, OR 등...) 명령어에서 상수/변수 값의 저장 용도로 사용 된다.추가적으로 ECX와 EAX는 특수한 용도로 사용되기도 한다. EBP, ESP, ESI, EDI 주로 메모리 주소를 저장하는 포인터 용도로 사용된다.ESP는 Stack 메모리 주소를 가리킨다. (PUSH, ..