Hey @ll,
kurz als Vorstellung was ich vorhabe, ich bin embedded SW Entwickler und möchte gern von einem Programm (CNC Steuerprogramm) Werte auslesen und diese an meinen Controller Senden (um diese dort zu Visualisieren und Sicherheitsabschaltungen einzubauen). Das Steuerprogramm bietet leider keinerlei Schnittstelle.
So nun habe ich mir erst mal einfach gedacht ich such mir den Handle des Feldes wo die Werte drin stehen und lies sie darüber aus.
Dies geht leider nicht, das es Labels sind und diese keinen eigenen Handle haben sondern das ganze nur auf einem Tpanel endet und von dort komme ich nicht weiter.
Dann dachte ich mir okay ich hab früher recht viel Trainer mit CheatEnging gemacht (War damals irgendwie noch einfacher mein ich *g*), ich such mir einfach die Speicheradresse wo die Werte drin stehen und grab mir diese. Mein Problem an dem Ganzen ist nun aber, dass ich die Adressen zwar gefunden habe die ich erst mal wissen will.
Jedoch komme ich nicht auf den Basepointer, entweder hab ich etwas vergessen oder ich weiß nicht. Ich hab mir die Adressen gesucht und komme nun auf Adresse 0538F8C8 auf den Wert 0039F59C (hier liegt der Wert). Somit ist das 0538F8C8 auch der Pointer auf das Ganze.
(0538F8C8) P-> 0039F59C Wert : 200
so wenn ich nun aber schaue was Zugriff auf den Pointer nimmt komme ich nur noch auf den Stack (push & pop).
Wenn ich in meinem Programm nun die auslese klappt alles wie gewünscht...
Leider ändert sich aber bei einem Neustart des Programms / des Rechners der Pointer immer xxxxF8C8 (die F8C8 bleiben fix) genauso bei der Adresse xxxxF59C und zwar immer von einer applikation.dll +1F59C.
Habt ihr mir einen Tipp wie ich in meinem C# Programm die Speicher Adresse von der DLL rausbekomme? Dann müsste ich es ja haben.
Danke euch,
Gruß,
kurz als Vorstellung was ich vorhabe, ich bin embedded SW Entwickler und möchte gern von einem Programm (CNC Steuerprogramm) Werte auslesen und diese an meinen Controller Senden (um diese dort zu Visualisieren und Sicherheitsabschaltungen einzubauen). Das Steuerprogramm bietet leider keinerlei Schnittstelle.
So nun habe ich mir erst mal einfach gedacht ich such mir den Handle des Feldes wo die Werte drin stehen und lies sie darüber aus.
Dies geht leider nicht, das es Labels sind und diese keinen eigenen Handle haben sondern das ganze nur auf einem Tpanel endet und von dort komme ich nicht weiter.
Dann dachte ich mir okay ich hab früher recht viel Trainer mit CheatEnging gemacht (War damals irgendwie noch einfacher mein ich *g*), ich such mir einfach die Speicheradresse wo die Werte drin stehen und grab mir diese. Mein Problem an dem Ganzen ist nun aber, dass ich die Adressen zwar gefunden habe die ich erst mal wissen will.
Jedoch komme ich nicht auf den Basepointer, entweder hab ich etwas vergessen oder ich weiß nicht. Ich hab mir die Adressen gesucht und komme nun auf Adresse 0538F8C8 auf den Wert 0039F59C (hier liegt der Wert). Somit ist das 0538F8C8 auch der Pointer auf das Ganze.
(0538F8C8) P-> 0039F59C Wert : 200
so wenn ich nun aber schaue was Zugriff auf den Pointer nimmt komme ich nur noch auf den Stack (push & pop).
Wenn ich in meinem Programm nun die auslese klappt alles wie gewünscht...
Leider ändert sich aber bei einem Neustart des Programms / des Rechners der Pointer immer xxxxF8C8 (die F8C8 bleiben fix) genauso bei der Adresse xxxxF59C und zwar immer von einer applikation.dll +1F59C.
Habt ihr mir einen Tipp wie ich in meinem C# Programm die Speicher Adresse von der DLL rausbekomme? Dann müsste ich es ja haben.
Danke euch,
Gruß,