OldSchoolHack

Register / Login English

Externer Aimbot for-Schleifen-Problem


icon Externer Aimbot for-Schleifen-Problem #1

Join Date: Jun 2011

Posts: 490

User-Rating:

12 positive
0 negative
Hallo Leute,
hab meinen Externen Aimbot nochmal komplett recoded und er läuft auch an sich nicht schlecht(auch wenn ich noch nciht viele Features iengebaut hab, aber das kommt wenn er mal läuft ), nur das Problem ist, dass er die For-Schleife in der main einmal bis Index 32 durchgeht, bis dahin auch aimt, danach die Schleife zwar von neu durchgeht, aber  nicht mehr aimt, obwohl WriteProcessMemory noch gecalled wird... Hier mal ein Teil Code, der komplette kommt zum Schluss als DL :
CPP Code:
  1. #include "StdAfx.h"
  2. #include <Windows.h>
  3. #include "PlayerStructs.h"
  4. #include "GlobaleVariablen.h"
  5. #include <tlhelp32.h>
  6. #include <iostream>
  7.  
  8.  
  9. DWORD GetModuleBase(const DWORD dwProcessId, const char *szModuleName)
  10. {
  11. #ifdef _GMBE_CHECK_PARAMS_
  12. if (!dwProcessID) || (!szModuleName) return 0;
  13. #endif
  14.  
  15. HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcessId);
  16. if (!hSnap) return 0;
  17.  
  18. MODULEENTRY32 me;
  19. me.dwSize = sizeof(MODULEENTRY32);
  20.  
  21. DWORD dwReturn = 0;
  22.  
  23. if (Module32First(hSnap, &me)) {
  24. while (Module32Next(hSnap, &me)) {
  25. if (lstrcmpi(me.szModule, szModuleName) == 0) {
  26. dwReturn = (DWORD)me.modBaseAddr;
  27. break;
  28. }
  29. }
  30. }
  31.  
  32. CloseHandle(hSnap);
  33.  
  34. return dwReturn;
  35. }
  36. void InitializeModulesAndSetup()
  37. {
  38.  
  39. hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, dwProcessId);
  40.  
  41. while(dwClientDLL == 0x0)
  42. {
  43. dwClientDLL = GetModuleBase(dwProcessId, "client.dll");
  44. }
  45.  
  46. while(dwEngineDLL == 0x0);
  47. {
  48. dwEngineDLL = GetModuleBase(dwProcessId, "engine.dll");
  49. }
  50.  
  51. while(dwOverlayDLL == 0x0)
  52. {
  53. dwOverlayDLL = GetModuleBase(dwProcessId, "GameOverlayRenderer.dll");
  54. }
  55.  
  56. while(dwVGuiDLL == 0x0)
  57. {
  58. dwVGuiDLL = GetModuleBase(dwProcessId, "vguimatsurface.dll");
  59. }
  60. }
  61. void World2Screen(void)
  62. {
  63.  
  64. if( TargetChanged == TRUE )
  65. {
  66. Players[iTargetID].Vectors.fAbsOrigin[2] = Players[iTargetID].Vectors.fAbsOrigin[2] + 0.5;
  67. Players[iTargetID].Vectors.fAbsOrigin[1] = Players[iTargetID].Vectors.fAbsOrigin[1] - 0.5;
  68. }
  69. fDelta[0] = LocalPlayer.Vectors.fAbsOrigin[0] - Players[iTargetID].Vectors.fAbsOrigin[0];
  70. fDelta[1] = LocalPlayer.Vectors.fAbsOrigin[1] - Players[iTargetID].Vectors.fAbsOrigin[1];
  71. fDelta[2] = LocalPlayer.Vectors.fAbsOrigin[2] - Players[iTargetID].Vectors.fAbsOrigin[2];
  72.  
  73. fHyp = sqrt(fDelta[0]*fDelta[0] + fDelta[1]*fDelta[1] + fDelta[2]*fDelta[2]);
  74.  
  75. fAimbotAngles[0] = (float) (atanf(fDelta[2]/fHyp) * 57.295779513082f);
  76. fAimbotAngles[1] = (float) (atanf(fDelta[1]/fDelta[0]) * 57.295779513082f);
  77. fAimbotAngles[2] = 0.0f;
  78.  
  79. if(fDelta[0] >= 0.0f)
  80. {
  81. fAimbotAngles[1] += 180.0f;
  82. }
  83. }
  84. float GetDistance( int iLoop )
  85. {
  86. float fDeltaX = Players[iLoop].Vectors.fAbsOrigin[0] - LocalPlayer.Vectors.fAbsOrigin[0];
  87. float fDeltaY = Players[iLoop].Vectors.fAbsOrigin[1] - LocalPlayer.Vectors.fAbsOrigin[1];
  88. float fDeltaZ = Players[iLoop].Vectors.fAbsOrigin[2] - LocalPlayer.Vectors.fAbsOrigin[2];
  89.  
  90. return (float)( sqrt( ( fDeltaX * fDeltaX ) + ( fDeltaY * fDeltaY ) + ( fDeltaZ * fDeltaZ ) ) );
  91. }
  92.  
  93.  
  94. void GetBestTarget(void)
  95. {
  96. for(int iLoop = 1; iLoop <= 32; iLoop++)
  97. {
  98. if(iLoop == 1)
  99. {
  100. iTargetID = iLoop;
  101. }
  102. if ( Players[iLoop].Integers.iHealth > 0 && Players[iLoop].Integers.iHealth <= 100 )
  103. {
  104. if ( LocalPlayer.Integers.iTeam != Players[iLoop].Integers.iTeam)
  105. {
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112. if(GetDistance(iLoop) < GetDistance(iTargetID))
  113. {
  114. iTargetID = iLoop;
  115. TargetChanged = TRUE;
  116. }
  117. if (GetDistance(iLoop) > GetDistance(iTargetID))
  118. {
  119. TargetChanged = FALSE;
  120. }
  121.  
  122. }
  123.  
  124. }
  125. }
  126.  
  127. }
  128.  
  129.  
  130.  
  131.  
  132. int main()
  133. {
  134.  
  135. hwnd = FindWindow (NULL, "Counter-Strike Source");
  136. Sleep(300);
  137. GetWindowThreadProcessId (hwnd, &dwProcessId);
  138. Sleep(300);
  139. hProcess = OpenProcess (PROCESS_ALL_ACCESS, 0, dwProcessId);
  140. Sleep(300);
  141.  
  142. dwClientDLL = GetModuleBase(dwProcessId, "client.dll");
  143.  
  144. Sleep(200);
  145.  
  146. dwEngineDLL = GetModuleBase(dwProcessId, "engine.dll");
  147.  
  148. Sleep(200);
  149. std::cout << dwEngineDLL << " : " << dwClientDLL << std::endl;
  150. for(iIndex = 0; iIndex <= 32; iIndex++)
  151. {
  152. ReadProcessMemory(hProcess, (LPCVOID)(dwClientDLL + 0x733C78 ), &Players[iIndex].RadarBase, 4, 0);
  153. }
  154. ReadProcessMemory(hProcess, (LPCVOID) ( dwEngineDLL + 0x3C9074), &LocalPlayer.NameBase, 4 ,0);
  155.  
  156. while(HackAktiv == TRUE)
  157. {
  158.  
  159. for(iIndex = 0; iIndex <= 32; iIndex++)
  160. {
  161.  
  162.  
  163. fAimbotAngles[0] = 0.0f;
  164. fAimbotAngles[1] = 0.0f;
  165. fAimbotAngles[2] = 0.0f;
  166.  
  167. LocalPlayer.Vectors.fAbsOrigin[0] = 0.0f;
  168. LocalPlayer.Vectors.fAbsOrigin[1] = 0.0f;
  169. LocalPlayer.Vectors.fAbsOrigin[2] = 0.0f;
  170. LocalPlayer.Integers.iTeam = 0;
  171.  
  172. LocalPlayer.Vectors.fEyeAngles[0] = 0.0f;
  173. LocalPlayer.Vectors.fEyeAngles[1] = 0.0f;
  174. LocalPlayer.Vectors.fEyeAngles[2] = 0.0f;
  175.  
  176.  
  177. Players[iIndex].Vectors.fAbsOrigin[0] = 0.0f;
  178. Players[iIndex].Vectors.fAbsOrigin[1] = 0.0f;
  179. Players[iIndex].Vectors.fAbsOrigin[2] = 0.0f;
  180.  
  181.  
  182.  
  183.  
  184.  
  185. ReadProcessMemory(hProcess, (LPCVOID)(dwEngineDLL + 0x3C09B8 ), &LocalPlayer.Vectors.fAbsOrigin, 12, 0);
  186. ReadProcessMemory(hProcess, (LPCVOID)(dwEngineDLL + 0x3EA964 ), &LocalPlayer.Vectors.fEyeAngles, 12, 0);
  187. ReadProcessMemory(hProcess, (LPCVOID)(LocalPlayer.NameBase ), LocalPlayer.Strings.cName, 31 ,0);
  188.  
  189. ReadProcessMemory(hProcess, (LPCVOID)( dwClientDLL + 0x71212C), &dwTemp, 4, 0);
  190. dwTemp += 0xC;
  191. ReadProcessMemory(hProcess, (LPCVOID)( dwTemp), &dwTemp, 4, 0);
  192. dwTemp += 0x10;
  193. ReadProcessMemory(hProcess, (LPCVOID)( dwTemp), &dwTemp, 4, 0);
  194. dwTemp += 0x6E8;
  195. ReadProcessMemory(hProcess, (LPCVOID)( dwTemp), &LocalPlayer.Integers.iTeam, 4, 0);
  196. ReadProcessMemory(hProcess, (LPVOID)( Players[iIndex].RadarBase + (iIndex * 0x140 + 0x60 ) ), &Players[iIndex].Vectors.fAbsOrigin, 12, 0);
  197. ReadProcessMemory(hProcess, (LPVOID)( Players[iIndex].RadarBase + (iIndex * 0x140 + 0x5C ) ), &Players[iIndex].Integers.iHealth, 4, 0);
  198. ReadProcessMemory(hProcess, (LPVOID)( Players[iIndex].RadarBase + (iIndex * 0x140 + 0x38 ) ), &Players[iIndex].Strings.cName, 31, 0);
  199. ReadProcessMemory(hProcess, (LPVOID)( Players[iIndex].RadarBase + (iIndex * 0x140 + 0x58 ) ), &Players[iIndex].Integers.iTeam, 4, 0);
  200. Sleep(200);
  201. std::cout << " Gegner : " << Players[iTargetID].Strings.cName << std::endl;
  202. std::cout << " iIndex : " << iIndex << std::endl;
  203.  
  204.  
  205. GetBestTarget();
  206. World2Screen();
  207. if (GetAsyncKeyState (VK_SPACE))
  208. {
  209. WriteProcessMemory(hProcess, (LPVOID)(dwEngineDLL + 0x3EA964), &fAimbotAngles, 12, 0);
  210. Sleep(1);
  211. }
  212. iTargetID = 0;
  213. Sleep(20);
  214.  
  215.  
  216. }
  217.  
  218. }
  219. }
Wenn mir jemand helfen kann, wäre das sehr nett
Danke im Vorraus
Manta
PS: Hier der Link für den Kompletten Quellcode : Only registered and activated users can see links.

__________________

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

Join Date: Nov 2010

Posts: 181

Ich weiß jetzt nich obs was bringt aber du gehst den Index 33 statt 32 mal durch :
CPP Code:
  1.  
  2. for(iIndex = 0; iIndex <= 32; iIndex++)
  3.  

und das solltest du am besten um ändern:
CPP Code:
  1.  
  2. while(HackAktiv == TRUE)
  3. in
  4. while(HackAktiv)
  5.  
sieht aus ob du Anfänger wärst

und noch ein Kritikpunkt ist das dein Quelltext nur sehr schwer zu lesen ist weil Absätze und Verschiebungen fehlen

Bsp:

Du:

CPP Code:
  1.  
  2. void GetBestTarget(void)
  3. {
  4. for(int iLoop = 1; iLoop <= 32; iLoop++)
  5. {
  6. if(iLoop == 1)
  7. {
  8. iTargetID = iLoop;
  9. }
  10. if ( Players[iLoop].Integers.iHealth > 0 && Players[iLoop].Integers.iHealth <= 100 )
  11. {
  12. if ( LocalPlayer.Integers.iTeam != Players[iLoop].Integers.iTeam)
  13. {
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20. if(GetDistance(iLoop) < GetDistance(iTargetID))
  21. {
  22. iTargetID = iLoop;
  23. TargetChanged = TRUE;
  24. }
  25. if (GetDistance(iLoop) > GetDistance(iTargetID))
  26. {
  27. TargetChanged = FALSE;
  28. }
  29.  
  30. }
  31.  
  32. }
  33. }
  34.  
  35. }
  36.  


Übersichtlicher:
CPP Code:
  1.  
  2. void GetBestTarget(void)
  3. {
  4. for(int iLoop = 1; iLoop <= 32; iLoop++)
  5. {
  6. if(iLoop == 1)
  7. {
  8. iTargetID = iLoop;
  9. }
  10.  
  11. if ( Players[iLoop].Integers.iHealth > 0 && Players[iLoop].Integers.iHealth <= 100 )
  12. {
  13.  
  14. if ( LocalPlayer.Integers.iTeam != Players[iLoop].Integers.iTeam)
  15. {
  16.  
  17.  
  18. if(GetDistance(iLoop) < GetDistance(iTargetID))
  19. {
  20. iTargetID = iLoop;
  21. TargetChanged = TRUE;
  22. }
  23.  
  24. if (GetDistance(iLoop) > GetDistance(iTargetID))
  25. {
  26. TargetChanged = FALSE;
  27. }
  28.  
  29. }
  30.  
  31. }
  32. }
  33.  
  34. }
  35.  


PS: Sry für die Kritik an dem Style von deinem Quelltext.

__________________

Ich liebe Kekse

Only registered and activated users can see links.

CHEAT CODING IS NOT A CRIME
icon #3

Join Date: Jun 2011

Posts: 490

User-Rating:

12 positive
0 negative
Ja , ich bin noch in der Lernphase Das mit dem Index hat leider nichts gebracht, aber trotzdem danke. Und wegen der Kritik : Ich bin immer offen für Kritik, durch Fehler lernt man

Ich hab auch schon GetBestTarget und World2Screen auf der Schleife rausgenommen, doch  macht er gar nichts mehr :/
Weiß keiner was?

__________________

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

Join Date: Nov 2010

Posts: 181

Ich versuchs mal bei mir zu compilieren
Für welches Spiel is der Hack ?

__________________

Ich liebe Kekse

Only registered and activated users can see links.

CHEAT CODING IS NOT A CRIME
icon #5

Join Date: Aug 2007

Posts: 8643

User-Rating:

199 positive
33 negative
nimm auch die Sleeps aus der Schleife raus. 32x200ms = 6400ms = 6 Sekunden für einen Aimbot-Durchlauf... Da bekommst du sicher den Eindruck er würde die Schleife nur einmal durchlaufen.

greetz KN4CK3R

__________________

Hallo
icon #6

Join Date: Nov 2010

Posts: 181

Er zeigt mir fehler an wenn ich es kompilieren tu

CPP Code:
  1.  
  2. 1>------ Erstellen gestartet: Projekt: Extern Aimbot, Konfiguration: Release Win32 ------
  3. 1> stdafx.cpp
  4. 1> Extern Aimbot.cpp
  5. 1>Extern Aimbot.cpp(25): error C2664: 'lstrcmpiW': Konvertierung des Parameters 2 von 'const char *' in 'LPCWSTR' nicht möglich
  6. 1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
  7. 1>Extern Aimbot.cpp(66): warning C4244: '=': Konvertierung von 'double' in 'float', möglicher Datenverlust
  8. 1>Extern Aimbot.cpp(67): warning C4244: '=': Konvertierung von 'double' in 'float', möglicher Datenverlust
  9. 1>Extern Aimbot.cpp(135): error C2664: 'FindWindowW': Konvertierung des Parameters 2 von 'const char [22]' in 'LPCWSTR' nicht möglich
  10. 1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
  11. ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
  12.  
  13.  


__________________

Ich liebe Kekse

Only registered and activated users can see links.

CHEAT CODING IS NOT A CRIME
icon #7

Join Date: Jun 2011

Posts: 490

User-Rating:

12 positive
0 negative
Ist schon erledigt, Silver hats mal gemacht und nun gehts .
PS: Stell mal Zeichensatz auf Multibyte um

__________________

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

Join Date: Aug 2007

Posts: 8643

User-Rating:

199 positive
33 negative
was war(en) der/die Fehler?

greetz KN4CK3R

__________________

Hallo
icon #9

Join Date: Jun 2011

Posts: 490

User-Rating:

12 positive
0 negative
Ich kann nicht genau sagen, was mit der for-Schleife nicht stimmte, aber ich lese jetzt die LocalPlayer sachen immere noch direkt aus, doch die sachen aus der RadarBase mit memcpy ins struct und world2screen und besttarget hab ich als einzelne Funktionen rausgenommen und werden nun nacheinander nach auslesen der structs berechnet, außerhalb der for schleife. Der allgemeibne Fehler war, denke ich mal, das alles innerhalb der for-Schleife abgearbeitet wurde.

__________________

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

Join Date: Aug 2007

Posts: 8643

User-Rating:

199 positive
33 negative
kannst ja nochmal den kompletten Code posten, wenn er jetzt funktioniert. Hilft sicher einigen hier weiter.

greetz KN4CK3R

__________________

Hallo
icon #11

Join Date: Jun 2011

Posts: 490

User-Rating:

12 positive
0 negative
Bin erstmal weg. Werd mich mal mit Silver absprechen und mich dann die Tage melden.

__________________

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

Join Date: Mar 2011

Posts: 978

User-Rating:

89 positive
6 negative
CPP Code:
  1.  
  2. float GetDistance(float x1, float y1, float z1, float x2, float y2, float z2)
  3. {
  4. float fDeltaX = x1 - x2;
  5. float fDeltaY = y1 - y2;
  6. float fDeltaZ = z1 - z2;
  7.  
  8. return (float)( sqrt( ( fDeltaX * fDeltaX ) + ( fDeltaY * fDeltaY ) + ( fDeltaZ * fDeltaZ ) ) );
  9. }
  10.  
  11.  
  12. struct player
  13. {
  14. WORD hp; // here the hp will be saved...
  15. char name[32]; // the name in chars...
  16. BYTE team; // the team... 0 = spec, 2 = t, 3 = ct
  17. float x; // x coord
  18. float y; // y...
  19. float z; // z...
  20. float pitch; // pitch
  21. float yaw; // yaw
  22. float roll; // roll
  23. };
  24.  
  25. int main()
  26. {
  27. // TODO:
  28. // prozess finden und öffnen
  29. while (true)
  30. {
  31. //TODO:
  32. //das von mir in meinem tut (https://www.oldschoolhack.me/forum/tutorials/7060,tut-css-extern-radar--bunnyhop.html) beschriebene radarstruct in die playerstruct einlesen.
  33.  
  34. //localplayer position und angle in eine weitere struct player einlesen. // hier lässt sich noch was optimieren...
  35. ReadProcessMemory(hGame, (LPCVOID)(dwEngineBase + PositionOffset ), &LocalPlayer.x, 4, 0);
  36. ReadProcessMemory(hGame, (LPCVOID)(dwEngineBase + PositionOffset + 4), &LocalPlayer.y, 4, 0);
  37. ReadProcessMemory(hGame, (LPCVOID)(dwEngineBase + PositionOffset + 8), &LocalPlayer.z, 4, 0);
  38. ReadProcessMemory(hGame, (LPCVOID)(dwEngineBase + AngleOffset ), &LocalPlayer.pitch, 4, 0);
  39. ReadProcessMemory(hGame, (LPCVOID)(dwEngineBase + AngleOffset + 4), &LocalPlayer.yaw, 4, 0);
  40. ReadProcessMemory(hGame, (LPCVOID)(dwEngineBase + AngleOffset + 8), &LocalPlayer.roll, 4, 0);
  41.  
  42. int besttarget;
  43. besttarget = 0;
  44.  
  45.  
  46. for (int i = 1; i <= 64; i++)
  47. {
  48. if (players[i].isValid) // hp != 0, x != 0, y != 0, player != localplayer
  49. {
  50. if (besttarget == 0)
  51. {
  52. besttarget = i;
  53. }
  54. else if (GetDistance(players[i].x, players[i].y, players[i].z, LocalPlayer.x, LocalPlayer.y, LocalPlayer.z) <= GetDistance(players[besttarget].x, players[besttarget].y, players[besttarget].z, LocalPlayer.x, LocalPlayer.y, LocalPlayer.z)) // näher als bisheriges ziel?
  55. {
  56. besttarget = i;
  57. }
  58. }
  59. }
  60.  
  61. if (besttarget) // i love math, i hope you do so too!
  62. {
  63. // without it you cant calculate the aimangle
  64. // TODO:
  65. // which you are supposed to do here... (formelsammlung / google ftw...)
  66.  
  67. // write it in the game memory
  68. WriteProcessMemory(hGame, (LPVOID)(dwEngineBase + AngleOffset), &fAimbotAngles, 12, 0);
  69. }
  70. Sleep(5);
  71. }
  72. return 0;
  73. } // quite easy not?
  74.  

gl & hf

__________________

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: Oct 2011

Posts: 48

CPP Code:
  1.  
  2. ReadProcessMemory(hGame, (LPCVOID)(dwEngineBase + PositionOffset ), &LocalPlayer.x, 4, 0);
  3. ReadProcessMemory(hGame, (LPCVOID)(dwEngineBase + PositionOffset + 4), &LocalPlayer.y, 4, 0);
  4. ReadProcessMemory(hGame, (LPCVOID)(dwEngineBase + PositionOffset + 8), &LocalPlayer.z, 4, 0);

zu
CPP Code:
  1.  
  2. ReadProcessMemory(hGame, (LPCVOID)(dwEngineBase + PositionOffset ), &LocalPlayer.absOrigin, 12, 0);
  3.  


CPP Code:
  1. ReadProcessMemory(hGame, (LPCVOID)(dwEngineBase + AngleOffset ), &LocalPlayer.pitch, 4, 0);
  2. ReadProcessMemory(hGame, (LPCVOID)(dwEngineBase + AngleOffset + 4), &LocalPlayer.yaw, 4, 0);
  3. ReadProcessMemory(hGame, (LPCVOID)(dwEngineBase + AngleOffset + 8), &LocalPlayer.roll, 4, 0);
zu
CPP Code:
  1. ReadProcessMemory(hGame, (LPCVOID)(dwEngineBase + AngleOffset), &LocalPlayer.viewAngles, 12, 0);

kp, wie du das Radarstruct ausließt, aber nach den Angles hier ahne ich schlimmes .
CPP Code:
  1. for(int i = 0; i < 32; i++)
  2. ReadProcessMemory(hProcess, (LPCVOID) (dwPlayerBase + 0x140 * i), &g_pPlayer[i], sizeof(player_t), NULL);
  3. }
player_t ist ne Nachbildung des Radarstructs ohne die History, deshalb wird nich alles auf einmal ausgelesen.
icon #14

Join Date: Mar 2011

Posts: 978

User-Rating:

89 positive
6 negative
rate mal, wieso über den 6 zeilen:
// hier lässt sich noch was optimieren...
steht...
war nur zur veranschaulichung, wer sieht schon, dass ich 12 bytes in .x einlese und damit y und z mit überschreibe...
das radarstruct lese ich mit einem rutsch mit einem rpm in einen buffer ein...

und der letzte code da stammt nicht von mir.

der code den ich gepostet habe ist zu 100% von mir.
ich habe nicht die structs von manta genommen, wenn du mal einen blick auf meinen code geworfen hättest.
dann hättest du nämlich das hier gesehen:
CPP Code:
  1.  
  2. struct player
  3. {
  4. WORD hp; // here the hp will be saved...
  5. char name[32]; // the name in chars...
  6. BYTE team; // the team... 0 = spec, 2 = t, 3 = ct
  7. float x; // x coord
  8. float y; // y...
  9. float z; // z...
  10. float pitch; // pitch
  11. float yaw; // yaw
  12. float roll; // roll
  13. };
  14.  

__________________

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 #15

Join Date: Aug 2007

Posts: 1957

Dieser Thread wurde von KN4CK3R aus dem Forum Counterstrike 1.6/Source in das Forum VB, C/C++, Delphi, etc verschoben.


Dieses Posting wurde automatisch erzeugt.
icon #16

Join Date: Oct 2011

Posts: 48

Quote from SilverFire
rate mal, wieso über den 6 zeilen:
und der letzte code da stammt nicht von mir.

der code den ich gepostet habe ist zu 100% von mir.
ich habe nicht die structs von manta genommen, wenn du mal einen blick auf meinen code geworfen hättest.

hä? egal...

icon #17

Join Date: Mar 2011

Posts: 978

User-Rating:

89 positive
6 negative
erst zu deinen optimierungen:
über den 6 rpm aufrufen steht "hier lässt sich noch was optimieren...".
damit meinte ich genau das, was du gemacht hast.


dann auf deine 2. aussage,
Quote
kp, wie du das Radarstruct ausließt, aber nach den Angles hier ahne ich schlimmes smile.

antworte ich, dass der code den du daraufhin zitierst nicht von mir ist, und ich selbstverständlich alles mit einem rpm auslese.

__________________

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 #18

Join Date: Jan 2011

Posts: 12

Der Code sieht für mich nach überall zusammen geklaut und zusammen gesetzt aus.

Wieso hast du eine Funktion InitializeModulesAndSetup() nutzt diese aber nicht?
Seit dem CSS ein Intro hat beim starten, kannst du die Base der Dll's so oder so erst nach dem Intro laden (Ist zumindest bei mir der Fall).

Ich halte es nicht für besonders sinnvoll einen Code von überall bisschen zusammen klauen, aber nicht wirklich verstehen was er macht, wenn man noch nicht einmal die Einruckungen sauber machen kann.
Klar eine W2S-Funktion muss man nicht nochmals neu erfinden

Wenn ich mal Zeit habe, werde ich die aktuellen Offsets raus suchen und schauen ob ich mit der Variante zu schauen, ob die Variable mit der PlayerId des Spielers, den man an aimt != 0 ist, was schlaues hin bringe
icon #19

Join Date: Jun 2011

Posts: 490

User-Rating:

12 positive
0 negative
b4ckd0or, ich hab es doch schon längst hinbekommen und InitializeModulesAndSetup sollte nur Findwindow, ProcessId usw. ine ienem machen, funzte aber nicht zuverlässig und da hab ichs halt direkt in der main aufgerufen also bitte etwas vorsichtig mit manchen Aussagen. Die W2S Funktion ist auch nicht von mir, man muss das Rad ja nicht neu erfinden , aber der Rest is ja nichts schweres, was soll ich mir da bitte "zusammengeklaut" haben?
Manta

__________________

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

Join Date: Jan 2011

Posts: 12

Ich hab ja gesagt, dass man eine W2S-Funktion NICHT nochmals neu erfinden muss. Die behauptung, dass es zusammengeklaut ist hab ich daraus interpretiert, da ich Code-Snippets davon schon in Tutorials gesehen habe und du zumindest zum dortigen Zeitpunkt noch nichteinmal korrekte Einruckungen gemacht hast.

War wohl bisschen zu offensiv, vorallem für den ersten Post. sry
Wie KN4CK3R schon geschrieben hat, du könntest die Source hier Posten um Leuten zu helfen, die noch keine Ahnung vom hooken, um detours für die Funktionen zu machen, haben.