Esiste uno "pseudo-compilatore" per software proprietario?

0

Mi interessa sapere se esiste uno pseudo-compilatore che può creare una sorta di versione binaria o di codice byte di un file di script in chiaro, a cui si può accedere solo con un software proprietario?

Lavoro con un client software proprietario in ambiente Windows, e il software ha un proprio gestore di script che può 'compilare' un file di script in un file 'binario'. Il binario è un file non in chiaro, a cui è possibile accedere solo dal software proprietario per eseguire attività personalizzate.

La ragione di ciò, presumo, è perché il software ha una propria libreria di funzioni integrate che l'azienda non vuole rendere disponibili al pubblico. Se i binari non sono binari veri come sospetto (nel senso che sono non compilati per le istruzioni specifiche della CPU), suppongo anche che sarebbe possibile ripristinare i binari in testo normale file di script.

Ho il strong sospetto che la società che ha scritto il software proprietario non abbia scritto un compilatore su misura per il proprio gestore di script, in quanto questa non è la caratteristica principale del software ma più di un add -sopra. In tal caso, devono aver utilizzato un client o una libreria di terze parti per compilare e leggere questi pseudo-binari.

Mi piacerebbe saperne di più su questo tipo di pratica in generale, per ottenere una migliore comprensione. Qualcuno sa di librerie di pseudo compilatori standard disponibili per piattaforme Windows (o altre)? Qualsiasi informazione su questo sarebbe molto apprezzata!

    
posta thisisanon 21.10.2016 - 13:12
fonte

2 risposte

4

Se il punto di trasformare il codice in modo reversibile non è quello di produrre un'altra forma di codice eseguibile (codice di script o codice macchina), allora si tratta davvero di semplice crittografia vecchia.

In altre parole, sì, ci sono molte librerie per farlo, ma sono solo le librerie di crittografia standard e invece di inventare una trasformazione proprietaria quasi certamente starai meglio usando uno standard algoritmo con un segreto chiave proprietario.

    
risposta data 21.10.2016 - 13:19
fonte
3

Is there such a thing as a 'pseudo-compiler' for proprietary software?

Sì.

Oltre a questo, è difficile dare una risposta definitiva a questa domanda poiché ci sono troppe incognite. Un elenco non esaustivo di ciò che potrebbe essere il file binario sono:

  1. Un file di testo semplice che è stato crittografato,
  2. Un file di testo semplice che è stato compresso,
  3. Un albero di sintassi generato da un lexer / parser, che è quindi sintatticamente valido, salvando l'app dal controllo stesso,
  4. L'output di un vero compilatore, che può essere semplicemente racchiuso all'interno del solo "compilatore" aziendale, che richiama quello reale e offusca l'output,
  5. Un eseguibile compilato (per codice byte o codice macchina)

Sono sicuro che ci sono dozzine di altre possibilità che potrebbero essere aggiunte qui. Il punto è che, senza la retroingegnerizzazione di quei file binari (o semplicemente chiedendo alla compagnia!), Non c'è modo di saperlo con certezza.

    
risposta data 21.10.2016 - 14:37
fonte