Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 14.07.2004, 13:58 Titel: Handle hab ich! - Kann ich mich nun an den Tresor ranmachen? |
|
|
Ich will mich endlich mal trauen diese Aufgabe in Angriff zunehmen!
Ich will ein Programm schreiben, dass die Variablen eines anderen Programmes auslesen kann!
Geht das? Müsste doch gehen? Es gibt ja auch Tools die bei Edonkey/Overnet Daten auslesen wie Downloadrate, Uploadrate und welche Upload und Downloadratio man eingestellt hat...
Geht wahrscheinlich erstmal über das Fenster-Handle?
Hab ich mir geholt...doch ich will mehr als nur mal aus Spass das Fenster verschwinden, plötzlich wieder auftauchen, auf dem Bildschirm hin und herbewegen zu lassen. Ich will den Kern knacken, den Tresor um den Zugriff auf (fast) alle Variablen zu haben!
Jaaa:D ...ähm.. ....wie geht das jetzt eigentlich?
Habt ihr da ein Anhaltspunkt für mich? Oder hat eDonkey/Overnet eine Schnittstelle mit der man sich per WinSocket oder sowas connecten kann?
Oder müsse man ansonsten sich das Windows-Handle holen und dann den ganzen vom Programm reservierten Speicher durchlaufen und nach Werten suchen? Aber selbst der Compiler macht das ja auch...aber nur im Debug Modus, sowas wie Variable Value Monitoring... _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
Sec Junior JLI'ler
Anmeldedatum: 18.09.2002 Beiträge: 88
Medaillen: Keine
|
Verfasst am: 14.07.2004, 15:59 Titel: |
|
|
Für die Vars must du glaub ich auf das arbeitsspeicher des compters zugreifen und finden wo die Vars gespeichert sind, hab aber keine ahnung wie das geht und ob es wirklich so ist _________________ MFG Sec |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 14.07.2004, 17:22 Titel: |
|
|
Das wurde glaube ich mal hier besprochen ist dann leider zu ner art Flamewar ausgebrochen:
http://www.jliforum.de/board/viewtopic.php?p=14468&highlight=#14468
Wenn du aber weisst wie es genau geht sag mal bitte bescheid, das ist sehr interessantes Thema. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 15.07.2004, 13:49 Titel: |
|
|
Ja, ich habe den Thread damals auch verfolgt, ist hoffentlich mit diesen Intentionen schnell zum erliegen gekommen.
Deshalb habe ich einen neuen Thread eröffnet um mal die ganze Sache ordentlich anzugehen. Ich denke dieses Thema ist sehr interessant
Also wenn's was Neues gibt dann melde ich mich, würde mich freuen wenn ihr eure Augen offen haltet und wenn ihr etwas zu dem Thema passendes seht mir hier bescheid gebt. _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
bladegool JLI'ler
Anmeldedatum: 26.08.2003 Beiträge: 127 Wohnort: München Medaillen: Keine
|
Verfasst am: 15.07.2004, 17:51 Titel: Re: Handle hab ich! - Kann ich mich nun an den Tresor ranmac |
|
|
TheMillenium hat Folgendes geschrieben: |
Geht wahrscheinlich erstmal über das Fenster-Handle?
Hab ich mir geholt... |
Wie macht man sowas ? |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 15.07.2004, 18:04 Titel: |
|
|
Mit Code: | EnumWindows(EnumWindowsProc,lParam);
und
BOOL CALLBACK EnumWindowsProc(
HWND hwnd,
LPARAM lParam
) |
schau am besten in der MSDN wenn du mehr Informationen brauchst und noch nicht viele Enum... Funktionen benutzt hast. _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
bladegool JLI'ler
Anmeldedatum: 26.08.2003 Beiträge: 127 Wohnort: München Medaillen: Keine
|
Verfasst am: 15.07.2004, 20:31 Titel: |
|
|
Hat funktioniert danke |
|
Nach oben |
|
|
C++Builder Senior JLI'ler
Anmeldedatum: 04.10.2003 Beiträge: 235
Medaillen: Keine
|
Verfasst am: 17.07.2004, 07:10 Titel: |
|
|
hi,
ich glaube nicht das das geht.
Weil du müsstest auf auf den Arbeitsspeicher zugreifen, das würde einfach gehen wenn du mit einem pointer alle Adressen ausprobierst.
Aber:
1. du wüsstest nicht zu welchem Programm dieser Speicher gehört und
2. wird das das Betriebssystem zu verhindern wissendas du auf fremden Speicher zugreifst.
Außer es gibt dafür auch irgendwelche Funktionen was ich aber für unwahrscheinlich halte. |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 17.07.2004, 10:43 Titel: |
|
|
Ich möchte jetzt zwar nicht unhöflich sein, aber C++ Builder es scheint so, als ob du keine Ahnung davon hättest!
Das Betriebsystem schützt höchstens sensitive Daten, d.h. ich kann auf den Speicher aller Programme zugreifen, solange es sich um keines von Windows handelt oder es kein Sicherheitsprogramm ist. Wenn ich den Windows-Handle habe, habe ich eine ungefähre Ahnung wo das Programm im Speicher anfängt und jedes Programm markiert im Speicher auch irgendwo sein Ende. Außerdem kann ich mit meinem Programm auf den Assemblercode des anderen Programmes zugreifen und wenn ich sogar von meinem Programm aus dieses Programm starte wahrscheinlich auch die Addressen der Zeiger abfangen, wenn nicht auch der normalen Variablen. Möglich ist alles, nur je unmöglicher es erscheint desto komplexer wird dessen Bewältigung.
P.S.: Wenn du dem Link oben von FallenAngel gefolgt wärst, hättest du von einem Programm erfahren, dass den Speicher nach Variablen absuchen kann, die einen bestimmten Wert haben nachdem man gesucht hat...
Also wie du siehst, muss es ja möglich sein! _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 17.07.2004, 15:01 Titel: |
|
|
Ich glaube du verurteilst C++Builder vorschnell. Weekt aus dem Debunn du dirgger den Pointer hast oder den anderswertig ausliest con<<&i oder sowas dann haste den Speicherbereich von deinem Programm. Jedes Progg legt für sich selber eine Arbeitsumgebung an und darauf kann kein anderes Programm ohne Umwege drauf zugreifen.
Aber da du ja den Prozesshandle hast kannste theoretisch darauf zugreifen es gibt dafür irgendwelche API Funktionen vieleicht wurden die ja schon mal irgendwo erwähnt. Die einfachste Methode wäre es aber den Typen zu fragen der das eine Programm was du erwähnt hast geschrieben hat, meistens beantworten die ja sowas. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Cyianor Super JLI'ler
Anmeldedatum: 23.12.2002 Beiträge: 452
Medaillen: Keine
|
Verfasst am: 17.07.2004, 15:05 Titel: |
|
|
FallenAngel84 hat Folgendes geschrieben: | Weekt aus dem Debunn du dirgger den Pointer hast oder den anderswertig ausliest con<<&i oder sowas dann haste den Speicherbereich von deinem Programm. |
Sry, aber den ersten Teil des Satzes kann man nich gerade gut entziffern |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 17.07.2004, 17:34 Titel: |
|
|
Vision hat Folgendes geschrieben: | FallenAngel84 hat Folgendes geschrieben: | Weekt aus dem Debunn du dirgger den Pointer hast oder den anderswertig ausliest con<<&i oder sowas dann haste den Speicherbereich von deinem Programm. |
Sry, aber den ersten Teil des Satzes kann man nich gerade gut entziffern |
Sorry bin beim Laptop mit den daumen auf das Touchpad gekommen.
"Wenn du aus dem Debugger den Pointer hast oder den anderswertig ausliest (con<<&i) oder sowas dann haste den Speicherbereich von deinem Programm und nicht von allen Programmen allgemein." _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
|
Nach oben |
|
|
C++Builder Senior JLI'ler
Anmeldedatum: 04.10.2003 Beiträge: 235
Medaillen: Keine
|
Verfasst am: 18.07.2004, 13:25 Titel: |
|
|
TheMillenium hat Folgendes geschrieben: | es scheint so, als ob du keine Ahnung davon hättest! |
hab ich auch nicht, weil mir Windoofprogrammierung am A.... vorbei geht. Ich hab nur ein bisschen darüber nach gedacht ...
Aber wenn es einfach mit API Funktionen geht das man auf den Speicher von anderen Programen zugreifen darf dann wunderts mich nicht das Windoof andauernd abkackt!
Unter Linux geht das bestimmt nicht. |
|
Nach oben |
|
|
TheMillenium Dark JLI'ler
Anmeldedatum: 21.07.2002 Beiträge: 1427 Wohnort: World Medaillen: Keine
|
Verfasst am: 18.07.2004, 14:01 Titel: |
|
|
C++Builder hat Folgendes geschrieben: | Unter Linux geht das bestimmt nicht. |
Da wie von mir vermutet der Thread eh vom Thema wegmutiert...:
Das geht 100% auch in Linux. Und ich glaube nicht, dass es API Funktionen gibt um auf Speicherbereiche anderer Programme zuzugreifen. Die muss man sich schon selber schreiben. _________________ The source of all power is in its destiny... |
|
Nach oben |
|
|
|