Click here to Skip to main content
15,889,861 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
I am trying to get the bytes from a file then put them in the program and then convert it

process

1. string with the bytes code.
2. then convert it to exe file.

Please remember that the file needs to make it self without the orgnal file.

What I have tried:

C#
System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
string str = enc.GetString(fileBytes);
streamWriter f2 = new StreamWriter("bytes.txt");
f2.Write(str);
f2.Close();
// I try to make it a txt file so that i could copy it in to a string
string bit = File.ReadAllText("bytes.txt");
byte[] array = Encoding.ASCII.GetBytes(bit);
File.WriteAllBytes("happy.exe", array);
// then i tried to make it a file again and that is where i falled.
Posted
Updated 15-Jul-18 11:41am
v2
Comments
Richard MacCutchan 14-Jul-18 11:56am    
Where do the original bytes come from? Unless they are the actual content from a .NET executable then your work is in vain, as is all your converting to and from strings and ASCII bytes.
WOLF 2018 14-Jul-18 12:01pm    
they come from a exe file
Patrice T 14-Jul-18 12:04pm    
You need to provide much more details.
Give an example.
WOLF 2018 14-Jul-18 12:07pm    
i am using C# exe and i am trying to turn it in to a string that i can use on other programs i make. the file is called bit.exe. they not much info then that

I'm pretty sure you are being treated as a "virus" by the OS (creating garbage exe's).
 
Share this answer
 
Comments
WOLF 2018 14-Jul-18 12:10pm    
my antivirus is disabled. so thats not the case
Don't read it as text: read it directly as bytes:
C#
byte[] data = File.ReadAllBytes(pathToFile);
File.WriteAllBytes(pathToExe, data);

Data in ASCII can be just 7 bit, and different systems will interpret some of it in different ways (like \n and \r being "condensed" when you read them for example) so you may lose important information when you treat it as text.
 
Share this answer
 
Comments
WOLF 2018 14-Jul-18 12:02pm    
i will try that now
WOLF 2018 14-Jul-18 12:04pm    
i can't because the file the bytes are in is a text and it won't let me read it as bytes
OriginalGriff 14-Jul-18 12:12pm    
That ... um ... turns out not to be the case.
Files are files: all files are a sequence of bytes and can be read as such, anything else is an "interpretation" of the bytes as a specific format, which is why reading byte data as text is a bad idea - the interpretation causes the data to change. The system will not prevent you at all from reading a file as bytes (provided you have the appropriate read permissions on the file and folder at all).

Use a hex editor and look at the "text" file and see exactly what it contains.
OriginalGriff 14-Jul-18 12:30pm    
And that isn;t text - it's binary data, byte data. Read that as text, and you will lose most of the information - and it won't work as an EXE file at all.

BTW: that isn't a hex editor: this is what a Hex editor gives you:
https://i.stack.imgur.com/u9007.png
See how much, much more readable it is?
Quote:
i am using C# exe and i am trying to turn it in to a string that i can use on other programs i make. the file is called bit.exe. they not much info then that

If I understand, you want to embed a random exe in your program and probably silently run it as being yours.
Even if legal and fair, it will be a difficult task and you need a deep knowledge about the OS because the file on HDD is not what is run in memory, the os makes changes in it, and you will have to make those changes in order to run it.
Quote:
C#
byte[] array = Encoding.ASCII.GetBytes(bit);

In any case, read bytes, write bytes, never do a conversion.
 
Share this answer
 
Comments
WOLF 2018 15-Jul-18 17:11pm    
yes but not i don't want it to run silently. I just thought if i could get the bytes in to a string, then i view the bytes and put them in another program so that it could use the bytes to make the file again. I know it sounds like a mind f*** but i think it could be done, or can you complie C# code from a file to make an exe without a complier. (sorry about my spelling.)
Patrice T 15-Jul-18 17:17pm    
Are you trying to make a self extracting archive ?
WOLF 2018 15-Jul-18 17:17pm    
yes. I want my program to check if a the file esists and if they don't then i want it to make them so that i don't have to download them.
Patrice T 15-Jul-18 17:22pm    
It is very important to say it.

Use Improve question to update your question.
So that everyone can pay attention to this information.
WOLF 2018 15-Jul-18 17:27pm    
ok well how would i do this.

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