Hallo Community,
ich möchte in einer DLL einen String ändern und die DLL neu speichern. Hier mein Versuch der Fehlschlug:
Die die neue Datei sieht etwa aus wie die original und hat auch den neuen String jedoch ist die Datei eine andere Dateigröße und ist kaputt. Ich glaube es liegt am Encoding (UTF-8/16 usw..).
Vielleicht kann mir hier einer irgendwie helfen. Danke
Olcay
ich möchte in einer DLL einen String ändern und die DLL neu speichern. Hier mein Versuch der Fehlschlug:
Code:
private void button_apply_Click(object sender, System.EventArgs e)
{
//Copy picture to %WINDIR%\eHome\
File.Copy(textBox_bg.Text, winpath + "\\eHome\\NewMCE.Background.jpg", true);
//Create reader & open file
FileStream fs = new FileStream(winpath+"\\ehome\\ehres.dll", FileMode.Open);
BinaryReader br = new BinaryReader(fs);
byte[] bytes = br.ReadBytes(Convert.ToInt32(br.BaseStream.Length));
br.Close();
//Replace String
string ehresstr = System.Text.Encoding.UTF8.GetString(bytes);
ehresstr = ehresstr.Replace("Common.Background.jpg", "NewMCE.Background.jpg");
//Delete old files +WFP file
File.Delete(winpath + "\\ehome\\ehres.dll");
File.Delete(winpath + "\\system32\\dllcache\\ehres.dll");
//Create a writer and open the file
FileStream fs2 = new FileStream(winpath+"\\ehome\\ehres.dll", FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs2);
//Write file
bw.Write(System.Text.Encoding.Unicode.GetBytes(ehresstr));
//Close the stream
bw.Close();
}
Die die neue Datei sieht etwa aus wie die original und hat auch den neuen String jedoch ist die Datei eine andere Dateigröße und ist kaputt. Ich glaube es liegt am Encoding (UTF-8/16 usw..).
Vielleicht kann mir hier einer irgendwie helfen. Danke
Olcay
Zuletzt bearbeitet: