|
You last visited: Today at 03:27
Advertisement
Ollydgb - Einsteiger braucht Hilfe
Discussion on Ollydgb - Einsteiger braucht Hilfe within the General Coding forum part of the Coders Den category.
04/09/2012, 22:53
|
#1
|
elite*gold: 0
Join Date: Apr 2012
Posts: 151
Received Thanks: 40
|
Ollydgb - Einsteiger braucht Hilfe
Hallo liebe pvpers,
ich bin seid heute an dem Thema OllyDbg dran.
Mein Ziel ist es einen Bot für das Spiel Nostale zu schreiben, dieser soll jedoch durch dll inject oder ähnliches call Funktionen des Spieles ansprechen.
Bisher habe ich es geschafft gewisse Fixe werte zu ändern um so z.B. Punkte die ich von einem Minispiel bekomme hoch zu setzen.
Um mich nun an den oben beschrieben Bot zu machen, wollte ich als erstes den Call raus finden der das Target wechselt (ist ein klick spiel, also so wie in WoW).
Nun habe ich in Cheat Engine erst einmal die Adressen gesucht die sich ändern sobald ich das Target denn wechsel und somit auch über "Find out what writes to this adress" die richtige Assembler stelle heraus gefunden.
Nun noch der richtige Breakpoint in OllyDbg und tada ich kann beim wechseln des Targets einen anderes vorschreiben (ich wähle im Spiel Target 1, nach break und 1 step, wechsle ich in CE die ID, Target 2 ist gewählt)
Doch wie kann ich nun herausfinden welcher Call notwendig ist um von Außen das Target zu wechseln?
Kann ich Calls in OllyDbg selbst herbei führen (zur laufzeit)?
Ich bin echt noch neu in dieser Abteilung und mir raucht der Kopf nach 5 Stunden rumprobieren  Habe besonders nie was mit Assembler gemacht.
Ich hoffe ihr könnt mir was weiterhelfen. Tut's und Anregungen was ich als nächstes erst mal üben sollte, wäre nett.
Danke
|
|
|
04/09/2012, 23:15
|
#2
|
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
|
braik, alles klar. ;o
|
|
|
04/09/2012, 23:26
|
#3
|
elite*gold: 0
Join Date: Apr 2012
Posts: 151
Received Thanks: 40
|
legastheniker ich darf das :P
|
|
|
04/09/2012, 23:53
|
#4
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
ollydbg selbst kann soweit ich weiss nichts callen, dazu wäre der ida debugger besser geeignet
|
|
|
04/10/2012, 01:51
|
#5
|
elite*gold: 0
Join Date: Apr 2012
Posts: 151
Received Thanks: 40
|
Quote:
Originally Posted by HeavyHacker
ollydbg selbst kann soweit ich weiss nichts callen, dazu wäre der ida debugger besser geeignet
|
gibts denn noch ne andere Möglichkeit? Oder muss ich dann DLL inject machen?
Würde halt gerne einfach mal ein Paar calls ausprobieren, um auch die richtige zu finden.
|
|
|
04/10/2012, 02:11
|
#6
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
IDA ist ein statischer Disassembler, wie kommst du auf die Idee?
Natürlich geht das mit Olly, mit Codecaves.
Aber ich verstehe nicht ganz das Problem. Du hast doch mit nem Breakpoint die Adresse gefunden, wo das Target gewechselt wird. Schau doch einfach auf den Stack und gehe in der Hierarchie zurück, bis du zu einer Funktion kommst, die du selbst (zb. aus einer Dll) angenehm aufrufen kannst.
|
|
|
04/10/2012, 02:20
|
#7
|
elite*gold: 0
Join Date: Apr 2012
Posts: 151
Received Thanks: 40
|
Quote:
Originally Posted by MrSm!th
IDA ist ein statischer Disassembler, wie kommst du auf die Idee?
Natürlich geht das mit Olly, mit Codecaves.
Aber ich verstehe nicht ganz das Problem. Du hast doch mit nem Breakpoint die Adresse gefunden, wo das Target gewechselt wird. Schau doch einfach auf den Stack und gehe in der Hierarchie zurück, bis du zu einer Funktion kommst, die du selbst (zb. aus einer Dll) angenehm aufrufen kannst.
|
Wie gehe ich in der Hierachie zurück ohne mir ein Bein auszubrechen, weiß noch nicht ganz wie das geht.
Eine "Funktion" ist doch ein Call auf eine Prozedur oder? Wie kann ich diese denn genau "aufrufen"?
Ich habe mir halt gedacht das ich die Call Prozeduren einfach mal aus dem Olly aufrufe, um zu sehen ob der Call den ich mir raus suche, auch der richtige ist.
Kannst du das mal mit dem Codecaves etwas genauer erklären?
|
|
|
04/10/2012, 16:46
|
#8
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
Quote:
Originally Posted by MrSm!th
IDA ist ein statischer Disassembler, wie kommst du auf die Idee?
Natürlich geht das mit Olly, mit Codecaves.
Aber ich verstehe nicht ganz das Problem. Du hast doch mit nem Breakpoint die Adresse gefunden, wo das Target gewechselt wird. Schau doch einfach auf den Stack und gehe in der Hierarchie zurück, bis du zu einer Funktion kommst, die du selbst (zb. aus einer Dll) angenehm aufrufen kannst.
|
ida hat einen integrierten debugger (soweit ich weiss), damit kann man z.b. das EIP register auf eine beliebige adresse setzen
Quote:
Originally Posted by TheCherry
Wie gehe ich in der Hierachie zurück ohne mir ein Bein auszubrechen, weiß noch nicht ganz wie das geht.
Eine "Funktion" ist doch ein Call auf eine Prozedur oder? Wie kann ich diese denn genau "aufrufen"?
Ich habe mir halt gedacht das ich die Call Prozeduren einfach mal aus dem Olly aufrufe, um zu sehen ob der Call den ich mir raus suche, auch der richtige ist.
Kannst du das mal mit dem Codecaves etwas genauer erklären? 
|
bei jedem function call werden nicht nur parameter auf den stack gepusht, der prozessor legt noch einen wert auf den stack, an den bei der nächsten ret instruction gesprungen wird. funktioniert wie jmp [esp]! in olly wird das auf dem stack rot markiert (return from xxxx)
|
|
|
04/10/2012, 17:07
|
#9
|
elite*gold: 0
Join Date: Apr 2012
Posts: 151
Received Thanks: 40
|
Ok habs geschafft gestern Nacht, nachdem ich erfolgreich (nach ca. 3 stunden) endlich eine DLL mit asm code injected habe. Mensch hatte ich Kopfschmerzen danach
Danke soweit
|
|
|
04/10/2012, 17:37
|
#10
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Quote:
Originally Posted by HeavyHacker
ida hat einen integrierten debugger (soweit ich weiss), damit kann man z.b. das EIP register auf eine beliebige adresse setzen
|
das ist kein call
|
|
|
04/10/2012, 19:00
|
#11
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
Quote:
Originally Posted by MrSm!th
das ist kein call
|
ist es auch nicht, nur man kann so einen umsetzen!
return adresse auf den stack pushen + EIP ändern = win
|
|
|
04/10/2012, 23:36
|
#12
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
+ Die Funktion wird elendig versagen, weil eventuelle Parameter fehlen und die Calling Convention Probleme machen könnte = win, oh ja
|
|
|
04/11/2012, 00:32
|
#13
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
Quote:
Originally Posted by MrSm!th
+ Die Funktion wird elendig versagen, weil eventuelle Parameter fehlen und die Calling Convention Probleme machen könnte = win, oh ja
|
die eventuellen würden auch bei nem call fehlen wie hier:
man kann natürlich die parameter auch mit auf den stack pushen und auch wieder runter hauen :|
dann wäre das kein problem, aber das ist hier ja wohl nicht das thema
|
|
|
04/11/2012, 01:52
|
#14
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Zu einem Funktionsaufruf gehört aber nunmal auch das Pushen von Parametern und darum ging es ja hier und nicht um das simple Ausführen einer Call Instruktion.
Aber richtig, das schweift nun langsam ab.
|
|
|
 |
Similar Threads
|
Hilfe^^ bin einsteiger ^^
02/02/2012 - C/C++ - 8 Replies
Hi, ich hab da n problem^^
ich hab jetzt angefangen mit c++ zu lernen, und jetzt hab ich ne frage.
ich will mein c++ programm so haben, das es nicht in console geöffnet wird, sonder den prozess, den ich grad offen hab (z.B. editor etc)
Also wenn ich auf mein Programm klicke, das sich dann der editor öffnet und mein cout da geschrieben wird...
danke im voraus!
|
Einsteiger hilfe..
12/31/2011 - Metin2 Private Server - 0 Replies
Hey Leute, ich hatte vor cirka einem halben Jahr einen Hamachi P-Server, der Relativ gut ankam. Für Hamachi-Verhältnisse hab ich sogar viel Geld eingenommen, und genau das Geld möchte ich jetzt in einen Root investieren.
Leider habe ich kaum Ahnung von Rootserver. Was ist da beim Programmieren eigentlich der unterschied? Speichert man die Mysql Datenbank usw direkt auf den Root Server? Was sollte man noch alles beachten?
Danke im voraus.
|
Einsteiger Hilfe
10/27/2011 - Dekaron - 5 Replies
ICh habe mal ne frage ob mir einer helfen kann. Ich bin jetzt level 24 aber viel über das game weis ich nicht und ich kann keine skills benutzen obwohl ich die gekauft habe und die richtigen waffen habe.
Ich habe mal ein irgendiwe benutz aber keinplan wie.
ha be alles probiert auf moster dann per zahlen 1-9
auch mit maus.
geht nicht :(
vllt kann einer mir helfen un das inagme so mal alles zeigen
wär nett
vielen dank im vorraus
|
[C#] Einsteiger Hilfe!
06/22/2011 - .NET Languages - 9 Replies
Hallo , mein momentaner quellcode sieht aus wie folgt:
sing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
|
Einsteiger Hilfe
12/20/2009 - Diablo 2 - 4 Replies
Hi!
Nach 6 Jähriger D2 Pause bin ich nun zurück gekehrt und wollte mir nen Maphack und nen Pickit downloaden! SOweit so gut, hab mich etwas im forum hie rumgeschaut und einiges gefunden!
Trotzdem habe ich schwierigkeiten etwas geeignetes zu finden und ich weis z.B auch nciht ob ich noch irgend welche zusatzprogramme dazu brauche, um diese zum laufen zu bekommen! D2 Loader oder etwas ähnliches!
Eine kurz gehaltene Einleitung wie ich einen ganz simplen Mh und pickit zum laufen bekomme...
|
All times are GMT +1. The time now is 03:28.
|
|