Ergebnis 1 bis 12 von 12

Thema: Wie schauts aus ...

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    hmm du hast mal gesagt das man die Variablen werte des Makers auslesen kann ! Wie , wie hast du z.B. herausbekommen wie die Harmony.dll aufgebaut ist ..auch mit nem Hexeditor...so ein hab ich aber byts interpretieren ist net so mein ding xDDD

  2. #2
    Zitat Zitat von Aretures
    hmm du hast mal gesagt das man die Variablen werte des Makers auslesen kann ! Wie , wie hast du z.B. herausbekommen wie die Harmony.dll aufgebaut ist ..auch mit nem Hexeditor...so ein hab ich aber byts interpretieren ist net so mein ding xDDD
    Ineluki weiß nicht, wie die Harmony-DLL genau programmiert ist. Er kennt nur das DLL-Interface. Das heißt die Funktionen die die DLL den Programmen, die sie benutzen, zur Verfügung stellt. Dann hat Luki einfach eine zweite DLL, mit exakt dem selben Interface (Den selben Funktionen) wie die Oldharmony sie hat, geschrieben und die Oldharmony durch diese ersetzt. Der Maker denkt jetzt es wäre "seine" DLL. Er sendet also exakt die selben Aufrufe an die DLL wie sie die Oldharmony empfangen würde. In Inelukis DLL wird dann überprüft, ob die Aufrufe, die der Maker sendet, ihn interessieren, oder nicht. Interessant ist dann z.b. die Funktion, die der DLL sagt, dass sie eine .wav Datei abspielen soll. Lukis DLL guckt da nämlich ob die Datei wirklich eine .wav oder vielleicht doch eine .script.wav ist. Sollte letzteres zutreffen verarbeitet Inelukis DLL das Script. Sollte ersteres zutreffen, wird der Aufruf einfach an die Oldharmony weiter geleitet.
    Genauso funktioniert das mit allen anderen Funktionen in der DLL auch. Ist der Aufruf uninteressant geht er an die alte DLL.

    Das Interface einer DLL kann man recht einfach rausbekommen, dafür gibt es Programme. In irgendeinem der GNU Pakete ist eins. In den Binutils wahrscheinlich.

    Das ganze hat also recht wenig mit Disassemblieren oder Hexcode zu tun..

  3. #3
    Zitat Zitat von Aretures
    hmm du hast mal gesagt das man die Variablen werte des Makers auslesen kann ! Wie , wie hast du z.B. herausbekommen wie die Harmony.dll aufgebaut ist ..auch mit nem Hexeditor...so ein hab ich aber byts interpretieren ist net so mein ding xDDD
    Was das Lesen der Werte aus dem Maker angeht, so mache ich das ebenfalls mit ReadProcessMemory. Allerdings ist das Problem herauszufinden, WO diese Daten stehen -__- Den Rest, der die DLLs betrifft, hat bereits Dingsi sehr schoen erklaehrt ...

    @Dingsi ... das Tool, das du erwaehnst, kenn ich noch gar nicht O_o
    Waere schoen, wenn du dich mal schlau machen koenntest. Vor allem interessiert mich, ob es auch rauskriegt, welche Parametertypen uebergeben werden, und in welcher reihenfolge ... Die Namen der Funktionen rauszubekommen, ist nicht das Problem. Das geht schon mit der Windows-Schnellansicht.

  4. #4
    Zitat Zitat von Ineluki
    @Dingsi ... das Tool, das du erwaehnst, kenn ich noch gar nicht O_o
    Waere schoen, wenn du dich mal schlau machen koenntest. Vor allem interessiert mich, ob es auch rauskriegt, welche Parametertypen uebergeben werden, und in welcher reihenfolge ... Die Namen der Funktionen rauszubekommen, ist nicht das Problem. Das geht schon mit der Windows-Schnellansicht.
    Argh, du hast recht. Die Parameter hatte ganz vergessen. Das Programm was ich meine erstellt nur .def-Dateien mit der Liste der Funktionen

    Das Programm was ich meinte nennt sich "pexports" und ist unter anderem hier unter "altbinutils-pe-bin" zu finden.

  5. #5
    Zitat Zitat von Aretures
    Wie , wie hast du z.B. herausbekommen wie die Harmony.dll aufgebaut ist ..auch mit nem Hexeditor...so ein hab ich aber byts interpretieren ist net so mein ding xDDD
    Also wenn du Win32 Executables 'hacken' willst, solltest du dich erstmal gründlich damit beschäftigen (das sollte man immer tun, wenn man etwas hacken will). Ein hilfreicher Link wäre beispielsweise dieser. Natürlich brauchst du etwas Zeit, bis du das Dateiformat verstehst, aber dann kannst du Executables öffnen und lesen, wie jede andere Datei.

    freundliche Grüße, Rolus

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •