Daniel’s weblog

Forever trust in who we are

Licentierea aplicatiilor Java

By daniel at 8:50 pm on Iulie 13, 2008 | No comments

Mai de mult am folosit oXygen XML pentru editarea fisierelor XML – varianta plugin pentru Eclipse. De curand am avut din nou nevoie de un editor XML, am instalat versiunea 9.2 a oXygen XML, iar pe data de 23 Mai am cerut o licenta “trial”.
Astazi am avut surpriza sa observ ca perioada de incercare a aplicatiei s-a terminat.
Am incercat sa vad cat de simplu e sa prelungesti perioada de incercare.
Cutia cu scule:

Folosind jad am decompilat clasele din pachetele ro si com arhiva oxygenEclipse.jar.
Cand accesam preferintele pentru Oxygen din Eclipse un mesaj de notificare era afisat. Ca urmare m-am dus in fisierul descriptor al plugin-ului (plugin.xml) si am gasit clasa responsabila cu informatiile de inregistrare – com.oxygenxml.editor.preferences.MainPreferencePage. In aceasta clasa gasim:

int j = (int)Math.ceil((g.J().getTime() - System.currentTimeMillis()) / 0x5265c00L);

cod care, de la o posta se vede, determina numarul de zile care au mai ramas pana la expirarea licentei.
Pentru a avea un j mai mare ar trebui ca g.J().getTime() sa intoarca un timp cat mai departat de ziua curenta.
Astfel, in clasa ro.sync.D.G avem:

private void A(Date date, J j)
{
A(date);
A(j);
long l = 0x5265c00L;
O = new Date(E.getTime() + (long)j.A() * l);
}

Iar pentru ca O sa fie un Date cat mai in viitor ar trebui ca l sa fie cat mai mare.
Semnificatia lui l?

0x5265c00L = 86400000 milis = 86400 s = 1440 min = 24 ore

Deci sunt l milisecunde intr-o zi. Acest numar il consider un punct slab in securitatea oricarui soft. O simpla cautare prin cod dupa acest numar ne poate duce direct la locul unde putem modifica astfel incat sa prelungim perioada de licentiere.
Daca intr-o zi sunt de doua ori mai multe milisecunde decat normal atunci perioada de licentiere se dubleaza.
Pentru a face ca o zi sa aiba 172800 secunde folosim Class Contruction Kit iar apoi actualizam arhiva oxygenEclipse.jar cu clasa modificata.

Am vrut sa arat cat de simplu e sa prelungesti perioada de incercare a unei aplicatii si unde sunt punctele slabe.
Clasele desi sunt obfuscate, am demonstrat ca acest lucru nu este suficient. Raman totusi unele informatii (numele claselor entry point, diferite string-uri, diferite constante, etc) care pot fi folosite pentru a “sparge” securitatea aplicatiei.
Cele prezentate in acest post au scop pur demonstrativ, in nici un caz nu indeamna la folosirea ilegala a aplicatiilor software. Recomand calduros cumpararea acestei aplicatii.

Înscris în: Security Leave A Comment »

Sacalul si victimele

By daniel at 9:02 pm on Iunie 27, 2008 | No comments

Situarea articolelor Unde sunt victimele? si Sacalul si pisica din cartea Luxul mortii pe pagini alaturate nu cred ca e intamplatoare.
Cel putin la fel de neintamplatoare a fost participarea unui detinut politic la premiera filmului Cold Waves din Cluj Napoca. Victimele sunt peste tot, unele continua lupta… pentru altele cred ca razboiul s-a terminat. Indiferent de atitudine ele exista, poate prea putin vizibile dar din fericire inca martori.
Sacalii si victimele sunt si vor ramane in documentarele ca cel amintit mai sus!
…si in memoria colectiva. La fel ca oamenii, tarile au memoria diferita …astazi la Londra se celebreaza o victima – Nelson Mandela

Înscris în: Security Leave A Comment »
 

© 2008-2010 Olivian Daniel Tofan This work is licensed under a Creative Commons License