누군가 파일의 특정 오프셋에서 힘 값을 무차별시키는 방법을 알고 있습니까? 무차별 강제 실행이 필요한 4 개의 연속 바이트입니다. 손상된 파일의 올바른 SHA-1을 알고 있습니다. 그래서 내가하고 싶은 것은 바이트 값을 변경할 때마다 완전한 파일 SHA-1을 비교하는 것입니다.
데이터 복구 전문가가 파일을 복구 문제로 제공했기 때문에 변경된 정확한 4 바이트를 알고 있습니다. 알고 싶은 사람들을 위해 rar 파일에는 의도적으로 변경된 4 바이트가 있습니다. 변경된 4 바이트와 원래 SHA-1의 오프셋을 들었습니다. 4 바이트가 변경되면 아카이브에서 정확한 파일을 복구하는 것이 불가능하다고 말했다. 비록 그것이 단지 몇 바이트이고 손상이 어디 있는지 정확히 알고 있었다고해도. 복구 기록이 없기 때문입니다. 특정 4 바이트를 올바르게 채워 넣을 수있는 방법이 있는지 확인하려고하므로 파일이 오류없이 압축 해제됩니다. 파일 크기는 약 5MB입니다.
예 :
내가 원하는 것을 정확하게 정의하기 위해 사진을 올렸습니다. 더 많은 담당자와 함께 누군가 나를 위해 여기에 게시 할 수 있다고 생각합니다.
내가 집중하고있는 예제 오프셋 0x78
은 첫 번째 그림 CA
이 스크립트가 값을 1만큼 가져 오기를 원할 때 첫 번째 그림이 값을 표시하는 위치 이므로 CB
두 번째 그림과 같이됩니다. 값을 계속 늘리고 1
매번 전체 파일 SHA-1을 비교하고 싶습니다 . 지정된 오프셋에서 4 바이트 만 변경합니다.
CAC5C58A
SHA-1 을 시도 하고 비교합니다. 일치하지 않으면을 시도한 다음 CBC5C58A
첫 번째 값에 도달 FF
하면 계속 진행합니다 00C6C58A
. 기본적으로, 나는 00000000-FFFFFFFF
그것을 시작할 수 있기를 원하지만 시작하고 끝나는 곳을 선택할 수있는 옵션을 갖기를 원합니다. 시간이 걸릴 수 있지만 여전히 시도하고 싶습니다. 손상 된 바이트의 정확한 오프셋을 알고 있습니다. 올바른 값만 있으면됩니다.
Google에서 검색하는 경우 : "무차별적인 방법으로 손상된 파일을 수정하는 방법"Linux 프로그램을 작성한 사람이 있습니다. 그러나 프로그램에 포함 된 파일에 대해서만 작동합니다. 내 파일과 동일한 프로세스를 사용하는 방법을 찾고 있습니다.