NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Libor Šimo (libcosenior):26.5.2017 14:08

Ahoj, povedzme ze mam appku, ktoru chcem predat viac klientom, ale je moznost, ze sa navzajom poznaju.
Ako mozem aspon ciastocne zbranit tomu, aby si ju len skopirovali a pouzivali aj dalsi?
Je tu tutorial?

Odpovědět
26.5.2017 14:08
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Libor Šimo (libcosenior)
Michal Štěpánek:26.5.2017 14:46

Asi bych to řešil nějakým licenčním klíčem, který by byl unikátní a kontrolou tohoto klíče přes DB někde na webu...

Nahoru Odpovědět
26.5.2017 14:46
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Libor Šimo (libcosenior):26.5.2017 15:56

Diky Michal, riesil si podobny problem, alebo len typujes? Ak si riesil, daj link na sposob riesenia. Diky.

Nahoru Odpovědět
26.5.2017 15:56
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Libor Šimo (libcosenior)
Michal Štěpánek:26.5.2017 16:51

Zatím jsem nic takového neřešil. Asi existuje účinnější způsob, ale zjednodušeně řečeno bych to řešil nějak takto:
Použil bych asi nějaký zápis do registru. Při spuštění by se aplikace "koukla" někam (to je jedno kam) do registru, pokud by nenalezla klíč (při prvním spuštění), vygenerovala by nějaké číslo "osolené" třeba názvem PC, uložila by záznam do registru a zároveň na web do DB. Při nalezení záznamu v registru by se appka mrkla na web a porovnala záznamy.
Samozřejmě se to dá obejít přepsáním toho záznamu v registrech, ale lze ztížit nalezení toho záznamu třeba tím, že název toho klíče bude úplně jiný než by uživatel mohl předpokládat (aby se těžko dala vydedukovat souvislost s tou appkou). Zároveň bych si při tom generování nechal poslat nějaké info (z toho webu) o instalaci na mail. "Nelegálně" instalované appce bys mohl zrušit to číslo na webu, tím pádem by se při kontrole neověřilo a appka by nešla spustit...
Ale jak říkám je to jen takový amatérský nástřel...

Editováno 26.5.2017 16:53
Nahoru Odpovědět
26.5.2017 16:51
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Libor Šimo (libcosenior):26.5.2017 16:55

To by stacilo. Len by bol dobry navod. No nic, nieco vymyslim.
Diky

Nahoru Odpovědět
26.5.2017 16:55
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Libor Šimo (libcosenior)
Michal Štěpánek:26.5.2017 16:58

Nebo mě napadlo, že by se dal třeba jen vytvořit hash něčeho, co by bylo unikátní a mělo to souvislost s tím konkrétním počítačem (aby ten hash z toho stejného PC byl vždycky stejný => třeba nějaký string osolený názvem PC s MAC adresou), ten uložit na web a porovnávat. Při instalaci na jiné PC by se vytvořil jiný hash a tím by pak neprošel kontrolou...

Nahoru Odpovědět
26.5.2017 16:58
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Libor Šimo (libcosenior):26.5.2017 17:05

Predstav si forum v nejakej oblasti, je jedno v akej mimo IT. Ponuknem im apku, ktora im ulahci pracu v danej oblasti. Ukazem stranku s uputavkou. Potom im tochcem predat. Nemam sajn, kto ma aky pc a dalsie komponenty. Proste len chcem predat apku, ktora moze by pouzita len jednym klientom, tu istu dalsiemu a dalsiemu, ale tak, aby nebola moznost len si ju medzi nimi poslat a pouzivat. V takom pripade pridem o odmenu za pracu.

Nahoru Odpovědět
26.5.2017 17:05
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Libor Šimo (libcosenior):26.5.2017 17:06

Ja tych ludi a ich pc nikdy neuvidim.

Nahoru Odpovědět
26.5.2017 17:06
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Libor Šimo (libcosenior)
Michal Štěpánek:26.5.2017 17:12

Ještě mě napadlo toto: Vyloženě vytvoříš nějaký klíč, který si dáš někam na web do DB a u něj bude počet možných licencí (v tomto případě by byla ke každému klíči třeba jen jedna licence). Při instalaci by se klíč zadal, ověřil by se na webu a uložil záznam o použití. Při instalaci na další PC by se již "použitý klíč" neověřil...
Nicméně bys musel stejně nějak zajistit "nutnost instalace", protože .NET aplikace fungují i když se jen zkopíruje obsah adresáře s appkou...

Nahoru Odpovědět
26.5.2017 17:12
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Libor Šimo (libcosenior)
Michal Štěpánek:26.5.2017 17:13

Nebylo by třeba je vidět, není problém v appce zjistit programově název PC, jméno uživatele, IP adresy, nebo MAC adresy a použít je pro vygenerování čehokoliv...

Nahoru Odpovědět
26.5.2017 17:13
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Libor Šimo (libcosenior):26.5.2017 17:15

Vyborne. Ako to zariadit?

Nahoru Odpovědět
26.5.2017 17:15
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Nahoru Odpovědět
26.5.2017 17:15
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Libor Šimo (libcosenior):26.5.2017 17:18

Vsetko. :-)
Bol by fajn tutorial pre vsetkych.

Nahoru Odpovědět
26.5.2017 17:18
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Libor Šimo (libcosenior)
Michal Štěpánek:26.5.2017 17:23

třeba název PC a uživatel

string pcname = System.Environment.MachineName;
string uzivjmeno = Environment.UserName;

Tady na síti je někde článek o aktualizacích aplikace z webu, tam by se dal trochu poupravit a použít ten návod a poměrně dost informací je i na jiných webech. Já asi nejsem ten pravý, abych psal články a někoho učil...
Sám se pořád učím a ani zdaleka nemůžu o sobě říct, že to umím...
A hlavně to, co jsem ti tady psal, mě napadalo průběžně a nemám to odzkoušené...

Editováno 26.5.2017 17:25
Nahoru Odpovědět
26.5.2017 17:23
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Libor Šimo (libcosenior):26.5.2017 17:26

Diky, asi z toho nieco bude. :-)

Nahoru Odpovědět
26.5.2017 17:26
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Michal Štěpánek
Neaktivní uživatel:26.5.2017 19:06

V podstatě s tebou souhlasím, navrhuješ funkční řešení, jen mě k tomu napadá pár drobností.

Název počítače se dá uživatelsky snadno změnit a Environment.U­serName vrací jméno právě přihlášeného uživatele což nemusí být ten samý, který program instaloval. Nemohl by to být třeba problém?
Při požadavku vázat licenci na konkrétní pc bych asi vybral nějaké trvalejší identifikátory.
Napadá mě třeba navázání na hash sériového čísla základní desky v kombinaci s dalšími id hardwaru a ověřování platnosti oproti serveru jak jsi psal.

Nahoru Odpovědět
26.5.2017 19:06
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Michal Štěpánek:26.5.2017 19:44

Máš pravdu, psal jsem, že to je jen amatérský a hlavně neodzkoušený nástřel toho, jakou mám představu o jakémsi fungování licenčního klíče...

Nahoru Odpovědět
26.5.2017 19:44
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Libor Šimo (libcosenior)
Martin Dráb:26.5.2017 21:50

Jak je ti asi jasné, pokud aplikace pracuje offline, nemůžeš kopírování reálně uhlídat. Můžeš jen stavět překážky (např. spojení kopie tvé aplikace s konkrétním hardwarem); když ale budou moc vysoké, začneš tím poškozovat legitimní uživatele (odejde jim HW, vymění počítač za lepší/jiný).

Pokud tvoje appka vyžaduje připojení k internetu, je situace trošku lepší. Můžeš si nechat reportovat, jaké stroje aplikaci používají, takže rozpoznáš i případy, kdy ji někdo má na více strojích a zda ji na ni používá průběžně. Je ale fakt, že tento sledovací přístup se u některých skupin uživatelů (a zvláště v dnešní době) nesetká s velkých pochopením.

Nahoru Odpovědět
26.5.2017 21:50
2 + 2 = 5 for extremely large values of 2
Avatar
dez1nd
Člen
Avatar
Odpovídá na Martin Dráb
dez1nd:26.6.2017 11:54

když ale budou moc vysoké, začneš tím poškozovat legitimní uživatele (odejde jim HW, vymění počítač za lepší/jiný). = v tomto případě by kontaktovali autora a zažádali o smazání hwid, nejlépe nějakým formulářem

 
Nahoru Odpovědět
26.6.2017 11:54
Avatar
Shade
Člen
Avatar
Shade:26.6.2017 17:29

Na internetu na to jsou tutoriály.
Např:
https://www.youtube.com/watch?…

Nahoru Odpovědět
26.6.2017 17:29
Talk is cheap. Show me the code.
Avatar
dez1nd
Člen
Avatar
Odpovídá na Shade
dez1nd:27.6.2017 7:01

Díky za tip :) já se na to mrknu taky :D

 
Nahoru Odpovědět
27.6.2017 7:01
Avatar
Petr Rympler
Člen
Avatar
Petr Rympler:7.7.2017 20:05

Ačkoliv je tu spousta řešení, praxe je taková, že pořádně aplikace na .NETu neochráníš (roky praxe). Stačí Ti trochu šikovnější člověk, ILSpy a trochu zkušeností s Reverse Engineering. Pak si stačí otevřít DLL nebo EXE, vyčíst co tam používáš za mechanismus ověřování a ten pak aplikaci podstrčit.

V reálu jsem viděl i takové aplikace, kdy se generoval klíč (od Tebe) a na PC se ověřoval. No, stačí si projít zdrojáky, kde se ověřuje klíč, udělat si opačnou funkci (kódování na místo dekódování) a napíšeš si k appce KeyGen a je to.

Běžný uživatel na to nepřijde, ale zkušený to má za chvilku hotové.

 
Nahoru Odpovědět
7.7.2017 20:05
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 22 zpráv z 22.