![]() |
|
| Правила Форума редакция от 22.06.2020 |
|
|||||||
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
![]() |
|
|
Опции темы | Опции просмотра |
Language
|
|
|
#1
|
|
Неактивный пользователь
Пол:
Регистрация: 22.10.2007
Сообщений: 5
Репутация: 0
|
Кто-нибудь знает есть ли готовые модули для защиты программы от копирования путем привязки ее к железу машины (ID материнки или проца)?
|
|
|
|
| Реклама: |
|
|
#2
|
|||||||||||||||||||||||
есть много таких программ. щас могу тока вспомнить Armadillo. как ещё вспомню напишу
__________________
THE TRUTH IS OUT THERE |
||||||||||||||||||||||||
|
|
|
|
|
#3
|
|
Постоялец
![]() ![]() Пол:
Регистрация: 30.10.2006
Сообщений: 270
Репутация: 197
|
к MAC Aдресу можно привязать,
сравнить все мас адреса с "забитым" при старте проги и Close если не сходится. Код:
Imports System
Imports System.Management
Module Module1
Sub Main()
Dim mc as ManagementClass
Dim moc as ManagementObjectCollection
Dim mo as ManagementObject
mc = new ManagementClass("Win32_NetworkAdapterConfiguration")
moc = mc.GetInstances() ' Get all network adapter instances
for each mo in moc
if mo.Item("IPEnabled") = true
Console.WriteLine("MAC address\t{0}", mo.Item("MacAddress").ToString())
End If
mo.Dispose()
next
End Sub
End Module
здесь поройся http://www.dotnet247.com по ключ. словам "protection" "get mac" |
|
|
|
|
|
#4
|
|
Неактивный пользователь
Пол:
Регистрация: 22.10.2007
Сообщений: 5
Репутация: 0
|
Я извиняюсь, т.к. мой вопрос был не достаточно точен. Сейчас хочу уточнить.
Программа делается на .net и есть желание поставить простую защиту от копирования - генериться файл лицензии под конкретное железо, программа при старте проверяет что этот серийник удовлетворяет железу. Т.е. навесная защита не нужна. Я знаю что мой вариант обойти очень просто, но этого достаточно для моих целей. Если есть ссылки на статьи где описывается реализация такого механизма - буду благодарен если выложите. или если вы просто опишите то как это сделать на .нет |
|
|
|
|
|
#5
|
|
Неактивный пользователь
Регистрация: 24.09.2007
Сообщений: 13
Репутация: 14
|
Доступ к железу напрямую из dotNet весьма опасное занятие. Мелкомягкие постарались сделать все чтобы свести подобное к минимуму. Даже если вы это реализуете, никто не застрахует вас от того что подобное действие не будет запрещено в настройках безопасности dotNet'а у пользователя, что приведет к неработоспособности вашей защиты и всей программы в целом.
Проблему можно решить достаточно просто: использовать dll на "нормальном" языке. Скажем соответствующие проверки сделать на C, а результат (или промежуточный результат) передавать в модули на C#. Информации как подобное реализуется на C++ полно. При достаточной обфускации байт кода CLR получите подходящий уровень защиты. Один минус: переносимость программы без перекомпиляции ограничится ОС Windows. |
|
|
|
|
|
#6
|
|
Неактивный пользователь
Пол:
Регистрация: 06.08.2007
Сообщений: 4
Репутация: 0
|
С железом довольно муторная штука. Если делать именно привязку по железу, то нужно опрашивать сразу несколько устройств: например, мат. плату, винчестер, процессор. Дело в том, что если привязаться только к одной железке, то запросто может быть вариант, что серийник будет "123456", например у AMD-шных многих матерей такая штука.
Поэтому я делал привязку к SID-у. Он не меняется до переустановки системы и задать его самостоятельно нельзя. Вынимается довольно легко, я щас не вспомню код, но примеров много, наберите например в гугле "SID .NET". И помните, что .NET очень легко ломается, даже если воспользоваться обфускатором. |
|
|
|
|
|
#7
|
|
Неактивный пользователь
Пол:
Регистрация: 28.03.2008
Сообщений: 2
Репутация: -1
|
Любая программа написанная под Net, ломается за пять минут, и не просто ломается а декомпилится рефлектором до исходников, защитить не реально
Добавлено через 1 минуту часть программы обязательно нужно сносить в с++ разработку Последний раз редактировалось ukrandruha; 22.04.2009 в 10:20.. Причина: Добавлено сообщение |
|
|
|
|
|
#8
|
|
Неактивный пользователь
Регистрация: 01.10.2009
Сообщений: 10
Репутация: 1
|
только обфускация но отграммотного программера тоже не поможет можно написать на си загрузчик а нетовские сборки криптовать
|
|
|
|
|
|
#9
|
|
Неактивный пользователь
Регистрация: 24.11.2009
Сообщений: 9
Репутация: 0
|
Есть еще прога, которая берет нетовские сборки и превращает их в нативный код. Только уж очень нехилы по размеру экзешники получаются... Названия не помню, нужно гуглить.
|
|
|
|
|
|
#10
|
|
Пользователь
Пол:
Регистрация: 19.08.2005
Сообщений: 45
Репутация: 141
|
есть программа .NET Reactor после которой декомпилировать рефлектором не удается и есть менеджер лицензий.
|
|
|
|
|
|
#11
|
|
Неактивный пользователь
Регистрация: 17.12.2009
Сообщений: 2
Репутация: 0
|
Обфусуация чем-то вроде SmartAssembly + привязка к серийнику материнки, получить который можно так:
Dim WMI, obj, objSet As Object Dim MBSerial As String WMI = GetObject("WinMgmts:") objSet = WMI.InstancesOf("Win32_BaseBoard") For Each obj In objSet MBSerial = obj.SerialNumber Next |
|
|
|
![]() |
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Защита Xp | Baby© | Безопасность | 30 | 31.08.2009 14:40 |
| Защита ПО | spyke | Delphi | 58 | 10.07.2008 08:15 |
| помогите программисты си под линукс запуск программы или скрипта из программы | CWTAE | Visual C++ / С/C++ | 2 | 17.01.2008 02:29 |
| Защита pdf | GansKloss | Архив | 1 | 03.09.2007 12:18 |
|
|