Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 13:20

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Frage zu Speicheradressen

Discussion on Frage zu Speicheradressen within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2009
Posts: 26
Received Thanks: 0
Frage zu Speicheradressen

hi
ich habe mich schon ein bissel mit ollydbg, cheatengine und so beschäftigt.
habe jez tdm noch ne frage.
wir haben ein programm, ist egal was, einfach ne form mit nem button druf, der meinetwegen beim draufklicken ne messagebox anzeigt.
so jez möchte ich wissen, ob es möglich ist, die messagebox anzuzeigen, ohne den button zu betätigen?!
also ich schreibe mir ein anderes prog mit nem button und der soll dann das erste prog beischeidgeben, dass er die messagebox anzeigen soll.
ist dies mithilfe von speicheradressen und pointern usw möglich, oder was benötigt man sonst dafür?

es wäre natürlich ausgezeichnet, wenn mir das jmd an einem beispiel darstellen könnte, aber mir reichen auch schon ein paar stichworte, die ich dann weiter googlen werde

mfg canalien
Canalien is offline  
Old 03/23/2010, 17:25   #2
 
xNopex's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
Wenn du auf den Button drückst, wird eine Funktion aufgerufen, die wiederum die MessageBox ausführt. Du brauchst im Prinzip nur die Adresse der Funktion die aufgerufen wird, dann injezierst du eine DLL in den Zielprozess, die die Funktion, die die MessageBox ausführt, über einen Funktionszeiger aufruft. Und fertig. Kommunikation zwischen injektions-Dll und eigener Applikation kann über Sockets erfolgen.
xNopex is offline  
Old 03/23/2010, 19:27   #3
 
xWaffeleisen's Avatar
 
elite*gold: 320
Join Date: Oct 2009
Posts: 697
Received Thanks: 1,643
Statt über Sockets würde ich mal das hier empfehlen^^
Interprozesskommunikation ? Wikipedia

Aber warum eigentlich nicht alles in einem Prozess? Oder willst du das bei einem fremden Prozess machen? Dann musste wohl die Stelle suchen und dann eben z.B durch Dll injection aufrufen.
xWaffeleisen is offline  
Old 03/23/2010, 20:04   #4
 
elite*gold: 0
Join Date: Dec 2009
Posts: 27
Received Thanks: 3
Wenn du es mit Autoit schreibst würde ich die Befehle StdoutRead() und Consolewrite() benutzen.

mfg
@night@
@night@ is offline  
Old 03/23/2010, 20:59   #5
 
elite*gold: 0
Join Date: Sep 2009
Posts: 26
Received Thanks: 0
danke schon mal
ja ich möchte in einen fremden prozess zugreifen.
iwann sollte es ein bot für battleforge werden, halt ohne tastendrücke und ohne mausbewegung.
sollte alles intern stattfinden.
das wär dann sowas wie im menü eine weltkrate öffnen, eine mission auswählen, mission starten, boss killen und wieder ins menü danach.
da das mit maus ganz gut geht, aber man halt alles auflösungsspezifisch und bei jeden pc ne andere sleep zeit braucht, wollt ich das mal über den speicher versuchen.
ich werde mir mal eure links angucken und sehen wie weit ich damit komme.
falls sich jmd gut mit sowas auskennt und mir bereit wäre persöhnlich tipps zu geben, kann er/sie (<-- hab ich höflichkeitshalber hingeschrieben ) mich gerne bei msn oder steam adden.
addy gibs bei pm.

mfg canalien

PS: das mit dem game ist nur eine möglichkeit und deshalb hab ich den thread nicht in der battleforge kategorie gepostet. wollte es eher allgemein halten.
Canalien is offline  
Old 03/24/2010, 19:30   #6
 
elite*gold: 0
Join Date: Sep 2009
Posts: 26
Received Thanks: 0
so ich hab mir mal son universal dll injector downloaded.
dann hab ich mir in c++ ne dll geschrieben.

Code:
struct MyStruct
{
      int       SomeId;
      double SomePrice;
};

extern "C" __declspec(dllexport) void PassStructIn(MyStruct* myStruct);

void PassStructIn(MyStruct* myStruct)
{
	int* c = (int*)0x7EFDB394;
	int wert = *c;

      if (myStruct != NULL)
      {
            myStruct->SomeId = wert;
            myStruct->SomePrice = 456.23;
      }
}

und hab ein c# programm womit ich die dll aufrufe.

Code:
static void Main(string[] args)
        {
            NativeMethods.MyStruct myStruct;
            myStruct.SomeId = 23;
            myStruct.SomePrice = 30.52;
            NativeMethods.PassStructIn(ref myStruct);

            Console.WriteLine("SomeId={0}; SomePrice={1}", myStruct.SomeId, myStruct.SomePrice);
        }

und eine NativeMethods.cs erstellt.

Code:
public struct MyStruct
        {
            public int SomeId;
            public double SomePrice;
        }

        [DllImport(@"C:\...\Desktop\dll_2.dll")]
        public static extern void PassStructIn(ref MyStruct theStruct);
so ich hänge die dll an ieinen prozess.
das funktioniert auch.
dann rufe ich mein c# programm über die console auf.
wenn ich bei der dll mal die adresse auskommentiere und so und
Code:
myStruct->SomeId = wert;
den wert durch eine zahl ersetze, dann bekomm ich auch das richtige ergebniss.
wenn ich allerdings ne adresse nehmen will, krieg ich eine

AccessViolationExeption: Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.
bei c#Programm.NativeMethods.PassStructIn(MyStruct& theStruct)
bei c#Programm.Programm.Main(String[] args)


kann mir einer sagen, warum das nicht funktioniert?
thx

mfg canalien
Canalien is offline  
Old 03/24/2010, 20:28   #7
 
xNopex's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
Vermutung: Die Adresse ist falsch und zeigt auf eine Page, die von dem Programm nicht genutzt wird bzw. einem fremden Programm gehört. Dann kackt das Programm natürlich ab.
xNopex is offline  
Old 03/24/2010, 21:05   #8
 
elite*gold: 0
Join Date: Sep 2009
Posts: 26
Received Thanks: 0
darf eig nicht sein, da ich die adresse mit olly und CE geprüft habe.
hatte auch einen wert.
habe auch mehrere adressen ausprobiert...
kann natürlich sein, dass gerade immer diese wirklich gesperrt sind für mein programm.


mfg canalien
Canalien is offline  
Old 03/25/2010, 00:09   #9


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Ich verstehe deinen Code ehrlich gesagt nicht ganz.
Wozu ist denn nun c da? Ich sehe keine Verwendung der Variable.
Zum Problem:
Sicher, dass an der Stelle etwas ist? Ist der Speicher auch nicht auf Read-Only?

Wie du schon gut bemerkt hast, ist internes Aufrufen von Funktionen viel eleganter als Tastendrücke.
Allerdings musst du dafür nicht nur einfache MessageBox Funktionen finden, sondern meist den Client des Spiels sehr genau analysieren, um die gesuchten Funktionen zu finden.
Dann musst du noch die Callingconvention und die Parameter der Funktion herausfinden und natürlich auch den Rückgabewert.
Dann kannst du die Funktion einfach callen.
MrSm!th is offline  
Old 03/25/2010, 06:14   #10
 
elite*gold: 0
Join Date: Feb 2010
Posts: 108
Received Thanks: 3
Enlish Version:

Hi
I've been a bissel with OllyDbg, cheat engine, and so busy.
jez ne tdm still have to ask.
we have a program, no matter what, just ne form with druf nem button, click on it on my account at the ne messagebox displays.
jez so I want to know whether it is possible to display messagebox without pressing the button too?
So I write with another prog nem button and will be the first prog beischeidgeben that he is to show messagebox.
This is possible by using memory addresses and pointers, etc., or whatever else you need for that?

it would of course excellent, if I could be the jmd at one example, but I also know a few wealthy stichworte, which I will then continue googling

mfg canali



__________________



degret backing is offline  
Reply


Similar Threads Similar Threads
[Tutorial] Speicheradressen scannen , Updatesicher machen
07/11/2010 - Flyff Hacks, Bots, Cheats, Exploits & Macros - 14 Replies
removed
speicheradressen
11/14/2009 - Nostale - 1 Replies
hi habe eien frage zu den speicheradressen zu nostale wo (wie) finde ich die habe cheatenergine 5.5 aufem rechner erklären reicht wie ich die neu auslesen kann irgendwie finde ich immer andere sachen aber net die thx
[autoit]SpeicherAdressen Hilfe!!
07/11/2009 - AutoIt - 5 Replies
Hallo elitePvers Ich bin verzweifelt sein monaten versuche ich für ein mmorpg ein Bot auf speicheradressen zu Programmieren in Autoit jetzt ist das Problem nun Wie das mit den Pointern geht Wie ich den offsets raus bekomem und wie ich im spiel mein Char angreifen lasse leider gibt es keine nächste mob auswahl taste was natührlich praktisch wäre ich habe es dann als pixel bot versucht aber der findet mal den pixel aber er klickt nicht dann findet er ein pixel und er klickt das geht...
Speicheradressen von life, mana(sp), lvl, usw...
10/17/2006 - Ragnarok Online - 8 Replies
Hallo, da ich seit einigen tagen wieder Ragnarok spiele wollte ich für meine g15 ein kleines Plugin schreiben was life usw anzeigt *-* aber ich finde zum verrecken keine speicher adressen mit cheatengine :'( ich bin allerdings auch net grade der pro im umgang mit cheat engine^^ kann evtl mal jemand mal gucken ob ihr was findet? *-*



All times are GMT +1. The time now is 13:21.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.