OllyDBG Frage

03/28/2016 20:32 Xenoo#1
Hallo pvpers Community,

Ich habe lediglich eine Frage zu Funktionen von ollyDBG.

Meine Anwendung die ich habe beendet sich nach genau 3 durchläufen von alleine mit einer Fehlermeldung.

Soweit so gut, die Fehlermeldung hab ich auch gefunden.

Und nun möchte ich dass er garnicht erst die Fehlermeldung ausspuckt. Bzw einfach nicht nach 3 Runden aufhört. Da ich nicht weiß wie ich an den serial/Crackme key komme, habe ich es mir einfach mit einem Bypass vorgestellt.

Folgende Möglichkeiten haben ich mir überlegt:

1. key fishen(bekomme es bei dieser Anwendung nicht hin)
2.aktivieren einfach auf TRUE setzen, das bekomm ich zwar hin, aber das Programme beendet sich trotzdem nach unregelmäßigen versuchen.
3. den STOP nach 3 Durchgängen einfach zu bypassen.

Gibt es spezielle stellen vor der Fehlermeldung auf die ich achten sollte?
03/29/2016 09:36 Devsome#2
Ich denke @[Only registered and activated users can see links. Click Here To Register...] kann dir hier gut helfen. Habe ihn mal drauf hingewiesen.

Ich würde versuchen die Fehlermeldung zu NOP ? Glaube so nennt man das (zu überschreiben).
03/29/2016 12:09 alpines#3
Quote:
Originally Posted by Devsome View Post
Ich würde versuchen die Fehlermeldung zu NOP ? Glaube so nennt man das (zu überschreiben).
Das würde die Fehlermeldung zwar nicht mehr darstellen allerdings würde der sich vermutlich immer noch beenden.

Du solltest schauen wo der Jump zu der Fehlermeldung hinführt, den kannst du dann verändern oder du suchst nach einem Compare welches die Zählervariable anschaut ob es schon 3 Durchläufe waren.
03/29/2016 13:51 Xenoo#4
Wenn ich nen Screen davon hochlade. Würde es helfen?...

Oder könnte man sowas in kurze Worte fassen?

Also wie gesagt.

Das mit der Fehlermeldung umgehen war jetzt eine von 3 Varianten.

Im Grunde könnte ich den key fishen, das Programm auf activated setzen( was ich ja hinbekommen hab, aber er ungewöhnlicherweise nach 7-8 durchläufen abbricht. oder eben die Meldung bypassen. Nur leider hab kann ich das activated nicht mehr rückgängig machen ( am laptop ) da die es mit ollydbg 2.0 versucht habe und ich auch nix abgespeichert habe. es war dennoch irgendwie dann activated

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

Versteh mein Fehler nicht, hab genau eine Zeile geändert, und ein Druchlauf gestartet. Danach war das Program Registred. Es beendet sich aber nach 7-8 durchläufen ohne eine Fehlermeldung. :( Woran kann das liegen?
03/30/2016 11:58 wurstbrot123#5
Guck dir an was in dem Call darüber ist.
Die Funktion wird sehr wahrscheinlich AL setzen, und dort findest
du dann auch unter welcher Bedingung AL auf 1 gesetzt wird.
03/30/2016 23:41 Xenoo#6
Oh, ich werde mal schauen, interessiere mich zwar sehr dafür. Nur leider beherrsche ich selber keine Programmiersprache.

Bist du jemand der einem sowas gerne erklärt? Also z.b in dem Fall was der Call sagt?

Habe bei mal bei einem programm die keyabfrage umgangen.( man bekam ein Code und den müsste man beim Admin abgeben für nen aktivierungscode) und die jährliche Lizenz ausgehebelt. Das aber alles nur aus Tutorials zusammengesucht. Um ledeglich um mich selbst zu testen. Für das programm hatte ich z.b keine nutzen, es hat mir nur Spaß gemacht zu sehen was man kann.

Mich interessiert es halt was man nachträglich manipulieren kann. So wie es denke ich bei den meisten ist die crackmes machen oder allgemein reverse Engineering betreiben.
03/31/2016 15:31 wurstbrot123#7
Naja wenn du dich für das Thema interessierst ist die Tutorialreihe
"Reversing for Newbies" von lena141 sehr zu empfehlen.

Sind 40 Videotutorials für die man auch keine kenntnisse mit Programmiersprachen
benötigt und sind ein sehr guter start für dieses Thema.

Wenn man damit durch ist hat man schon ein gutes Grundwissen das man dann
selber am besten durch learning by doing ausbaut und sachen die man nicht versteht
dann halt recherchiert.
03/31/2016 15:59 Xenoo#8
Ja vielen Dank. Werde mich da mal durch die Staffel beißen!

Kennst du dich zufällig mit AutoIt aus und könntest vielleicht dazu was schreiben?

Hier der Link zum Thread:

[Only registered and activated users can see links. Click Here To Register...]
04/03/2016 01:12 Xenoo#9
Hab alles so gemacht wie sie es im ersten Video erklärt.. nur leider kommt eine fehlermeldung wenn ich es mit ihrer INI starten will

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

Lass ich dich standart drin, läuft das Programm.

Aber dann ist es nicht mehr so schön konfiguriert, dass man die Sprünge usw sieht, kann mir da jemand helfen?
04/09/2016 17:39 NullEisen#10
Quote:
Originally Posted by Xenoo View Post
Wenn ich nen Screen davon hochlade. Würde es helfen?...

Oder könnte man sowas in kurze Worte fassen?

Also wie gesagt.

Das mit der Fehlermeldung umgehen war jetzt eine von 3 Varianten.

Im Grunde könnte ich den key fishen, das Programm auf activated setzen( was ich ja hinbekommen hab, aber er ungewöhnlicherweise nach 7-8 durchläufen abbricht. oder eben die Meldung bypassen. Nur leider hab kann ich das activated nicht mehr rückgängig machen ( am laptop ) da die es mit ollydbg 2.0 versucht habe und ich auch nix abgespeichert habe. es war dennoch irgendwie dann activated

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

Versteh mein Fehler nicht, hab genau eine Zeile geändert, und ein Druchlauf gestartet. Danach war das Program Registred. Es beendet sich aber nach 7-8 durchläufen ohne eine Fehlermeldung. :( Woran kann das liegen?
Um dir zu helfen brauchen wir mehr Informationen.
Was genau ist das für eine Anwendung?
IN der Fehlermeldung steht, dass der Key entweder Ungültig oder BEREITS VERWENDET ist. Vergleicht das Programm den Key mit einer Datenbank im Netz oder so?
Könntest du einen Screenshot/Memory Dump posten, der auch die aufgerufenen Methoden (also die Calls) enthält.

Oder wenn du willst kannst du mir gleich das Programm schicken und ich schau es mir mal an. ;)
Das wäre vermutlich am besten da wir ohne den ganzen Code zu kennen eigentlich nur raten können.
04/11/2016 00:15 Xenoo#11
Quote:
Originally Posted by NullEisen View Post
Um dir zu helfen brauchen wir mehr Informationen.
Was genau ist das für eine Anwendung?

Oder wenn du willst kannst du mir gleich das Programm schicken und ich schau es mir mal an. ;)
Das wäre vermutlich am besten da wir ohne den ganzen Code zu kennen eigentlich nur raten können.
[Only registered and activated users can see links. Click Here To Register...]

Da ja bereits ältere version dieses. Bottes hier gecracked wurden (scheinbar legal) hab ich euch einfach mal die Seite gepostet( es geht um die V0.84)
04/14/2016 00:19 florian0#12
Ich kann die Anwendung leider nicht richtig testen, hab das Spiel dazu ja nicht. Besonders komplex erscheint mir die Lizenzprüfung aber nicht zu sein ...

Key Check nach Eingabe (der Part, den du auch gefunden hast):
[Only registered and activated users can see links. Click Here To Register...]
Das CMP hast du gepatcht. Danach folgt noch ein cmp. Meines Erachtens bestimmt der Wert der verglichen wird aber nur, ob der eingegebene Key gespeichert wird, oder nicht.

Im Keycheck siehts so aus:
[Only registered and activated users can see links. Click Here To Register...]
Es gibt anscheinend mehrere gültige Serials ... wenn man diese Subroutine manuell durch-"steppt", bekommt man 3 gültige Serials geliefert xD. Man muss auf jeden Fall einen der JEs nehmen, sonst ist der Serial nicht gültig.


Gespeichert wird der Serial übrigens in C:\Users\<Username>\Documents\system64.sys (klingt eher nach Malware ...)

Keycheck beim Anwendungsstart:
[Only registered and activated users can see links. Click Here To Register...]
Es ist in der Tat so, dass die Anwendung als registriert erscheint, wenn die Datei mit dem Serial existiert. Es muss nicht mal ein Serial drinstehen.
Daher gehe ich davon aus, dass es noch weitere Checks dazu gibt. Die kann ich aber nur schwer finden, da ich das Spiel nicht habe^^.

Das "isRegistered" wird an verschiedenen anderen Stellen im Programm weiter verwendet. Unter anderem auch in den Bot-Routinen. Ggf. hier mal einen Memory Breakpoint setzen und schauen was damit passiert.
Es gibt auch noch weitere Stellen, an denen die system64.sys referenziert wird. Die sind sicherlich auch einen Blick wert.
04/14/2016 14:20 Xenoo#13
OK erstmal vielen dank für eine unerwartete Antwort:

Erstmals muss ich sagen dass es bei dir doch etwas anders aussieht als bei mir. (Vielleicht besser konfiguriert?

Quote:
Ich kann die Anwendung leider nicht richtig testen, hab das Spiel dazu ja nicht. Besonders komplex erscheint mir die Lizenzprüfung aber nicht zu sein ...
- Es ist ja nur ein Browser Game

Quote:
Es ist in der Tat so, dass die Anwendung als registriert erscheint, wenn die Datei mit dem Serial existiert. Es muss nicht mal ein Serial drinstehen.
Daher gehe ich davon aus, dass es noch weitere Checks dazu gibt. Die kann ich aber nur schwer finden, da ich das Spiel nicht habe^^.
- Wenn man es als Trial nutzt(den Bot) wird nach 3 Durchläufen, der bot beendet. mit einer Fehlermeldung. (vielleicht hilft das ja weiter)

...Weiß man denn ob er nur eine Zeile scannt in der system64.sys oder könnte man auch versuchen mehrere Keys untereinander zu schreiben?

Leider kenne ich mich auch mit Breakpoints setzen nicht so super gut aus ^^...Wie gesagt fange erst an damit zu lernen. Und ne Programmiersprache beherrsche ich auch nicht

Kannst du denn jegliche änderungen als .EXE abspeichern und normal starten?

bei mir kommt immer:

Quote:
File corrupted !
Please run a virus-check, then reinstall the application.
04/14/2016 15:52 florian0#14
Quote:
Originally Posted by Xenoo View Post
OK erstmal vielen dank für eine unerwartete Antwort
Wenn man mich schon persönlich erwähnt^^. Ich wusste am Anfang nur nicht so recht, was ich noch beitragen sollte.

Quote:
Originally Posted by Xenoo View Post
Erstmals muss ich sagen dass es bei dir doch etwas anders aussieht als bei mir. (Vielleicht besser konfiguriert?
Ich nutze auch kein Olly (mehr) sondern x64dbg (moderner, schneller und open-source). Wenn du bei Olly im Disassembly-Fenster Rechtsklick -> Appearance -> Highlighting -> Christmas Tree ausführst, wird das ganze auch in Olly lesbarer.

Quote:
Originally Posted by Xenoo View Post
Es ist ja nur ein Browser Game
Ich habs mir ehrlich gesagt nicht so genau angeschaut. Ich hab nur mal die Webseite angeschaut und dann beschlossen, dass es auch ohne Spiel gehen muss.

Quote:
Originally Posted by Xenoo View Post
- Wenn man es als Trial nutzt(den Bot) wird nach 3 Durchläufen, der bot beendet. mit einer Fehlermeldung. (vielleicht hilft das ja weiter)

...Weiß man denn ob er nur eine Zeile scannt in der system64.sys oder könnte man auch versuchen mehrere Keys untereinander zu schreiben?
Fehlermeldungen sind immer gut. Nach Zeichenketten kann man super suchen.
Ich hab da noch was gefunden:
[Only registered and activated users can see links. Click Here To Register...]
Hier wird ein Zähler geführt und bei erreichen des Limits wird die Fehlermeldung ausgegeben. Klingt nach dem von dir beschriebenen Verhalten.
Das Gute ist: Es gibt keinen Zeiger oder sonstigen komplexen Kram. Möglicherweise kann man diese Adresse einfach mit Cheat-Engine "freezen" (immer wieder mit 0 überschrieben).
Das wäre zumindest die einfachste Methode um eine Endless-Trial zu haben.

Zum Keyfile: Ich würde vermuten, dass er nur die erste Zeile ließt. Wieso sollte er auch mehrere Serials verarbeiten. Entweder du hast eine oder du hast keine.

Quote:
Originally Posted by Xenoo View Post
Leider kenne ich mich auch mit Breakpoints setzen nicht so super gut aus ^^...Wie gesagt fange erst an damit zu lernen. Und ne Programmiersprache beherrsche ich auch nicht
Dann hast du dir mit Reverse Engineering ja echt den steilsten Berg ausgesucht :D. Ich will dir auch nicht alles vorkauen. Ich hoffte es hilft dir, wenn ich dir die entsprechenden Stellen zeige.

Versuch mal die 3-4 Serials von denen ich Sprach zu "fishen". Vielleicht gehen die ja. Den CMP hast du ja gefunden. Der CALL darüber beinhaltet die Serials. Einfach einen Breakpoint auf diesen CALL setzen und einen Serial eingeben. Dann mit einmal Step-Into (F7) machen um in die Funktion zu springen. Dann mit Step-Over (F8) Befehl für Befehl abarbeiten. Rechts oben im Register-Fenster EDX beobachten. Da taucht gelegentlich ein gültiger Serial als Text auf.

Diesen Codeblock solltest du dort entdecken können. 4 mal hintereinander. Jedes mal wenn du "mov edx, dword ptr [...]" passiert hast, steht ein neuer, anscheinend gültiger Serial in EDX.
Code:
006492C8 | lea     ecx, dword ptr ss:[ebp - 108]   |
006492CE | mov     edx, farmbot.6493C4             |
006492D3 | mov     eax, farmbot.6493B4             |
006492D8 | call    farmbot.6491C4                  |
006492DD | lea     edx, dword ptr ss:[ebp - 108]   | 
006492E3 | lea     eax, dword ptr ss:[ebp - 110]   |
006492E9 | call    farmbot.404E50                  | Loads a stored key ...
006492EE | mov     edx, dword ptr ss:[ebp - 110]   | Copy PTR of loaded key to EDX
006492F4 | mov     eax, dword ptr ss:[ebp - 4]     | Copy PTR of entered key to EAX
006492F7 | call    <farmbot.internal_Keychecker>   | Validate/Compare Key (set Flags)
006492FC | je      <farmbot.set_enteredKeyValid>   |

Quote:
Originally Posted by Xenoo View Post
Kannst du denn jegliche änderungen als .EXE abspeichern und normal starten?
Die Software ist mit ASProtect geschützt. Das müsstest du erst entpacken, wenn du permanente Änderungen vornehmen willst. Dazu brauchst du mich nicht weiter fragen, ich bin grotten schlecht im entpacken :P
04/14/2016 16:25 Xenoo#15
Quote:
Das Gute ist: Es gibt keinen Zeiger oder sonstigen komplexen Kram. Möglicherweise kann man diese Adresse einfach mit Cheat-Engine "freezen" (immer wieder mit 0 überschrieben).
Das wäre zumindest die einfachste Methode um eine Endless-Trial zu haben.
Uhhh Cheat-Engine ist leider Neuland. Ich weiß z.b wie ich die Attribute Munition herausfinden kann und freezen kann. Aber wie finde ich die loops?!

Könnte ich in Olly nicht einfach die loops auf z.b "999" setzen?

Quote:
...Ich nutze auch kein Olly (mehr) sondern x64dbg...
Ist vermutlich auch nurn Ordner? Magst du mir dein Setup bereitstellen?


Hier mal ein Ausschnitt wie der Bereich bei mir aussieht. Bei dir sieht man viel mehr an Informationen? Woran liegt das?

[Only registered and activated users can see links. Click Here To Register...] (Bei mir werden Die Bilder nie angezeigt wtf?, daher nur nen Link)

Wenn ich den x32dbg nutze, zeigt er mir immer Debugger detected :(....


Quote:
Hab mal jetzt intensiver gesucht und auch fündig geworden :D ( Hab glaube Blind gesucht aber der erste versuch wars dann auch :D )

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