Far Cry 3 Shared Code (Life) - Druckversion +- Home of Gamehacking - Archiv (http://archiv-homeofgamehacking.de) +-- Forum: Gamehacking (http://archiv-homeofgamehacking.de/forumdisplay.php?fid=3) +--- Forum: Gamehacking (http://archiv-homeofgamehacking.de/forumdisplay.php?fid=6) +--- Thema: Far Cry 3 Shared Code (Life) (/showthread.php?tid=1511) Seiten:
1
2
|
||||||
Far Cry 3 Shared Code (Life) - DarkLevi - 17.06.2013 Hallo Leute, ich hänge wieder einmal =) Seit wochen versuche ich den Shared Code für das Leben in FarCry 3 zu destrukturieren um einen Infinite Life Cheat zu erstellen (Pointerscan ergab auch bei 4096 und 2 1/2 stündiger Laufzeit nach dem dritten restart nichts mehr...). Nun irgendwie sind meine Ansätze alle falsch. Level 9 in der Tutorial-exe war kein problem aber dass hier lässt mich die Haare raufen. Bisherige Versuche waren zum einen mit dem "Dissect Structure" Tool von CE sowie eine an das Spiel angepasste Variante hiervon: Code:
Far Cry 3 Shared Code (Life) - DNA - 20.06.2013 Hey, ich habe das Spiel zwar nicht, aber ich könnte dir den Code erklären (den du gepostest hast), wenn du möchtest. Sent from my iPhone using Tapatalk 2 RE: Far Cry 3 Shared Code (Life) - DarkLevi - 21.06.2013 Hi DNA, Danke für das Angebot, aber den geposteten Code verstehe ich Mein Problem ist das ich in dem Spiel keinen Code finde der nur den Spieler accessen würde. Somit kann ich diesen nicht anwenden da wieder alles unverwundbar wird Das problem ist einfach dass ich mit meinem Assembly-Wissen nicht soweit komme herauszufinden wo das Spiel zwischen Gegner und Spieler unterscheidet und schon alles mögliche ausprobiert habe, aber nun am Ende meines Lateins bin :@ Leidergottes finde ich auch nirgends ein gutes Tut was auf den Shared-Code in diesem Spiel anwendbar wäre, weswegen ich hier gefragt habe. Falls also doch noch jemand eine Lösung parat hat und mir erklären kann wie das Spiel den Spieler erkennt oder auch nur eine Idee hat die man testen könnte, ich bin für alles dankbar. MfG DarkLevi RE: Far Cry 3 Shared Code (Life) - iNvIcTUs oRCuS - 21.06.2013 Eigentlich ist das recht simpel... Wenn Du mit dem Debugger entsprechend durch den Code stepst findest Du sehr schnell eine Stelle im Code die nur für den Spieler gilt. Allerdings wird diese nicht so häufig aufgerufen und der Spieler ist nur nahezu gegen alles unverwundbar. Stürze aus großer Höhe sind so das einzige Problem... RE: Far Cry 3 Shared Code (Life) - DarkLevi - 24.06.2013 Und wie erkenne ich diese Stelle? Was ich versucht habe war zb.: Access auf Spieler und einer Gegneradresse zu lesen um so ein Codefragment zu finden dass nur den Spieler anspricht. Das hat allerdings nicht funktioniert. Ich habe zwar eine Codestelle gefunden aber scheinbar accessed die auch die Gegner, auf jeden fall hatte ich obigen Code angepasst und es war wieder jeder unverwundbar RE: Far Cry 3 Shared Code (Life) - iNvIcTUs oRCuS - 24.06.2013 Wenn Du dir sämtliche Opcodes auflisten lässt die die Spieleradresse manipulieren/auslesen dann kommst du irgendwann zu so einem Codestück... [code=ASM]ret 000C xorps xmm0,xmm0 xor eax,eax comiss xmm0,[ecx+10] jb FC3.dll+905E4E[/code]Die Spieler- und Gegneradressen werden bei "comiss xmm0,[ecx+10]" durchlaufen. Setze also einen Breakpoint auf diese Zeile und gehe zurück ins Spiel. Da die Health permanent durchlaufen wird und nicht nur wenn die Spielfigur getroffen wird müsste der Debugger sofort anspringen und an eben jenem Breakpoint das Spiel angehalten haben... Da sich der oben gezeigte Code selbst innerhalb eines Call's (Subroutine) befindet muss also irgendwo am Ende dieser Funktion ein Return stehen. Also stepst du durch den Code und mit dem Ausführen des Return's kommst du aus diesem Call raus. Wenn Du dann eine Zeile oben drüber schaust siehst Du den Call der diese Funktion aufgerufen hat. Die Funktion, welche das oben gezeigte Codeschnipsel inne hat, wird allerdings von mehreren Stellen aufgerufen. Deshalb wirst Du das wahrscheinlich mehrmals wiederholen müssen bis du einen solchen Code siehst... [code=ASM]mov ecx,[esi+2C] mov eax,[ecx] call dword ptr [eax+1C][/code]Dieser "call dword ptr [eax+1C]" wird nur aufgerufen wenn es sich um eine Spieleradresse handelt. Also könntest du hier deine Codeinjection machen... EDIT// Aber wie ich schon sagte... Die Spielfigur wird dadurch unverwundbar, aber durch Stürze aus großer Höhe nimmt diese dennoch Schaden bzw. verliert die Health komplett... RE: Far Cry 3 Shared Code (Life) - DarkLevi - 25.06.2013 Super besten Dank, werde das gleich ausprobieren und dann Rückmeldung geben. Wenn dass dann auch funktioniert wenn ich da rumbastel, glaube ich es endlich kapiert zu haben Vielen Dank ein glücklicher DarkLevi EDIT: ne ich schnalls net.... 1. Woher weißt du dass dieser Code nur den Spieler betrifft, und der richtige ist, wieso nicht die anderen Call's? 2. Mein Code soweit: Code:
RE: Far Cry 3 Shared Code (Life) - DarkLevi - 26.06.2013 So habe jetzt mal was anhand der "DMA to Static" getestet: Code:
RE: Far Cry 3 Shared Code (Life) - DarkLevi - 26.06.2013 Oh man ich Hirnbeiß.... :@ alles zurück habe das "cmp" übersehen dass direkt vorher ausgeführt wird, und diese überprüfung durch mein "cmp" zerschossen :@:@:@ Im so f***ing sorry.... Bleibt nur noch die Frage woran man den richtigen call erkennt. Danach bin ich wunschlos glücklich und eine erfahrung reicher LG DarkLevi AW: Far Cry 3 Shared Code (Life) - iNvIcTUs oRCuS - 26.06.2013 Ich werd mir dat Dingens nochmal installieren und dann vielleicht gleich nen Tutorial draus basteln... Alles anhand von Cheat Engine... Das ist glaub ich für alle einfacher nachzuvollziehen... Gesendet von meinem Galaxy S4 mit Tapatalk 4 |