E 'o dovrebbe essere possibile modificare l'interfaccia grafica di un'applicazione dopo che è stato compilato?

StackOverflow https://stackoverflow.com/questions/4607637

  •  25-09-2019
  •  | 
  •  

Domanda

Sono un utente Linux, e sono stato molto riluttanti a utilizzare Glade per la progettazione di interfacce grafiche, dal momento che i file xml che produce possono essere facilmente modificati. So che non suona come un grosso problema, ma se si tratta di un'applicazione commerciale che proprio non si vuole che la gente cambia?

Io uso Mac OS X ogni tanto un po ', e ho capito che usano file chiamati "pennino" s per GUI. Penso che siano essenzialmente lo stesso tipo usato in NeXTSTEP e OpenStep (c'è anche un'applicazione Linux che consente di modificare i file). In ogni caso, questi file sono inclusi nel bundle dell'applicazione, e secondo alcune persone , sono completamente modificabili. Questa persona sostiene di aver modificati anche con successo l'interfaccia di Keynote.

Ora, perché ciò sarebbe possibile? E 'del tutto a posto per l'utente finale di modificare l'interfaccia? O è meglio avere l'interfaccia grafica direttamente nel codice dell'applicazione compilato, come le applicazioni GTK tradizionali?

È stato utile?

Soluzione

file pennino OS X sono una possibilità; l'altra opzione è quella di fare le cose a livello di codice. Per Android, i file XML possono definire l'interfaccia grafica o codice di programma in grado di farlo. In Windows WPF, l'interfaccia utente è realizzata in XML. Firefox / Mozilla? XUL, un altro linguaggio basato su XML UI.

La maggior parte delle GUI toolkit moderni hanno o entrambe queste opzioni o anche solo la definizione di interfacce utente in file.

Ma anche i binari sono modificabili. Con un buon strumento binario reverse engineering, è spalancata. L'unico modo per essere davvero certo è di fare ciò che Apple ha fatto con iOS, ed eseguire codice firmato; l'intero pacchetto è firmato da una chiave e non può essere eseguito se modificato.

Questo non è un problema per la maggior parte tutti. Perché ti interessa se l'interfaccia utente viene modificata? Il codice sottostante non è, quindi funzionalità non può essere aggiunto o modificato.

Come corollario (e un po 'off-topic) qualcosa che si potrebbe avere una preoccupazione legittima circa è roba un po 'di più come questo .

Altri suggerimenti

Io non vedo proprio un problema con esso. Se un utente scombina la sua interfaccia utente, allora è il suo problema. Pensate a come giochi moddable. Gli utenti sempre li amavano, e alla fine, la maggior parte dei giochi di beneficiare di essa. Di solito c'è niente di segreto l'interfaccia utente di un'applicazione. Se c'è, si può sempre fare una sorta di crittografia.

Come altri hanno detto, si può anche aggiungere checksum se si desidera solo per l'editing Disallow.

I specifica XML poco più di quello che gli sguardi di interfaccia simili. Senza il codice di gestione compilato-in evento, è praticamente inutile. La mia opinione è che i clienti cambiano a proprio rischio, e si potrebbe effettivamente ottenere alcuni miglioramenti utili liberi dalle loro hack.

Se sei veramente paranoico di persone cambiarla, si può sempre aggiungere un passaggio di verifica MD5 digest o qualcosa quando si carica il codice XML, o compilare la stringa XML in un file di intestazione, ma che sconfigge molti dei benefici.

Il motore dei temi può apportare modifiche sostanziali, cercando al vostro GUI, come strumenti potrebbero piacerti Parasite . Aggiornamento del layout di Glade - a proprio rischio -. È molto più sicuro che uno di quelli

Cosa c'è di sbagliato con gli utenti la personalizzazione della UI comunque?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top