개발세발보안중
[Codeengn] RCE L08, L15 본문
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진수로 바꾸면 답!!
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