Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Zastita od kopiranja java programa (Ne sa CDa!)

[es] :: Java :: Zastita od kopiranja java programa (Ne sa CDa!)

Strane: 1 2

[ Pregleda: 6673 | Odgovora: 30 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.113.*



+7 Profil

icon Re: Zastita od kopiranja java programa (Ne sa CDa!)08.09.2008. u 20:43 - pre 189 meseci
@grizzly
Evo imas celu stvar (ako se radi o windowsu)
Procedura :
Snimi ovo sto sam napisao kao NekiFajl.vbs u instalacionom folderu. Kad odes da instaliras pusti ga da bi dobio Serial.txt (sa brojem HD-a C) u istom folderu i onda obrisi vbs fajl.
Code:

'GetHDSerial.vbs
'Citanje
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set colDrives = objFSO.Drives
Set objDrive = colDrives.item("C")
Dim str
str = objDrive.SerialNumber
'Upis u fajl Serial.txt
Set FSO = CreateObject("Scripting.FileSystemObject")
Set FS = FSO.CreateTextFile("Serial.txt")
FS.Write str
FS.Close

U aplikaciji koristi drugu funkciju sa strane http://www.rgagnon.com/javadetails/java-0580.html iz @nemnesic-ove poruke.
Znaci u javi negde na pocetku izvedi ovu fn sa parametrom C kao ime drajva
Code:

public static String getSerialNumber(String drive) {
  String result = "";
    try {
      File file = File.createTempFile("realhowto",".vbs");
      file.deleteOnExit();
      FileWriter fw = new java.io.FileWriter(file);

      String vbs = "Set objFSO = CreateObject(\"Scripting.FileSystemObject\")\n"
                  +"Set colDrives = objFSO.Drives\n"
                  +"Set objDrive = colDrives.item(\"" + drive + "\")\n"
                  +"Wscript.Echo objDrive.SerialNumber";  // see note
      fw.write(vbs);
      fw.close();
      Process p = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath());
      BufferedReader input =
        new BufferedReader
          (new InputStreamReader(p.getInputStream()));
      String line;
      while ((line = input.readLine()) != null) {
         result += line;
      }
      input.close();
    }
    catch(Exception e){
        e.printStackTrace();
    }
    return result.trim();
  }

i posle toga iz jave procitaj Serial.txt i uporedi stringove. Ako nisu isti ili Serial.txt ne postoji prekini program i to je to
Normalno ako ljudi znaju sami da ocitaju broj HD-a i naprave Serial.txt za drugi PC cela ova zastita pada u vodu (eventualno bi mogao da txt stavis negde drugo da nije toliko ocigledno ili da ubacis jos nesto u txt fajl posle serijskog broja). Ovo je instant resenje tek da ne moze da se samo iskopira i da radi
poz
 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

Moderator
Član broj: 44355
Poruke: 802
*.com
Via: [es] mailing liste



+64 Profil

icon Re: Zastita od kopiranja java programa (Ne sa CDa!)08.09.2008. u 21:00 - pre 189 meseci
a mozes da umesto ovog Serial.txt korisitis embedded DB firebird. Pa
je lepo zakljucaj tako da i ako oni znaju da citaju SERIAL ne mogu da
srede firebird db.

:)
nn
 
Odgovor na temu

abyss

Član broj: 2945
Poruke: 684
79.101.137.*



+51 Profil

icon Re: Zastita od kopiranja java programa (Ne sa CDa!)08.09.2008. u 21:10 - pre 189 meseci
Tema ide u pogresnom smeru, sve sto pominjete moze da se izbegne sa "//"...

Jedina metoda koja je koliko-toliko delotvorna je custom classloader i native kriptovanje (i dekpritovanje) klasa
za koje ne postoji (barem ja nisam nasao) opensource resenje...
--
"Once hadst thou passions and calledst them evil. But now hast thou only
thy virtues: they grew out of thy passions."
 
Odgovor na temu

Aleksandar Đokić

Član broj: 13478
Poruke: 4793
93.86.54.*



+638 Profil

icon Re: Zastita od kopiranja java programa (Ne sa CDa!)09.09.2008. u 02:14 - pre 189 meseci
idi na zamajavanje crackera :) procitaj nekoliko stavki i samo jednu, npr. serial hdd-a proveri, i to ne direktno nego ga npr. da izgleda kao datum ili tako nesto
 
Odgovor na temu

Cyberghost
Aleksandar Jovanović
Programer
S U M A D I J A

Član broj: 14674
Poruke: 813
91.150.76.*



+1 Profil

icon Re: Zastita od kopiranja java programa (Ne sa CDa!)09.09.2008. u 08:37 - pre 189 meseci
Citat:
abyss: Tema ide u pogresnom smeru, sve sto pominjete moze da se izbegne sa "//"...


Ovo mi nije jasno, bi li pojasnio malo ?


Evo sta cu pokusati da napravim:

Posto sada mogu sa lakocom da iscitam serijski broj diska, evo kako
cu pokusati da napravim zastitu (registraciju) od kopiranja (premestanja)
aplikacije.

1. Nakon pokretanja, aplikacija cita jedan TXT fajl ili tabelu u bazi
u kojoj se nalazi zapisan kljuc aplikacije, datum, rok trajanja ....
Ukoliko tamo ne nadje validan kljuc pojavljuje se poruka za aktivaciju programa,
od korisnika se trazi serijski broj da unese i nakon toga on dobije
site code, koji je u sustini kodiran folder aplikacije, datum, broj HDD
, rok trajanja aplikacije, i po potrebi maksimalan broj korisnika aplikacije ...
slika 1 i slika 2





2. U drugoj aplikaciji programer unese podatke od korisnika, serijski broj
i site code, nakon cega se generise aktivacioni kod, slika 3




3. Korisnik aplikacije ukuca aktivacioni kod, koji u TXT fajl ili
tabeli baze upisuje kljuc za otkljucavanje aplikacije, opet kriptovan, slika 4.



4. Kada aplikaciju pokrenemo sledeci put, u fajlu se nalazi kljuc
koji radi reverzno kriptovanje i u njemu se nalazi zapisan, serijski broj HDD,
putanja do izvrsnog fajla i jos neki podaci.

Cela fora je uraditi dobro kriptovanje, odnosno maskiranje bitnih podataka u aktivacionom kljucu.
Evo kako izgleda kljuc zapisan u bazi: GFHHIRMSMNORURU 27.08.08 u njemu se nalazi
serijski broj hdd-a, putanja do .exe fajla datum aktivacije, datum isteka aktivacije, max broj korisnika aplikacije.
Every program is either trivial or it contains at least one bug.
 
Odgovor na temu

abyss

Član broj: 2945
Poruke: 684
91.150.126.*



+51 Profil

icon Re: Zastita od kopiranja java programa (Ne sa CDa!)09.09.2008. u 09:12 - pre 189 meseci
>aplikacija cita jedan TXT fajl ili tabelu u bazi
>u kojoj se nalazi zapisan kljuc aplikacije, datum, rok trajanja ....
>Ukoliko tamo ne nadje validan kljuc pojavljuje se poruka za aktivaciju programa,

Uzmes dekompajler i dobijes source klase, i onda iskomentarises proveru ("//"),
iskompajliras i vratis na mesto. Aplikacija vise i ne proverava kljuc a radi...
--
"Once hadst thou passions and calledst them evil. But now hast thou only
thy virtues: they grew out of thy passions."
 
Odgovor na temu

abyss

Član broj: 2945
Poruke: 684
91.150.126.*



+51 Profil

icon Re: Zastita od kopiranja java programa (Ne sa CDa!)09.09.2008. u 13:49 - pre 189 meseci
Zanimljivo da ni onaj vb skript, ni "hdparm -i /dev/hda" a ni Everest ne daju isti serijski broj...
Čak vb skript daje negativan broj ??!??
--
"Once hadst thou passions and calledst them evil. But now hast thou only
thy virtues: they grew out of thy passions."
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
*.dynamic.sbb.rs.

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: Zastita od kopiranja java programa (Ne sa CDa!)09.09.2008. u 14:21 - pre 189 meseci
Citat:
abyss: >aplikacija cita jedan TXT fajl ili tabelu u bazi
>u kojoj se nalazi zapisan kljuc aplikacije, datum, rok trajanja ....
>Ukoliko tamo ne nadje validan kljuc pojavljuje se poruka za aktivaciju programa,

Uzmes dekompajler i dobijes source klase, i onda iskomentarises proveru ("//"),
iskompajliras i vratis na mesto. Aplikacija vise i ne proverava kljuc a radi...


A trojke su djuro sta ? :)

http://www.javasvet.net/doc/25/index.html

Mislim da ce ovaj clanak pomoci makar malo ljudima da shvate da je tesko zastiti java programe.
 
Odgovor na temu

obucina

Član broj: 38191
Poruke: 723

Jabber: obucina


+7 Profil

icon Re: Zastita od kopiranja java programa (Ne sa CDa!)09.09.2008. u 21:33 - pre 189 meseci
Zaboravi na zastitu ako koristis Javu. Prosto zaboravi, nema je. Npr, pogledaj Zend Studio - onog dana kada izadje nova verzija, izadje i generator kljuceva. Limewire isto.
 
Odgovor na temu

grizzly
Beograd

Član broj: 7978
Poruke: 262



+4 Profil

icon Re: Zastita od kopiranja java programa (Ne sa CDa!)09.09.2008. u 22:50 - pre 189 meseci
Tema zaista ne ide u smeru koji meni treba, ali ne mari bitno da se nesto desava.

Aplikacija je vrlo jednostavna, dekompajliranje nema svrhe, ko ga bude primenjivao neka mu bude, jedino cu ja to provuci kroz obsfucator cisto da malo vidim kako se to radi i koje rezultate daje...


Meni treba jednostavno zastita od copy/paste programa, za pocetak razmisljajte kako bi zastitili folder sa java programom od svoje devojke koja studira filoloski :) Ona bi verovatno probala samo da prebaci taj folder kod sebe na racunar, e to ne bi trebalo da radi!


Nisam sad kod kuce par dana, jedva da imam pristup netu, pa ne mogu da se udubljujem u neka od predlozenih resenja. Sve jedno zahvaljujem svima, i nastavite da predlazete.


Nije neiskoristiv pristup sa nekim "podmetnutim" fajlom van ovog foldera, cudi me da sam promasio tu poruku iako je jedna medju prvima.

Mnogo bolje bi bilo ocitavanje harda, mada mislim da nemam vremena da to implementiram i istestiram preko VBa ili Ca, svejedno ljudi hvala za kod!

Linkove cu pogledati kad se vratim, pa javljam kako ide...
 
Odgovor na temu

mihajilo
ns

Član broj: 38943
Poruke: 159
*.ns.ac.yu.



+2 Profil

icon Re: Zastita od kopiranja java programa (Ne sa CDa!)10.09.2008. u 17:42 - pre 189 meseci
Citat:
za pocetak razmisljajte kako bi zastitili folder sa java programom od svoje devojke koja studira filoloski :)
Ona bi verovatno probala samo da prebaci taj folder kod sebe na racunar, e to ne bi trebalo da radi!


ona ni to ne bi znala ona bi probala neki shortcut sa desktopa da kopira na taj drugi racunar :) ,da li ona uopste zna sta je folder ?:)
nego dobar predlog je ako se te firme kace na internet da napravis neke web servise jednostavne i za svaku registraciju upises podatke na bazi kojoj pristupa taj web servis a koja se nalazi na nekom serveru koji ti koristis.kada se pokrene aplikacija ona poziva taj web servis saljuci podatke o registraciji koji se na serveru porede sa onima upisanim u bazu. naravno taj kljuc mora da bude vezan za neki hardwer i da se generise pri pokretanju aplikacije,na primer da aplikacija pokupi neke serijske brojeve hardwera pa da ih salje kao requst servisu,a da oni budu zapisani u bazi,response servisa moze biti yes/no jer ne treba ti nista posebno vec samo odgovor da li je na tom racunaru legalan softver.mada ovo bi te dosta kostalo,a ipak ako korisnici ti placaju pretplatu vredi,ali naravno ako oni mogu da dekompajliraju mogu da izostave poziv servisa za proveru registracije,ali u tom slucaju mogu i sam tvoj program da naprave jer su dovoljno upuceni u struku,tako da i nece kupiti program od tebe.
toliko od majla
 
Odgovor na temu

[es] :: Java :: Zastita od kopiranja java programa (Ne sa CDa!)

Strane: 1 2

[ Pregleda: 6673 | Odgovora: 30 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.