따로 compress가 진행되진 않았다.
1) x32dbg
F9로 EntryPoint를 찾았다.
EntryPoint에서 우클릭해서 다음을 찾기 -> 현재 구역 -> 문자열 참조
Congratulations!가 Name과 Serial 모두 맞았을 때 가는 branch일 것이므로, 해당 문자열에서 우클릭해서 디스어셈블리에서 따라가기를 선택한다.
Congratulations!로 가는 조건을 보자.
branch문을 찾는데, 위에 &__vbaFreeObj 함수 호출 후 je로 같을 경우 점프한다.
00403329에서 breakpoint(F5)를 잡고, 실행을 시킨다. Name과 Serial을 hihi와 hello로 주고 Check 버튼을 누르면 bp에서 멈춘다. F8로 step over를 한다.
이때 Serial이 hello인 것 위에 CCC9D0D0이 있는데, 이것이 Serial 같아 보인다.
따라서 Name을 hello, Serial을 CCC9D0D0으로 주고 Check을 눌렀다.
이후 step over를 해가니까 branch가 Congratulations!로 가는 것을 확인할 수 있었다.
Name의 경우 at least 4 char이므로 4글자 아무거나 주면 되고, Serial은 CCC9D0D0이다.
CodeEngn Basic RCE L09 (0) | 2021.05.23 |
---|---|
abex crackme #1 with code injection(코드 인젝션, 메모리 덤프) (0) | 2021.05.18 |
리버싱 입문 1.7 리버싱에 필요한 도구 (0) | 2021.05.17 |
리버싱 입문 5. 리버싱의 어려운 문제들 (0) | 2021.05.11 |
Lena Reversing Tutorial 20 (x32dbg, OEP 찾기, 메모리 덤프) (0) | 2021.05.11 |