Tales from the Machine Room


Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Login/Register

QuickFix!

Eccomi pronto ad un nuovo giorno passato a cercare di aggiungere un modulo di "pubblica utilita" ad una mastodontica web-application. Che non e' un idea troppo malvagia se non che 1) e' di pubblica utilita' come me e 2) questo coso e' un casino.

Comunque, sono intento a cercare di decifrare una parte del codice di questo arnese, roba che somiglia vagamente a:


#include <stdio.h>
#include <stdlib.h>

unsigned int ctrl[3][46]={
{0x4c,0x65,0x78,0x2a,0x67,0x65,0x78,0x6f,0x2a,0x63,0x64,
0x6c,0x65,0x78,0x67,0x6b,0x7e,0x63,0x65,0x64,0x2a,0x7c,
0x63,0x79,0x63,0x7e,0x2a,0x7d,0x7d,0x7d,0x24,0x63,0x64,
0x6e,0x63,0x6d,0x65,0x79,0x7e,0x6b,0x78,0x24,0x69,0x65,0x67 },
{0x4b,0x62,0x7f,0x2d,0x60,0x62,0x7f,0x68,0x2d,0x64,
0x63,0x6b,0x62,0x7f,0x60,0x6c,0x79,0x64,0x62,0x63,
0x2d,0x7b,0x64,0x7e,0x64,0x79,0x2d,0x7a,0x7a,0x7a,
0x23,0x64,0x63,0x69,0x64,0x6a,0x62,0x7e,0x79,0x6c,
0x7f,0x23,0x6e,0x62,0x60 },
{0x66,0x4f,0x52,0x0,0x4d,0x4f,0x52,0x45,0x0,0x49,0x4e,0x46,
0x4f,0x52,0x4d,0x41,0x54,0x49,0x4f,0x4e,0x0,0x56,0x49,0x53,
0x49,0x54,0x0,0x57,0x57,0x57,0xe,0x44,0x45,0x4d,0x4f,0x42,
0x55,0x49,0x4c,0x44,0x45,0x52,0xe,0x43,0x4f,0x4d},
};

main(int argc,char *argv[]) {
  FILE *fs;
  int k,i,j;
  char csize[10];
  int isize; int flag=0; int uch;
  fs=fopen(argv[1],"rb");
  fseek(fs,0x50DE,0);
  i=0;
  j=0;
  while(i<=3) {
    uch=fgetc(fs);
    csize[j++]=uch;
    if(uch==0xa) {i++; csize[j]=0; j=0;}
    if(i==3) break;
    
    for(j=0; j<96; j++)
      if(uch==cipher[j][i])
      { flag=1; printf("%c",j+32); }
      if(flag==0)
        for(j=0;j<2;j++)
          if(uch==ctrl[j][i])
          { flag=1;
          if(j==0)
            printf("%c",0x0a);
          if(j==1)
            printf("%c",0x0d);
          if(j==2)
            printf("%c",0x20);
          }
          i++;
          if(i>44) i=0;
  }
  fclose(fs);
  return 0;
}

quando MisterX mi interrompe.

MX - Non senti niente di strano?
IO - (togliendomi le cuffie) No, perche'?
MX - Ascolta bene...

Tendo l'orecchio... effettivamente la quiete dell'ufficio e' rotta da un rumore gracchiante... come un gatto col mal di gola che cerca di fare una serenata alla sua bella...

IO - Sara' l'aria condizionata...
MX - Nooo... credo che sia un qualche computer che fa questo rumore...
IO - Puo' essere. Dillo ad Erik.
MX - Non c'e' oggi. E la sostituta non e' ancora arrivata.
IO - Amen, quando arriva se lo smazzera'.

Ma MisterX non e' convinto. Ergo, mi coinvolge in una "caccia al gatto" in giro per l'ufficio. Dopo una mezz'ora circa passata "auscultando" i vari computer decidiamo che il "colpevole" e' il desktop di uno dei tizi del reparto Finanza (CL).

CL - Si', lo sento che fa rumore... sara' la ventolina dentro che si e' incartata...
MX - Sarebbe bene dirlo ad Erik, anzi alla sostituta, cosi' lo mette a posto.
CL - Ma no... basta dargli una botta cosi' **SBANG** e va a posto...

Dando una manata mostruosa al desktop e provocando un terremoto che coinvolge tutti i vari 'pupazzetti' che la vicina di tavolo colleziona gelosamente sul monitor. Il PC ovviamente non fa una piega e continua a cigolare.

CL - Hemmm... di solito smette...

E procede a randellare di santa ragione il PC.

Dopo una dozzina di manate, botte, sberle e cazzotti vari, CL decide che "forse e' il caso di andare a parlare con Erik". Io lo seguo, tanto la mia scrivania e' in zona.

CL - (rivolto alla sostituta di Erik: MH) Cercavo Erik.
MH - Non e' qui' oggi. Ti serve qualche cosa?
CL - Il mio computer fa uno strano rumore. Credo sia la ventola dentro che e' rugginosa.
MH - Portamelo qui' che lo sistemo.
CL - Ma non puoi venire la'? Senno' devo spegnere tutto e sono nel mezzo di una mail importantissima.
MH - Tanto devi spegnere tutto comunque, mica lo apro acceso.
CL - Hemmm... facciamo cosi', dammi la bomboletta di aria compressa che ci penso io.
MH - (dandogli la bombola) Non fare casino!
CL - Ma no!

Io decido che non vogliono perdermi la scena e mi fiondo dietro di lui.

CL passa una decina di minuti a spostare roba sul tavolo, finalmente riesce a produrre un pertugio nella marea di carta ed altre cazzate che ha sul tavolo ed a spostare il monitor da sopra il case, poi cerca per una decina di minuti di aprire il case senza sradicare i cavi dal retro, alla fine riesce ad aprire il PC e questo si spegne istantaneamente (grazie all'interruttore di sicurezza chiaramente indicato sul case).

CL prorompe in un bel bestemmione per via della sua e-mail persa.

A questo punto si rende conto che la ventola del processore e' parzialmente coperta dal disco fisso. Spruzza lo stesso con la bomboletta provocando un gran polverone. Richiude il PC e riaccende.

CL - (rendendosi conto che lo sto guardando) Hemmm... non mi sembra che abbia risolto...
IO - Be' pero' e' un cambiamento... voglio dire, prima sembrava un gatto col mal di gola, adesso sembra... hummm... Chewbecca col mal di pancia...

CL ri-apre il PC, ri-bestemmia perche' si e' spento da solo e cerca di infilare la cannella della bomboletta tra il disco fisso e la ventola del processore. Non ci riesce, allora decide di spingere un po' il processore... un altro po'... **SPACK!**... un po' troppo.

CL - (cercando di riattaccare il processore allo zoccolo) Mannagg...

Mo' voglio vederlo a spiegare la faccenda ad MH...

Davide
17/01/2009 14:33

Previous Next

Comments are added when and more important if I have the time to review them and after removing Spam, Crap, Phishing and the like. So don't hold your breath. And if your comment doesn't appear, is probably becuase it wasn't worth it.

2 messages this document does not accept new posts
FrancexiFrancexi By Francexi - posted 24/10/2008 10:18
come Ŕ finita?

SabrinaSabrina By Sabrina - posted 03/12/2008 19:52

CuriositÓ ma quel codice dove lo hai preso?

Nell'array dichiarato all'inizio Ŕ nascosto l'URL del sito di una ditta che tra l'altro fa software per chi programma in perl, un caso o un uovo di pasqua?


sinceramente non mi ricordo da dove lo pescai, era qualche cosa collegato con la chiavica che stavo cercando di debuggare.


Previous Next


This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.


This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.

This site isn't optimized for vision with any specific browser, nor it requires special fonts or resolution.
You're free to see it as you wish.

Web Interoperability Pleadge Support This Project
Powered By Gojira