Cheat Engine Shoot through walls

11/18/2013 18:33 EthnicX#1
Hi,
Hat hier jemand eine Idee wie man mit Cheat Engine nach eine Adresse suchen kann, die es einem ermöglicht durch Wände zu schießen?

Bringt mir ruhig alle Idden,
bin kein neuling in Ce :)
(Assambler ist aber noch nicht so mein ding :S)
11/24/2013 22:54 EthnicX#2
push
02/22/2014 20:36 EthnicX#3
push
02/22/2014 20:39 Synatex#4
Bin kein Entwickler in dem Bereich, aber allein vom logischen würde ich sagen das du die 2 letzten bekannten Stellen der Person berechnest, wie schnell sie von PositionX nach PositionY gekommen ist und den Wert weiter verfolgst bis die Person wieder normal sichtbar wird. Ist zwar nur eine Voraussage, aber immerhin etwas.
02/22/2014 20:51 EthnicX#5
Quote:
Originally Posted by Synatex View Post
Bin kein Entwickler in dem Bereich, aber allein vom logischen würde ich sagen das du die 2 letzten bekannten Stellen der Person berechnest, wie schnell sie von PositionX nach PositionY gekommen ist und den Wert weiter verfolgst bis die Person wieder normal sichtbar wird. Ist zwar nur eine Voraussage, aber immerhin etwas.
Ich suche keinen Invisble Hack, sondern einen Shoot through walls, aber trotzdem danke :)
02/23/2014 00:32 alpines#6
Mit Cheat Engine wirst du da sicherlich nicht so weit kommen wie du es mit OllyDbg kannst.
Du musst herausfinden wie die Kollision berechnet wird, ob AABB Algorithmus oder Pixel für Pixel oder über andere Wege. Da wo die Kugel kollidiert musst du solange false returnen (<- sauberer) bis du aus der Wand raus bist. Du kannst es auch immer auf false setzen (<- unsauber).

Wenn du das in einem Multiplayer aber machen willst und die Kollision clientside ist (also jeder Client einzeln berechnet) dann kannst du so etwas nicht realisieren, da du ja nicht die checkCollision-Funktion von anderen Hooken kannst.
02/23/2014 01:42 EthnicX#7
Quote:
Originally Posted by alpines View Post
Mit Cheat Engine wirst du da sicherlich nicht so weit kommen wie du es mit OllyDbg kannst.
Du musst herausfinden wie die Kollision berechnet wird, ob AABB Algorithmus oder Pixel für Pixel oder über andere Wege. Da wo die Kugel kollidiert musst du solange false returnen (<- sauberer) bis du aus der Wand raus bist. Du kannst es auch immer auf false setzen (<- unsauber).

Wenn du das in einem Multiplayer aber machen willst und die Kollision clientside ist (also jeder Client einzeln berechnet) dann kannst du so etwas nicht realisieren, da du ja nicht die checkCollision-Funktion von anderen Hooken kannst.
Ui hört sich kompliziert an, werde wohl nicht darum kommen OllDbg zu lernen.
02/23/2014 10:49 alpines#8
Eine gute Anlaufstelle ist Lenas Reversing Tutorial [Only registered and activated users can see links. Click Here To Register...]
Da kannst du einige Grundlagen lernen, aber da jedes Spiel unterschiedlich ist musst du halt selber herausfinden wie du was machst.
02/26/2014 12:49 buFFy!#9
Kommt auf die Engine an.
In den meisten Spielen reicht es die Kugeln so stark zu beschleunigen, dass entweder die Penetration reicht oder die Engine nicht mitrechnen kann.

Spezifisch sowas zu suchen ist relativ schwer, in der Regel findet man das beim reversen durch Zufall.
02/27/2014 14:27 Crossside#10
Jenachdem welches Game das ganze ist, ist es anders zu lösen.
Bei Heutzutagigen Shootern etc. kannst es aber eigendlich vergessen da die Berechnungen meistens Serverside stattfinden.
02/27/2014 21:56 buFFy!#11
Quote:
Originally Posted by Crossside View Post
Jenachdem welches Game das ganze ist, ist es anders zu lösen.
Bei Heutzutagigen Shootern etc. kannst es aber eigendlich vergessen da die Berechnungen meistens Serverside stattfinden.
Absoluter Schwachsinn.
Umso moderner ein Spiel ist desto mehr ist in der Regel machbar.
Das liegt ganz einfach daran, dass der ganze Traffic, der entstehen würde, garnicht mehr vom Server gehandled werden kann.

Moderne Spiele haben zuviel "Detail".
02/27/2014 21:59 YatoDev#12
Quote:
Originally Posted by Crossside View Post
Jenachdem welches Game das ganze ist, ist es anders zu lösen.
Bei Heutzutagigen Shootern etc. kannst es aber eigendlich vergessen da die Berechnungen meistens Serverside stattfinden.
aktuelle entwickler setzen 70% auf host systeme und 30% auf server würd ich mal schätzen von daher ist sogar sehr viel machbar.
Außerdem ist es billiger clientsided zu rechnen^^
02/27/2014 22:58 Crossside#13
Quote:
Originally Posted by »FlutterShy™ View Post
aktuelle entwickler setzen 70% auf host systeme und 30% auf server würd ich mal schätzen von daher ist sogar sehr viel machbar.
Außerdem ist es billiger clientsided zu rechnen^^
Aber zumindestens die Bullet Berechnungen werden doch in aktuellen Serverside (und wenn der Serv er en Spielerrechner ist wo das Game gehostet wird) gemacht..alles andere wäre doch total bescheuert o_O
Da könnt man doch sonst lustige Spielchen treiben wie alle Spieler im Game killen innerhalb sekunden einfach indem man sagt "ich hab hier und hier hingeschossen".. ? In Freeshootern die z.b auf der Cube 2 Engine basieren ging das, auch Dinge wie Teleports usw.. aber in aktuellen Shootern wie BF z.b?
Bezweifle ich irgendwie o__Ô.. Und falls doch - wer hat die Entwickler ins Haus gelassen ;o..
02/27/2014 23:02 buFFy!#14
Quote:
Originally Posted by Crossside View Post
Aber zumindestens die Bullet Berechnungen werden doch in aktuellen Serverside (und wenn der Serv er en Spielerrechner ist wo das Game gehostet wird) gemacht..alles andere wäre doch total bescheuert o_O
Da könnt man doch sonst lustige Spielchen treiben wie alle Spieler im Game killen innerhalb sekunden einfach indem man sagt "ich hab hier und hier hingeschossen".. ? In Freeshootern die z.b auf der Cube 2 Engine basieren ging das, auch Dinge wie Teleports usw.. aber in aktuellen Shootern wie BF z.b?
Bezweifle ich irgendwie o__Ô.. Und falls doch - wer hat die Entwickler ins Haus gelassen ;o..
Nehmen wir doch mal DayZ Standalone als Beispiel:

Code:
class CBaseEntity
{
private:
	template <typename func_t> func_t ToVirtual(void* pAddr, unsigned int iIndex)
	{
		void** pVT = *(void***)pAddr;
		return (func_t)(pVT[iIndex]);
	}
public:
	bool SendDamage(float percent)
	{
		typedef bool (__thiscall *fnSendDamage)(void*, float);
		return ToVirtual<fnSendDamage>(this, 192)(this, percent);
	}
};
BulletBending geht übrigens auch :awesome:
In Battlefield kann man auch nen Haufen mist machen.
Viel davon wird aber überhaupt garnicht erst versucht weil du mit 1-2 Tagen investierter Zeit sowieso nen Ragehack fertig hast.

Edit: kleines Video davon: [Only registered and activated users can see links. Click Here To Register...]

Tötet halt einfach alles in der Umgebung per Knopfdruck.
Habe übrigens direkt am Anfang mit Absicht einen durch die Wand erschossen, damit du das mal siehst :P
Das Spiel ist das perfekte Beispiel für eines, in dem es reicht, die Kugeln einfach sau schnell zu machen.
02/27/2014 23:21 YatoDev#15
Quote:
Originally Posted by Crossside View Post
Da könnt man doch sonst lustige Spielchen treiben wie alle Spieler im Game killen innerhalb sekunden einfach indem man sagt "ich hab hier und hier hingeschossen".. ? In Freeshootern die z.b auf der Cube 2 Engine basieren ging das, auch Dinge wie Teleports usw.. aber in aktuellen Shootern wie BF z.b?
Bezweifle ich irgendwie o__Ô.. Und falls doch - wer hat die Entwickler ins Haus gelassen ;o..
*HUST* Call of Duty Host *HUST*

(So ähnlich aber der anti cheat regelt das man das nicht ohne weiteres kann)