전체 글(440)
-
0x00CTF C#문제
보호되어 있는 글입니다.
2017.12.30 -
0x00CTF C4
보호되어 있는 글입니다.
2017.12.30 -
34C3 CTF
보호되어 있는 글입니다.
2017.12.29 -
0x00ctf hello
후아 테이블이 사라져서 어떻게 풀어야할지 멘탈 나갔다가 offset부터 꼼꼼히 보면서 어떻게 푸는지알게 됬다. #include int main(){char buf[] = { 0x01, 0x16, 0x79, 0x44, 0x04, 0x64, 0x12, 0x5A, 0x01, 0x0C,0x2F, 0x21, 0x72, 0x53, 0x60, 0x16, 0x02, 0x2A, 0x16, 0x24,0x33, 0x62, 0x60, 0x7B }; char key[] = { 48, 120, 48, 48, 67, 84, 70, 123 };char input_key[] = {0};for (int i = 0; i
2017.12.29 -
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