Reverse Engineering

08/29/2016 15:14 maffinpower#1
Hey,
German:
English:




Tutorial: [Only registered and activated users can see links. Click Here To Register...]

Some Pics





Solved:

1.Open the Messagebox that gives a Error
2.Press Pause in Ollydbg
3.[Alt]+[K]
4. Now you also can jump to the code of the messagebox
5. Set a breakpoint
6. Press Running program
7. Open again the Messagebox and Ollydbg will stop the program at the breakpoint u set
8. Follow the code in Ollydbg with [F8]
9. Be a happy (wo)man.




I still dont know how Lena151 was doing it: Still need your help because i still want to know it ;)
09/03/2016 22:10 florian0#2
Die Meldung wird durch einen CALL auf USER32.MessageBoxA ausgelöst. Eigentlich sollte "execute till user code" das Programm solange laufen lassen, bis der EIP (also die aktuell ausgeführte Anweisung) nicht mehr eine Systembibliothek des Betriebssystems zeigt.

Ich verwende diese Funktion nur selten, aus dem einfachen Grund: Sie buggt. Naja, es ist kein richtiger Bug:
Programme, gerade die mit Fenster, haben oftmals mehrere Threads. Execute till usercode führt nur einen Thread fort, alle anderen bleiben suspendiert.
d.H. Mit ein wenig Glück, hast du den falschen Thread fortgeführt, dann ist klar, dass quatsch raus kommt. Entweder es breakt random an einer anderen Stelle oder es break garnicht, weil der entsprechende Thread pausiert ist und nichts passiert.

Einfach mal schauen ob der Thread der main thread ist:
[Only registered and activated users can see links. Click Here To Register...]

und ggf. über die Threadansicht umschalten:
[Only registered and activated users can see links. Click Here To Register...]

Das ist vermutlich der Fehler. Falls nicht, zeig mal mehr Assembly, dass man in ungefähr deuten kann an welcher Stelle er da breakt.

Gruß
florian0
09/06/2016 00:05 maffinpower#3
Quote:
Originally Posted by florian0 View Post
Die Meldung wird durch einen CALL auf USER32.MessageBoxA ausgelöst. Eigentlich sollte "execute till user code" das Programm solange laufen lassen, bis der EIP (also die aktuell ausgeführte Anweisung) nicht mehr eine Systembibliothek des Betriebssystems zeigt.

Ich verwende diese Funktion nur selten, aus dem einfachen Grund: Sie buggt. Naja, es ist kein richtiger Bug:
Programme, gerade die mit Fenster, haben oftmals mehrere Threads. Execute till usercode führt nur einen Thread fort, alle anderen bleiben suspendiert.
d.H. Mit ein wenig Glück, hast du den falschen Thread fortgeführt, dann ist klar, dass quatsch raus kommt. Entweder es breakt random an einer anderen Stelle oder es break garnicht, weil der entsprechende Thread pausiert ist und nichts passiert.

Einfach mal schauen ob der Thread der main thread ist:
[Only registered and activated users can see links. Click Here To Register...]

und ggf. über die Threadansicht umschalten:
[Only registered and activated users can see links. Click Here To Register...]

Das ist vermutlich der Fehler. Falls nicht, zeig mal mehr Assembly, dass man in ungefähr deuten kann an welcher Stelle er da breakt.

Gruß
florian0
Danke für die bemühte Antwort. Das Picture was du bei mir siehst, kommt anscheinend immer sobald ich auf Pause drücke. Ich lande IMMER dann an der selben Stelle -irgendwo im nirgendwo wie man so schön sagt. Liegt das evtl. daran, dass ich 64x nutze?
Ein weiteres Pic würde nicht viel nützen da so gut wie gar nichts gezeigt wird der Zeiger auf welcher auf die aktuelle Adresse zeigt verschwindet falls man ihn manuell mit F8 betätigt. Nach dem man das Programm auf Running gestellt hat springt es sofort zurück zu der vorherigen "Aktion".
09/06/2016 00:55 florian0#4
Quote:
Originally Posted by maffinpower View Post
Danke für die bemühte Antwort. Das Picture was du bei mir siehst, kommt anscheinend immer sobald ich auf Pause drücke. Ich lande IMMER dann an der selben Stelle -irgendwo im nirgendwo wie man so schön sagt. Liegt das evtl. daran, dass ich 64x nutze?
Das er nicht in der ntdll breakt, sondern in der user32, ist nicht weiter schlimm. Bei mir breakt er auch in der user32.dll. Mir ist auch gerade aufgefallen, dass die Adressen von deinem und meinem Screenshot identisch sind (Hätt ich ja auch mal früher drauf kommen können ...).

Ich nutze Win7 Pro x64, da funktioniert es in diesem Fall. Allerdings nur mit OllyDBG 2, mit der 1er hab ichs trotz 64bit Patch nicht mal gestartet bekommen.

Welche Version verwendest du?
09/06/2016 19:45 maffinpower#5
Quote:
Originally Posted by florian0 View Post
Das er nicht in der ntdll breakt, sondern in der user32, ist nicht weiter schlimm. Bei mir breakt er auch in der user32.dll. Mir ist auch gerade aufgefallen, dass die Adressen von deinem und meinem Screenshot identisch sind (Hätt ich ja auch mal früher drauf kommen können ...).

Ich nutze Win7 Pro x64, da funktioniert es in diesem Fall. Allerdings nur mit OllyDBG 2, mit der 1er hab ichs trotz 64bit Patch nicht mal gestartet bekommen.

Welche Version verwendest du?
Ich verwende Ollydbg v1.10, falls dir das weiter hilft. Hab Ollydbg direkt von Olldbg.de runtergeholt ist ja die neuste dachte ich mir also die beste ;x.
09/06/2016 19:56 YatoDev#6
2.01 ist die neuste.

Empfehle dir aber x64dbg

der ist viel besser und moderner
09/06/2016 20:57 florian0#7
Auf ollydbg.de gibts die 1.10er und die 2.01er, musst nur die richtige auswählen.

Quote:
Originally Posted by »FlutterShy™ View Post
2.01 ist die neuste.
Empfehle dir aber x64dbg
der ist viel besser und moderner
Das stimmt. Ist vielleicht nicht das Klügste, als "Anfänger" ein Tutorial mit einem anderen Programm zu machen. Aber x64dbg bedient sich fast genau so wie OllyDBG, von daher sollte es nicht all zu schwer sein. Du kannst ja die ersten Teile von Lena's Tuts parallel mit x64dbg machen und schauen ob du zurecht kommst.