Patiko? Prenumeruok el. paštu

Licenzijos kodo programavimas

« »

Licenzijos raktas – apsauga nuo pašalinio instaliavimo. Tarkim taip.
Bet raktą gavus galima instaliuoti į bet kokį kompiuterį. (Kaip
dažniausia būna). Vadinasi reikia prie ko nors pririšti (statiško). Tarkim licenzijos raktą telefonui sukurta
programą pririšama prie IMEI kodo, PCiukui galima
pririšti prie kieto disko serial numberio, WEBui prie domeno vardo.
Jei koduosime webui, tam galima sumastyti begalę algoritmų, kurie
visiškai sugerneruoją raktą, bei atkoduoja, bent dalinai. Pavyzdžiui
jame gali būti užkoduotas ne tik domeno vardas, bet ir iki kada tas
raktas galioja. Jei begalybė
užtenka kokie 2038, visvien tiek laiko tas scriptas nesisuks. O jei
kokiam mėnesui tai analogiškai. Pagalvojus labai paprasta, išsklaidai,
perdarai domeno vardą pagal tam
tikrą formuluotę, pridedi kažkurioje vietoje užkoduotą datą. Ir
viskas. Pvz pagal mano sugalvotą principą raktas raktas domenui atrodo
šitaip: ESCCMSM5MMYN-8E2BG7446A-GAEO7FNAFN-CC46FG18G9. Scriptas
lengvai gali suprasti ar tinkamas šiam domenui ar ne, ar dar
nepasibaigusi galiojimo data.
Su vienu domenu raktą sukurti tikrai simple, ir jam rasti atkodavimo
mechanozmą. O kaip padaryti kad tas pats raktas tarkim tiktų 3 ar 5
domenams – štai kur klausimas !!! Sutinku užkoduoti tikrai paprasta. Bet
va sutikrinti ar domenas A,B tinka šiam kodui, o
C netinka. Niekaip nesumastau mechanizmo. Gal pas jus idėjų
rasta?

13 responses to “Licenzijos kodo programavimas”

  1. mentolis says:

    koduojam(domenas1|domenas2|domenasN-iki_kada_galioja);

    if(!preg_match'inam(dekoduojam('tai_ka_užkodavom'))) die('mes norimt tavo $$$');

  2. Vaidas Žilionis says:

    matau naudoji biti arba.. :)

    tik va kaip tas "koduojam" turetu atrodyti?

    $a = 'takas.lt';

    $b = 'abscd.en';

    $d = code($a|$b);

    function code($codeas) {

    return ($codeas);

    }

    sito kodo rezultatas "uc{cw.m~";

    va klausimas kaip iš to "uc{cw.m~" ištraukti ar jame yra takas.lt :) o koks blabla.lt nima

  3. Vaidas Žilionis says:

    tuo labiau jei panaudoji tenk kazkoki takim md5 ar kita kodavimo seka, nes nezinai kiek domenu sis raktas sugeneruotas…

  4. moxliukas says:

    o kam slėpt domenus? Galima daryti pagal PGP modelį kai yra pasirašinėjami laiškai. Eina plaintext, o kartu su juo ir "elektroninis parašas", pasirašytas su privačiu raktu. Bandydamas įsitikinti plaintext autentiškumu (t.y. kad būtent plaintext nebuvo keistas nuo pasirašymo) naudojamas public key. Jeigu bandys kas keist doemnų sąrašą, tai iš karto parašas nesivaliduos ir žinosi, kad kažkas ne taip.

    Perlui vat yra moduliai Crypt::GPG, GPG, GnuPG… ;)

    Nors šiaip nelabai suprantu kam čia tokie dalykai.. juk PHP sourcas matosi, tad man užteks tą kodo gabaliuką, kuris užsiima dekodavimu.

  5. Vaidas Žilionis says:

    moxliuk. kalbekajau apie Licenzijos rakto generavima.

    antra yra priemones pvz ir PHP koda uzkoduoti nuo svetimu akiu

  6. moxliukas says:

    O kodėl būtinai turi būti raktas, o negali būti "sertifikatas" (t.y. failiukas kuriame būtų aprašyta naudojimo permisijos — tokiam ir tokiam domenui, tiek ir tiek laiko ir pan, ir visas tas aprašas pasirašytas kriptografiškai)? Neatitinka parašas — neveikiam. Parašas atitinka, bet neatitinka sertifikate išdėstytos sąlygos (pasibaigęs galiojimo laikas, ant kito domeno perkelta…) — neveikiam.

    Turbūt problema būtų tik tai jog tokie skaičiavimai yra CPU intensive. Bet užtad turi tokią kriptografiją, kurios niekas nenulauš (na, greičiau jau kode apeis ;)

    O PHP kodo kodavimas… iškrypimas IMHO. Baitkodą irgi galima atknist.

  7. Vaidas Žilionis says:

    na sertifikatas irgi vaistas. Jame galima daug daugiau informacijos sudeti :)

    Gerai gal ir atrodo kreiva sleiva si rasliava. Bet ka daryti jei tarkim sukuriai produkta tam tikram klientui. Ir hostinimas kazkur kitur. Klientas dar nesumokejas pinigu. Tai kazkoks mechanizmas su "laiko bomba" gera ideja.

    Kas liecia kodo slepima web platormai, tai kaip ir bet kokia sistema galima apeiti. Ash pavydziui zinau keleta budu SiteSupros TVS apejima, del tam tikru priezasciu negaliu skelbt viesai. :). O atradau visiskai to nenoredamas :P

  8. Vaidas Žilionis says:

    webinio softas viskas gerai (iskyrus nulauzimo serverio ir kitas vagystes…) kai hostinima nuosavam serveryje. O ka daryti kai hostinima kazkur? Paprastai tarkim TVS sukurimas, modeliavimas sugaistama labai daug laiko ir pavadinkim piniginiu resursu. Tad kazkaip norisi apsaugoti produkta nuo svetimu akiu… nors minimaliai.

  9. moxliukas says:

    Kaip visada idėjų semiuosi iš CPAN ;)

    Crypt::Licence toks modulis yra, kurio pagalba visas sourcas encryptinamas, paliekamas tik bootstrap code, kuris patikrina licenzijos validumą, checksumus, parašus ir decryptina visą užkoduotą kodą (užkoduotą kriptografiniais raktais, o ne "obfuscated"). Tarkim mod_perl aplinkoje tai neblogas sprendimas, nes decryptintas kodas saugomas atmintyje ir nereikia jo iš naujo atsikoduoti kiekvienai užklausai. Tokį dalyką apeiti jau sunkoka, ypač jei raktai decryptinimui saugomi centralizuotame vendoriaus serveryje ;)

  10. snk says:

    mobilkoms IMEI numerius keicia uz 5 LT

  11. Lameriukas says:

    chebryte, padekit, is kur gauti GPG aprasyma, kaip viska daryti ir kaip kas veikia? but labai malonu isgirsti jusu nuomone.

  12. Rolandas says:

    O tai kodel nesusitarti su hosteriu?

  13. tuzas says:

    patarkit kaip atblokuoti nokia 3100 imei koda

Leave a Reply

Your email address will not be published. Required fields are marked *

> home
  • Apie mane
  • Apklausos
  • Blogas
  • Lietblogs Search
  • Nuorodos
  • Reklama mano bloge
  • Search
  • Tags
  • Testas
  • Projektai
  • Kontaktuok
  • Archyvas