Daniel’s weblog

Forever trust in who we are

Înmulţirea tetrazona

By daniel at 11:17 pm on Aprilie 27, 2009 | No comments

Am scris un nou articol despre inmultirea tetrazona: http://daniel.toffee.ro/download/tetrazona-breeding.pdf

Înscris în: Aqua, Authoring, ro Leave A Comment »

awstats și openwrt

By daniel at 8:39 pm on Ianuarie 4, 2009 | No comments

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/'

Înscris în: OpenWRT, Software, ro Leave A Comment »

WLPG Zenphoto Plugin

By daniel at 10:49 pm on Noiembrie 23, 2008 | No comments

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.

Înscris în: Software, ro Leave A Comment »

WLPG FTP Plugin

By daniel at 11:10 pm on Noiembrie 3, 2008 | No comments

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.

Înscris în: Software Leave A Comment »

Organizarea fotografiilor digitale

By daniel at 10:32 pm on Octombrie 23, 2008 | No comments

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.

Înscris în: Software Leave A Comment »

“May All Your Names Resolve Successfully!”

By daniel at 10:13 pm on Octombrie 19, 2008 | No comments

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:

  • asociaza o entitate externa la URI-ul unei resurse;
  • asociaza URI-ul unei resurse la un alt URI;

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!

Înscris în: Authoring, Languages Leave A Comment »

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 »

OpenWRT network monitoring

By daniel at 8:51 pm on Iunie 29, 2008 | No comments

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:

  1. Initializarea “bazei de date”: 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.
  2. Setarea unui cronjob: 0-55/5 * * * * /mmc/usr/bin/vnstat -u. Scopul este actualizarea “bazei de date” din cand in cand.
  3. Obtinerea datelor: 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.

Înscris în: OpenWRT Leave A Comment »

To blog or not to blog?

By daniel at 11:17 pm on Iunie 28, 2008 | No comments

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!

Înscris în: Weblog 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