Страница 1 из 2

Добавлено: 03 июн 2005, 20:49
AiK
Или это не правильный подход
Угу. Во-первых, не на каждом компьютере есть сетевуха. Во-вторых, на мой взгляд это нарушение моего права на fair use - не вижу ни одной причины, почему я не могу использовать единожды купленную программу, скажем на стационарном компьютере и на собственном ноутбуке. В-третих, не вижу причины, по которой я не имею права менять сетевуху на своём компьютере, в-четвёртых - если я сделаю копию программы перед использованием, ты об этом никогда не узнаешь, в-пятых, java-программу вскрыть не тяжелее, чем perl-скрипт, ну и в шестых, ява по определению не имеет доступа к железу, ибо кросс-платформенная.

Добавлено: 03 июн 2005, 21:39
Oscar
AiK,

что ж, большое спасибо!

Все аргументы, кроме пятого и шестого, действительно справедливые!

Программа для работы над проэктами по разработке новых продуктов (Developing Tool, так сказать).

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

Почему шестой - нет?

Код: Выделить всё

		String os = System.getProperty("os.name");
		//Windows
		if (os.startsWith("Windows")) return getMacAddress("cmd /c ipconfig /all");
		//Linux | SunOS
		if (os.equals("Linux") || os.equals("SunOS")) return getMacAddress("/sbin/ifconfig -a");
getMacAdress РэгЭкспом выдирает Мак Адрес.

И так далее ... вот и вся кроссплатформенность
(а если учитывать то, что с вероятностью 90% программа будет использоваться исключительно под Виндовз ... )

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

Использовать на ноутбуке и стационарном компьютере - именно это мы и хотим предотвратить, чтобы не было паралельной работы над разными проэктами.
Нарушение "fair use" ? Сорри, но в лицензионном соглашении будет стоять. что программу можно использовать только на одном компьютере, кто не согласен - не использует.

Что ж, информацию о том, как получить Мак-Адрес я уже нашел.
О том стоит это делать или нет - можно конечно спорить.
Если считаешь нужным - перекинь топик в Флейм.

Добавлено: 03 июн 2005, 21:47
Absurd
в-пятых, java-программу вскрыть не тяжелее, чем perl-скрипт
Ну например, Intellj IDEA обработали каким-то обфусктором в резальтате чего структура пакетов у названия классов изуродованы до неузнаваемости. Правда, обратной стороной такого подхода является невозможность использования reflection.
Кроме того, я не видел ни одного декомпилятора байт-кода, который бы нормально реверсил код, скомпилированный javac из JDK 1.4 (максимиум - 1.3)

Добавлено: 03 июн 2005, 21:56
Oscar
Absurd,

мы используем Jshrink

Добавлено: 06 июн 2005, 12:26
Kolinus
Раз уж пошел флейм :)
В дополнение к высказыванию Айк'а: почти на всех современных сетевухах МАК можно менять.
Так что ...

Добавлено: 06 июн 2005, 12:45
evgeny_d
да уж... "кроссплатформенность" явы - это похоже только ярлык и ничего более... на C++ Builder тоже, в принципе можно писать так, чтобы и под винду компилировалось и под линуху (под QT, если я ничего не путаю).

Насчет возражений... интересно все-таки, привязка к МАК адресу - это единственное достойное средство от копирования?

И еще вопрос (раз уж пошла такая пьянка...).
to Kolinus: А как его менять? На уровне BIOS или софтом тоже можно?

Добавлено: 06 июн 2005, 13:28
Kolinus
Если встроенная сетевуха то в бивесе
если отдельная - то из винды либо софтом специательным

Добавлено: 06 июн 2005, 13:56
Absurd
да уж... "кроссплатформенность" явы - это похоже только ярлык и ничего более... на C++ Builder тоже, в принципе можно писать так, чтобы и под винду компилировалось и под линуху (под QT, если я ничего не путаю).
Текущий проект мы пишем и отлаживаем на виндах, хотя работает он под сорярой на Sparс'ах. Некоторые библиотеки написаны индусами через жопу. Но ничего, и они идентично работают и под виндой и под солярой.

На С++ потребуется гораздо меньше усилий для раздельного написания нескольких вариантов программы для разных платформ, чем для написания одной кроссплатформенной программы.
В дополнение к высказыванию Айк'а: почти на всех современных сетевухах МАК можно менять
Микрософт тоже полагается на уникальность MAC адресов для генерации GUIDов и для активации приложений.
Кроме того, а не понимаю как могут одном сегменте сети сосуществовать два компьютера с одним MAC-адресом. Как их ARP будет различать? Ставить несколько сегментов сети ради увеличения количества инсталляций программы я бы ни стал.

Добавлено: 06 июн 2005, 16:01
AiK
Флейм так флейм :)
Несколько лет назад ради интереса отвязал Intellj IDEA от лицензии. Потом уже просили :) Обфускатор ну ни разу не лечит, если аппликуха просит ввести код, то дальше всё раскручивается на раз. Если нет возможности декомпильнуть - есть редакторы байткодов. В нескольких версиях подряд вся защита снималась изменением в нужном месте условия с равно на неравно. Потом мне это надоело, но судя по отзывам народ и без меня прекрасно справляется...

Код меня улыбнул. У меня 2 сетевухи, и я в и-нет выхожу со второй, а регексп скорее всего первый МАК адрес схавает.

Что касается двух одинаковых мак-адресов для разных компьютеров, то похоже про NAT все забыли. До NAT'а они разные, после - один на всех :)

Добавлено: 06 июн 2005, 17:25
evgeny_d
И все-таки я нифига не понял.
Как в пределах одной подсети могут быть 2 одинаковых МАК-адреса и причем здесь NAT?