Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zmiana Stringu W Kodzie Programu


Djmalinka

Rekomendowane odpowiedzi

Opublikowano

Chciał bym z public static string cos = ""  wypełnić to ala builderem gdzie ustawie że tu ma być powiedzmy xd123 to po wykonaniu builda zbuduje program ten sam tylko ze z public static string cos = "xd123" jak to można zrobić oczywiście nie chce tu nic crackować chodzi o mój program bez żadnych zabezpieczeń 

Opublikowano

Z tego co przeczytałem to raczej o to chodzi lecz nie zmienisz kodu programu po skompilowaniu. Aby zmienić wartość musisz zarządzać pamięcią drugiej aplikacji.

  • 2 tygodnie później...
Opublikowano

Najpierw musisz dowiedzieć się co to są i jak używać modyfikatora extern:

https://msdn.microsoft.com/pl-pl/library/e59b22c5.aspx

Obowiązkowo musisz zdobyć adres komórki pamięci z programu. Co każdą nową kompilacją docelowego programu adres komórki się zmienia. Następnie musisz (do odczytywania danej z pamięci) zaimportować dwie funkcje z kernel32.dll (musisz sam poszukać jakie):

http://www.geoffchappell.com/studies/windows/win32/kernel32/api/

Zakładając, że masz identyfikator docelowego procesu, tworzysz "uchwyt" do procesu przy użyciu pierwszej funkcji, a potem wczytujesz przy użyciu drugiej funkcji dane do bufora i przy użyciu Encoding.Unicode.GetString wydobywasz wartość zmiennej z drugiego programu.

jakiś kod na program pierwszy i drugi?

 

Najpierw musisz dowiedzieć się co to są i jak używać modyfikatora extern:

https://msdn.microsoft.com/pl-pl/library/e59b22c5.aspx

Obowiązkowo musisz zdobyć adres komórki pamięci z programu. Co każdą nową kompilacją docelowego programu adres komórki się zmienia. Następnie musisz (do odczytywania danej z pamięci) zaimportować dwie funkcje z kernel32.dll (musisz sam poszukać jakie):

http://www.geoffchappell.com/studies/windows/win32/kernel32/api/

Zakładając, że masz identyfikator docelowego procesu, tworzysz "uchwyt" do procesu przy użyciu pierwszej funkcji, a potem wczytujesz przy użyciu drugiej funkcji dane do bufora i przy użyciu Encoding.Unicode.GetString wydobywasz wartość zmiennej z drugiego programu.

jakiś kod na program pierwszy i drugi?

 

nie ogarniam xD wyjaśnij bardziej lub daj przykład

Opublikowano
[DllImport("kernel32.dll")]
public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);

[DllImport("kernel32.dll")]
public static extern bool ReadProcessMemory(int hProcess,
int lpBaseAddress, byte[] lpBuffer, int dwSize, ref int lpNumberOfBytesRead);

Duża podpowiedź. Jeśli nie ogarniasz jak to wykorzystać, to wróć do podstaw C#.

 

dasz kod cały? nie ogarniam readprocess

Opublikowano
[DllImport("kernel32.dll")]
public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);

[DllImport("kernel32.dll")]
public static extern bool ReadProcessMemory(int hProcess,
int lpBaseAddress, byte[] lpBuffer, int dwSize, ref int lpNumberOfBytesRead);

Duża podpowiedź. Jeśli nie ogarniasz jak to wykorzystać, to wróć do podstaw C#.

 

słaby jestem w c# uczę się z c+p a i to nie ma zmienić stringu odpalonego programu. zamkniętego programu coś ala build w racie w którym role gra dns

  • 2 tygodnie później...
Opublikowano

refresh da ktoś projekt? i to nie ma zmienić stringu odpalonego programu. zamkniętego programu coś ala build w racie w którym role gra dns

Co ty chcesz stworzyc czlowieku?

 

 

[DllImport("kernel32.dll")]
public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);

[DllImport("kernel32.dll")]
public static extern bool ReadProcessMemory(int hProcess,
int lpBaseAddress, byte[] lpBuffer, int dwSize, ref int lpNumberOfBytesRead);

Duża podpowiedź. Jeśli nie ogarniasz jak to wykorzystać, to wróć do podstaw C#.

 

dasz kod cały? nie ogarniam readprocess

 

skoro nie ogarniasz to moze czas najwyzszy ogarnac?

44842f66216cf.gif


ORION & NUDE b7 DEV

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...