Как сделать привязку к файлу

Обновлено: 08.07.2024

↑ Как удалить ассоциацию файлов в Windows 10

В своих параметрах Windows 10 может предложить либо смену одной программы по умолчанию на другую по типу того, как это делается в свойствах файлов, либо сброс ассоциаций к дефолтным.

↑ 1. Настройки стороннего софта

Некоторые сторонние программы при установке не втихую назначают сами себя главными в системе по открытию того или иного типа файлов, а позволяют пользователю решить, под какие расширения он хочет подвязать эту программу. При установке такого софта нужно просто снять галочки либо со всех поддерживаемых расширений, либо только с нужных, для которых планируется в дальнейшем выбор открытия.

↑ 2. Удаление расширений в системном реестре

Универсальный способ отвязки ассоциаций, действующий для любого установленного в Windows 10 софта – это правка реестра системы. Открываем regedit.exe. Раскрываем ветвь:

И так проделываем с каждым отдельным типом файлов. После чего перезагружаем систему. И вот - можем наблюдать файлы, не привязанные к запуску конкретной программой.

Комментарии (8)

Рекламный блок

Подпишитесь на рассылку

Навигация

Облако тегов

Архив статей

Сейчас обсуждаем

img

admin

На вашем ноутбуке Lenovo IdeaPad 3 17ALC6, 17.3", IPS, AMD Ryzen 5 5500U имеется один слот для

img

admin

Как думаете, есть шанс если просто заменить оригинальные файлы реестра вместо старых? А где вы

img

admin

Samsung 980 PRO на 250 Гб в режиме PCI-E 3.0 будет записывать быстрее, чем 970 EVO Plus, читайте

img

admin

Значит, активируйте систему.

img

admin

Какую операционную систему вы хотите установить и какая у вас модель материнской платы?

RemontCompa — сайт с огромнейшей базой материалов по работе с компьютером и операционной системой Windows. Наш проект создан в 2010 году, мы стояли у истоков современной истории Windows. У нас на сайте вы найдёте материалы по работе с Windows начиная с XP. Мы держим руку на пульсе событий в эволюции Windows, рассказываем о всех важных моментах в жизни операционной системы. Мы стабильно выпускаем мануалы по работе с Windows, делимся советами и секретами. Также у нас содержится множество материалов по аппаратной части работы с компьютером. И мы регулярно публикуем материалы о комплектации ПК, чтобы каждый смог сам собрать свой идеальный компьютер.

Наш сайт – прекрасная находка для тех, кто хочет основательно разобраться в компьютере и Windows, повысить свой уровень пользователя до опытного или профи.

Есть моя программа, которую я хочу отдавать пользователям.
Программа читает зашифрованные мной файлы и выводит в нормальном виде пользователю.
Нужно сделать привязку к железу.
Мне интересен ход действий при лицензировании. Поделитесь опытом.

привязка к железу это плохая идея, много раз хотел отрезать яйца разработчикам которые это сделали, ибо на ответственном участке при выходе из строя ты просто теряешь то за что заплатил немалые деньги , хотите нормальной защиты и удобства для пользователей, применяйте USB токен

Если вы не очень хорошо разбираетесь в программировании (судя по остальным вашим вопросам), то лучше для защиты использовать какое-нибудь готовое ПО. Потому что в противном случае вы можете потратить месяц на реализацию защиты, которую более-менее грамотный крекер потом обойдёт одним NOPом.

Если бы мне нужно было готовое ПО , я бы купил готовое ПО. И судя по вашему ответу человеку который как по вашим словам не разбирается в программировании и не нужно дальше разбираться, а брать готовое. Вопрос был о том как привязать ПО к железу или услышать ответ разбирающихся в программировании людей.

1 ответ 1

Ответ хороший, плюсанул. Но хочу обратить особое внимание на то, что 1. Защита должна соответствовать защищаемому продукту. Запросто окажется, что стоимость внедрения защиты выше стоимости самого продукта. 2. Защита должна быть адекватной. Это значит, что она не должна мешать пользователю. Простой пример - 1с на сервере в режиме программной эмуляции (hyper-v, esxi или подобное). Меняем размер винчестера (виртуального. ) - требуется переактивация. Защита не должна глючить. Например, в ситуации, если есть привязка к серийнику диска, а их в системе два. И т.п. соображения

Гипотетически можно, например, привязаться к серийному номеру операционной системы, благо его можно из реестра цепануть. Ну, и надеяться, что пользователь не будет ее переустанавливать каждый день

Полностью согласен, я бы защиту делал максимально простой. Пока программа не широко распространена её мало кто будет ломать. А вот из-за того, что нет нужного функционала или плохое юзабилити больше вероятность того, что пользователь не купит.

1. Вопрос к чему цепляться. Дешёвые китайские мамки через WMI могут не отдавать информацию ('To be filled by OEM' в ответ на запрос о производителе, например).

Тут всё достаточно извращенно 'select caption from Win32_volume where systemvolume=True' - вернет системный диск, случается, что операционка не на c: установлена. Затем через 'SELECT Dependent,Antecedent FROM Win32_LogicalDiskToPartition' найти имеется ли в свойстве Dependent имя системного диска, Antecedent - для этой записи будет содержать имя раздела. Затем 'SELECT Dependent,Antecedent FROM win32_diskdrivetodiskpartition' вернет в Antecedent уже значение индекса диска. А уже после этого можно сделать запрос SELECT * FROM win32_Physicalmedia where tag like '%physicaldrive0%'

Как настроить и добавить путь к программе в системную переменную Path в Windows 10, Windows 8 и Windows 7

Если вам интересна тема компьютерных сетей, то в блоге уже практически закончена первая часть курса по основам компьютерных сетей, можете ознакомиться с ее содержимым. И вот здесь можно получить немного информации о самом курсе.

Что такое переменная Path и зачем она нужна в Windows. Зачем нужно добавлять путь?

PATH – это системная переменная окружения Unix-подобных (например, Linux Mint) операционных систем, а также операционных систем семейства Windows. В переменной PATH нет ничего сложно и хитрого, это обыкновенный список папок и каталогов, в которых лежат исполняемые файлы (программы). Программы, путь к исполняемым файлом которых задан в системной переменной PATH, могут быть исполнены (запущены) непосредственно из командной строки Windows и из любого места вашей файловой системы (в Linux тоже есть командная строка, но ее лучше называть эмулятор терминала).

Давайте лучше посмотрим на примере зачем нужна переменная PATH в операционных системах семейства Windows (как, впрочем, и в других семействах). Смотреть будем на примере сторонней утилиты командной строки Windows tracetcp.exe. Она у меня установлена по следующему пути: c:\Program Files\tracetcp\. Запустим командую строку Windows и попробуем выполнить команду tracetcp.

Пробуем запустить стороннюю утилиту командной строки Windows

Поскольку мы находились в папке, отличной от той, где находится файл tracetcp.exe, а пути в переменной PATH к этому файлу не оказалось, командная строка просто не смогла его найти, чтобы исполнить, давайте всё-таки его запустим, для этого нужно будет перейти в папку c:\Program Files\tracetcp при помощи команды cd (в операционных системах Linux тоже есть команда cd и работает она аналогично), а затем запустить утилиту.

Запуск исполняемого файла в командной строке Windows

Запуск исполняемого файла в командной строке Windows

Теперь командная строка Windows смогла запустить нашу утилиту, поскольку смогла найти исполняемый файл tracetcp.exe, но каждый раз переходить в папку, где лежит исполняемый файл или каждый раз указывать абсолютный путь к исполняемому файлу — это очень неудобно, будет гораздо лучше, если мы укажем путь к исполняемому файлу в переменной PATH, тогда командная строка будет самостоятельно его находить в любое время и в любом месте.

Исполняемый файл был запущен, поскольку путь до него был добавлен в системную переменную Path

Исполняемый файл был запущен, поскольку путь до него был добавлен в системную переменную Path

На рисунке выше показано, что командная строка смогла запустить приложение из домашней папки пользователя, но это лишь благодаря тому, что я добавил путь исполняемому файлу в переменную PATH, теперь команда tracetcp будет работать из любой другой папки. Утилита tracetcp довольно простое приложение, представляющее собой один исполняемый файл — tracetcp.exe, можно было бы не прописывать путь в переменную PATH, а просто скопировать этот файл в папку System32, но устанавливать сторонние и непроверенные приложения, не требующие наличия файлов в System32, не самая хорошая и безопасная затея. В Windows лучше потратить немного времени на то, чтобы добавить путь к файлу в переменную PATH, о том как это сделать мы и поговорим ниже, рассмотрев этот процесс для операционных систем Windows 10, Windows 8 и Windows 7.

Как добавить путь к программе в системную переменную Path в Windows 10 и Windows 8

Используем поиск Windows, ищем по ключевому слову Система

Используем поиск Windows, ищем по ключевому слову Система

Чтобы добавить значение в переменную PATH переходим во вкладку Дополнительные параметры системы

Чтобы добавить значение в переменную PATH переходим во вкладку Дополнительные параметры системы

Нажимаем на кнопку Переменные среды

Нажимаем на кнопку Переменные среды

Появится еще одно окно, которое позволяет управлять системными переменными Windows 10. Обратите внимание: в это окно разделено на две части, в верхней части происходит управление переменными среды для текущего пользователя, в нижней части расположены системные переменные.

В разделе Системные перемененные ищем переменную PATH

В разделе Системные перемененные ищем переменную PATH

Дбовляем путь к исполняемому файлу в системную переменную PATH в Windows 10

Закройте все остальные окна. Если у вас была открыта командная строка, вы можете убедиться в том, что она не увидела новое значение переменной PATH, попробуйте выполнить tracetcp из корня диска C, ничего не сработает. Когда вы добавляете новый путь в переменную PATH, программе cmd.exe нужно перечитать значения этой переменной, самый простой способ заключается в том, чтобы закрыть и заново открыть командую строку. Теперь команда tracetcp работает из любой папки, аналогично можно поступать и с другими программами командной строки, которые вы устанавливаете в Windows.

Как настроить переменную Path в Windows 7

К сожалению, у меня не осталось скриншотов, на которых можно было бы продемонстрировать добавление пути в системную переменную PATH на Windows 7, поэтому здесь будет только пошаговый алгоритм добавления значения в переменную PATH:

Как видите, настроить переменную PATH в Windows 7 не так уж и сложно.

Выводы

Вы этой статье мы разобрались с назначение системной переменной PATH и отметили, что в каждой операционной системе оно одинаковое и заключается в том, что переменная PATH является списком каталогов, в котором хранятся исполняемые файлы, если путь к исполняемому файлу есть в переменной PATH, то он может быть исполнен из командной строки операционной системы. Также мы разобрались с тем, как прописать путь к исполняемому файлу в операционных системах Windows 10, 8, 7.

Если юзер скопирует программу на другой комп, то программа естественно не заработает, т.к. параметры железа другие.

Все было бы хорошо, но хочется еще усилить защиту. Ведь как ломают программу? Ищут место, где проверяется защита и отключают его. Мне пришла идея, что нужно в лицензионный шифрованный файл добавить какую-то жизненно необходимую информацию, без которой программа не будет работать. Никак не могу придумать что туда добавить. Есть ли у кого опыт в этом вопросе?

Привязка к "железу" ИМХО не эффективна, слишком уж ограничивает пользователя + HASP удобно прописывать количество пользовательских лицензий.

у виртуалок - своё "виртуализированное" железо. конечно какие то параметры типа MAC-адреса сетевой карты - можно и руками пробить, но в остальном - это как другой компьютер.

собранные параметры железа можно использовать как ключ к алгоритму шфрования. допустим какого то блока памяти с промежуточным участком кода. а может - и пакер полноценный написать. причём не проверять соответствует ключ или нет. а брать - и расшифровывать. другое железо - в памяти мусор, и попытка выполнить данный код - заканчивается известным окном "приложение выполнило недопустимую операцию" - но тогда саму программу, или её отдельный модуль - придётся перекомпилировать для каждого пользователя. в случае какой-нибудь реализации этого механизма в виде "DLL-она и может быть ключом", со вложенной в неё информацией.

Вопрос не в том, чтобы сделать математически неломаемую программу - это практически нереально. Вопрос в том, от кого мы защищаемся. Если взломщику будет не лень ломать программу год, шансы на успех минимальны, а защищаться надо по полной - встраивая методы противодействия отладке и декомпиляции, используя для проверки кодов "железа" самописные функции, а не системные вызовы, проверяя неизменность исполняемого кода при выполнении, многократно копируя функции проверок и т.д. Потому что иначе все обращения к железу и проверки ключа в exe-файле поменяют на "пустышки" и привет.

собственно в чём вопросы?
если усилить - то и нужно применять сильные ломы. программно-аппаратная защита лучше чем программная. тут правильно выше писали - смотрите в сторону железячных ключей защиты. Если Вы сами никогда не ломали программы, не дебажились, не кричали эврика подскочив на стуле - то Вы увы не сделаете защиту сколь более-менее значимую. Или скажем по другому - если вашу защиту Вы сами не сможете обойти - то это можно назвать не совсем плохой защитой. Почему Вы считаете а) что кто то будет именно так думать или действовать? б) что кто то глупее чем вы? в) делаете Вы один. Ломать будут тысячи (если только это кому то нужно будет).

То что Вы предполагаете - замечательно, но к защите не имеет никакого значения. Ломают программы по разному. Исскуство взлома заключается в том, чтобы не ходить теми путями которые Вы уготовили. Посему вам достаточно защищаться от пионэров. Для мало-мальских знающих любой отладчик - Ваши алгоритмы будут вызывать приступы смеха.

у вас есть компонента работающая на сервере - вот и постарайтесь заюзать её. Это будет более значимая защита чем любые шифровки вами заюзанные.

Читайте также: