DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Programiranje (http://www.devprotalk.com/forumdisplay.php?f=23)
-   -   Zastita programa od kopiranja (http://www.devprotalk.com/showthread.php?t=1875)

colke 22. 11. 2006. 13:28

Zastita programa od kopiranja
 
Potrebno mi je da jedan moj program zastitim od kopiranja. Znam da totalna zastita nije moguca (i Windows Vista je razbijen), ali neki vid zastite bi trebalo da onemnoguci obicnim korisnicima, koji neznaju tehnike hackeringa, kopiranje.

Sad imam ja neke ideje, ali pretpostavljam da postoje neke standardne tehnike za resenje ovog problema. Ako neko ima iskustva....

P.S. Takodje me zanimaju tehnike kako da program napravim da bude trial, tj. da radi neko vreme, a posle ne.

jasmanac 22. 11. 2006. 15:09

Cekaj, ne razumem jednu stvar... Imas skills da napises program a ne znas kako da ga ogranicis? Nesto mi tu ne stima...

colke 22. 11. 2006. 15:18

Tehnike, tehnike...

Ko sto rekoh, uradio bi ja to nekako na moj nacin ali zelim da cujem i iskustva drugih koji su tako nesto radili. Ne mislim da sam najpametniji, sigurno je da neko ima i bolju ideju od mene.

ppavlovic 22. 11. 2006. 15:37

Probaj Software Passport (Armadillo nekad) ili Softwrap.

Mr.Paja 22. 11. 2006. 15:46

Ovo je prava stvar za to :
http://www.sofpro.com/:1043:

Koristim ga aktivno vec 2 godine i nije bilo problema a ima i pregrst opcija ....

ivanhoe 22. 11. 2006. 23:13

Citat:

Originalno napisao jasmanac
Cekaj, ne razumem jednu stvar... Imas skills da napises program a ne znas kako da ga ogranicis? Nesto mi tu ne stima...


sto?
zastita od kopiranja nije uopste trivijalni zadatak, a i zahteva neke sasvim druge 'skills' od uobicajenih programerskih (bar osnovnu ideju o crackovanju i radu sa softice-om (ili koji je vec trenutno aktuelan debuger, zardjao sam sa tom materijom..) )

@colke: Ja sam isto cuo da je PC Guard dobro gotovo resenje, ali ipak iskombinuj te tvoje ideje sa gotovim paketom. Gotovi paketi imaju manu sto su obicno dobro poznati i zna se koje su im tehnike, pa ces sa svojim sopstvenim resenjem, makar bilo i trivijalno, da uneses malo randomizacije u celu stvar.

colke 23. 11. 2006. 09:50

Verovatno su sve to dobri programi za zastitu i siguran sam da bi zavrsili posao, ali moj cilj nije zastita na takav nacin. Uzgred, to i kosta. Doduse kosta i moje vreme koje cu utrositi na resavanje tog problema, ali...

Zastitu sam hteo sam da napravim, programski. Pored toga sto cu zastititi program, cilj mi je i da izucim te tehnike zastite. Iznecu neke svoje ideje, pa koga zanima mozemo malo da vodimo diskusiju oko tog problema kako bi ja, a i svi ostali na ovom forumu imali koristi. Ustvari, ideje koje cu izneti nisam ja izmislio, to su vec poznate tehnike koji mnogi programeri koriste, a ja bi da ovde to malo razradimo zajedno.

1. Po meni je najbolja aktivacija preko interneta, Program kada se instalira potrebno je da se aktivira. Aktiviranje se vrsi tako sto se kaci na neku moju bazu gde sam ja za usera kome sam dao program vec uneo neki aktivacioni kod. Aktivacioni kod se upise u registry ili u neki kriptovani fajl i proverava se pri svakom pokretanju programa. Pomocu aktivacionog koda sifruju se podaci u bazi, tako da bez njega em program ne radi, em su podaci nedostupni. Ova tehnika moze se kombinovati i sa dole navedenom pod brojem 2 (jos bolja varijanta), ali ima i neka ogranicenja: teoretski mozda korisnici nemaju vezu ka internetu + potrebno je imati pristup nekom serveru na kojem ce se nalaziti baza usera i aktivacionih kodova.

2. Uzima se potpis masine na kojoj se program instalira (serijski broj diska, ploce, procesora), pomocu ovih brojeva se na neki nacin sifruje baza podataka (sluzi kao kljuc). Ako se program iskopira na drugu masinu podaci iz baze bi bili neupotrebljivi jer ne moze da se izvrsi dekodiranje istih.

Jasmanac, da li sad razumes sta sam hteo reci?

BTW: Da li neko zna kako bi iz .NET-a (C#) mogao da pokupim seriske brojeve hardvera. Postoje li neke posebne klase...

Mr.Paja 23. 11. 2006. 11:38

Citat:

Originalno napisao colke
1. Po meni je najbolja aktivacija preko interneta, Program kada se instalira potrebno je da se aktivira. Aktiviranje se vrsi tako sto se kaci na neku moju bazu gde sam ja za usera kome sam dao program vec uneo neki aktivacioni kod. Aktivacioni kod se upise u registry ili u neki kriptovani fajl i proverava se pri svakom pokretanju programa. Pomocu aktivacionog koda sifruju se podaci u bazi, tako da bez njega em program ne radi, em su podaci nedostupni. Ova tehnika moze se kombinovati i sa dole navedenom pod brojem 2 (jos bolja varijanta), ali ima i neka ogranicenja: teoretski mozda korisnici nemaju vezu ka internetu + potrebno je imati pristup nekom serveru na kojem ce se nalaziti baza usera i aktivacionih kodova.

Resenje imas u okviru pomenutog PC-Guarda a to je >
AC Generator for Win32/Web - Integrate calculation of activation codes over Internet connection.


Citat:

Originalno napisao colke
2. Uzima se potpis masine na kojoj se program instalira (serijski broj diska, ploce, procesora), pomocu ovih brojeva se na neki nacin sifruje baza podataka (sluzi kao kljuc). Ako se program iskopira na drugu masinu podaci iz baze bi bili neupotrebljivi jer ne moze da se izvrsi dekodiranje istih.

Resenje imas u okviru pomenutog PC-Guarda a to je >
- Hardware locking!
Lock your software to target computer. Seven locking parameters are now available: HD volume ID, Bios ID, OS ID, CPU ID, Network card ID, HD hardware ID and CD/DVD hardware ID.

Imao sam slicnu dilemu kao i ti pre par godina, al kada se sve sabere i oduzme najbolje resenje je da uzmes gotov proizvod jer ljudi su usko specijalizovani za to i imaju vise iskustva, nema stresa ni gubljenja vremena, a ovako ako pocnes sa nekim custom resenjem vrlo lako moze da se desi da previdis neku rupu i onda ti je dzaba sve ...

colke 23. 11. 2006. 11:50

Da pogledao sam, sama aplikacija za zastitu kosta 400e + 170e ActivationSuite, izadje mnogo za mene.

ivanhoe 23. 11. 2006. 13:26

problem sa zastitom je sto ti uvek moras da imas neki if negde koji ce da izvrsi proveru, i tu je najslabija tacka. Sto bi neko razbijao tvoj aktivacioni kod, ako moze naprosto da jedan JNZ pretvori u JMP, i da zaobidje celu proveru. Tako da ti treba visestruka, dobro maskirana provera. Takodje obavezno sve stringove vezane za poruke o registraciji drzi enkripovane, jer je pretraga po tom stringu najlaksi nacin da se backtrackuje tacka gde se vrsi provera.

U principu kod zastite kazu da treba raditi sve suprotno od klasicne teorije programiranja: koristiti goto, koristiti operacije na pointerima, nepotrebne medjupromenjive i ostale stvari koje zbunjuju onog ko debaguje kod...


Vreme je GMT +2. Trenutno vreme je 16:46.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.