PDA

View Full Version : VB.NET Strutture e File Binari


prodan
16-11-2007, 17:34
Ciao ragazzi vorrei avere un esempio o una risorsa per poter scrivere dentro un file binario la mia struttura, in maniera tale che i dati contenuti siano proprietari e non facilmente decifrabili.

Grazie Prodan

variabilepippo
16-11-2007, 17:49
Ciao ragazzi vorrei avere un esempio o una risorsa per poter scrivere dentro un file binario la mia struttura, in maniera tale che i dati contenuti siano proprietari e non facilmente decifrabili.

Che tipo di informazioni vorresti "nascondere"? Tieni in considerazione che esistono decompilatori, resource managers ed altri strumenti utilizzabili per ottenere dati contenuti in un eseguibile.

prodan
16-11-2007, 17:55
Devo nascondere il file di configurazione di un programma e vorrei che quando venisse eventualmente aperto da un utente 'stupido' non veda le stringhe di configurazione ma deve vedere solo 0 e 1.

Sò dell'esistenza di decompiler e debugger... e ne comprendo eventuali utilizzi , ma non si tratta di cose così complesse!

Prodan

variabilepippo
16-11-2007, 18:06
Devo nascondere il file di configurazione di un programma e vorrei che quando venisse eventualmente aperto da un utente 'stupido' non veda le stringhe di configurazione ma deve vedere solo 0 e 1.

Si può fare ma oltre a complicarti un po' la vita rischi che qualche antivirus basato su tecniche euristiche segnali il tuo eseguibile come "sospetto", secondo me ti conviene criptarlo/decriptarlo con le classi del namespace System.Security.Cryptography (http://msdn2.microsoft.com/en-us/library/system.security.cryptography.aspx).

prodan
16-11-2007, 18:08
Ho trovato questo codice che mi son adattato:

'--- LA MIA STRUTTURA ---
Dim FSE As Struct_File_Config

'--- DATI NELLA MIA STRUTTURA ---
FSE.Login = "OK"
FSE.Indirizzo_WEB = "http://localhost/Default.aspx"
FSE.Utente = "pippo"
FSE.Password = "pippo"


' write file out...
Dim fs As FileStream = File.Open(Prog_Path & Config_Directory & "\" & "Config.sys", FileMode.OpenOrCreate)
Dim fmtr As New BinaryFormatter
fmtr.Serialize(fs, FSE)
fs.Close()


' read file in...
fs = File.Open(Prog_Path & Config_Directory & "\" & "Config.sys", FileMode.Open)
Dim s1 As Struct_File_Config = DirectCast(fmtr.Deserialize(fs), Struct_File_Config)

Dim appo As String = s1.Indirizzo_WEB

fs.Close()

E fin qui tutto Ok, però vedo dentro il file questa cosa che non vorrei vedere:

˙˙˙˙ =CLIENT, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null #CLIENT.Module_VF+Struct_File_Config
Indirizzo_WEBUtentePasswordLogin http://localhost/Default.aspx pippo OK

prodan
16-11-2007, 18:12
OK grazie , senti un pò a proposito di Cryptography se volessi fare un file crittografato in da un programma in VB6 e passarlo ad un programma in .NET.

Esiste già una funzione un OCX o altro che copiato e incollato a VB6 e copiato e incollato a VB.NET cripti e decripti i dati senza troppe complicazioni.

grazie