Hvordan beskytte og ta betalt for egenproduserte .EXE

Stian O

Medlem
Hei, jeg har produsert noen små VB.NET programmer som andre gjerne vil benytte.

De er villige til å betale litt (småpenger, 100 kr/mån, men OK) men jeg er redd for at dersom jeg gir dem en kopi av EXE fila så vil den kopieres og brukes av andre gratis.

En løsning jeg vurderer er å la programmet åpne
www.mittdomene.com/test.php?code=[XXX]
og det vil kun fungere om min server svarer at koden er OK.

For hver ny kunde endrer jeg koden.

Er dette et 100% sikkert system?
Er det mulig å finne kildekoden om man kun har en .EXE fil?
 

Nutz

Med lem
Sjekk selv om det er mulig å lese noe nyttig fra programmet ditt..
ILSpy - SharpDevelop Wiki

Vil tippe at testkode vil kunne omgås dersom de klarer å liste ut programmet ditt via ILSpy eller tilsvarende..

Da vet de hva du sender, og nøyaktig hva du forventer.
bare å redigere hosts-fila på lokal maskin, så svare slik man forventer.

Må i det minste bruke en .NET Obfuscator for å gjøre det vanskeligst mulig..

Tar gjerne en kopi av programmet ditt for å teste.. :)
 

Pong

Jeg selger sʇɥƃıluʍop :)
Noen tanker - med utgangspunktet at hvis programmet oppfører seg random, så gjør det vanskelig å tracke/feilsøke.. Så, f.eks.
Ikke gjør programmet 100% avhengig av dette - noen jobber offline.
Ikke begynn med dette før etter 2 uker?
Ikke kjør testen hver gang - typisk 1 gang til dagen, og kanskje ikke hver dag?
Ikke kjør en sjekk mot en og samme host, men flere?
Bruk std encryption?
 

Nutz

Med lem
Har du tittet på hva disse decompilerne gjør i dag pong, til disse .NET programmene?
De lister ut i nærmest kildekode i hvilket språk man foretrekker.
Der vil også "tyvtitter" finne ip-adresser og evt. URL's i klartekst.
Trenger ikke en "tracer" som i gamledager, og sette opp breakpoints og steppe seg gjennom i maskinkode/assembler.

100% fiklingssikker? Tviler på det..
Vet det er lisens-komponenter å få kjøpt, tror man bør kaste seg på en sånn skal man hindre de fleste..
 
Sist redigert:

Pong

Jeg selger sʇɥƃıluʍop :)
Nutz: Wow... ok, da kan blir det vel lett med en hex-editor å endre denne ene "true" til en "false", som det til slutt alltid ender opp med..
Ikke rart at exe filene nå til dags er så store :p
 
Sist redigert:

Nutz

Med lem
Sikkert ikke dumt det, men spørs jo om kanskje det koster mer enn det smaker.. :)
Kanskje ukjent farvann for "Stian O", klarer man å lage en enkel "verifisering" på sin egen "hobby-server" så slipper man jo billig unna dersom det ikke er så mange brukere.
Med flere bruker så er sikkert nettsky-greiene praktisk.
 

Nutz

Med lem
Nutz: Wow... ok, da kan blir det vel lett med en hex-editor å endre denne ene "true" til en "false", som det til slutt alltid ender opp med..
Ikke rart at exe filene nå til dags er så store :p
Tro det eller ei, disse .NET-programmene er ikke så himla store som man skulle tro når man tenker på funksjonalitet, det meste er jo eksterne "DLL"-filer.
Blir noe "byte-code"-grøt av det (IL)
Common Intermediate Language - Wikipedia, the free encyclopedia
som enkelt lar deg rulle opp tililbake til alle de språkene som har støtte .NET.. (Delphi C# J F VB) etc. Variabelnavn og funksjoner er faktisk intakte.. Ikke sikker på om det er mulig å bevare kommentarer fra kildekode.. Kanskje det er en compiler-switch som også drar med seg dette ned til exe-fila.
Nesten utrolig at MS vil stå for et så "enkelt" opplegg å dekompilere..
Men er jo mulig å enkode hele dritten da, men likevel lesbart dersom man MÅ, bare veldig forvirrende!
 

Stian O

Medlem
Takk for alle svarene!
Jeg er ikke verdens mest datakyndige, og kundene mine er er milevis bak meg igjen .. så en enkel verifisering går nok bra.:)
 
Topp