참고글: https://msdn.microsoft.com/ko-kr/library/ms175782.aspx
보안 관련 강의를 듣다보면 포맷 스트링 공격에 대한 언급이 나온다.
예시로 다음과 같은 코드를 보통 사용한다.
void main() {
long i = 0x00000064, j = 1;
printf("i의 주소 : %x\n", &i);
printf("i의 값 : %x\n", i);
printf("%64d%n\n", j, &i);
printf("변경된 i의 값 : %x\n", i);
막상 해보면 다음과 같은 오류가 발생한다.
해결 방법은 위의 참고글에 올라온대로
_set_printf_count_output(1);을 사용하면 된다.
정상적으로 출력이 되는 것을 확인할 수 있다.
void main() {
_set_printf_count_output(1);
long i = 0x00000064, j = 1;
printf("i의 주소 : %x\n", &i);
printf("i의 값 : %x\n", i);
printf("%64d%n\n", j, &i);
printf("변경된 i의 값 : %x\n", i);
}
'기타 자료들' 카테고리의 다른 글
IOS 빌드 'Flutter/Flutter.h' file not found (0) | 2024.12.17 |
---|---|
영상처리 관련 블로그 (0) | 2018.09.29 |
모두를 위한 머신러닝/딥러닝 강의 (0) | 2018.08.30 |
간단한 타일형 광고 제작 사이트 tyle.io (1) | 2018.07.04 |
무료 3D 애니메이션 사이트 Mixamo (0) | 2018.06.18 |