» »

Full in trial verzija

Full in trial verzija

Robocop1 ::

Izdelujem nek program in bi ga rad zaščitil. Natančneje: uporabnik bi dobil tryal verzijo (zelo omejene funkcije ali celo časovna omejitev ali omejeno število zagonov programa). V tryal verziji bi imel uporabnik možnost vnesti username in password, s čimer bi program nadgradil na full verzijo (nobenih omejitev). Sprašujem se, kako to najbolje implementirati, tako da je čim manj backdoor možnosti. Na izbiro imam 2 rešitvi:

1. možnost - uporaba datotek: V neko mapo (katera je vedno na vsakem računalniku in katero povprečen uporabnik ne odpira) v shranil datoteke z vsemi potrebnimi podatki.

2. možnost - uporaba registra: Program v register shrani podatke in tako uporabnik na disku nima nobenih datotek.

Kaj od tega je bolj smiselno uporabit in zakaj? Za povprečnega uporanbnika sta obe možnosti dobra rešitev, dober poznavalec pa točno ve kako program deluje in kje iskati luknjo v sistemu. Kaj predlagate?
  • spremenil: bluefish ()

bluefish ::

Samo opazka: trial, ne tryal.

hojnikb ::

Vedi, da kakrkol boš to implementiral, vedno se bo najdu način kako to zaobit (beri: scrackat :)
#brezpodpisa

ales85 ::

Razen, če omejene funkcije implementiraš tako, da jih brišeš iz izvorne kode in namesto tega pokažeš nekakšno obvestilo. Zaščita polne verzije je pa drugo.

s6c-gEL ::

Vse to je blažev žegen, če gre za uporabno aplikacijo jo bo nekdo skrekal.
Da programi serjejo vsepovsod po disku in win registru (ni boljšega mesta od HKEY_CLASSES_ROOT\CLSID ali kaj podobno obskurnega) je postalo že praksa.
Prav tako obstajajo orodja, RegSnap, file/regmon, cracklock za timebomb verzije, da ne omenjam debugerjev in disassemblerjev.

Daj na net lite verzijo, individualen kupec dobi full verzijo, ki naj vsebuje nekakšen skrit watermark v skompilirani obliki, tako da boš vedel, kdo je leakal.
Seveda obstajajo tudi carderji, ki kupujejo z ukradenimi karticami/paypal računi in podobno.Dobra roba prej ali slej pride na net !


2. možnost - uporaba registra: Program v register shrani podatke in tako uporabnik na disku nima nobenih datotek.

Win register pa misliš da shranjuje podatke v eter ?

http://www.sysnative.com/forums/windows...
http://answers.microsoft.com/en-us/wind...

Zgodovina sprememb…

  • spremenilo: s6c-gEL ()

shadeX ::

Kaj pa avtomatsko zgeneriran ključ (zgeneriran na lastnem strežniku) ki ga lahko uporabiš pri aktivaciji samo enkrat :D

St235 ::

normalno, pa zraven lahko vložiš še patent za toplo vodo.

Robocop1 ::

Mislil sem narediti na tak način: Ko uporabnik klikne na gumb, meni ali kakorkoli uporabi zavarovano funkcijo, program najprej preveri ali je v stanju "trial" ali "full". Če gre za trial verzijo, se izpiše opozorilo in funkcija se prekine. V programski kodi je torej IF stavek, ki odloča o nadaljevanju funkcije.

Za geslo sem dobro poskrbel - oziroma mislim da sem: geslo ni vnaprej določeno, ampak se izračuna glede na določene parametre uporabnikovega računalnika. Verjetnost, da bosta imela 2 uporabnika popolnoma enak računalnik (ista konfiguracija, iste nastavitve) je zelo majhna. Tudi če gre geslo v druge roke, ni nujno, da bo drugemu uporabniku veljalo.

Težava pa je, ker program rabi določene podatke, ki morajo biti nekje shranjeni: kdaj je uporabnik prvič uporabil program, kolikokrat ga je zagnal itd. Te stvari moram nekako zavarovati. V primeru, da uporabnik najde datoteko, kjer so te podatki shranjeni, jo lahko izbriše in program deluje, kot ob prvem zagonu (uporabnik lahko tako preseže dovoljen rok uporabe).

Običajno programi take stvari shranjujejo v mape "application data" ali "appdata" ali karkoli podobnega, zato dober poznavalec točno ve, kje iskati stvari. Podobno je pri registru.

Po zdravi logiki se mi zdi najbolj varna rešitev, da naredim 2 ločena programa: trial in full. Uporabnik dobi trial verzijo, full verzijo pa mu pošljem naknadno. Samo potem moram v primeru posodabljanja funkcij hkrati vzdrževati 2 programa, kar pomeni več dela.

Yacked2 ::

Kaj pa če bi naredil full in trial verzijo ? Free dostopna na netu bi bila trial verzija, če bi pa želel full bi se pa moral registrirati/plačati, da pride do strani, kjer lahko dowloada full verzijo. Ker lahko potem seveda kopira program drugam, ti predlagam, da ob registraciji dobi random generirano kodo, ki jo vpiše v program. Vse bi moralo biti povezano na net, da bi potem, takoj ko se registrira to kodo blokiral, tako da bi jo lahko samo 1x uporabil.
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

Yacked2 ::

Yacked2 je izjavil:

Kaj pa če bi naredil full in trial verzijo ? Free dostopna na netu bi bila trial verzija, če bi pa želel full bi se pa moral registrirati/plačati, da pride do strani, kjer lahko dowloada full verzijo. Ker lahko potem seveda kopira program drugam, ti predlagam, da ob registraciji dobi random generirano kodo, ki jo vpiše v program. Vse bi moralo biti povezano na net, da bi potem, takoj ko se registrira to kodo blokiral, tako da bi jo lahko samo 1x uporabil.


Se pravi, da narediš database na netu. Ko plača mu zgeneriraš kodo, ki jo vpišeš v ta database.

Program, ko se registrira pogleda ali v te databasi ostaja tak kljuc, kot ga je podal uporabnik, če ja se odklene in izbrise kljuc iz database, drugace pa ne.
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

Zgodovina sprememb…

  • spremenil: Yacked2 ()

Yacked2 ::

Yacked2 je izjavil:

Yacked2 je izjavil:

Kaj pa če bi naredil full in trial verzijo ? Free dostopna na netu bi bila trial verzija, če bi pa želel full bi se pa moral registrirati/plačati, da pride do strani, kjer lahko dowloada full verzijo. Ker lahko potem seveda kopira program drugam, ti predlagam, da ob registraciji dobi random generirano kodo, ki jo vpiše v program. Vse bi moralo biti povezano na net, da bi potem, takoj ko se registrira to kodo blokiral, tako da bi jo lahko samo 1x uporabil.


Se pravi, da narediš database na netu. Ko plača mu zgeneriraš kodo, ki jo vpišeš v ta database.

Program, ko se registrira pogleda ali v te databasi ostaja tak kljuc, kot ga je podal uporabnik, če ja se odklene in izbrise kljuc iz database, drugace pa ne.


Ga ne zbriše, ampak samo prestavi v drugo database.
Sedaj imaš za aktivirat eno database, druga pa za uporabljat. Na štartu usakga programa pogleda al je ta koda v database uporaba.
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

mn ::

@OP Priporočam ti, da manj kompliciraš. Popolne zaščite ne boš nikoli naredil. Dve verziji programa, če sta pametno napisani, ni problem vzdrževati, ampak meni gre na živce če moram odstraniti trial in inštalirati polno verzijo. Priporočam, da vsem daš samo polno, pa potem glede na licenco odklepaš uporabo funkcij. Izračunan ključ glede na uporabnikov računalnik je dobra ideja, ampak pazi, da ga vsaka malenkostna sprememba ne zmoti, in da če uporabnik spremeni sestavo računalnika toliko da licenca ni več uporabna, da imaš nek način, da lastnik licence lahko zaprosi za novo kodo.
Potem poskrbi za dobro poprodajno podporo za kupce.
Predvsem pa poskrbi za čim manj problemov za uporabnike ki ti hočejo plačati. Idealno nevsiljiv shortcut iz programa do naročilnice in potem kak Paypal za plačilo.

Skratka, čim manj problemov za uporabnika polne verzije, čeprav protipiratska zaščita trpi.

Robocop1 ::

V redu, takole sem se odločil: Prvih nekaj verzij programa bom naredil tako, če bo potreba, pa lahko kasneje prilagodim. Vbistvu me je samo zanimalo kakšen pristop se najbolj obnese pri trial in full verzijah.

Popolne zaščite niti ne iščem, ker je to skoraj nemogoče. Vedno se najde nekdo, ki zna prelisičiti varnostne mehanizme in svojo rešitev razširi naprej. Bom pač trial verzijo zaščitil kolikor bo le mogoče.

Zaenkrat imam vse potrebne odgovore, tako da se zahvaljujem za vaša mnenja.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

trženje programa

Oddelek: Izdelava spletišč
322186 (1416) Beezgetz
»

virtual dj 3.4

Oddelek: Pomoč in nasveti
7988 (925) iMark
»

Ura za namizje

Oddelek: Programska oprema
126726 (6400) Looney
»

info o macromediji

Oddelek: Pomoč in nasveti
5886 (804) kuglvinkl

Več podobnih tem