Was machen die denn genau? Warum muss ich die überhaupt setzen?
Und warum weißt du sofort auf welche Messagebox du einen Breakpoint setzen musst bzw. welche du öffnen musst? Weil ich habe hier bestimmt 40 Boxen..
Also nochmal folgendes prinzipelle Vorgehen: Du lädst das Programm in OllyDBG und setzt einen Breakpoint(BP) auf jeden CALL zu der MessageBox Funktion. Wie das geht wurde hier schon erklärt. Ein BP macht, wie der Name schon sagte, eine Unterbrechung sobald dein Programm diese Stelle erreicht. D.h. aber natürlich auch das du bei dem Programm die BPs setzt und dann in Olly auf "Run" klickst. Sobald eine Zeile mit einem BP erreicht wird fokusiert sich Olly in den Vordergrund und pausiert das Programm. Das ist der Nutzen von BPs.
Warum du die überhaupt setzen musst: Da du wie du sagtest viele CALLs auf die MessageBox hast musst du herausfinden welche die richtige ist bzw. viel eher gesagt an welcher Stelle diese aufgerufen wird.
Man kann auch einfach die Strings suchen die in der MessageBox geöffnet werden und suchen wo diese referenziert werden, aber das klappt auch nicht unbedingt immer. Vergiss das aber am besten erstmal.
woher weiß ich das dass die richtige ist?
Spätestens zur Laufzeit bzw. aller spätestens 4 Zeilen über dem CALL zur MessageBox müssen die richtigen Wert an den Stellen stehen die 4 Zeilen über dem CALL auf den Stack gepusht werden. Dort wird dann also als Kommentar der ASCII Wert stehen bzw. der ASCII String. Es kann auch sein, dass das standardmäßig in OllyDBG gar nicht eingestellt ist, aber ich meine schon. Ist aber zu lange her als das ich mir da sicher sein könnte, dass ich Olly installiert habe.
Falls dort tatsächlich nichts steht über dem CALL, guck einfach unten rechts in dem Stack Fenster was da drin steht.
Solltest du immer noch nicht klar kommen:
1.Setze die BPs
2. Lass das Programm laufen in Olly
3. Sobald Olly pausiert schau dir den CALL an.
4. Drück einmal F8 (Step Over)
5. Wenn jetzt dein "Kontroller" Fenster aufgeht, dann weißt du das du hier an der richtigen Adresse bist. Also Stelle merken und analysieren.
Wenn du dann nicht weißt wie du da drüber "springst" kannst du dich einfach nochmal melden.
Wenn das Kontroller Fenster einfach so aufgeht, obwohl du die BPs gesetzt hast dann wird es wohl einfach nicht über ein MessageBox Fenster geöffnet.