2017-12-05 27 views
0

저는 1996 년에 지어진 오래된 3D 프린터를 "해킹 중"입니다. 오래된 Windows PC에서 실행되는 소프트웨어가 있습니다. 프런트 엔드에서 액세스 할 수없는 일부 매개 변수를 수정해야하므로 config 파일을 수정하고 싶습니다. 그러나 뭔가를 수정하면 더 이상 읽을 수 없습니다. 내가 파일의 끝에 체크섬이 있다는 것을 알았습니다. 그리고 나는 실제로 체크섬 전문가가 아닙니다. 파일을로드하는 동안이 체크섬이 다시 계산되고 끝에있는 체크섬과 비교된다고 가정합니다. 어떤 체크섬 알고리즘이 사용되는지 알아내는 데 문제가 있습니다.구성 파일 체크섬 추측 (CRC)

내가 이미 알아 낸 점 : 파일에 비트가 추가 된 것만이 아니라고 생각합니다. 두 문자를 전환 할 때 추가로 생성 된 체크섬은 변경되지 않습니다. 그러나 소프트웨어는 그 파일을 가져 가지 않을 것입니다. 체크섬 그렇게 보이기 때문에

나는, CRC16의 그 어떤 종류 같은데요 : 내가 몇 가지 일반적인 CRC16 매개 변수를 사용하여 그 수를 계산 한 후 "4f20"와 일치하는 항목을 찾을 수 없습니다로

0x4f20 

내가 생각
PACKET noname 
    style 502 
    last_modified 1511855084 # Tue Nov 28 08:44:44 2017 

    STRUCTURE MACHINE_OVRL 
    PARAM distance_units 
     Value = "millimeters" 
    ENDPARAM 
    PARAM language 
     Value = "English" 
    ENDPARAM 
    ENDSTRUCTURE 
ENDPACKET 
checksum 0x4f20 

중 하나 체크섬 자체 또는 전체 라인 "체 : 나는 여기

는 전체 샘플 파일입니다 .. 그것이 사용자 정의 CRC16해야한다고 가정 cksum 0x4f20 "계산할 수 없습니다. 왜냐하면 그럴 수 없으므로 (?)

아무 도움이됩니다.

편집 : 물론 체크섬이있는 파일이 더 많습니다. 그러나이 파일보다 훨씬 오래 걸립니다. 필요한 경우, 나는 그들도 제공 할 수 있습니다 ..

답변

0

RevEng이 목적으로 작성되었습니다. 입력 및 관련 CRC의 몇 가지 예가 주어지면 RevEng은 CRC 매개 변수를 유도합니다. 그것이 CRC 인 경우.