전체 글 (32) 썸네일형 리스트형 Layer7 - 리버싱 6차시 과제 보호되어 있는 글입니다. Layer7 - 리버싱 5차시 과제 prob3 0x00000000004007f6 : push rbp 0x00000000004007f7 : mov rbp,rsp 0x00000000004007fa : sub rsp,0x10 0x00000000004007fe : mov rax,QWORD PTR fs:0x28 0x0000000000400807 : mov QWORD PTR [rbp-0x8],rax 0x000000000040080b : xor eax,eax 0x000000000040080d : mov edi,0x0 0x0000000000400812 : mov eax,0x0 0x0000000000400817 : call 0x4005d0 0x000000000040081c : mov edi,eax 0x000000000040081e : call 0x4005.. Layer7 - 리버싱 4차시 과제 IDA를 쓰면 10초컷인 문제들이긴 한데 그럼 너무 날먹이니까 IDA안쓰고 gdb만으로 분석했다. (사실 수업때 gdb로 동적분석하는거만 알려주길래 IDA를 쓰면 안될것같았다.) prob1 까자마자 바로 보인다. scanf에서 rbp-0xc위치에 입력 받고 그게 0xdeadbeef와 같은지 비교해준다. 다를경우엔 jne로 main+93으로 뛰고 같을경우엔 안뛴다. 안뛸 경우에는 flag_generator함수가 호출되는데 이 함수의 return값을 puts로 그대로 출력해주는거 보니까 얘가 플래그를 만들어주는 함수임을 알 수 있다. 0xdeadbeef를 10진수로 바꾸면 3735928559가 되는데 이걸 입력해보면 플래그가 나오긴 한다. 여기서 끝내면 노잼이니까 flag_generator함수를 핸드레이 해.. 이전 1 ··· 4 5 6 7 8 9 10 11 다음