Guest User

Untitled

a guest
Jul 21st, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.87 KB | None | 0 0
  1.  
  2. //jumpmin = bunnyhop
  3. //float *dwResult = ( float* )Shell( 0x3A7C0C ); speed
  4. //cshell.dll+00377918 offset 20
  5. //cshell.dll+00377918 offset 18
  6. //cshell.dll+00377918 offset 1C
  7. //3730A8//yours 36A59A//mine NAMES - them for Diff or Jump
  8. // EngineCommand("CursorHack 1.000000"); User info
  9. // EngineCommand("ShowSpecial 1.000000"); User info
  10. // no reload animation 0F 84 5B 01 00 00 8B 96 E8 00 00 00 89 96 E4 00 seqence of bytes
  11. ///367820 is console on seept 20
  12. //data:00787810 dword_787810 dd ? ; DATA XREF: sub_4C7DA0+2B5r
  13. // .data:00787810 ; sub_4C7DA0:loc_4C8073r ...
  14. // .data:00787814 dword_787814 dd ? ; DATA XREF: sub_462A40+5Fr
  15. // .data:00787814 ; sub_484DD0+D2r ...
  16. // .data:00787818 dword_787818 dd ? ; DATA XREF: sub_462A40+D4r
  17. // .data:00787818 ; sub_542260+CBr ...
  18. // .data:0078781C dword_78781C dd ? ; DATA XREF: sub_44CC90r
  19. // .data:0078781C ; sub_44CC90+Dr ...
  20. /// .data:00787820 ; int dword_787820<<<<<<<<<<<<<<<<< console pointer
  21. // .data:00787820 dword_787820 dd ? ; DATA XREF: sub_4213F0+7r
  22. // .data:00787820 ; .text:0042EBE0r ...
  23. // .data:00787824 unk_787824 db ? ; ; DATA XREF: sub_706390+2o
  24. // .data:00787825 db ? ;
  25. // .data:00787826 db ? ;
  26. // .data:00787827 db ? ;
  27. // .data:00787828 unk_787828 db ? ; ; DATA XREF: sub_706390+Co
  28. // .data:00787828
  29. //("\"ModelDebug_DrawBoxes\" \"1.000000\"");
  30. /*
  31. AdvantagedHealth
  32. SkeletonAc
  33. SkeletonStr
  34. SkeletonSp
  35. SkeletonSt
  36. */
  37. #include "stdafx.h"
  38. #include "MemoryHacks.h"
  39. #define Shell( offset ) ( CABase + offset )
  40.  
  41. DWORD CABase = 0;
  42.  
  43. CDetour m_dNoRecoil,m_dNo_Reload,m_dRecoil1,m_dRecoil2,m_dRecoil3,m_dBunny2,m_dBunny,m_dTEST,m_dNameEsp;
  44.  
  45. DWORD m_dwNoRecoil,m_dwReload,m_dwRecoil_1,m_dwRecoil_2,m_dwNo_Reload,m_dwBunny2,m_dwBunny,m_dwNameEsp,m_dwEsp,m_dwDeviceP,m_dwDevice;
  46.  
  47. bool LogIt,DoOnce2 = false;
  48. char Logger[256];
  49. float Default = 0.00;
  50.  
  51. void FindCurrentAddress( )
  52. {
  53. m_dwEsp = MatchPattern1( CABase, 0x00060000, (unsigned char*)"\x75\x06\xC6\x46\x48\x01\xEB\x2D\x8A\x46\x24\x84\xC0\x0F\x85","xxxxxxxxxxxxxxx");
  54. m_dwDeviceP = MatchPattern1( 0x00460000, 0x00010000, (unsigned char*)"\xA1\x20\x06\x7D\x00\x85\xC0\x74\x0C\x8B\x00\x8B\x08\x50\xFF","xxxxxxxxxxxxxxx");
  55. m_dwRecoil_1 = MatchPattern1( CABase, 0x005A9000, (unsigned char*)"\xD9\x5E\x48\xEB\x07\xC6\x86\xAE\x01\x00\x00\x00\xD9\x46\x64","xxxxxxx?xxxxxxx");
  56. m_dwRecoil_2 = MatchPattern1( CABase, 0x005B0000, (unsigned char*)"\xD8\x46\x54\xD9\x5E\x54\xDC\xC0\xD8\x6E\x48\xD9\x5E\x48\xFF","xxxxxxxxxxxxxxx");
  57. }
  58.  
  59. DWORD ConvertBytes( BYTE *Address, int size )
  60. {
  61. DWORD Result;
  62.  
  63. DWORD* ptdwArray = (DWORD*) (Address + (size - 2));
  64. Result = *ptdwArray;
  65. return Result;
  66. }
  67. /*
  68. void LogAddies( bool OnOff )
  69. {
  70. if(OnOff && !LogIt)
  71. {
  72. add_log( Addie_Log,"===========================================");
  73. add_log( Addie_Log,"========= Address Log Started =============");
  74. add_log( Addie_Log,"===========================================");
  75. add_log( Addie_Log, "CABase: %X", CABase);
  76. add_log( Addie_Log," NameEsp: CABase + 0x%X",(m_dwEsp - CABase));//
  77. add_log( Addie_Log," Noreload: CABase + 0x%X",(m_dwReload - CABase));
  78. if( m_dwDeviceP !=0 )m_dwDevice = ConvertBytes( (BYTE*)m_dwDeviceP, 3 );
  79. add_log( Addie_Log,"dwDevice: %X", m_dwDevice );
  80. add_log( Addie_Log,"===========================================");
  81. add_log( Addie_Log,"===========================================");
  82. add_log( Addie_Log,"========= Address Log Ended =============");
  83. add_log( Addie_Log,"===========================================");
  84. sprintf( Logger,"Logged Addies...OK" );
  85. LogIt = true;
  86. }
  87. }*/
  88.  
  89. void StoreBytes()
  90. {
  91. FindCurrentAddress( );
  92. STORE_MACRO( NameEsp );
  93. STORE_MACRO( NoRecoil );
  94. STORE_MACRO( Bunny );
  95. STORE_MACRO( Bunny2 );
  96. }
  97.  
  98. bool StoreDefault;
  99.  
  100. void NameEsp( bool OnOff )
  101. {
  102. if( OnOff )
  103. {
  104. m_dNameEsp.PatchHook( ( BYTE* )m_dwEsp , ( BYTE* )"\x90\x90", 2 );
  105. }else{
  106. m_dNameEsp.PatchHook( ( BYTE* )m_dwEsp , ( BYTE* )"\x75\x06", 2 );
  107. }
  108.  
  109. }
  110.  
  111. void BunnyHop( bool OnOff )
  112. {
  113. if( OnOff )
  114. {
  115. m_dBunny.PatchHook( ( BYTE* )0x3EE138+CABase, ( BYTE* )"\x90", 1);
  116. }else{
  117. RestorePatchHooked( m_dBunny );
  118. }
  119.  
  120. }
  121.  
  122. void NoRecoil( bool OnOff )
  123. {
  124. if (OnOff)
  125. {
  126.  
  127. m_dRecoil1.PatchHook( ( BYTE* )m_dwRecoil_1, ( BYTE* )"\x90\x90\x90", 3 );
  128. m_dRecoil2.PatchHook( ( BYTE* )m_dwRecoil_2, ( BYTE* )"\x90\x90\x90\x90\x90\x90", 6 );
  129. m_dRecoil3.PatchHook( ( BYTE* )(m_dwRecoil_2+8), ( BYTE* )"\x90\x90\x90\x90\x90\x90", 6 );
  130. }else{
  131. RestorePatchHooked( m_dRecoil1 );
  132. RestorePatchHooked( m_dRecoil2 );
  133. RestorePatchHooked( m_dRecoil3 );
  134. }
  135. }
  136.  
  137. void __cdecl EngineCommand( const char* szCommand )
  138. {
  139. DWORD *g_pLTClient = ( DWORD* )( CABase + 0x3AD778 );
  140. void* RCCOff = ( void* )*( DWORD* )( *g_pLTClient + 0x204 );
  141.  
  142. __asm
  143. {
  144. push szCommand;
  145. call RCCOff;
  146. add esp, 4;
  147. }
  148. }
  149.  
  150. void Hitbox (bool OnOff)
  151. {
  152. if ( OnOff )
  153. {
  154. EngineCommand("ModelDebug_DrawBoxes 1.000000");
  155. }else{
  156. EngineCommand("ModelDebug_DrawBoxes 0.000000");
  157. }
  158. }
  159.  
  160. void NoSpread( bool OnOff )
  161. {
  162. if ( OnOff )
  163. {
  164. EngineCommand("PerturbRotationEffect 0.000000");
  165. EngineCommand("PerturbIncreaseSpeed 0.000000");
  166. EngineCommand("PerturbWalkPercent 0.000000");
  167. EngineCommand("PerturbFiringIncreaseSpeed 0.000000");
  168. }else{
  169. EngineCommand("PerturbRotationEffect 3.000000");
  170. EngineCommand("PerturbIncreaseSpeed 3.000000");
  171. EngineCommand("PerturbDecreaseSpeed 9.000000");
  172. EngineCommand("PerturbWalkPercent 0.500000");
  173. }
  174. }
  175.  
  176. void NFD( bool OnOff)
  177. {
  178. if ( !CABase )return;
  179. float *dwResult = ( float* )Shell( 0x3EE1AC );
  180.  
  181. if(!DoOnce2)
  182. {
  183. Default = ( float )*dwResult;
  184. DoOnce2 = true;
  185. }
  186. if(OnOff)
  187. {
  188. *dwResult = 0;
  189. }
  190. else{
  191. *dwResult = Default;
  192. }
  193. }
  194.  
  195. void Tracers(bool OnOff)
  196. {
  197. if(OnOff)
  198. {
  199. EngineCommand("ShowFirePath 1.000000");
  200. }else{
  201. EngineCommand("ShowFirePath 0.000000");
  202. }
  203. }
  204.  
  205.  
  206. void FrameTime(bool OnOff)
  207. {
  208. if(OnOff)
  209. {
  210. EngineCommand("ShowFPS 1.000000");
  211. EngineCommand("CurrentFrameTime 1.000000");
  212. }else{
  213. EngineCommand("ShowFPS 0.000000");
  214. EngineCommand("CurrentFrameTime 0.000000");
  215. }
  216. }
  217.  
  218. void camup (bool OnOff)
  219. {
  220. if (OnOff)
  221. {
  222. EngineCommand("DuckDownCamOffSet 1000.000000");
  223. }else{
  224. EngineCommand("DuckDownCamOffSet -13.000000");
  225. }
  226. }
  227.  
  228. void camdown (bool OnOff)
  229. {
  230. if (OnOff)
  231. {
  232. EngineCommand("CamMaxPosYOffset -1000.000000");
  233. }else{
  234. EngineCommand("CamMaxPosYOffset 200.000000");
  235. }
  236. }
  237.  
  238. void Godmode (bool OnOff)
  239. {
  240. if (OnOff)
  241. {
  242. EngineCommand("FallDamageMinHeight 0.000000");
  243. EngineCommand("FallDamageMaxHeight 0.000000");
  244. EngineCommand("FallDamageMax 0.000000");
  245. }else{
  246. EngineCommand("FallDamageMinHeight 300.000000");
  247. EngineCommand("FallDamageMaxHeight 700.000000");
  248. EngineCommand("FallDamageMax 200.000000");
  249. }
  250. }
  251.  
  252. void Gravity (bool OnOff)
  253. {
  254. if(OnOff)
  255. {
  256. EngineCommand("PlayerGravity 1000.000000");
  257. }else{
  258. EngineCommand("PlayerGravity -1000.000000");
  259. }
  260. }
  261.  
  262. void Speed1 (bool OnOff)
  263. {
  264. if (OnOff)
  265. {
  266. EngineCommand("BaseMoveAccel 5000.000000");
  267. EngineCommand("StartAccel 5000.000000");
  268. EngineCommand("MaxAccel 5000.000000");
  269. EngineCommand("AccelInc 5000.000000");
  270. EngineCommand("WalkVel 5000.000000");
  271. EngineCommand("FRunVel 5000.000000");
  272. EngineCommand("BRunVel 5000.000000");
  273. EngineCommand("SRunVel 5000.000000");
  274. EngineCommand("JumpVel 5000.000000");
  275. EngineCommand("DuckVel 5000.000000");
  276. }else{
  277. EngineCommand("BaseMoveAccel 3000.000000");
  278. EngineCommand("StartAccel 500.000000");
  279. EngineCommand("MaxAccel 3000.000000");
  280. EngineCommand("AccelInc 6000.000000");
  281. EngineCommand("WalkVel 70.000000");
  282. EngineCommand("FRunVel 285.000000");
  283. EngineCommand("BRunVel 285.000000");
  284. EngineCommand("SRunVel 285.000000");
  285. EngineCommand("JumpVel 330.000000");
  286. EngineCommand("DuckVel 50.000000");
  287. }
  288. }
  289.  
  290. void NoReload( bool OnOff )
  291. {
  292. if(OnOff)
  293. {
  294. m_dNo_Reload.PatchHook((BYTE *)CABase+0x01BDFD7 ,"\x90\x90\x90\x90\x90\x90",6 );
  295. }else{
  296. m_dNo_Reload.PatchHook((BYTE *)CABase+0x01BDFD7 ,"\x0f\x84\x5b\x01\x00\x00",6 );
  297. }
  298. }
  299.  
  300. void GetBase()
  301. {
  302. HMODULE caBase;
  303. caBase = GetModuleHandle( "CShell.dll" );
  304.  
  305. CABase = ( DWORD )caBase;
  306. StoreBytes( );
  307. }
  308.  
  309. DWORD WINAPI WaitForCShell(LPVOID)
  310. {
  311. while (GetModuleHandle("CShell.dll") == NULL)
  312. {Sleep(100);}
  313.  
  314. GetBase();
  315. return 0;
  316. }
  317.  
  318.  
  319. void Wpf( long szAdress, int szOffset, float szBuffer )
  320. {
  321. if( CABase )
  322. {
  323. DWORD *dwWrite = ( DWORD* )(CABase + szAdress);
  324. float *dwPointer = ( float* )( ( *dwWrite ) + szOffset );
  325. *dwPointer = ( float )szBuffer;
  326. }
  327. }
  328.  
  329. void Wpl( long szAdress, int szOffset, int szBuffer )
  330. {
  331. if( CABase )
  332. {
  333. DWORD *dwWrite = ( DWORD* )(CABase + szAdress);
  334. int *dwPointer = ( int* )( ( *dwWrite ) + szOffset );
  335. *dwPointer = ( int )szBuffer;
  336. }
  337. }
  338.  
  339.  
  340. DWORD MatchPattern(BYTE *szScanSig, char *szScanMask )
  341. {
  342. CDetour c;
  343. DWORD dwResult = c.FindPattern( 0x400000, 0x01400000, szScanSig, szScanMask );
  344.  
  345. if( dwResult != 0 ){return dwResult;}
  346. else{dwResult == 0;}
  347.  
  348. return dwResult;
  349. }
  350.  
  351.  
  352. DWORD MatchPattern1( DWORD dwAddress, DWORD dwLen, BYTE *szScanSig, char *szScanMask )
  353. {
  354. CDetour c;
  355. DWORD dwResult = c.FindPattern( dwAddress, dwLen, szScanSig, szScanMask );
  356.  
  357. if( dwResult != 0 )
  358. return dwResult;
  359. else
  360. dwResult == 0;
  361.  
  362. return dwResult;
  363. }
Add Comment
Please, Sign In to add comment