Basic RCE l02 문제는 현재환경에서 열리지 않아서 건너뛰었다.
L03 문제의 설명에는
비주얼베이직에서 스트링 비교함수 이름은? 이라고 묻고있다.
설명해주지 않았어도 프로그램 실행시에 msvbvm50.dll 이 없다면서 앙탈부리는걸 보면
누가봐도 vb로 만들어졌다는 걸 알 수 있다.
실행시켜 보자
영어같은영어아닌 너
뭐라는지 모르겠다. 확인눌러보자
대충 코드가 맞아야 성공메시지가 뜨겠구나를 알 수 있다.
vb의 경우 메시지 박스도 rtcMsgBox를 사용하고 좀 다른 함수명을 가지고 있다.
사실 옛날 vb6.0을 정말 재밌게 가지고 놀았던 기억이 있기에 무슨 함수를 사용하는지 알고있다.
vbaStrCmp 를 사용하리라 짐작한다.
치트엔진에서 바로 함수부분으로 갔지만 차근차근 찾아보자
치트엔진, IDA를 사용해보겠다.
IDA Freeware
함수들이 뜬다. 그리고 역시 vbaStrCmp가 보인다. ida의 강력한 기능인 그래프모드로 계속해 타고가보자
"2G83G35Hs2" 인지 비교한다는 걸 알 수 있다.
넣어주면, 성공메시지가 뜬다.
CheatEngine
사실 처음에 vbaStrCmp를 쳤는데 없다고 하여... __vbaStrCmp로 변경해도 없다하고..
당연히 StrCmp에서는 아무런 반응도 없고해서 그냥 대충 아무 곳이나 브레이크 포인트를 걸어보니
_vbaStrCmp로 언더바하나였다.... 튼 찾은 다음 브레이크포인트를 걸어주고
계속 타고 가다보면 아래와 같은 부분이 나온다. 위의 IDA와 비교해보면 동일하다
가입코드를 알아냈다
'Reverse Engineering > [CodeEngn] Basic RCE' 카테고리의 다른 글
[Reversing] CodeEngn - Basic RCE L07 (0) | 2024.07.02 |
---|---|
[Reversing] CodeEngn - Basic RCE L06 (0) | 2024.07.02 |
[Reversing] CodeEngn - Basic RCE L05 (0) | 2024.07.02 |
[Reversing] CodeEngn - Basic RCE L04 (0) | 2024.07.02 |
[Reversing] abex' crackMe #1 풀이 (0) | 2024.07.02 |