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
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
--Greetz to xD Helldog,bloody,Raiden,Chaik,Chuck und wer wars noch ...*überleg* dadie,Jesus,Crash und Manie
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.Zitat von Aretures
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..
--Abwesend.
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 ...Zitat von Aretures
@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 FunktionenZitat von Ineluki
Das Programm was ich meinte nennt sich "pexports" und ist unter anderem hier unter "altbinutils-pe-bin" zu finden.
--Abwesend.
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.Zitat von Aretures
freundliche Grüße, Rolus