Quote:
|
Ich hätte mal eine Frage. Ist es möglich in diesem Game einen Wallhack zu machen??
|
Gerade bei älteren spielen wo die grafik noch schlecht ist kann man sich recht simple einen Wallhack schreiben der auf deaktivieren des ZBuffer basiert.
Man muss einfach immer dan wen die eine Figure gerendert wird den zbuffer deaktivieren und wen der rest gerendert wird ihn wieder aktivieren.
Um zu wissen wan eine Figure und wan die welt und der ganze rest gerendert wird kann man es sich zu nutze machen das bei alten spielen oft figuren und objecte mittels 3ecken gerendert wird und die welt dagegen mit 4ecken.
Regnum Online gibt es ja auch für linux also wird aller warscheinlichkeit auf OpenGl als Grafikschnittstelle zugegriffen. Wen man nun feststellen will wann er 3Ecke und wann 4Ecke(bzw nicht nur 4ecke sondern auch die ganzen anderen möglichkeiten wie polygone) rendert muss man die funktion glBegin() hooken. Diese funktion hat einen Parameter undzwar wird in diesem parameter überliefert womit gezeichnet werden soll also ob mit 3ecken 4ecken Polygonen oder was auch immer. Das heist wen man die funktion glBegin() gehookt hat liest man in seiner eigenenen funktion (die dank hook anstatt glBegin aufgerufen wird) den Parameter aus und prüfen ob er GL_TRIANGLES, GL_TRIANGLE_STRIP oder GL_TRIANGLE_FAN lautet wen ja dan Deaktiviert man den den zBuffer mittels glDisable(GL_DEPTH_TEST);
Anschliessen kann man noch die Wände transparent darstellen lassen indem man die funktion glEnable(gl_blend); aufruft (wen man will kann man jetzt auch dafür sorgen das alleobjekte in nur einer farbe dargestellt werden). Danach solle man zur original funktion springen. Wen aber jetzt der parameter keins von den oben genannten ist dann aktiviere den zbuffer wieder mittels glEnable(GL_DEPTH_TEST); und deaktiviere das blending mittels glDisable(gl_blend); und spring anschliessend zurück zur originalfunktion.
So kann man sich einen kleinen simplen Wallhack basteln, natürlich kann man auch auf änliche art dafür sorgen das alles in wireframe ist.