Click here to Skip to main content
15,893,814 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi, I have a file opened in HexEdit program, and it shows only these values in HEX:
56 47 7B 3F 3F 51 00 3F 3F 3F 3F 7A 23 3F 4D

So i want to save this value to a Text file for each files ( like this )
Code1= 56 47 7B 3F 3F 51 00 3F 3F 3F 3F 7A 23 3F 4D
Code2= 45 3F 39 3F 3F 70 04 3F 04 00 3F 1F 71 02 1A

Then write each code to a file using Hex, so it will look exactly like when it has been opened in HexEdit program.

Note: I have over 100 files, and i don't like to have many files.
So i want to save all these value to one text ( code1, code2 etc. )
Then when i need any of this code my program will export it to a file.

Any help will be really appreciated.
thanks
Posted
Comments
Leecherman 30-Jan-13 6:53am    
When i read the file it returned mismatch values:

Original Value that opened in HxD program:
56 47 7B FA 81 51 00 AF A7 AA CE 9C 7A 23 DA 4D

Returned value from this code:
56 47 7B FA 81 51 0 AF A7 AA CE 9C 7A 23 DA 4D

Original Value that opened and copied from HxD program:
Dim rawData As Byte() = { _
&H56, &H47, &H7B, &HFA, &H81, &H51, &H00, &HAF, &HA7, &HAA, &HCE, &H9C, _
&H7A, &H23, &HDA, &H4D _
}

So any solution please?

Edit: After looking into the output value, i determined the problem that It returned 0 instead of 00 if it's empty

Also after getting the hex values, can i convert it back to byte and write it to a file?

1 solution

Read File as bytearray then convert them into hex:
VB
Private Function GetBytes(ByVal filename As String) As Byte()
    Dim fs As New FileStream(filename, FileMode.Open, FileAccess.Read)
    
    ' Create a byte array of file stream length
    Dim ImageData As Byte() = New Byte(fs.Length - 1) {}
    
    'Read block of bytes from stream into the byte array
    fs.Read(ImageData, 0, System.Convert.ToInt32(fs.Length))
    
    'Close the File Stream
    fs.Close()
        'return the byte data
    Return ImageData
End Function

Private Function Bytes_To_Hex(ByVal bytes_Input As Byte()) As String
        Dim strTemp As New StringBuilder(bytes_Input.Length * 2)
        For Each b As Byte In bytes_Input
            strTemp.Append(Conversion.Hex(b))
        Next
        Return strTemp.ToString()
End Function

You can use another stringbuilder to store hex strings from each file-in the pattern you like- and then write stringbuilder to files.
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900