Я пытаюсь выяснить, как определить, был ли сжат двоичный файл с помощью UPX. Я использую простой CRC, чтобы определить, изменилось ли мое приложение, и если CRC завершился с ошибкой по размеру из-за пакета, я бы хотел обнаружить это как ОК.Обнаружение UPX программно
Сейчас я начинаю с UPX.
Итак, есть ли маркер на двоичном коде? есть ли какие-либо конкретные JMP или другие инструкции, которые я должен искать?
В основном это будет протестировано в Windows, но в будущем я могу добавить его и в Linux.
Любая помощь (и код) оценивается.
Добавлено:
Я обнаружил, что в 10 бинарных файлов я проверил
AddressOfEntryPoint
Import Directory RVA
Resouce Directory RVA
либо точку UPX или иметь смещение, которое задается UPX. Любая информация об этом?
Благодаря
Попробуйте найти исходный код распаковщика UPX, я уверен, что алгоритм обнаружения UPX должен быть там – Machinarius
Уже сделал, и это беспорядок, мягко говоря. –