OldSchoolHack

Registrieren / Anmelden Deutsch

Benutzersuche: supex0

Such-Informationen
supex0
Themen im Forum
Thema Forum Letzter Beitrag Beiträge Zugriffe
icon

Go to first new post [ASM] CS: Source Bunnyhop Erstellt am: Mi 8. Jun 2011, 16:05

supex0

preview Vorschau

Go To Post

CPP Code:
  1. /*
  2. Bunnyhop - in ASM
  3. Credits:
  4. SDK
  5. supex0
  6.  
  7. esi+24 = cmd->buttons
  8. p_Ent+2E4 = flags
  9. "test" wird verwendet um aus den addierten Bits einzelne herauszufiltern
  10. Zuerst wird überprüft, ob +jump ausgeführt wird, wenn ja dann ob man sich auf dem Boden befindet.
  11. Wenn dies zutrifft, wird, solange man sich auf dem Boden aufhält, +jump/-jump "gespamt", in der Regel nur höchstens 2 ticks lang, in der Luft dann "stille".
  12. */
  13. //test
  14. aobscan(p_Ent, ?? ?? ?? ?? 0f 94 C0 C3 CC CC CC CC A1)
  15. /*
  16. label(p_Ent)
  17. client.dll+5AA488:
  18. p_Ent:*/
  19.  
  20. alloc(newmem,2048) //2kb should be enough
  21. label(returnhere)
  22. label(originalcode)
  23. label(exit)
  24.  
  25. aobscan(hookscene, 8B C8 89 4E 24 8B 15)
  26.  
  27. /*client.dll+E4876:*/
  28. hookscene:
  29. jmp newmem
  30. returnhere:
  31.  
  32. newmem:
  33. mov ecx,eax //ursprünglicher code,
  34. mov [esi+24],ecx //einfach ignorieren.
  35. pushall
  36. mov ecx,[p_Ent] // wir benötigen den Entitypointer um Checks durchzuführen
  37. mov ecx,[ecx] // aobscan, man muss den Pointer im Pointer nehmen!
  38. test byte ptr [esi+24],02 // Überprüfung ob +jump ausgeführt wird
  39. je originalcode
  40. test byte ptr [ecx+2E4],01 // Überprüfung, ob man sich auf dem Boden befindet
  41. jne originalcode
  42. //Immernoch hier, also ist es BHOP-Time!
  43. and [esi+24],0FFFD //~&in_jump; 0x0002, inversiert ergibt das 0xFFFD
  44. originalcode:
  45. popall
  46.  
  47. exit:
  48. jmp returnhere
Einfach gehaltener, autoupdatefähiger* Bunnyhop-code für CS: Source.
Falls jemand den Code für seine eigenen Zwecke verwenden möchte, die Credits nicht vergessen!
Mehr dazu auf meiner Webseite: https://sites.google.com/site/left4uncut/
VB, C/C++, Delphi, etc

Mi 8. Jun 2011, 17:59

von xst Go to last post
1 902
icon

Go to first new post [ASM] CS: Source TraceRay Triggerbot Erstellt am: Mi 8. Jun 2011, 16:02

supex0

preview Vorschau

Go To Post

CPP Code:
  1. /*ASM Triggerbot proof of concept
  2. credits:
  3. SDK
  4. P47R!CK
  5. monster64
  6. Casual_Hacker
  7. wav
  8. supex0*/
  9.  
  10. alloc(newmem,2048)
  11. label(returnhere)
  12. label(exit)
  13. label(vStart)
  14. label(vEnd)
  15. label(p_Trace)
  16. label(mask)
  17. label(dist_max)
  18. label(vCurAngles)
  19. label(vUp)
  20. label(vRight)
  21. label(vForward)
  22. aobscan(AngleVectors, 83 EC 20 8D 4C 24 04 89 4C 24 14 8B)
  23. aobscan(TraceRay, C3 CC CC CC 55 8B EC 83 E4 F0 8B 45 0C 8B 4D 08 83 EC 6C)
  24. aobscan(p_Ent, ?? ?? ?? ?? 0f 94 C0 C3 CC CC CC CC A1)
  25. aobscan(hookscene, 8B C8 89 4E 24 8B 15)
  26. aobscan(DrawLine, 83 EC 18 8B 44 24 20 D9 00 8B 0D )
  27.  
  28. hookscene+0E:
  29. db 90 90
  30. jmp newmem
  31. returnhere:
  32.  
  33. newmem:
  34. pushall //alles absaven um abstürze zu vermeiden
  35. sub esp,1000
  36. mov eax,[p_Ent]
  37. mov eax,[eax]
  38. cmp eax,00000000 //check ob pointer zum eigenen Entity verfügbar ist
  39. je exit
  40. cmp byte ptr [eax+8F],00 //check ob man am leben ist; "lifestate", 00 = alive, 01 = dying, 02 = dead
  41. jne exit
  42.  
  43. //Check ob Mittlere Maustaste gedrückt wird
  44. push eax
  45. push 05 //Mittlere Maustaste
  46. call GetAsyncKeyState
  47. shr ax,0F
  48. cmp ax,1
  49. pop eax
  50. jne exit
  51.  
  52. lea ecx,[eax+2CC] //schreibe EyePosition in vStart
  53. fld [ecx]
  54. fstp [vStart]
  55. fld [ecx+04]
  56. fstp [vStart+04]
  57. fld [ecx+08]
  58. fadd [eax+EC] //Z-fix
  59. fstp [vStart+08]
  60.  
  61. fld [eax+F20] //schreibe CurAngles in vCurAngles
  62. fadd [eax+d90]
  63. fstp [vCurAngles]
  64. fld [eax+D94]
  65. fadd [eax+F24]
  66. fstp [vCurAngles+04]
  67. fld [esi+D98]
  68. fadd [eax+F28]
  69. fstp [vCurAngles+08]
  70.  
  71. push vUp
  72. push vRight
  73. push vForward
  74. push vCurAngles
  75. call AngleVectors
  76. add esp,10
  77.  
  78. fld [vForward] //vEnd = vForward * 8192.0f + vStart
  79. fmul [dist_max]
  80. fadd [vStart]
  81. fstp [vEnd]
  82. fld [vForward+4]
  83. fmul [dist_max]
  84. fadd [vStart+4]
  85. fstp [vEnd+4]
  86. fld [vForward+8]
  87. fmul [dist_max]
  88. fadd [vStart+8]
  89. fstp [vEnd+8]
  90.  
  91. push [p_Ent]
  92. push p_Trace
  93. push 08
  94. push 00000000
  95. push [mask]
  96. push vEnd
  97. push vStart
  98. call TraceRay+4
  99. add esp,1C //Traceray
  100.  
  101. //Debug-Line!
  102. push (float)1
  103. push 01
  104. push 00
  105. push 00
  106. push 000000ff
  107. lea ecx,[p_Trace+0C]
  108. push ecx
  109. push p_Trace
  110. call DrawLine
  111. add esp,1C
  112.  
  113.  
  114. mov ecx,[p_Trace+4C] //Entitypointer in ECX speichern
  115. mov eax,[p_Ent]
  116. mov eax,[eax] //aobscan pointer in pointer!
  117. mov edx,[eax+98]
  118. cmp edx,[ecx+98] //Teamcheck
  119. je exit
  120. cmp [ecx+90],00 //HP-Check
  121. je exit
  122. cmp [p_Trace+50],00 //hitbox-check
  123. je exit
  124. //immernoch hier, also soll geschossen werden
  125. or [esi+24],01
  126. exit:
  127. add esp,1000
  128. popall
  129. fldz
  130. fcom dword ptr [esi+18]
  131. jmp returnhere
  132. vCurAngles:
  133. db 11 22 33 44 00 00 00 00 00 00 00 00
  134. vStart:
  135. db 00 00 00 00 00 00 00 00 00 00 00 00
  136. vEnd:
  137. db 00 00 00 00 00 00 00 00 00 00 00 00
  138. vUp:
  139. db 00 00 00 00 00 00 00 00 00 00 00 00
  140. vRight:
  141. db 00 00 00 00 00 00 00 00 00 00 00 00
  142. vForward:
  143. db 00 00 00 00 00 00 00 00 00 00 00 00
  144. dist_max:
  145. db 00 00 00 46 //float 8192
  146. mask:
  147. db 01 00 01 46
  148. p_Trace:
  149. db 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  150. db 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  151. db 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  152. db 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  153. db 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  154. db 00 00 00 00

Simpler TraceRay-Triggerbot geschrieben in ASM.
Falls jemand den Code für seine eigenen Zwecke verwenden möchte, die Credits nicht vergessen!
Mehr infos auf meiner Webseite: https://sites.google.com/site/left4uncut/
VB, C/C++, Delphi, etc

Mi 8. Jun 2011, 16:02

von supex0 Go to last post
0 467
icon

Go to first new post [CS:S] VisibleCheck ohne SDK Erstellt am: Mi 1. Jun 2011, 17:49

0x6077

preview Vorschau

Go To Post

Reversen.

TEXT Code:
  1. PUSH 0x4600400B
  2. (oder auch) PUSH 0x4602400B
such danach in der client.dll (verwendet wird ein pointer zu Traceray, da TraceRay in der engine.dll ist). Halte ausschau nach ähnlicher Strukturierung wie in deinem obigen Beispiel ("mov ecx,ptr\nmov eax,dword[ecx]") - Kleiner Tipp um ganz sicher zu gehen: ist "+ 0x10" hinter dem "pointerhandling", ist es mit sehr sehr hoher wahrscheinlichkeit die gewünschte stelle die du brauchst.

Waffencheck mach ich so:
TEXT Code:
  1. MOV EAX, pBaseCombatWeapon
  2. CALL DWORD PTR DS:[EAX+0x584]
  3. MOV iWeaponID, EAX
0x584 ist die aktuelle Adresse. 2 Möglichkeiten bleiben dir:
Entweder du suchst per Hand durch den vftable-wirrwarr von pBaseCombatWeapon, beginnend von Hinten nach vorne (wichtig! die Adresse ist weiter hinten, "fast" die letzte quasi - die Funktion ist einfach nur ein "mov eax,000000XX\nret", bei jeder Waffe), oder du legst dir schnell 'nen Patternscan an.
VB, C/C++, Delphi, etc

Mi 8. Jun 2011, 16:00

von supex0 Go to last post
3 1007