Идентификация и обратный инжиниринг CRC от Hex - PullRequest
0 голосов
/ 21 октября 2019

Я работаю над выявлением и обращением CRC для шестнадцатеричного кода, который у меня есть. Шестнадцатеричный код содержит определенную информацию, которую я уже определил, но я не могу найти CRC и, следовательно, перевернуть его, чтобы внести изменения в файл, который важен для меня. У меня есть несколько файлов одного типа с незначительными изменениями между ними, и я пытался использовать это, чтобы найти, где может находиться CRC. Я нашел его в нескольких возможных местах, однако, когда я положил остаток в калькулятор, чтобы CRC проверил, что он не работает.

У меня есть догадка, что CRC-CCITT использовался, но неткалькулятор и никаких изменений в коде, кажется, идентифицировать это.

Есть ли другой способ идентифицировать и поменять CRC?

Я думал о написании кода для этого, но я не уверен, что это поможет, так как я не совсем уверен, какой CRCиспользуется.

Я создал XOR-файл, который показывает мне различия. Это помогло мне проверить, что я ищу 16-битный CRC, но не совсем то, что может быть полиномом, также он может быть в 2 разных местах.

Теперь у меня возникают проблемы с определением этого начала. конечные адреса, из которых рассчитывается CRC. У меня есть шестнадцатеричный код: 18H строк * 16 байт, 25D строк * 16 байт, каждая строка, поэтому очень сложно попробовать все варианты калькулятора в надежде найти CRC. Есть ли способ идентифицировать начальные и конечные адреса?

Вот файл XOR для справки:

00000000000001710000000000000005
00100d0032b100000000000000000000
0000000000000000000000007fc90000
00000000000000000000000000000000
0171000000000000000500100d000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000a00
0c400000003900000000000000090000
00000000000000000000000000000000
00000000000001a00000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
000000000000

Местоположения, которые возможны для CRC, могут быть:

02C and 02D = 7FC9

014 and 015 = 32B1
...