[C#] Odczytywanie typu str

0

Witam.Mam maly problem, nie wiem jak odczytac z pamieci adres ktory sa typu String. Wyswietlaja mi sie one w postaci liczb oto kod ktorego uzywam

[code]ReadProcessMemory(p[0].Handle, (IntPtr)0x62BD2C, buffer, buffer.Length, 0);
uint butts2 = BitConverter.ToUInt32(buffer, 0);
label2.Text = + Convert.ToString(butts2);[/code]

I teraz chcialbym sie dowiedziec jak to przerobic zeby wyswietlalo jako tekst, a nie w postaci liczb

0

Buffer to już char[], jeżeli dobrze pamiętam? To po co zamieniasz go na uinta?

string cos = System.Text.Encoding.Unicode.GetString(buffer);

ps. skąd jesteś pewny, że pod tym adresem zawsze będzie to co chcesz?

0
Rev.pl napisał(a)

Buffer to już char[], jeżeli dobrze pamiętam? To po co zamieniasz go na uinta?

string cos = System.Text.Encoding.Unicode.GetString(buffer);

ps. skąd jesteś pewny, że pod tym adresem zawsze będzie to co chcesz?

Nie jestem w 100% pewny czy to ten adres.

ReadProcessMemory(p[0].Handle, (IntPtr)0x62BD2C, buffer, buffer.Length, 0);
            uint butts2 = BitConverter.ToUInt32(buffer, 0);
            label2.Text = Convert.ToString(butts2);


            ReadProcessMemory(p[0].Handle, (IntPtr)0x62BD10, buffer, buffer.Length, 0);
            uint butts5 = BitConverter.ToUInt32(buffer, 0);
            label5.Text = Convert.ToString(butts5);

Adresy sa stale bo odczytuje Liczby normalnie. Tylko potrzebuje kod na odczytywanie 'zakodowanego' tekstu. Gdy uzylem Twojego kodu zamiast tekstu pokazaly mi sie 'kwadraciki'

ps. Jest mozliwosc sprawdzenia adresu string w Cheat Engine, bo liczby wyszukuje normalnie.

0

Spróbuj innego kodowania.

0

masz jakas propozycje ? Kod ktory bedzie odczytywal i wyswietlal poprawnie tekst i liczby ?

0

FFS.

string text1 = System.Text.Encoding.ASCII.GetString(buffer);
string text2 = System.Text.Encoding.Default.GetString(buffer);
string text3 = System.Text.Encoding.Unicode.GetString(buffer);
string text4 = System.Text.Encoding.UTF8.GetString(buffer);
string text5 = System.Text.Encoding.GetEncoding(1250).GetString(buffer);

Skąd mam wiedzieć w jakim kodowaniu zapisany jest string, którego poszukujesz?

0

To jak wróżenie z fusów. Zobacz poniższy link, może on Cie na coś naprowadzi:
[1] http://www.codeproject.com/KB/trace/minememoryreader.aspx

1 użytkowników online, w tym zalogowanych: 0, gości: 1