리버싱
- crackme(abexcm2) -
해당 프로그램은 비주얼베이직으로 만들어졌습니다.
실행시키면 아래와 같이 프로그램이 실행되고, Name과 Serial값을 입력받는곳이 있습니다.
일단 아무 값이나 입력해서 Check 버튼을 누르면.
시나 잘못된 시리얼 번호라고 나옵니다.
잘못된 시리얼을 입력했을시 Wrong serial!이라는 메시지박스가 뜨는 것으로 보아...
비교하여 다른 경우 저 메시지 박스를 띄우는 것으로 추측할 수 있다.
그럼 Search for에서 All refereneced text strings에 들어가서 해당 메시지를 검색해보면.
잘못된 시리얼이라는 유니코드 문자열과 올바른 시리얼이라는 유니코드 문자열이 나옵니다.
Yep, this key is right!라고 뜨는곳으로 가서 코드를 보면.
EDX, EAX에 PUSH를 한후 함수를 호출하고 있다. vbaVarTstEq가 수상한데...
BP를 걸고 안에 들어가서 보게되면.
VarCmp라고 무언가를 비교하는 것 같은 함수가 있다.
스텝 인투해보면.
VarBstrCmp를 만나게 되고 이때 비교하게 되는 스택을 확인하게 되면.
‘C5C5C5C5’와 ‘12345’가 들어있다. 이렇게 두 개 비교하는 것 같은데
그럼 ‘aaaaa’에 맞은 시리얼번호가 ‘C5C5C5C5’ 인데 내가입력한 ‘12345’와 비교하나보다.


댓글 없음:
댓글 쓰기