2017/12/28(2)
-
0x00 CTF challenge 001
도움 준 이 : ddddh 도움 내용 : GetDialogTextW 아시죠? 이 한마디로 인해 잘못된 곳에 bp를 걸고 있다는 사실을 알게 되었고, 문자열의 길이를 구할 수 있었음. 처음에 내가 입력한 A(문자열 길이만큼) 특정 루틴을 하는가 싶어서 모든 함수를 다 들어가보다가 자포자기의 심정으로 step over를 연발하다 heap alloc을 했으니 heap free를 하는 부분을 만나게 되었는데 heap free하기 바로 직전에 EDX 레지스터에 키 값이 들어가있었다. 소요시간 2시간 이상. 감을 좀 더 깊게 잡을 필요가있었다.
2017.12.28 -
0x00 ctf guessme
소요시간 약 1시간 소스코드랑 순서도를 유심히 살펴보았고, 처음에 길이 부터 체크를 하려했으나 정적분석으로는 길이체크가 불가능했음. 아무래도 실력이 아직 부족한듯. 동적 디버깅을 통해 길이를 알 수 있었고, 대문자 A를 적었을 때 FFFFFFFFE라는 값이 떠서 당황했다가 소문자 a를 적었을 때 그에 따른 기존값과 입력값의 차이를 명확히 알 수 있어서 문제를 풀 수 있었음.
2017.12.28