전체 글 80

[dreamhack] level2 ez_rev

해당 파일을  실행하면 특정 값을 입력할수 있고, 입력을 마치면 KKKK라는 문자열이 출력된다.  IDA 분석main 함수를 디컴파일 하면 위와 같은 코드를 확인할수 있다. 1. 사용자에게 입력을 받고 입력받은 값을 _0에 저장2. 사용자의 입력값을 특정 연산을 통해 변환함3. v12의 문자열과 비교4. (!v8 && !v9) == v8  조건을 만족하면 Correct 출력 ida에서 off_4E50F0의 값을 확인하면 "qksrkqs"가 저장되어 있는 것을 확인할수 있다. 사용자가 입력한 값을 변환한 값이 "|l|GHyRrsfwxmsIrietznhIhj"와 일치해야 한다.따라서 변환된 값이 |l|GHyRrsfwxmsIrietznhIhj가 되려면 어떤 값을 입력해야하는지 알아내야한다. 따라서 flag를 ..

[dreamhack] level 1 Check Function Argument

main 함수를 디컴파일 하면 위와 같은 코드가 나온다. 문구를 살펴보니 puts문 아래의 함수의 파라미터에 flag가 존재하는듯하다. 따라서 해당 함수의 주소에 bp를 걸고 gdb를 통해 디버깅을 시도해봤다. sub_4015E2 함수 주소 : 0x00000000004015E2 b *0x00000000004015E2 위의 실행 결과에서 알 수 있듯이Flag is DH{63db030352ca9f9f5e6b8a59c0527bee}'이렇게 flag가 출력되는 것을 확인할 수 있다.