Jak chronić swoją aplikację Java przed kopiowaniem? [zamknięte]

Chcę sprzedać moją aplikację Java za pomocą PayPal. Po otrzymaniu płatności Klient otrzymuje jednorazowy link do pobrania mojej aplikacji.

Moje pytanie brzmi: jak zapobiec wysyłaniu przez ludzi ... plik jar do swoich znajomych / wgrywanie go do Internetu?

Oczywiście potrzebuję jakiegoś sprawdzania w aplikacji, która pozwala uruchomić ją tylko na jednym komputerze. I to jest kolejny problem, nie chcę, aby klient miał ograniczenia na jednym komputerze, powinien być w stanie aby uruchomić go w domu i pracy itp.

Może jakiś cd-key da radę? Czy istnieją jakieś zasoby cd-key dla Javy? Czy powinienem zbudować własny algorytm? Nadchodzi kolejny problem, inżynieria odwrotna..

Proszę pomóż mi rozwiązać ten problem:)

Author: cragiz, 2010-09-05

6 answers

Najczęstszym sposobem radzenia sobie z tym jest: klient daje Ci pieniądze, generujesz unikalny klucz odblokowujący i dostarczasz go Klientowi. Klucz powinien być prawidłowym kluczem odblokowującym i powinien kodować informacje identyfikacyjne o użytkowniku. Klient używa tego klucza do instalacji na dowolnej liczbie swoich komputerów lub jest dozwolony przez licencję.

Nie martw się o inżynierię odwrotną. Twój produkt, jeśli jest w ogóle popularny, będzie piracki - znajdziesz klucze odblokowujące online, Jeśli szukasz wystarczająco mocno. Jeśli chcesz, możesz potraktować to jako komplement - komuś spodobało się Twoje oprogramowanie na tyle, aby je ukraść. Zimny komfort, wiem, ale alternatywą jest wziąć udział w wyścigu zbrojeń z piratami, a tego nie wygrasz. W końcu kilka procent populacji ukradnie oprogramowanie, a ty nie możesz wiele z tym zrobić. Możesz użyć informacji identyfikacyjnych klucza, jeśli twój schemat jest wystarczająco silny, aby prześledzić, kto w ogóle go wydał.

 29
Author: Michael Petrotta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-05 18:44:14

W rzeczywistości istnieje wiele rozwiązań do zarządzania licencjami, które mogą pomóc, ale prawdziwym problemem jest to, że wszystkie z nich można złamać. Osobiście próbowałem najdroższych do najtańszych. W końcu zwijałem własne i sprawdzam szczegóły pc oprogramowania (mac id itp.) w stosunku do zapisanych danych na moim serwerze za każdym razem, gdy oprogramowanie jest uruchamiane. Ponieważ moje oprogramowanie jest ściśle związane z Internetem, jest w porządku, ale jestem pewien, że kiedyś zostanie pęknięte.

What You probably trzeba regularnie kontrolować Internet i znaleźć miejsce, w którym Twoje oprogramowanie jest pirackie, wbrew powszechnemu przekonaniu, że w większości przypadków możesz je zatrzymać. Wystarczy podać DMCA do strony pobierania (większość z nich będzie zgodna), a będziesz w stanie usunąć swoje oprogramowanie w około 80% przypadków. Zrobiłem i doświadczyłem tego na moim oprogramowaniu. Niektórzy ludzie nie usuwają, ale odkryłem, że w ciągu 1,5 roku robię to, moja sprzedaż poprawiła się.

Ja również korzystam z usługi -- http://spotpiracy.com co pomaga mi znaleźć te linki oprócz własnych badań manualnych(mam faceta poświęconego temu). :)

 9
Author: Cyril Gupta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-29 13:36:00

Każdy ma swoje zdanie na ten temat, więc oczekuj wielu różnych porad. Oto moje zdanie na ten temat:

  • 1. Zaciemnianie kodu (zaleca się stosowanie programu proguard)
  • 2. Oferuj bezpłatną wersję z pełnymi możliwościami na okres próbny
  • 3. Użyj procedury numer seryjny na podstawie wiadomości e-mail rejestrujących użytkowników lub innych unikalnych informacji

Ogólnie trzeba będzie zaakceptować pewną ilość piractwa, ale jeśli Twoja aplikacja jest godna ludzie zapłacą za to. Uczciwy ludzie będą uczciwi i odbitkowy ochrona nie robić nieuczciwi ludzie uczciwi.

 4
Author: Paul Gregoire,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-05 18:44:41

Musisz zaimplementować możliwości licencjonowania.

Oto jeden interesujący zasób jako starter: http://members.chello.at/stefan-schneider/JavaLicenseKit.html

 2
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-05 18:41:35

Moim zdaniem, jeśli nie wiesz dokładnie, jak skutecznie zabezpieczyć swój kod źródłowy, to nie zaczynaj próbować samodzielnie hashować czegoś w oparciu o sprzęt. Będzie to zbyt łatwe do złamania i najprawdopodobniej po prostu denerwować klientów.

Chciałbym ci pokazać, jak Atlassian to robi. Tak się składa, że sprzedają oprogramowanie Java i najwyraźniej radzą sobie całkiem dobrze. http://www.atlassian.com / Spróbuj pobrać np. JIRA i pobawić się instalacją. To da masz dobry pomysł na to, jak działa ich schemat licencjonowania i czego użytkownicy mogą rozsądnie oczekiwać od profesjonalnego oprogramowania.

 2
Author: Thorbjørn Ravn Andersen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-05 19:54:09

W moich starych czasach c++ dostaję się w ramionach do przodu piractwo za pomocą ochrony kodu adresu MAC, bardzo ładne i naprawdę żadne ciało ukradł moje oprogramowanie uppone ochrony adresu mac, ponieważ zawsze zmuszać OS do ponownego odczytania prawdziwego mac unikanie Mac przesłonięcia. Dotyczyło to kodowania C++ mającego bezpośredni dostęp do lokalnych zasobów.

Dziś tak nie jest, w aplikacjach java, w których znajduje się kod .pliki klas, które zawsze mogą być dekodowane z powrotem do oryginalnego kodu źródłowego (tak jest to możliwe i bardzo łatwo znaleźć narzędzia do tego).

Myślę, że w CV nie da się chronić programów java przed piractwem. nie ma jak stare złote czasy c++:)

 1
Author: christian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-25 04:08:58