
Я пытаюсь сделать резервную копию некоторых файлов, которые были зашифрованы сторонним решением, которое мы используем в работе. Я хотел бы сделать резервную копию в незашифрованном состоянии, поскольку наше решение для резервного копирования имеет надежную опцию шифрования. Также стоит отметить, что файлы не нуждаются в стороннем программном обеспечении, чтобы быть полезными для нас.
У стороннего решения очень мало документации по их процессу шифрования, но у меня есть ключ, который хранится в базе данных, индексирующей зашифрованные файлы. У меня также есть доступ к файлам, на которые ссылаются базы данных.
Единственная проблема в том, что я не знаю, какой алгоритм шифрования использовала сторонняя компания для шифрования данных.
Есть ли какая-либо методика, с помощью которой я могу определить тип используемого шифрования, или существует ли программный инструмент, который позволит мне легко попробовать несколько различных процедур дешифрования и установить пароль?
решение1
Первое, что я бы попробовал, это сбросить символы на исполняемый файл приложения и поискать вероятные слова, такие как «encrypt», «AES» и т. д. Учитывая ваше описание, они могли прибегнуть к обфускации, которая по своей сути значительно усложняет вашу задачу. В худшем случае они были настолько глупы, что разработали свой собственный криптографический алгоритм!
Обратите внимание, что даже если вы можете определить алгоритм, этого может быть недостаточно. Многие симметричные алгоритмы шифрования используютвектор инициализации, и способ выбора IV не является стандартным.
Если простые способы реверс-инжиниринга приложения не работают, может быть проще обмануть приложение, заставив его не выполнять шифрование, подцепившись к нему и обойдя код шифрования. Другими словами, если вы не найдете более простого метода, чем найти часть приложения, которая выполняет шифрование, скорее всего, будет проще обойти эту часть, чем понять ее.