2015년 11월 24일 화요일

crackme 14

리버싱
- crackme(abexcm14) -

프로그램 실행화면.
Name에 맞는 Key값을 찾는게 문제.


 스트링 검색을 통해 정확한 값을 입력했을때 출력되는 문자열을 찾음.


이곳으로 가서 위로 가면 0045BB9B를 CALL하는데 여기서 키가 만들어진다.


스텝인 해서 진행해보면
아래 부분에서 반복루프가 실행된다.





그리고 해당 지점을 계속 스텝오버해보면
아래 다섯부분에서 0000-0000-00000000-0000-0000
이렇게 다섯개의 숫자가 조합된 키값을 만들어낸다.





최초에 Name 값을 aasd를 입력하였는데
첫번째 루프에서
18F55C를 불러와 659A2240 를 만들고

두번째 루프에서
18F554를 불러와 107D07A4

세번째 루프에서
18F54C를 불러와 87C253EFDF0F386D2EA5E3D7C06DDC71

네번째 루프에서
18F548을 불러와 2D0CB3F3

다섯번째 루프에서
18F540을 불러와 215EAA49를 만든다.
3번째 루프는  앞에 8바이트를
1,2,4,5 루프는 앞에 4바이트를 사용한다.
그래서 최종적으로
659A-107D-87C253EF-2D0C-215E 라는 키값이 만들어진다.


저 루프값들에 들어가는 숫자가 만들어지는 방법을 알고싶었는데
LOCAL에 대한 주소값으로 만들어낸다는 것 밖에 알지 못했다.

댓글 없음:

댓글 쓰기