버퍼 오버플로에 취약한 프로그램을 개발할 숙제를하고 있습니다. 큰 char
어레이를 생성하고 먼저 조작 지침없이 완전히 채 웁니다.다중 문자 상수 경고 문제를 해결하는 방법
내가 믿어야 할 것은 악의적 인 코드를 버퍼 어딘가에 복사하고 (악의적 인 코드를 어떻게 든 할 수있는 부분) 공격 가능한 함수의 반환 주소를 어떻게 든 수정하여 악성 코드가 어디에 있는지 입니다.
내가 설정하고자하는 주소를 알고 있습니다 (예 : ½¾¿º
). 그러나 몇 가지 경고가 표시되며 원인에 대해 알지 못합니다. 나는 각 과제에 대한 얻을
int start_of_return_address = 10;
chars[start_of_return_address + 0] = '½';
chars[start_of_return_address + 1] = '¾';
chars[start_of_return_address + 2] = '¿';
chars[start_of_return_address + 3] = 'º';
경고입니다 :
이
코드 (본질적으로) 경고를 일으키는 즉 내가의bdbebfba
(주소를 변환하여 주소를 가지고
warning: overflow in implicit constant conversion
warning: multi-character character constant
악의적 인 코드)을 문자로 변환합니다 (
½¾¿º
을 생성 함).
경고를 유발할 수있는 아이디어 또는 문자 배열에 주소를 복사 할 수있는 다른 방법은 무엇입니까?
숙제를위한 것임을 명심하십시오.
어떻게 'bdbebfba'를'문자 '로 변환 했습니까? – ArjunShankar