Siemka , mam mały problem . Dzialam sobie na plikach dll . Otwieram je w programie takim jak hexeditor ale jest maly problem . Mianowiscie mam zamieniac wartosci np:
z 3402 na 3090 nie podmienia tak jak powinno i nie wiem w czym jest problem .
Czy mogly ktos pokazac na przykladzie mojego kodu jak to zrobic i opisac abym zrozumial w miare . Mecze sie z tym od paru dni robiac na miliony sposob chociaz i tak nic to nie daje .
Sa dwa zalaczniki tzn zdjecia ukazujace moj problem ;d
Przykladowo mam 66 8B 70 FE 83 E8 02 66 3B 34 02 75 11 49 79 F0 . Chce zamienic 3402 na 3090 i oto wynik :66 8B 70 FE 83 E8 02 66 3B 33 30 39 30 49 79 F0
Oto moj kod:
String nazwaPliku = textEditNazwaPliku.Text;
String sciezkaDoPliku = textEditSciezka.Text;
String adresHex = textEditAdresHex.Text;
String zmianaZ = textEditZmienZ.Text;
String zmianaNa = textEditZmienNa.Text;
byte[] zmianaNaByte = Encoding.ASCII.GetBytes(zmianaNa);
BinaryWriter writer = new BinaryWriter(File.Open(sciezkaDoPliku, FileMode.Open));
try
{
int i = Convert.ToInt32(adresHex, 16);
writer.BaseStream.Position = i;
writer.Write(zmianaNaByte);
}
catch (Exception )
{
MessageBox.Show("Nie mozna zamienic wartosci", "", MessageBoxButtons.OK, MessageBoxIcon.Error );
}
finally
{
writer.Close();
}