Iriton's log
[CodeEngn] Basic RCE - L05 본문
이 프로그램의 등록키는 무엇인가
풀이
무슨 프로그램인지는 잘 모르겠다.
이것저것 눌러보니 등록키가 저런 숫자와 영어 조합인 거 같은데
코드 분석으로 찾으면 되는 거 같다.
PEiD로 확인해 보니 UPX로 패킹되어 있는 것을 확인할 수 있었다.
이제 UPX 패킹은 익숙하다.
등록키를 찾기 위해
cmd를 통해 언패킹을 해준 뒤 올리디버거로 열어볼 것이다.
언패킹 하는 법: [upx가 다운받아져 있는 파일에 05.exe를 옮긴 뒤 cmd 실행 - upx.exe -d 05.exe]
그럼 이런 화면이 뜬다.
등록키를 정상 입력됐을 때 뜰 만한 문구를 찾기로 했다.
[우클릭 - Search for - All referenced text strings]
그럼 이렇게 텍스트를 띄우는 코드들이 뜬다.
저 중에서 "Congrats! You cracked this CrackMe!" 라는 문구가 의심이 가니 더블클릭 해줬다.
(그 위쪽에 있는 등록키 값 배열과 같아 보이는 GFX-754-IER-954도 의심스러웠지만 심증 뿐이라서
좀 더 확실한 애로 선택했다.)
분기문 시작 부분에 BP를 걸어두고 프로그램을 작동시킨 뒤
한줄씩 실행해봤다.
Resgister User을 EDX에 저장한 뒤 오는 CALL 코드 함수 내부에 진입하였을 때 화면이다.
EDX와 EAX를 비교하는 코드가 보인다.
두 값이 같다면 점프문을 활용하여 POP코드로 이동했다.
이때 EAX, EDX 값을 비교해 보니 EAX는 내가 입력한 값이다.
그럼 EDX인 Register User이 답이 되겠다.
시리얼값도 마찬가지로 분석해 보면 아까 의심했던 값인
GFX-754-IER-954이다.
'Reversing > Wargame' 카테고리의 다른 글
[CodeEngn] Basic RCE - L08 (1) | 2023.11.15 |
---|---|
[CodeEngn] Basic RCE - L06 (0) | 2023.11.15 |
[CodeEngn] Basic RCE - L04 (0) | 2023.11.14 |
[CodeEngn] Basic RCE - L02 (0) | 2023.11.14 |
[CodeEngn] Basic RCE - L01 (0) | 2023.11.14 |