Salve a tutti. Sto cercando di modificare un file data binary (o almeno è ciò che penso sia), questo qui per la precisione: http://www.mediafire.com/?da0ad07pzfogdl0 (uso notepadd++ per aprirlo)

Ciò che vorrei fare è modificare le parti testuali all'interno, per esempio: http://img403.imageshack.us/img403/8017/94022290.jpg
Vorrei modificare "CustAssetSeen-803981731[NUL][STX][NUL][NUL][NUL]1" in "CustAssetSeen-803981731[NUL][STX][NUL][NUL][NUL]0"

Utilizzando i FileStream sono riuscito sia a farlo leggere che a scrivere dal mio programma, ma ho ancora un problema. Questo file che sto cercando di modificare è un file di configurazione di un'altra applicazione. Il mio programma riesce a leggerlo senza problemi sia prima che dopo che applico le modifiche, purtroppo l'applicazione "originale" che ha creato il file non lo riconosce dopo che applico le modifiche e lo sovrascrive con un nuovo file.

In poche parole, il programma legge e scrive il file, ma non in modo tale da fallo riconoscere dall'applicazione originale.

Comunque posto qui il codice che uso per leggere e scrive il file (NOTA: è molto "rozzo", poco ottimizzato insomma)
codice:
Dim nul As Char = ChrW(0)
    Dim stx As Char = ChrW(2)
    Dim ht As Char = ChrW(9)
    Dim lf As Char = ChrW(10)
    Dim vt As Char = ChrW(11)
    Dim ff As Char = ChrW(12)
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim fileStream As New IO.FileStream("C:\test", IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.None)
        Dim myFileReader As New System.IO.StreamReader(fileStream)
        Dim text As String = myFileReader.ReadToEnd
        myFileReader.Close()
        fileStream.Close()
 
        If text.Contains("CustAssetSeen-803981731" & nul & vt & nul & nul & nul & "1") = True Then
            Me.ComboBox1.SelectedIndex = 0
        ElseIf text.Contains("CustAssetSeen-803981731" & nul & vt & nul & nul & nul & "0") = True Then
            Me.ComboBox1.SelectedIndex = 1
        End If
    End Sub
codice:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim fileStream1 As New IO.FileStream("C:\test", IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.None)
        Dim myFileReader As New System.IO.StreamReader(fileStream1)
        Dim text As String = myFileReader.ReadToEnd
        myFileReader.Close()
        fileStream1.Close()
 
        If Me.ComboBox1.SelectedIndex = 0 Then
            If text.Contains("CustAssetSeen-803981731" & nul & vt & nul & nul & nul & "0") = True Then
                text = text.Replace("CustAssetSeen-803981731" & nul & vt & nul & nul & nul & "0", "CustAssetSeen-803981731" & nul & vt & nul & nul & nul & "1")
                MsgBox("Done") 
            End If
        End If
        Dim fileStream2 As New IO.FileStream("C:\test", IO.FileMode.Create, IO.FileAccess.Write, IO.FileShare.None)
        Dim myFileWriter As New System.IO.StreamWriter(fileStream2)
        myFileWriter.Write(text)
        myFileWriter.Close()
        fileStream2.Close()
        MsgBox("Done")
    End Sub
Qualche suggerimento?

Grazie per l'attenzione