Для нахождения алгоритма преобразования значений, давайте проанализируем предоставленные данные. У нас есть 5 пар начальных и преобразованных значений. Мы будем ис...
- 2552071029 AEC1B8
- 2483888596 2B84B0
- 11472864 07F0F5
- 16026685 BC312F
- 1389009589174380181 A9659A
Начальные значения представлены в десятичной системе, а преобразованные — в шестнадцатеричной. Нам нужно понять, как происходит это преобразование.
Для начала, давайте преобразуем начальные значения в шестнадцатеричную систему и сравним их с преобразованными значениями.
- 2552071029 в шестнадцатеричной:
- 2483888596 в шестнадцатеричной:
- 11472864 в шестнадцатеричной:
- 16026685 в шестнадцатеричной:
- 1389009589174380181 в шестнадцатеричной:
Теперь сравним полученные шестнадцатеричные значения с преобразованными:
- 2552071029 (0x98C9B1D5) AEC1B8
- 2483888596 (0x92B2D0D4) 2B84B0
- 11472864 (0xB0B0C0) 07F0F5
- 16026685 (0xF4C5D5) BC312F
- 1389009589174380181 (0x123456789ABCDEF) A9659A
На этом этапе мы видим, что преобразование не является простым переводом в шестнадцатеричную систему. Возможно, используется какая-то функция хеширования или шифрования.
Попробуем проверить, есть ли возможность применения битовых операций, таких как XOR, с определенными значениями или масками.
-
: Попробуем применить XOR между начальным значением и некоторыми фиксированными значениями, чтобы получить преобразованные.
-
: Если мы найдем фиксированные значения, которые при XOR с начальным значением дают преобразованное, это может быть нашим алгоритмом.
На основании анализа и преобразования, алгоритм, скорее всего, включает в себя сложные битовые операции или шифрование, которое не может быть легко определено без дополнительной информации о методах шифрования, используемых в MIFARE, HID и NFS.
Рекомендуется провести дополнительные тесты с другими значениями и, возможно, использовать известные алгоритмы шифрования для проверки.