Eseguibile lazarus è "sicuro"?

di gian82 il
8 risposte
Ciao a tutti ,vi chiedo se secondo voi gli eseguibili di lazarus potrebbero essere usati per "nascondere" una stringa,in pratica vorrei chiedere se questo tipo di eseguibili possono essere decompilati oppure no,il fine sarebbe passare questa stringa "nascosta" ad un altro eseguibile ,grazie,

8 Risposte

  • Certo che è possibile.
    Per renderlo meno banale tipicamente si adottano "spezzettamenti" vari, quando non decodifiche da algoritmo di cifratura.
    Si passa da "usa un editor esadecimale livello bimbominkia" a "fai un lavorone livello avanzato"
  • Regola: tutto si può decompilare.
    Il punto è fare un sistema che sia troppo rognoso e "antieconomico".
    Ci sono dei "compressori" di eseguibili che danno un grado di protezione iniziale, sul tipo di mpress. Non esistono (che io sappia) decompressori. Si può fare ma serve qualche strumento, tempo e conoscenza dell'assembly intel.
  • Si fa prima a fare qualcosa del genere
    
    stringa:="p"+"i";
    stringa:=stringa+"p"+"p"+"o";
  • +m2+ ha scritto:


    Si fa prima a fare qualcosa del genere
    
    stringa:="p"+"i";
    stringa:=stringa+"p"+"p"+"o";
    Proprio così no perché il compilatore è abbastanza intelligente e ricompone le stringhe costanti!

    Ma qualcosa del genere che preveda un calcolo, anche molto semplice, da eseguire runtime va bene. Esempio:
    Function Costruisci:string;
    Var
      a, b, c, d, e : integer;
    begin
      a := 66;
      b := 4;
      c := 3;
      d := a + a + a + b * 17 + b + c;
      Result := IntToStr(d);
      a := Ord('c');
      b := Ord('i');
      c := Ord('a');
      d := Ord('o');
      e := Ord('!');
      Result := Result + chr(a -1) + chr(b -2)+ chr(c -3)+ chr(d -4)+ chr(e -5);
      a := 4;
      b := 79;
      Result := Result + IntToStr(a*21) + IntToStr(b div 2) + '0' + IntToStr(b +3);
    end; //Costruisci
    
  • Grazie delle risposte,se avete ulteriori considerazioni-consigli spero possiate esplicitarli...
  • Tieni anche conto che il passaggio di parametri sulla riga di comando va considerato "in chiaro"?
    È assolutamente banale intercettarlo. Per parlare tra di loro due app devono scecliere metodi migliori.
    Questo se ci sono problemi di sicurezza.
    N
  • Nel caso lo facessi avrei pensato alla crittografia asimmetrica per creare un canale sicuro....
  • Altre idee per trasportare la stringa non in chiaro?,grazie
Devi accedere o registrarti per scrivere nel forum
8 risposte