Имеется EXE файл. Требуется сделать так, чтобы при запуске он спрашивал пароль или что-то вроде этого, а после чего уже запускался или нет, если можно, то зашифровать исходный EXE. Как написать код, проверяющий пароль и т.п. представляю. Не знаю как превратить исходный EXE в защищенный этим кодом. Какие есть методы решения этой проблемы? Можно ли написать универсальный "инфектор", защищающий любой EXE файл этим кодом?
Берем обычный упаковщик с открытым исходным кодом, слегка его правим под шифрование секций введенным паролем, правим stub, чтоб спрашивал пароль у юзера и им расшифровывал секции в runtime, храним CRC преждних секций и сравниваем с полученными после расшифровки значениями. Если все ок передаем выполнение на OEP, если нет - выходим. Вот и все! RTFM статьи volodya об упаковщиках.
Freepriman Зайди в раздел пакеров на cracklab.ru там есть пакер с уже готовыйм нужным тебе функционалом.
PaCHER, gazlan, требуется для проверки пароля внедрить именно мой код, RAR и другие программы как правило такого не позволяют, если я не прав, поправьте меня. Спасибо всем за советы!!!
Не думай только что твой подход защити твою программу от cracklab.ru (: Если надо протектить бери смело Armadillo ASProtect EXECryptor последние которые найдешь (или покупай), выставляй там все галки по защите которые найдешь, потом тести свою прога на разных осях, если все отлично - ломать ее будут долго (:
По памяти, в RAR можно прикрутить свой stub, в PECompact - свой плагин. Исходник UnRAR и UnRAR DLL были на оф.сайте.
проще было бы не хранить никаких crc, просто пошифровать, и по паролю расшифровывать и запускать. Правлелоьный пароль - правельно расшифровался и запустился, а если неправильный ну чтож, ексепшн тебе. Тогда крякеру осталось бы немного зацепок, кроме как отбрутфорсить. с crc он тоже может брутфорсить, но это будет чуточку быстрее чем без него.
k3internal Да какие проблемы! Не устраивает чела crc - сделай че-нить посложнее. ))) Можно отреверсить Hash calculator by Ivanopulo. Там, имхо, реализовали почти все. ))) Выбираем понравившийся алгоритм - и в стаб его, в стаб! Кстати, никто не знает пакер, который бы расшифровывал секции кусочками ))) в зависимости от направления выполнения проги. Естественно, запускал бы ее в режиме отладки. С той целью, чтоб в памяти никогда полный образ не висел) Чтоб с дампом помучались)))
IceFire дело не в простоте или сложности, дело в наличии самой проверки на валидность т.е. злоумышленик сможет проверять ключ, проверяя CRC расшифрованного блока а можно просто скомпилировать из исходников, а не рипать. к тому же в сети явно побольше выбор алгоритмов, нежели в HashCalc многие знают. и ты тоже узнаешь, если немного почитаешь по теме Freepriman зачем нужно выполнять свой код в стабе? ты не доверяешь AES?
h**p://w*w.bitsum.com/docs/pec2_russian/00overview.htm Кроме того, PECompact2 поддерживает плагины-загрузчики, т.е. вы можете сами создавать свои загрузчики, приобретя соответствующий набор инструментальных средств разработки (SDK).