2016-08-21 3 views
0

fuzzer가 필요하지만 파일 자체가 손상되지는 않습니다. 내 말은, 내가 무작위로 파일을 모호하게하고 싶지만, 내가 열어서 나중에 테스트 할 수 있기를 원한다. (나는 손상된 파일을 원하지 않는다.)파일을 모호하고 보존하는 방법

예를 들어 zzuf를 사용하여 mp3 또는 png 파일을 바꿀 때 퍼지 파일을 더 이상 열 수 없습니다. 그래서 내가 어떻게 내용을 모호하게 할 수 있고 파일을 깨지는지 알고 싶습니다.

필자는 fuzz 할 바이트를 말하는 -b 옵션과 관련이 있다고 생각합니다. 하지만 preserver 헤더에 png 파일에 대해 zzuf -b 8-을 시도한다고해도 여전히 작동하지 않습니다. 올바르게 사용하지 않습니까?

나는 한번도 MP3, WAV, PNG, JPG 및 MP4에 대한 많은 많은 시간을이 일을하고, 시도

업데이트하려면 개방 파일이 있습니다. 그래서 fuzzer는 말 그대로 파일을 '파손'합니까?

+0

실제로 달성하려는 내용이 확실하지 않습니다. "내용을 모호하게"한다는 것은 무엇을 의미합니까? 이미지 또는 오디오 데이터를 망칠 궁극적 인 목적은 무엇입니까 (헤더는 제외)? –

+0

퍼지가 된 이미지 나 음악 파일을보고 싶습니다. 머리카락이 망가져 버린 경우,이 메시지가 손상되어 더 이상 열 수 없습니까? 적어도 그것은 나에게 일어나는 일이다. –

답변

0

여기에 문제가 없기 때문에 hachoir과 같은 도구를 사용하여 PNG 헤더와 데이터 영역의 위치를 ​​찾을 수는 있지만 저장되지는 ​​않습니다.

문제는 헤더뿐 아니라 압축 된 형식 (PNG)을 처리하기 때문에 "데이터"영역은 비트를 변경할 수있는 파일 형식이 아니므로 파일을 형식에 맞게 사용할 수 있습니다.

압축 된 데이터에는 압축 해제 된 데이터를 재구성하기 위해 압축 해제 알고리즘이 처리해야하는 "지침"이 포함되어 있습니다. 어떤면에서 압축 된 데이터 형식은 일종의 도메인 특정 이진 언어이며 압축 해제 기는 구문 분석하고 해석합니다.

이 언어 (유효한 압축 데이터 영역이있는 유효한 PNG 파일) 및 무작위로 twiddling 비트를 사용하면이 특정 언어에 따라 다른 유효한 프로그램 (유효한 다른 PNG)을 얻을 수 있습니다.

예를 들어, 순진한 RLE algorithm은 {바이트 내용, 발생 횟수} 바이트의 시퀀스를 생성합니다. "발생 횟수"바이트에서 한 비트를 변경하면 갑자기 압축 해제 된 데이터의 크기가 예상 숫자 인 width * height * depth 바이트와 달라져 이미지가 합리적으로 손상된 것으로 간주됩니다.

긍정적 인 결말로 인해 충돌이나 CPU/메모리 리소스가 부족하거나 하드 드라이브가 포맷되지 않고 퍼지 PNG를 열지 않으면 프로그램이 올바르게 작동하지만 좋은 점이 있습니다. 어떤 버그가 없다는 것을 의미하지는 않으며, 단지 당신이 그들을 찾지 못했음을 의미합니다.)

이미지 데이터를 아무 것도 모호하게하려면 아무 것도 필요하지 않습니다. 압축 해제 된 데이터에서 작동하는 fuzzer가 필요합니다. 그것이 존재하는지는 모르겠지만 그것을 사용하고자하는 형식 (PNG, MP3 등)을 완전히 인식 할 필요가 있습니다. 일반 이진 퍼지가 될 수 없습니다.

+0

감사합니다. 나는 당신이 말하는 것을 얻었습니다. 그래서 퍼지가 PNG라고 말할 때 압축을 풀어 나중에 열 수 있는지 또는 나중에 손상 될지 여부를 알 수 없습니다. 이것은 mp3와 같은 음악 파일이나 jpg, bmp 등의 이미지 파일과 동일합니까? 또는 모호하게하고 나중에 나에게 열어 줄 수있는 방법이 있습니까? –

관련 문제