Weiß nicht, ob Kusch da nochmal reintaucht; ich hab's mal ausprobiert mit einer Sprunginsel (führt den ursprünglichen code aus, der noch ersetzt werden muss):
[Bild: Sprunginsel.jpg]
(Gab überraschenderweise keinen Absturz und kein Problem mit dem Tagesclient; der "wirkt" wohl nur beim
Starten des games.)
Es wäre schon gut, wenn du grundsätzlich über x86 Assembler Bescheid wüsstest. Allerdings lernt man das nicht "mal schnell".
Ich glaube auch nicht, dass es damit getan ist, den push 64 durch push int16 zu ersetzen, denn dann muss man die 2 bytes auch wieder vom Stack holen, also weiteren code anpassen. Aber wo passiert das?
Man kann da lustig durchsteppen (und immer den Wert 0x64 auf dem stack im Auge behalten). Anstrengend, ziemlich komplex.
btw, was spricht dagegen, nur das Heal_MediumEnhanced zu modifizieren?
Ergebnis 41 bis 46 von 46
-
"in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
Tuvok, scannen Sie den Planeten nach Mikroplastik!
"Hört mir bloß auf mit "Stormson".
"In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!Geändert von tombom81 (23.01.2023 um 15:33 Uhr) Grund: Der Glauben war falsch.
-
- Registriert seit
- Mar 2019
- Beiträge
- 56
.. ich bin mir aber nicht sicher was du meinst mit vom Stack holen ..hmm
Also theoretisch müsste das doch so funktionieren? Hast du´s mal getestet? Wenn man da jetzt FF 00 00 reinschreibt, dass die Heilung vom MediumHeal dann zu 255 wird?
Solangs keinen Crash gibt ist doch theoretisch nix gut?
Beziehungsweise was ich nicht verstehe ist warum das überhaupt nur bis 127 geht... das versteh ich nicht ganz
FF ist doch eigentlich auch nur 1 Byte oder? Oder sind das 2? xD
Ja ich werd mal die Tage ein paar Assembler Tutorials schaun ... ^^
Wie immer tue ich mir leider echt schwer dir folgen zu können.. sorry ..
Eigentlich will ich ja nur noch das Medium_Heal auf 250 setzen oder 300 und dann wars das ^^
Außerdem machts doch auch Spaß ...
Soll ich den 32dbg oder den 64dbg nehmen? oder ist das egal? ^^ als Debugger...
PS: Ich melde mich, sobald ich mehr Ahnung habe wieder und weiß was ein Stack ist ..
-
naja, pop halt. (Und ein ret z.B. holt die Rücksprungadresse vom stack, das sind so grundlegende Dinge; aber du willst dich ja übern stack informieren, das ist gut)
Also theoretisch müsste das doch so funktionieren? Hast du´s mal getestet? Wenn man da jetzt FF 00 00 reinschreibt, dass die Heilung vom MediumHeal dann zu 255 wird?
Beziehungsweise was ich nicht verstehe ist warum das überhaupt nur bis 127 geht... das versteh ich nicht ganz
FF ist doch eigentlich auch nur 1 Byte oder? Oder sind das 2? xD
edit: jetzt versteh ich, push 0x80 codiert er tatsächlich als 68 80000000. Wieder was dazu gelernt.
(Das scheint mit der internen CPU-Struktur zu tun zu haben. Es gibt ja auch diesen relativen jump mit +/- 127 bytes, iirc.)
Wie immer tue ich mir leider echt schwer dir folgen zu können.. sorry ..
Eigentlich will ich ja nur noch das Medium_Heal auf 250 setzen oder 300 und dann wars das ^^
Außerdem machts doch auch Spaß ...
edit: ge-ni-al, es hat funktioniert! (Hätte jede Wette dagegen gehalten.)
[Bild: medium_heal_patch.png]
(FF bzw. FA statt 80 geht auch, logischerweise.)
Da sollte man jetzt ein savegame anlegen und dann wieder laden; um sicherzustellen, dass auch wirklich alles clean war...
Soll ich den 32dbg oder den 64dbg nehmen? oder ist das egal? ^^ als Debugger...
last not least: denk' jetzt nicht, dass das einfach war. Leute wie Kusch oder George schütteln das vielleicht aussem Ärmel; ich gerate aber ganz schön in Schwitzen, obwohl ich es nicht zum ersten Mal mache (bei Risen schon).
Also: dranbleiben, Grundlagen legen.
Allein die Tatsache, dass du es geschafft hast, mich mit deinen Infos zu motivieren, ist bemerkenswert.
Dank nochmal auch an Kusch und George."in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
Tuvok, scannen Sie den Planeten nach Mikroplastik!
"Hört mir bloß auf mit "Stormson".
"In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!Geändert von tombom81 (23.01.2023 um 15:27 Uhr)
-
- Registriert seit
- Mar 2019
- Beiträge
- 56
ich hoff ich find ein 32dbg Tutorial wo´s mal nicht ums cracken geht ...
Für Assembler allgemein hab ich ein gutes gefunden ^^
https://www.youtube.com/watch?v=UiqA...6Rxnpg&index=1
Genau, das ist der Geist, den wir jetzt brauchen (Zitat Ende) ^^
Jippiyay super gemacht aber den jumb braucht man dafür gel? Ich hatte es mal mit 68 probiert und da isses mir abgeschmirt.. teste ich gleich nomal..
Edit: Der jumb ist wohl notwendig...komme leider mit dem 32dbg nicht so zurecht haha xD
Eingewöhnung hmmm ich find einfach nicht wie ich die Stellen finde, die ich in Ghidra oder du dort gefunden hast XD
Guter Tipp
Danke für die lieben Worte & hab ich gern gemacht & ohne dich wäre ich noch Jahre dran gesessen ^^
Das ist das Wichtigste: Dranbleiben & Motivation finden ^^ (oder anders herum?) xDGeändert von Stormwind93 (23.01.2023 um 23:59 Uhr)
-
Öhm, "jump" schreibt sich das, btw.
Das mit dem x32dbg ist nur Gewöhnungssache; nachdem du in der Symbolsliste (rechts) auf InventoryUse_Player_MediumHeal geklickt hast, siehstu im CPU-Fenster eine jump table, auf den ganz oben klicken und danach einen breakpoint (BP) im code setzen (der instruction pointer ist ja noch ganz woanders).
Dann muss du natürlich den ganzen Heal-Kram im game durchgehen (haste doch gemacht, oder? Sonst ist es natürlich unmöglich, das nachzuvollziehen).
Also im marvin mode It_Scr_MediumHeal spawnen (gegebenenfalls noch teach MP 50, wenn aufgebraucht), dann im Inventar auf die Spruchrolle klicken.
Achja, Megawichtig, Risen muss im Fenstermode laufen, sonst kackt die ganze Chose ab, sobald der BP im code erreicht wird. (Hab mich so an den windowed mode gewöhnt, dass ich vergaß, das zu erwähnen, sorry.)
Ab dem BP geht's weiter im single step, F8 oder F7, das war der Punkt, wo ich anfing zu schwitzen.
Da gehört etwas Intuition dazu, wann man mit F7 in einen Funktionsaufruf (call) reingeht, um zu den 0x64 zu gelangen.
Hab den call auch schon wieder vergessen; hier ist die 0x64 schon vom stack runter (s. stack Fenser rechts unten), also muss man mit F7 in den call über dem grauen Balken im CPU-Fenster:
Spoiler:(zum lesen bitte Text markieren)
(Hoffe, der war es; gerade keine Zeit, es nochmal zu checken.)
CU
btw, zur Erinnerung, die ersten 4 Stellen der Adresse (segment) werden bei dir anders sein
edit: dll mit HxD gepatched (8+22 bytes). Funktioniert soweit, bis auf den blöden Wolf, der mir erstmal 250 HP klauen musste, und dann wurdes eng; auf schnellen PCs ist schlecht zu kämpfen, weil die Maus zu schnell dreht. Eh ich das eingestellt hatte, war ich runter auf 100. Gerade nochmal gutgegangen...
(Weiter mit Elex...)"in der Erkundung dieser weiten und wunderbaren Welt" (post #70, höre link unten)
TAS for Elex 2 at ELEX II Nexus - Mods and Community (nexusmods.com)
Tuvok, scannen Sie den Planeten nach Mikroplastik!
"Hört mir bloß auf mit "Stormson".
"In Toussaint wird schon für kleinere Schmähungen als diese Satisfaktion verlangt."
Genug der "Blumensträuße". Ich WILL MadBob! Beugt die Realität!Geändert von tombom81 (28.01.2023 um 22:20 Uhr)
-
- Registriert seit
- Mar 2019
- Beiträge
- 56
Also nach langer Fuselei ..anders kann man es nicht nennen, hat mir TomBom liebenswerterweise die gepatchte Script.dll zukommen lassen
Ich habe die Werte noch angepasst:
Kleine Heilung: 100 Leben
Mittlere Heilung: 300 Leben
Große Heilung: 600 Leben
Die Beschreibung müsste man natürlich selbst anpassen ^^
https://upload.worldofplayers.de/fil...cript_Game.zip
In diesem Januar (2023) wurde ein Risen Update für Steam herausgebracht..
Diese Script_Game.dll ist nicht dazu kompatibel...
Edit: Ihr könnt in Steam unter Betas auf die Orginalversion von 2009 wechseln, damit dürften auch alle sonstigen mods funktionieren ^^
LG & Danke an alle, die hier mitgewirkt haben <3Geändert von Stormwind93 (03.02.2023 um 04:31 Uhr)