[space] Skrevet 20. april 2006 Del Skrevet 20. april 2006 Kan noen gi meg noen hint på hvordan jeg kan lage en shareware aktig løsning? F.eks. at programmet bare fungerer et år, e.l. Finnes det noen standard løsning rundt dette med koding rundt lisenser osv? Føler det må være bortkastet tid å "finne opp" en slik løsning, når det finnes tusenvis av programmer som benytter seg av det som, hvertfall for brukeren, oppleves som det samme. Også interessert i løsninger som gjelder en "lisenskode" som blir generert ut fra navn og telefonnr f.eks. Altså typisk shareware. Last ned program, registrer deg på nettside med navn osv, få lisenskode på mail, starte programmet, skrive inn navn,.. og kisenskode, og programmet fungerer uten startupmelding. (Ala winzip) Takknemlig for alle tips. Lenke til kommentar
wolf5 Skrevet 20. april 2006 Del Skrevet 20. april 2006 For å sette tidsbegrensning såkan du evt legge en dato i registry en eller annen plass (kryptert) i det programmet installeres. Det er denne datoen programmet da skal forholde seg til. Crackere vil før eller siden klare å cracke det uansett. Andre løsninger innebærer kanskje å bruke flere metoder samtidig. F.eks å patche programmet ditt direkte fra installer og legge inn dato for installasjon der i tillegg til registry. Har ikke et svar på det andre spørsmålet. Lenke til kommentar
Degeim Skrevet 20. april 2006 Del Skrevet 20. april 2006 Men det andre spørsmålet har jeg svar på. Se her: slike ting Der finner du en del koder som genererer lisenskoder e.l. ut av ord e.l. Degeim Lenke til kommentar
backup Skrevet 20. april 2006 Del Skrevet 20. april 2006 Det der med dato i registeret kan omgås ved å tilbakestille pc'ens klokke når man vil bruke programmet PC'ens mac er jo grei å bruke til lisensnøkkel, fordi den skal jo være unik for hver pc. På vb.net får du ved å importere System.Management greit tak i mac'en, og ved å importere System.Security.Cryptography kan du kryptere/dekryptere. Den krypterte lisensnøkkel lagrer så programmet i en binærfil når brukeren taster den inn når han har fått den på email fra ditt serverprogram. Hver gang programmet starter opp, finner det først pc'ens mac, leter så etter krypteringsfila, hvis den er der, henter programmet inn den krypterte mac, dekrypterer, sjekker mot pc'ens faktiske mac, hvis match, da kan programmet brukes uten videre, hvis ikke match eller krypteringsfila ikke finnes, da lukkes programmet eller går inn i en prøvefase f.eks. inntil 5 ganger. Antall prøveganger kan holdes styr på ved en kryptert binærfil. Imidlertid, med hex editorer kan nok dyktige nok programmerere greie biffen ... Lenke til kommentar
wolf5 Skrevet 20. april 2006 Del Skrevet 20. april 2006 (endret) Dato krypert i registeret funker fint det. Hver gang programmet starter legger den også en dato i registeret. Dersom denne datoen ved oppstart er frem i tid, vet man at bruker har slått tiden tilbake og flagger at noen har prøvd å cheate. Selvfølgelig kan en hacker finne ut hvor i reg dette ligger og slette, men det er det som er utfordringen. Skjule settingsene så godt som mulig. Det trenger ikke være registry heller. Programmet kan f.eks prøve å skrive direkte i sin egen exe, eller legge en fil en eller annen plass på disk. Endret 20. april 2006 av wolf5 Lenke til kommentar
[space] Skrevet 20. april 2006 Forfatter Del Skrevet 20. april 2006 Det der med dato i registeret kan omgås ved å tilbakestille pc'ens klokke når man vil bruke programmet PC'ens mac er jo grei å bruke til lisensnøkkel, fordi den skal jo være unik for hver pc. På vb.net får du ved å importere System.Management greit tak i mac'en, og ved å importere System.Security.Cryptography kan du kryptere/dekryptere. Den krypterte lisensnøkkel lagrer så programmet i en binærfil når brukeren taster den inn når han har fått den på email fra ditt serverprogram. Hver gang programmet starter opp, finner det først pc'ens mac, leter så etter krypteringsfila, hvis den er der, henter programmet inn den krypterte mac, dekrypterer, sjekker mot pc'ens faktiske mac, hvis match, da kan programmet brukes uten videre, hvis ikke match eller krypteringsfila ikke finnes, da lukkes programmet eller går inn i en prøvefase f.eks. inntil 5 ganger. Antall prøveganger kan holdes styr på ved en kryptert binærfil. Imidlertid, med hex editorer kan nok dyktige nok programmerere greie biffen ... 5953676[/snapback] Den der likte jeg, tror jeg. Du har ikke noe eksempelkode på dette og vil det fungere i VB 6? Skjønte ikke helt gangen her. -Personen registerer seg med f.eks. navn, mail og mac. Mac får han vite av registreringsvinduet i programmet mitt. -Serverprogrammet genererer en nøkkel ut fra mac, som sendes tilbake til bruker. -Bruker skriver inn nøkkel. -Programmet finner denne pcens mac, dekrypterer nøkkel og sjekker om denne er den samme. -Er disse like = OK -Ikke like = "Din snik! Kjøp ditt eget program" (Eller noe i den stilen... ) Har ikke kodet noen slike "avanserte" ting før, med binære filer, registry osv.. Lenke til kommentar
aadnk Skrevet 20. april 2006 Del Skrevet 20. april 2006 Du har ikke noe eksempelkode på dette og vil det fungere i VB 6? 5954156[/snapback] Søk, og du skal bli vis. Å lagre binærfiler er ikke særlig problematisk. Du bruker rett og slett For Binary i Open-kommandoen, såsom dette: Dim Free As Long, sData As String ' Hent ledig filnummer Free = FreeFile ' Åpne fil til både lesing og lagring Open "C:\Test.bin" For Binary As #Free ' Alloker streng slik at den passer med mengden data sData = Space(LOF(Free)) ' Fyll streng med tilgjengelig informasjon Get #Free, 1, sData ' Legg til data (for å slette, bør du slette filen fullstendig) Put #Free, , "new data" ' Lukk fil Close #Free ' Vis tidligere innhold MsgBox sData Lenke til kommentar
backup Skrevet 20. april 2006 Del Skrevet 20. april 2006 Skjønte ikke helt gangen her. -Personen registerer seg med f.eks. navn, mail og mac. Mac får han vite av registreringsvinduet i programmet mitt. Svar: Ja, det kan gjøres slik, men smartere er det å legge en Microsoft Internet Control på registreringsformen og bruke denne til å overføre alle data (også mac'en) til et script (php, asp, aspx, cgi) på din server. Scriptet behandler så data (lagrer i en database) og sender den krypterte mac'en med email til bruker (kunden). -Serverprogrammet genererer en nøkkel ut fra mac, som sendes tilbake til bruker. Svar: Ja. -Bruker skriver inn nøkkel. Svar: Ja, og programmet lagrer den automatisk i en binærfil. -Programmet finner denne pcens mac, dekrypterer nøkkel og sjekker om denne er den samme. Svar: Ja. Henter den krypterte fra binærfila, dekrypterer og sjekker så mot pc'ens mac. -Er disse like = OK Svar: Ja. -Ikke like = "Din snik! Kjøp ditt eget program" (Eller noe i den stilen... ) Svar: Ja. For vb 6, se innlegget til aadnk, bra stoff! Lenke til kommentar
[space] Skrevet 20. april 2006 Forfatter Del Skrevet 20. april 2006 Flotte saker! Tror jeg dropper det med mac-adressa likevel, og går for standard lisensnøkkel ut fra navn og email, men prinsippene blir jo stort sett det samme, men litt enklere. Altså, jeg får navn og mailadresse i en mail. Et script på servern må ta seg av denne, generere nøkkel og sende mail til brukeren. -Noen hint om slike script? Må være php tenker jeg. Så må jo da brukern skrive inn navn, mailadresse og nøkkel i programmet, og vips så funker det. Nå har jeg hvertfall en god start til å lete litt rundt. Takker for alle tips hittil. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå