Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 30 odgovora
  • 9.404 pregleda

Najnovija ↓

Re: Zastita od kopiranja java programa (Ne sa CDa!) 08.09.2008. u 21:43 · pre 221 mesec #21
@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
Potpis
HomePage http://www.eurora3d.com
Re: Zastita od kopiranja java programa (Ne sa CDa!) 08.09.2008. u 22:10 · pre 221 mesec #23
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...
Potpis
--
"Once hadst thou passions and calledst them evil. But now hast thou only
thy virtues: they grew out of thy passions."
Re: Zastita od kopiranja java programa (Ne sa CDa!) 09.09.2008. u 09:37 · pre 220 meseci #25
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.
Potpis
Every program is either trivial or it contains at least one bug.
Re: Zastita od kopiranja java programa (Ne sa CDa!) 09.09.2008. u 10:12 · pre 220 meseci #26
>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...
Potpis
--
"Once hadst thou passions and calledst them evil. But now hast thou only
thy virtues: they grew out of thy passions."
Re: Zastita od kopiranja java programa (Ne sa CDa!) 09.09.2008. u 14:49 · pre 220 meseci #27
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 ??!??
Potpis
--
"Once hadst thou passions and calledst them evil. But now hast thou only
thy virtues: they grew out of thy passions."
Re: Zastita od kopiranja java programa (Ne sa CDa!) 09.09.2008. u 15:21 · pre 220 meseci #28
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.
Potpis
http://speedy-order.com
Re: Zastita od kopiranja java programa (Ne sa CDa!) 09.09.2008. u 23:50 · pre 220 meseci #30
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...
Re: Zastita od kopiranja java programa (Ne sa CDa!) 10.09.2008. u 18:42 · pre 220 meseci #31
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.
Potpis
toliko od majla
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme