Înmulţirea tetrazona
Am scris un nou articol despre inmultirea tetrazona: http://daniel.toffee.ro/download/tetrazona-breeding.pdf
Am scris un nou articol despre inmultirea tetrazona: http://daniel.toffee.ro/download/tetrazona-breeding.pdf
awstats este un program care generează diferite statistici pentru jurnalele diferitelor servere (web, mail, ftp). Pentru a folosi această aplicatie aveți nevoie de perl. Pentru a instala awstats pe openwrt trebuie ca perl să ruleze pe openwrt. Exista pachetul microperl pentru openwrt dar după cum se spune aici (și după cum se poate deduce din nume) acesta are diverse neajunsuri (de ex. nu are facilitatea de a încărca extensii). Neajunsuri care sunt esențiale pentru a executa aplicații precum awstats.
După cateva ore de căutări/cercetări/efort am ajuns la concluzia că awstats nu poate rula pe openwrt deoarece un interpretor perl complet lipsește. În schimb, microperl poate fi folosit pentru a rula programe simple, cum ar fi:
microperl -le 'print q/Hello world/'
Am scris un nou plugin pentru Windows Live Photo Gallery… unul care permite publicarea fotografiilor pe un site care ruleaza zenphoto.
Mai multe detalii in pagina plugin-ului: http://daniel.toffee.ro/soft/wlpg/zenphotoplugin.php
Plugin-ul este listat in situl zenphoto, in sectiunea Windows Add-Ons.
Dupa cateva seri de lucru am reusit sa aduc intr-o stare functionala aplicatia WLPG FTP Plugin. Este un plugin pentru Windows Live Photo Gallery care permite publicarea fotografiilor pe un server FTP. Aplicatia poate fi descarcata din pagina special creata in acest scop. Ma astept sa aiba destule probleme deoarece nu este suficient testat, dar este un inceput. Astept comentarii, feedback, feature requests, contribuitori… Deorece eu folosesc WLPG pentru organizarea fotografiilor si zenphoto pentru publicarea lor as dori sa implementez un plugin WLPG pentru zenphoto… poate candva se va intampla.
Mi s-a intamplat de mai multe ori, dupa intoarcerea din concediu, sa simt nevoia unei aplicatii software de gestiune a “amintirilor” digitale. S-a intamplat mai demult si la momentul respectiv am ales Picasa. Vara acesta dupa ce m-am intors din concediu am vrut sa folosesc din nou Picasa – nu mi-a mai placut. Am ales in schimb Windows Live Photo Gallery. Motivul principal? Pentru ca informatiile editate cu aceasta aplicatie sunt salvate in fisierul imagine. De atunci incerc sa folosesc aceasta aplicatie ca si manager al fotografiilor mele. Un lucru am simtit eu ca lipsea – posibilitatea scrierii unor plugin-uri pentru publicarea fotografiilor pe diferite site-uri web. Nu zic ca WLPG e mai bun decat Picasa, zic doar ca mie (in momentul de fata) imi place mai mult WLPG. Am primit o confirmare ca am ales bine atunci cand am aflat ca urmatoarea versiune (acum in stadiu beta) suporta Publishing API. Interoperabilitatea – o caracteristica care cred ca influenteaza mult succesul unei applicatii software.
Am avut mai multe incercari de-a lungul timpului sa editez documente folosind DocBook dar de fiecare data am ramas cu impresia ca este o metoda buna de “authoring” dar dificil de folosit. Cred ca documentatia in acest domeniu este foarte buna deorece este scrisa de oameni cu inclinare dar si care cunosc conceptele. Cu toate aceste este dificil pentru un incepator sa fie atras de aceasta modalitate de authoring pentru ca instalarea este relativ complicata, sunt multe versiuni, documentatia vasta. Si uneori mai apar si probleme de ordin tehnic!
Zilele acestea m-am confruntat din nou cu problema rezolvarii resurselor publice. Am inceput prin a scrie un articol folosind DocBook. XML-ul rezultat avea ca preambul urmatoarele:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML 5.0//EN" "http://docbook.org/xml/5.0/dtd/docbook.dtd">
iar XSLT-ul folosit pentru generarea codului HTML incepea asa:
<?xml version="1.0" encoding="ASCII"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
version="1.0">
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"/>
Dupa cum se vede cel putin urmatoarele resurse web trebuiesc rezolvate:
http://docbook.org/xml/5.0/dtd/docbook.dtd
http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl
Sigur, acest lucru se poate face simplu prin accesarea din Internet a acestor resurse. Atunci cand nu avem Internet sau dorim ca acest lucru sa se intample rapid este indicat ca aceste resurse sa fie disponibile local iar rezolvarea lor sa se faca local. Exista Entity Resolution care defineste un format XML pentru asocierea resurselor referite la alte resurse (inclusiv resurse locale). Aceste fisiere XML sunt numite “catalog” care permit gestiunea a doua tipuri de asocieri:
Exemplu de fisier catlog:
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="public">
<public publicId="-//OASIS//DTD DocBook XML 5.0//EN" uri="dtd/docbook.dtd"/>
<system systemId="http://docbook.org/xml/5.0/dtd/docbook.dtd" uri="dtd/docbook.dtd"/>
</catalog>
Pentru Java exista biblioteca Resolver care permite rezolvarea resurselor. Mai jos doua exemple:
daniel>java org.apache.xml.resolver.apps.resolver -d 99 -c d:/authoring/docbook-5.0/catalog.xml -p "-//OASIS//DTD DocBook XML 5.0//EN" public
Resolve PUBLIC (publicid, systemid):
public id: -//OASIS//DTD DocBook XML 5.0//EN
Result: file:d:/authoring/docbook-5.0/dtd/docbook.dtd
daniel>java org.apache.xml.resolver.apps.resolver -d 99 -c d:/authoring/docbook-5.0/catalog.xml -s "http://docbook.org/xml/5.0/dtd/docbook.dtd" system
Resolve SYSTEM (systemid):
system id: http://docbook.org/xml/5.0/dtd/docbook.dtd
Result: file:d:/authoring/docbook-5.0/dtd/docbook.dtd
Problema a inceput atunci cand am incercat sa folosesc aceasta biblioteca din ant. Exista elementul xmlcatalog care permite definirea unui catalog nou sau referirea unuia existent. Cand se refera un catalog extern este nevoie ca biblioteca resolver sa fie disponibila. Acest lucru este documentat:
In addition, external catalog files may be specified in a nested catalogpath, but they will be ignored unless the resolver library from xml-commons is available in the system classpath.
Deci important este ca resolver.jar sa fie in system classpath altfel obtinem o notificare de genul:
Warning: XML resolver not found; external catalogs will be ignored
Inchei cu urarea “May All Your Names Resolve Successfully!“
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.
Am testat doua aplicatii de monitorizare a traficului:vnStat si darkstat
Intai am instalat darkstat
ipkg install darkstat
si rulat
/etc/init.d/darkstat start
Dupa cum spune la pornire (darkstat: listening on 0.0.0.0:667), darkstart porneste un webserver (pe portul 667) unde se pot vedea rezultatele monitorizarii. Foloseste libpcap pentru monitorizare. Paginile web generate (cele fara grafice) pot fi vizualizate si cun browser in mod text (elinks). Consumul de resurse (CPU) poate fi considerat un dezavantaj daca nu se doresc facilitatile de packet sniffer.
vnStat s-a instalat la fel de simplu
ipkg install vnstat
dar configurarea si rularea necesita cativa pasi:
vnstat -u -i eth0. Acest pas se repeta pt. fiecare interfata care se doreste monitorizata. Rezultatul este fisier binar in directorul /var/lib/vnstat numit la fal ca si interfata.0-55/5 * * * * /mmc/usr/bin/vnstat -u. Scopul este actualizarea “bazei de date” din cand in cand.vnstat. Deasemenea, se pot obtine datele din ultimele 24 ore (-h), ultimele 30 zile (-d) sau ultimele 12 luni (-m).Rezultatele sunt afisate in mod text – pentru unii poate e un avantaj. Pentru ceilalti exista vnStat PHP frontend. Folosind aceste scripturi PHP, rezultatele monitorizarii pot fi vizualizate folosind un web browser.
Atata timp cat suntem aici e clar raspunsul. Dar totusi raman unele indoieli, pentru ca in “blogosphera”, ca si in viata reala, nu e numai alb si negru sau numai bine si rau. Incercam diferite nuante de gri… si prin urmare se pune problema “cum sa blog?”. Pentru ca nu-mi place sa vorbesc atunci cand nu am nimic de spus – cred ca asa se va intampla si aici. Pentru ca prefer calitatea in fata cantitatii – sper ca asa va fi si aici.
Ce va cuprinde blog-ul? Ideile mele care merita sa fie cunoscute si de altii – sper sa le prezint intr-o forma concisa si atractiva. Voi incerca sa prezint continut original, dreptul de autor revenindu-mi – unde va fi altfel voi preciza.
Happy blogging!
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
© 2008-2010 Olivian Daniel Tofan This work is licensed under a Creative Commons License