Phantom

Crackme – 10 본문

Pwnable/Crackme 처음 풀 때

Crackme – 10

Ph4nt0m_ 2016. 3. 1. 14:01
반응형

이번에도 시리얼 문제이다.

이름이 이게 자꾸 바뀐다 허허..

 

아이다를 통해 열어보자

IsDebuggerPresent 함수를 실행하고 리턴값이 0이면 DialogBoxParam 함수를 실행한다

우선 IsDebuggerPresent 함수부터 알아야 겠다.

이 API함수는 디버깅을 감지하는 함수 인데, 디버거같은걸로 열린지 아닌지 탐지할 수 있는데, 디버거로 열리면은 1을 아니면 0을 반환 한 다.

이것은 억지로 0으로 수정한 후에 아래를 실행해야 한다

그리고 스트링을 검색하여 정답인 부분으로 가서 cmp문 근처에 BP를 건다

lstrlenA함수의 리턴값과 0xE를 비교한다.

길이가 14이어야 하나보다, 그래서 길이를 14로 맞춘 후 다시 실행했다.

Lstrcpy와lstrcat함수로인해 VaZoNeZ가 두 번 붙고 내 PC의 유저네임을 저장했다.

그리고 프로그램 길이만큼 루프가 돌면서 VaZoNeZ VaZoNeZ가 변하더라 아마 시리얼로 추정한다.

일단은 에러로 떴다 다시 프로그램을 실행해 저 문자열을 넣고 실행해봐야겠다.

클리어!!

 

아이다가 왜이리 어려운지 모르겠다. 헥스레이와 그래픽 뷰는 좋은데..

아이다로 푼 것이다.

반응형

'Pwnable > Crackme 처음 풀 때' 카테고리의 다른 글

Crackme – 12  (0) 2016.03.01
Crackme – 11  (0) 2016.03.01
Crackme – 9  (0) 2016.03.01
Crackme – 8  (0) 2016.03.01
Crackme – 7  (0) 2016.03.01
Comments