Итак, я обратил двоичный файл ELF и заметил, что он вызывает функцию " sprintf ", и, поскольку мой опыт работы с C не так хорош, я обнаружил, что эта функция преобразуетбуфер символов в строку .
Код, который я использовал с помощью ltrace
[pid 943] sprintf("C0DE0E0E1E5250B88E06073C2DC-C11FEEF0", "%X%X%X%X-%X", 0xc0de0e0e, 0x1e5250, 0xb88e060, 0x73c2dc, 0xc11feef0) = 36
[pid 943] strcmp("C0DE0E0E1E5250B88E06073C2DC-FB21AE10", "C0DE0E0E1E5250B88E06073C2DC-C11FEEF0") = 3
[pid 943] +++ exited (status 0) +++
Я попытался преобразовать шестнадцатеричные значения с помощью python и дать емуПопробуйте, но он не выполнил вызов strcmp .
ниже - скриншот декомпилятора Ghidra.
Кто-нибудь может объяснить?