Gå til innhold

programmere en shareware løsning


Anbefalte innlegg

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
Videoannonse
Annonse

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

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

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 av wolf5
Lenke til kommentar
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
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

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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...