Вся сложность в записи в запущенный файл. А почему бы не заюзать библиотекчку для этого? Назвать как-нить лево, типа OpenGLDriver.dll b юзать её ресурся для чего тебе надо. От супер мега хацкеров конечно не спасет, ну лучше чем ничего
A>Здравствуйте, nen777w, Вы писали: A>Вся сложность в записи в запущенный файл. А почему бы не заюзать библиотекчку для этого? Назвать как-нить лево, типа OpenGLDriver.dll b юзать её ресурся для чего тебе надо. От супер мега хацкеров конечно не спасет, ну лучше чем ничего
Сложности записи в тело запущенного exe как раз нет. Я выше описал способ это сделать.
Помимо записи я хочу ещё сделать патч, в частности патч (настройку) VTBL.
Здравствуйте, nen777w, Вы писали:
N>Коллеги, кинте plz пару линков на статьи или поделитесь кусочком кода, отвечающим на вопрос, как правильно записать (разместить) в exe что то свое. N>Например, Я хочу хранить в exe серийный номер, дабы не создавать на диске или в реестре файлов/записей. N>Т.е. работает приложение. Открыли на запись этот же файл в бинарном режиме, сместились куда надо (нашли метку?) записали, закрыли файл, если что то нужно подкорректировать, подкорректировали.
А как насчет такого трюка:
Пользователь скачивает инсталляционный пакет.
Непосредственно перед самой закачкой, какой-то php скрипт пишет в иссталляционынй пакет серийный номер,
либо как вариант, прописывается номер в exe-шник, и потом на сервере собирается инсталляционный пакет,
хотя это наверное сложнее.
Потому, в случае первого варианта, исталляционный пакет перед окончанием работы быстренько прописывает
в exe-шник сериыйный номер. Думаю, у антивируса не возникнет подозрения от того, что инсталляционный
пакет создает exe-файл?
То есть прикол в том, чтобы номер прописывался ДО первого запуска приложения пользователем, а именно во
время скачивания.
В общем, мой совет не к тому, как вообще записать в ехе-шник, а как записать так, чтобы ни один антивирус
носа не подточил, да и хакерам жизнь усложнить. Кроме того, если связать прописываемый серийный номер с
зарегистрированным пользователем, можно получить немного информации о том, кто из твоих пльзователей
стал источником взломанной проги, если конешно, фокус не разгадают и серийник не притрут. А там глядишь,
выйдешь на e-mail, IP-адреса, и личность хакера. Хотя это больше фантазии.
Сори что квотинг убрал.
Ага. Я как раз так и думал. Типа юзверь выбирает место куда ставить, получаем серийный номер девайса, или ещё что то, просим ввести ключк, генерируем ключ привязаный к этому номеру, создаем в процессе инсталяции екзкшник с прописанным ключиком.
Вот как то так.
Хотя надёжно защитить не получится. На данный момент времени мне известно только одно приложение которое вот уже 2-года не могут взломать и наверно никогда и не взломают. Это Steinberg Cubase 4.
Steinberg Cubase 3 — базировался на такой же защите, но его усилиями команды H2O взломали, хотя они честно признались что это было охринительно сложно, в 4-й версии они что то там подправили и теперь вероятно взломать его уже не сможет никто.
Здравствуйте, Rocky, Вы писали:
... R>И еще: если прога лежит в Program Files, то там часто бывает режим только для чтения, вернуть пропатченную версию не получится под простым пользователем.
В висте есть "виртуальные"(FILE_ATTRIBUTE_VIRTUAL) файлы — Физически такой файл находится в профиле, а отображается может на 'Program Files'. "Фича" для совместимости с любителями писать в системные папки.
Здравствуйте, nen777w, Вы писали:
N>Хотя надёжно защитить не получится. На данный момент времени мне известно только одно приложение которое вот уже 2-года не могут взломать и наверно никогда и не взломают. Это Steinberg Cubase 4. N>Steinberg Cubase 3 — базировался на такой же защите, но его усилиями команды H2O взломали, хотя они честно признались что это было охринительно сложно, в 4-й версии они что то там подправили и теперь вероятно взломать его уже не сможет никто.
Cubase 3 был защищен аппаратным ключом (USB), который они смогли проэмулировать программно.
Здравствуйте, nen777w, Вы писали:
N>Коллеги, кинте plz пару линков на статьи или поделитесь кусочком кода, отвечающим на вопрос, как правильно записать (разместить) в exe что то свое.
Вариант, допускающий запуск под контролем атакующего, не обеспечит надёжную защиту. Правильно — делать это на своём сервере. Как-то так
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth