'파도콘'에 해당되는 글 1건

  1. 2010.02.28 [ Padocon 2010 ] Crackme 100 Breakme 풀이

2010.02.28 19:59 WarGame


지난번에 Padocon CTF 경기가 있었습니다

제가 참가하진 못했지만 문제는 쉽게 구할수 있더군요 '-'

그래서 구한 문제들을 한번 풀어보았습니다




Check the Value 버튼을 클릭하면

값을 검증한뒤

메세지 박스를 하나 띄웁니다

그 값을 검증 하는 부분을 찾아서

우회하면 답이 나오 겠죠

검증 하는 부분을 찾는 방법에는

메세지 박스 위로 쭉 trace 하며 찾는 방법과

사용자가 입력한 값을 T search 등을 이용해 메모리에서 찾아서 BP를 건다음에 그곳에서 부터 진행하는 방법

등이 있겠습니다

아, 간단한 안티 디버깅 부분이 있습니다



code 영역 초반에 보이는 부분입니다

위 스샷은 제가 이미 수정한 부분이구요

현재 실행된 프로세스 중에 ollydbg.exe 가 있는지를 검사하는 간단한 안티 디버깅 루틴이군요

문자열만 살짝 바꿔주면 정상적인 디버깅이 가능해집니다 :D




자 그럼 계속해서 

검증 루틴을 찾아보면




위 SendMessageW 에서는 각  슬라이더에서 값을 윈도우로부터 받아옵니다

리턴 값을 보면 각각의 값이 기록되있는걸 볼 수 있죠

그리고 IMUL 부분

모두 곱한다는 의미죠

다 곱해서 나온 값이 16진수로 6B77 , 그러니까 27511 이군요

이 값과 비교해서 맞으면 정답 메세지를 출력하겠죠

우회해봅시다



정답이라고 보기엔 너무 규칙성 없는 문자열이네요

모두 곱한 값을 체크 한다음에

사용자가 입력한 값을 기준으로 문자열을 생성하는 모양입니다

그 루틴을 찾아도 우리가 원하는 문자열이 무엇인지 모르기 때문에

세 수의 곱이 27511 인 값을 찾는게 해답을 찾는 방법이죠

끝자리가 1이니 손으로 찾는 것도 어렵진 않겠습니다만

간단히 코드를 짜봅시다 :D


어때요, 참 쉽죠?


'WarGame' 카테고리의 다른 글

[Python Challenge] level2 풀이  (0) 2010.03.05
[Python Challenge] level1 풀이  (0) 2010.03.05
[ Padocon 2010 ] Crackme 100 Breakme 풀이  (0) 2010.02.28
Vortex level3 풀이  (0) 2010.02.20
Vortex level2 풀이  (0) 2010.02.16
Vortex level1 풀이  (0) 2010.02.10
Posted by LinkC
이전버튼 1 이전버튼

블로그 이미지
LinkC

태그목록

Tistory Cumulus Flash tag cloud by BLUEnLIVE requires Flash Player 9 or better.

공지사항

Yesterday42
Today26
Total328,587

달력

 « |  » 2019.5
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

최근에 받은 트랙백

글 보관함


. .