OldSchoolHack

Register / Login English

WorldToScreenMatrix


icon WorldToScreenMatrix #1

Join Date: Apr 2012

Posts: 18

Hey,

Hab mich mal an ein externes ESP gesetzt und auch im SDK die WorldToScreen und ScreenTansform Funktion gefunden.
Alles soweit gut, nur hab ich keine Ahnung wie ich an die WorldToScreenMatrix kommen soll.
Ich wass, dass das Interface VEngineClient013 WorldToScreenMatrix enthält, aber dass hilft mir auch nicht weiter...
Hab schon ein bisschen nach geguckt, aber bisher nichts nützliches gefunden(ein Externer Weg ist anscheinend über die Engine VTable, da weiß ich aber nicht, wie ich die finde).

mfg,
brinkz.

icon #2

Join Date: Mar 2011

Posts: 978

User-Rating:

89 positive
6 negative
die GetWorldToScreenMatrix aus der engine.dll kannste finden und reversen und extern nachbauen.

Prototyp:
TEXT Code:
  1. VMatrix* CRender::WorldToScreenMatrix(void)

Sig schenk ich dir:
TEXT Code:
  1.  
  2. \x83\xB9\x00\x00\x00\x00\x00\x7E\x17\x8B\x81\x00\x00\x00\x00\x8B\x89\x00\x00\x00\x00\x69\xC0\x00\x00\x00\x00\x8D\x44\x08\xBC\xC3
  3. xx?????xxxx????xx????xx????xxxxx
  4.  

funktion kannste bpn, in ecx liegt der this pointer vom CRender objekt, in dem irgendwo die WorldToScreenMatrix(en) liegen.
wo, findest du raus indem du dir die funktion anschaust.

__________________

http://www.abload.de/img/signfj5o.png
Spoiler
Vids:
Zitate:
Spoiler

Quote from xst
Vater KN4CK3R, der du hängst im irc, geheiligt werde dein Botnet, dein P7 v1.337 komme, die Bannwelle geschehe, wie in CS:S als auch in CS:GO, führe uns nicht in Versuchung, sondern erlöse uns von all dem c+p-Shit.
Quote from f4gsh0t_h4x
VAC ist an,immer,überall
Quote from gibson.w
Ich mag braune Würstchen
Quote from irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Quote from irc
<OrkSchamane> das prob is das viele dieser eig. recht guten bücher englisch sind ...
<OrkSchamane> da habe ich's ja doppelt schwer
<~KN4CK3R> falsch
<~KN4CK3R> das prob is dass du programmieren willst ohne englisch zu können
Quote from irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Quote from irc
<~KN4CK3R> dann liegts wenigstens an mir
<~KN4CK3R> nur noch rausfinden warum -.-
<SilverDeath> ja sicher
<SilverDeath> an wem sonst?
* You were kicked by KN4CK3R (kick)
Quote from Dr_Pepper
ihr seit beide dumm
Tutorials:
Releases:
Gifs:
Spoiler
http://www.abload.de/img/uberesp2sgul2.gif
https://i.imgur.com/Z5VQMrV.gif
http://www.abload.de/img/minesweeperzgaef.gif
icon #3

Join Date: Sep 2010

Posts: 136

CPP Code:
  1. DWORD MathHelper::GetW2SMatrixOffset(IMemoryReader& reader, OffsetManager& offsets)
  2. {
  3. DWORD unk1 = 0;
  4. DWORD temp = 0;
  5. reader.Read(offsets.GetOffsets().RendererOffset + 232, unk1);
  6. if (unk1 <= 1)
  7. return offsets.GetOffsets().RendererOffset + 156;
  8. else
  9. {
  10. reader.Read(offsets.GetOffsets().RendererOffset + 220, temp);
  11. return temp + 312 * (unk1 - 1) + 244;
  12. }
  13. }
  14.  
  15. void MathHelper::Read(IMemoryReader& reader, OffsetManager& offsets)
  16. {
  17. reader.Read(this->GetW2SMatrixOffset(reader, offsets), this->m_Matrix);
  18. }
Offsets sind sehr wahrscheinlich veraltet

__________________

[21:43:44] <-> Reita heißt jetzt R|GW2
[21:44:08] <-> Igromanru heißt jetzt Reita
[21:44:20] <-> Cycode2 heißt jetzt Igromanru
[21:44:27] <-> R|GW2 heißt jetzt Cyode2
icon #4

Join Date: Apr 2012

Posts: 18

@SilverFire:
Wie hast du die Sig denn gefunden? btw geht die bei mir nicht.
@sMp
Auch wenn die Offsets funktionieren würden, möcht ich doch verstehen, wie man drauf kommt.
Denke mal, dass ist die gleiche Methode wie diese hier: http://www.gamedeception.net/threads/21141-External-ScreenTransform-(WorldToScreenMatrix) was Badster gepostet hat.
icon #5

Join Date: Mar 2011

Posts: 978

User-Rating:

89 positive
6 negative
klar geht die, musst nur die engine.dll durchsuchen.

die funktion hat er selber gemacht, indem er die engine funktion reversed hat.

mom ich check eben mal die sig...

EDIT:
nö, die sig ist korrekt.

__________________

http://www.abload.de/img/signfj5o.png
Spoiler
Vids:
Zitate:
Spoiler

Quote from xst
Vater KN4CK3R, der du hängst im irc, geheiligt werde dein Botnet, dein P7 v1.337 komme, die Bannwelle geschehe, wie in CS:S als auch in CS:GO, führe uns nicht in Versuchung, sondern erlöse uns von all dem c+p-Shit.
Quote from f4gsh0t_h4x
VAC ist an,immer,überall
Quote from gibson.w
Ich mag braune Würstchen
Quote from irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Quote from irc
<OrkSchamane> das prob is das viele dieser eig. recht guten bücher englisch sind ...
<OrkSchamane> da habe ich's ja doppelt schwer
<~KN4CK3R> falsch
<~KN4CK3R> das prob is dass du programmieren willst ohne englisch zu können
Quote from irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Quote from irc
<~KN4CK3R> dann liegts wenigstens an mir
<~KN4CK3R> nur noch rausfinden warum -.-
<SilverDeath> ja sicher
<SilverDeath> an wem sonst?
* You were kicked by KN4CK3R (kick)
Quote from Dr_Pepper
ihr seit beide dumm
Tutorials:
Releases:
Gifs:
Spoiler
http://www.abload.de/img/uberesp2sgul2.gif
https://i.imgur.com/Z5VQMrV.gif
http://www.abload.de/img/minesweeperzgaef.gif
icon #6

Join Date: Sep 2010

Posts: 136

Quote from brinkz
@sMp
Auch wenn die Offsets funktionieren würden, möcht ich doch verstehen, wie man drauf kommt
Wollte dir nur zeigen, wie es stimmt. Du kannst es ja trotzdem selber reversen und am Ende gucken , ob du das gleich hast.

__________________

[21:43:44] <-> Reita heißt jetzt R|GW2
[21:44:08] <-> Igromanru heißt jetzt Reita
[21:44:20] <-> Cycode2 heißt jetzt Igromanru
[21:44:27] <-> R|GW2 heißt jetzt Cyode2
icon #7

Join Date: Apr 2012

Posts: 18

@SilcerFire: Such ich denn falsch? Wenn ich in C++ mit nem ExternalFindPattern Suche:
DWORD address = ExternalFindPattern(hl2P, (PBYTE)"\x83\xB9\x00\x00\x00\x00\x00\x7E\x17\x8B\x81\x00\x00\x00\x00\x8B\x89\x00\x00\x00\x00\x69\xC0\x00\x00\x00\x00\x8D\x44\x08\xBC\xC3", "xx?????xxxx????xx????xx????xxxxx");
Komme ich auf kein richtiges Ergebniss und in Olly bin ich mir nicht sicher, aber ist doch nur im engine Module STRG+B und dann das Pattern einfügen?
Schon mal danke
@sMp jo auch danke dafür, aber hab eben meine kleinen Probleme, dass zu finden
icon #8

Join Date: Mar 2011

Posts: 978

User-Rating:

89 positive
6 negative
http://h9.abload.de/img/tostupidtofindsigh8zzs.png

kann ich nichts für, wenn du noch nicht einmal das pattern richtig copy pasten kannst.

__________________

http://www.abload.de/img/signfj5o.png
Spoiler
Vids:
Zitate:
Spoiler

Quote from xst
Vater KN4CK3R, der du hängst im irc, geheiligt werde dein Botnet, dein P7 v1.337 komme, die Bannwelle geschehe, wie in CS:S als auch in CS:GO, führe uns nicht in Versuchung, sondern erlöse uns von all dem c+p-Shit.
Quote from f4gsh0t_h4x
VAC ist an,immer,überall
Quote from gibson.w
Ich mag braune Würstchen
Quote from irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Quote from irc
<OrkSchamane> das prob is das viele dieser eig. recht guten bücher englisch sind ...
<OrkSchamane> da habe ich's ja doppelt schwer
<~KN4CK3R> falsch
<~KN4CK3R> das prob is dass du programmieren willst ohne englisch zu können
Quote from irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Quote from irc
<~KN4CK3R> dann liegts wenigstens an mir
<~KN4CK3R> nur noch rausfinden warum -.-
<SilverDeath> ja sicher
<SilverDeath> an wem sonst?
* You were kicked by KN4CK3R (kick)
Quote from Dr_Pepper
ihr seit beide dumm
Tutorials:
Releases:
Gifs:
Spoiler
http://www.abload.de/img/uberesp2sgul2.gif
https://i.imgur.com/Z5VQMrV.gif
http://www.abload.de/img/minesweeperzgaef.gif
icon #9

Join Date: Aug 2007

Posts: 8643

User-Rating:

199 positive
33 negative
durchsucht ExternalFindPattern jedes Modul? Wenn nicht, dann ist "hl2P" sicher falsch

greetz KN4CK3R

__________________

Hallo
icon #10

Join Date: Jun 2011

Posts: 490

User-Rating:

12 positive
0 negative
Das pattern muss nur in der engine gesucht werden...

__________________

http://www10.pic-upload.de/30.04.12/j9dbc34bxdg.jpg
icon #11

Join Date: Apr 2012

Posts: 18

@KN4CK3R: Daran liegts leider nicht, Olly findet schließlich auch nichts:
http://i.imgur.com/EiDTr.jpg

icon #12

Join Date: Mar 2011

Posts: 978

User-Rating:

89 positive
6 negative
weil dein fail olly patternscan wahrscheinlich 0en nicht als beliebiege hex zeichen interpretiert.

__________________

http://www.abload.de/img/signfj5o.png
Spoiler
Vids:
Zitate:
Spoiler

Quote from xst
Vater KN4CK3R, der du hängst im irc, geheiligt werde dein Botnet, dein P7 v1.337 komme, die Bannwelle geschehe, wie in CS:S als auch in CS:GO, führe uns nicht in Versuchung, sondern erlöse uns von all dem c+p-Shit.
Quote from f4gsh0t_h4x
VAC ist an,immer,überall
Quote from gibson.w
Ich mag braune Würstchen
Quote from irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Quote from irc
<OrkSchamane> das prob is das viele dieser eig. recht guten bücher englisch sind ...
<OrkSchamane> da habe ich's ja doppelt schwer
<~KN4CK3R> falsch
<~KN4CK3R> das prob is dass du programmieren willst ohne englisch zu können
Quote from irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Quote from irc
<~KN4CK3R> dann liegts wenigstens an mir
<~KN4CK3R> nur noch rausfinden warum -.-
<SilverDeath> ja sicher
<SilverDeath> an wem sonst?
* You were kicked by KN4CK3R (kick)
Quote from Dr_Pepper
ihr seit beide dumm
Tutorials:
Releases:
Gifs:
Spoiler
http://www.abload.de/img/uberesp2sgul2.gif
https://i.imgur.com/Z5VQMrV.gif
http://www.abload.de/img/minesweeperzgaef.gif
icon #13

Join Date: Jun 2011

Posts: 490

User-Rating:

12 positive
0 negative
Wenn du doch den externen patternscan hast, dann scan halt die pattern in der engine textsection.

__________________

http://www10.pic-upload.de/30.04.12/j9dbc34bxdg.jpg
icon #14

Join Date: Apr 2012

Posts: 18

Jo jetzt failt bei mir das w2s, folgende Funktionen benutze ich:
CPP Code:
  1.  
  2. bool WorldToScreen(float from[3], float *to, float m_vMatrix[16], int res[2])
  3. {
  4. int width = res[0];
  5. int height = res[1];
  6.  
  7. if(ScreenTransform(from, to, m_vMatrix) == false)
  8. {
  9. float x = width / 2;
  10. float y = height / 2;
  11. x += 0.5 * to[0] * height + 0.5;
  12. y -= 0.5 * to[1] * width + 0.5;
  13. to[0] = x;
  14. to[1] = y;
  15. return true;
  16. }
  17. return false;
  18. }
  19. bool ScreenTransform(float p[3], float *to, float worldToScreen[16])
  20. {
  21. float w;
  22. to[0] = worldToScreen[0] * p[0] + worldToScreen[1] * p[1] + worldToScreen[2] * p[2] + worldToScreen[3];
  23. to[1] = worldToScreen[4] * p[0] + worldToScreen[5] * p[1] + worldToScreen[6] * p[2] + worldToScreen[7];
  24. w = worldToScreen[12] * p[0] + worldToScreen[13] * p[1] + worldToScreen[14] * p[2] + worldToScreen[15];
  25. to[3] = 0.0f;
  26. if(w < 0.001f)
  27. return false;
  28. float invw = 1.0f / w;
  29. to[0] *= invw;
  30. to[1] *= invw;
  31. return true;
  32. }
  33.  

Dann lese ich halt die Spielerdaten aus und auch die Matrix:
CPP Code:
  1.  
  2. ReadProcessMemory(cP.hProcess, (LPCVOID)(cP.dwEngine+0x53A394), &ViewMatrix, 4, 0);
  3. ReadProcessMemory(cP.hProcess, (LPCVOID)(CRender+0x154), &w2sx, sizeof(vmatrix), 0); //vmatrix = typdef float vmatrix[16]
  4.  
Spielerdaten werden alle richtig ausgelesen, daran kann es nicht liegen.
Wenn ich dann die Posi des Spielers in die WorldToScreen Funktion einsetze, als ca so:
CPP Code:
  1. if(WorldToScreen(rPlayers[i].AbsOrigin, ScreenCord, x, resolution))
klappt es nicht, WorldToScreen returned immer false. Resolution ist dabei die Auflösung die ich vorher durch GetWindowRect von CSS auslese, diese ist auch richtig :/.
icon #15

Join Date: Mar 2011

Posts: 978

User-Rating:

89 positive
6 negative
woher haste denn den offset 0x154 geleecht?

EDIT: wie kann man sich eigtl so retarded anstellen nachdem sMp und ich schon solche hilfen gegeben haben?!?

__________________

http://www.abload.de/img/signfj5o.png
Spoiler
Vids:
Zitate:
Spoiler

Quote from xst
Vater KN4CK3R, der du hängst im irc, geheiligt werde dein Botnet, dein P7 v1.337 komme, die Bannwelle geschehe, wie in CS:S als auch in CS:GO, führe uns nicht in Versuchung, sondern erlöse uns von all dem c+p-Shit.
Quote from f4gsh0t_h4x
VAC ist an,immer,überall
Quote from gibson.w
Ich mag braune Würstchen
Quote from irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Quote from irc
<OrkSchamane> das prob is das viele dieser eig. recht guten bücher englisch sind ...
<OrkSchamane> da habe ich's ja doppelt schwer
<~KN4CK3R> falsch
<~KN4CK3R> das prob is dass du programmieren willst ohne englisch zu können
Quote from irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Quote from irc
<~KN4CK3R> dann liegts wenigstens an mir
<~KN4CK3R> nur noch rausfinden warum -.-
<SilverDeath> ja sicher
<SilverDeath> an wem sonst?
* You were kicked by KN4CK3R (kick)
Quote from Dr_Pepper
ihr seit beide dumm
Tutorials:
Releases:
Gifs:
Spoiler
http://www.abload.de/img/uberesp2sgul2.gif
https://i.imgur.com/Z5VQMrV.gif
http://www.abload.de/img/minesweeperzgaef.gif
icon #16

Join Date: Apr 2012

Posts: 18

'Tschuldigung, habs nun aber gefixt, also kann der Thread geclosed werden.