개발세발보안중

[Codeengn] RCE L08, L15 본문

Reversing

[Codeengn] RCE L08, L15

채영채영 2022. 9. 20. 00:44

Basic RCE L08


OEP를 구하시오 Ex) 00400000

OEP (Original Entry Point) : 패킹된 파일의 실제 프로그램 시작 부분

UPX로 패킹이 되어있는 것을 알 수 있다.

UPX 패킹: PUSHAD로 레지스터 백업 -> 압축해제 루틴 실행 -> POPAD로 레지스터 값 복구 -> OEP로 점프)

공부가 더 필요할 것 같습니다.

L15

Basic RCE L15


Name이 CodeEngn일때 Serial을 구하시오

.....

리스트를 첨부터 끝까지 내려도 내눈에는 아무것도 안보인다...

....

PUSH : 스택에 값 넣기

MOV A,B : B의 값을 A에 넣기

CALL [주소] : 함수 호출

CMP A,B : A와 B를 비교

JNZ [주소] : 주소로 Z 플래그가 1이 아니면 점프

....

...

코드창에서 우클릭하고 searchfor -all referenced text strings 클릭

Cracked 뜨는거 더블클릭

PUSH EBP

MOV EBP,ESP

BP걸고 F9 실행하기

EAX에 7B가 저장되어있음 -> 10진수로 변환 :123

EAX에 '내'가 넣은 값이 저장되는구나!

dump window 에서 ctrl+g로 검색하기

Dumb 창에 6061 -> 16진수로 바꾸면 답!!

#08

PUSHAD : Push All General Purpose Regisers

-현재 모든 범용레지스터의 저장값을 스택으로 Push

패킹된 파일 : 루프를 돌면서 연산

언패킹 하면 entry point 얻을 수 있음. 답!

'Reversing' 카테고리의 다른 글

리버싱 7주차  (0) 2022.11.07
Analysis  (0) 2022.09.25
디스어셈블과 디컴파일  (0) 2022.09.25
프로그램과 컴파일  (0) 2022.09.25
리버싱 스터디 1주차  (0) 2022.09.20
Comments