2015년 11월 18일 수요일

abexcm 4

리버싱
- crackme(abexcm4) -



프로그램을 실행시키면 아래와 같이 시리얼을 입력받고 버튼을 누르게 되어있다.
그런데 정확한 serial 값이 아니면 버튼을 누를 수 조차 없다.


처음 올리디버거로 실행시키면 crackme2와 같이 
비주얼베이직으로 만들어진 것을 확인할 수 있다.

search forstring text를 검색해보면 아래와 같이 
정확한 시리얼을 입력했을 때 출력될 것 같은 문자를 볼 수 있다.

해당 영역으로 가서 비교하고 조건분기하는 구문을 찾아 봐야하는데.
찾아보려고 했는데 잘 안보인다.
그래서 search for에서 all intermodular calls로 바로 찾아보았다.


뭔가를 비교할 것만 같은 함수가 있다.
그래서 BP를 걸고 올리디버거로 돌려보았다.


해당 위치로 가서 보면.
  PUSH EAX, PUSH ECX 하고 StrCmp함수를 불러 비교하는 것 같다.


이때 ECX2206425라는 값이 저장되어 있다.
그리고 계속 진행하면서 시리얼을 입력하면 이렇게 EAX값에 값이 하나씩 입력된다.

입력하다 보면
아래와 같이 Registered 버튼이 활성화 된다.


성공

댓글 없음:

댓글 쓰기