OldSchoolHack

Registrieren / Anmelden Deutsch

Farm Bot Problem


icon #21

Anmeldungsdatum: Mär 2011

Beiträge: 978

Benutzer-Bewertung:

89 positiv
6 negativ
Habe dir mal ne beispiel dll geschrieben.
habe direkt auch ne logfunktion eingebaut, da erwartungsgemäß fehler auftreten werden...
ist nen ordner "kompiliert" drin, da ist die kompilierte dll mit dem holzigto injektor von igromanru aka blackslayer drin.
*ausprobiert in league of legends*

hier der dl link:
http://www.xup.in/dl,14847428/BeispielDLL.rar/

und hier der source für die google finder in ein paar wochen/monaten/jahren?:
CPP Code:
  1.  
  2. #pragma once
  3.  
  4. #define _CRT_SECURE_NO_WARNINGS // ignore some warnings...
  5. #define _CRT_NON_CONFORMING_SWPRINTFS // ...
  6.  
  7. #include <Windows.h>
  8. #include <cstdio>
  9. #include <time.h>
  10. #include <dinput.h>
  11.  
  12. const DWORD GDS_OFFSET = 0x62B1;
  13.  
  14. DWORD WINAPI HookThread();
  15. void* DetourFunc(BYTE *src, const BYTE *dst, const int len);
  16. void add_log(char* format, ...);
  17.  
  18. typedef HRESULT(__stdcall* GetDeviceState_t)(LPDIRECTINPUTDEVICE, DWORD, LPVOID);
  19. HRESULT __stdcall hkGetDeviceState(LPDIRECTINPUTDEVICE pDevice, DWORD cbData, LPVOID lpvData);
  20.  
  21. HANDLE tmpHandle = NULL;
  22. HMODULE hModDInput8 = NULL;
  23. FARPROC dwGetDeviceState = NULL;
  24. FARPROC dwDirectInput8Create = NULL;
  25.  
  26. GetDeviceState_t pGetDeviceState;
  27.  
  28. BOOL WINAPI DllMain(HINSTANCE hinstDll,DWORD Reason,LPVOID Reserved)
  29. {
  30. switch(Reason)
  31. {
  32. case DLL_PROCESS_ATTACH:
  33. add_log("==========LOG START==========");
  34. add_log("DLL Attached");
  35. add_log("Creating Thread...");
  36. tmpHandle = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)&HookThread, 0, 0, 0);
  37. if (!tmpHandle)
  38. {
  39. add_log("ThreadCreation Failed!");
  40. }
  41. break;
  42. case DLL_PROCESS_DETACH:
  43. add_log("DLL Detached");
  44. add_log("==========LOG END==========\n\n\n");
  45. break;
  46. }
  47. return 1;
  48. }
  49.  
  50.  
  51. DWORD WINAPI HookThread()
  52. {
  53. add_log("Thread Created");
  54.  
  55. while (!hModDInput8)
  56. {
  57. add_log("Searching dinput8.dll...");
  58. hModDInput8 = GetModuleHandle(L"dinput8.dll");
  59. Sleep(100);
  60. }
  61. add_log("Found dinput8.dll: %x !", hModDInput8);
  62.  
  63. while (!dwDirectInput8Create)
  64. {
  65. add_log("Searching GetDeviceState...");
  66. dwDirectInput8Create = GetProcAddress(hModDInput8, "DirectInput8Create");
  67. Sleep(100);
  68. }
  69. add_log("Found DirectInput8Create: %x !", dwDirectInput8Create);
  70.  
  71. dwGetDeviceState = (FARPROC) ((DWORD)dwDirectInput8Create - GDS_OFFSET);
  72. add_log("GetDevicestate is here (DirectInput8Create - 0x62B1): %x", dwGetDeviceState);
  73.  
  74. add_log("Hooking GetDeviceState...");
  75. pGetDeviceState = (GetDeviceState_t) DetourFunc((PBYTE) dwGetDeviceState, (PBYTE) hkGetDeviceState, 5);
  76. add_log("Hooked GetDeviceState - Trampolin: %x - New: %x !", pGetDeviceState, hkGetDeviceState);
  77.  
  78. add_log("Going into Main Loop...");
  79. while (true)
  80. {
  81. // ...
  82. Sleep(1000);
  83. }
  84. return 0;
  85. }
  86.  
  87. HRESULT __stdcall hkGetDeviceState(LPDIRECTINPUTDEVICE lpDevice, DWORD cbData, LPVOID lpvData) // Parameter: die device - die größe der daten - der buffer in den geschrieben wird
  88. {
  89. HRESULT temp = NULL;
  90. char* ptr = (char*) lpvData;
  91. temp = pGetDeviceState(lpDevice, cbData, lpvData); // originalfunktion aufrufen
  92. if (cbData == 256) // wenn eine keyboard abfrage stattfindet... siehe: http://msdn.microsoft.com/en-us/library/microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.getdevicestate%28v=VS.85%29.aspx
  93. {
  94. // memset(lpvData, 0, cbData); // buffer leeren -> keine taste gedrückt
  95. ptr[DIK_E] = 0; // um z.b. die taste E komplett zu blocken...
  96. }
  97. return temp;
  98. }
  99.  
  100.  
  101. void* DetourFunc(BYTE *src, const BYTE *dst, const int len) //saved <len> bytes in ein trampolin, überschreibt die ersten 5 bytes der originalfunktion mit einem jump auf die hookfunktion und gibt einen pointer auf das trampolin zurück, der die gesicherten bytes und einen jump auf die originalfunktion NACH dem hook beinhaltet.
  102. {
  103. BYTE *jmp = (BYTE*)malloc(len+5);
  104. DWORD dwback;
  105. VirtualProtect(src, len, PAGE_READWRITE, &dwback);
  106. memcpy(jmp, src, len);
  107. jmp += len;
  108. jmp[0] = 0xE9;
  109. *(DWORD*)(jmp+1) = (DWORD)(src+len - jmp) - 5;
  110. src[0] = 0xE9;
  111. *(DWORD*)(src+1) = (DWORD)(dst - src) - 5;
  112. VirtualProtect(src, len, dwback, &dwback);
  113. return (jmp-len);
  114. }
  115.  
  116.  
  117. void add_log(char* format, ...)
  118. {
  119. HANDLE filehandle;
  120. DWORD dwReadBytes;
  121. char buffer[2048];
  122. char writebuffer[2048];
  123. va_list args;
  124. va_start(args, format);
  125. vsprintf (buffer, format, args);
  126. filehandle = CreateFile(L"Log.txt", GENERIC_WRITE, 0, 0, OPEN_ALWAYS, 0, 0);
  127. SetFilePointer(filehandle, 0, 0, FILE_END);
  128. char date[18];
  129. _strdate(date);
  130. date[8] = ' ';
  131. _strtime(date+9);
  132. sprintf_s(writebuffer, 2048, "Log Added (%s): %s\
  133. ", date, buffer);
  134. WriteFile(filehandle, writebuffer, strlen(writebuffer), &dwReadBytes, 0);
  135. CloseHandle(filehandle);
  136. }
  137.  

blockt alle E tastendrücke.

der log der im spieleordner erstellt wurde könnte z.b. so aussehen:
CPP Code:
  1.  
  2. Log Added (12/25/11 01:08:06): ==========LOG START==========
  3. Log Added (12/25/11 01:08:06): DLL Attached
  4. Log Added (12/25/11 01:08:06): Creating Thread...
  5. Log Added (12/25/11 01:08:06): Thread Created
  6. Log Added (12/25/11 01:08:06): Searching dinput8.dll...
  7. Log Added (12/25/11 01:08:07): Found dinput8.dll: 693d0000 !
  8. Log Added (12/25/11 01:08:07): Searching GetDeviceState...
  9. Log Added (12/25/11 01:08:07): Found DirectInput8Create: 693dcc8e !
  10. Log Added (12/25/11 01:08:07): GetDevicestate is here (DirectInput8Create - 0x62B1): 693d69dd
  11. Log Added (12/25/11 01:08:07): Hooking GetDeviceState...
  12. Log Added (12/25/11 01:08:07): Hooked GetDeviceState - Trampolin: 1d3e07d0 - New: 6f1a11f0 !
  13. Log Added (12/25/11 01:08:07): Going into Main Loop...
  14. Log Added (12/25/11 01:08:26): DLL Detached
  15. Log Added (12/25/11 01:08:26): ==========LOG END==========
  16.  
  17.  
  18.  
  19.  

gl & hf.


EDIT:
die hooking methode setzt keine execute rechte auf das trampolin, musst also entweder dep deaktivieren ( https://www.youtube.com/watch?v=PpFVpIzmPqE ), oder das mit virtualprotect fixxen...

__________________

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

Zitat von 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.
Zitat von f4gsh0t_h4x
VAC ist an,immer,überall
Zitat von gibson.w
Ich mag braune Würstchen
Zitat von irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Zitat von 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
Zitat von irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Zitat von 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)
Zitat von 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 #22

Anmeldungsdatum: Dez 2011

Beiträge: 20

Danke du bist mein GOTT  
mir erschließt es sich noch nicht so ganz wie ich den buffer zu manipulieren hab um tastendrücke zu senden

__________________

Wer Reschtschreibfehler findet darf sie behalten!
icon #23

Anmeldungsdatum: Mär 2011

Beiträge: 978

Benutzer-Bewertung:

89 positiv
6 negativ
CPP Code:
  1. HRESULT __stdcall hkGetDeviceState(LPDIRECTINPUTDEVICE lpDevice, DWORD cbData, LPVOID lpvData) // Parameter: die device - die größe der daten - der buffer in den geschrieben wird
  2. {
  3. HRESULT temp = NULL;
  4. char* ptr = (char*) lpvData;
  5. temp = pGetDeviceState(lpDevice, cbData, lpvData); // originalfunktion aufrufen
  6. if (cbData == 256) // wenn eine keyboard abfrage stattfindet... siehe: http://msdn.microsoft.com/en-us/library/microsoft.directx_sdk.idirectinputdevice8.idirectinputdevice8.getdevicestate%28v=VS.85%29.aspx
  7. {
  8. // memset(lpvData, 0, cbData); // buffer leeren -> keine taste gedrückt
  9. ptr[DIK_E] = 0; // um z.b. die taste E komplett zu blocken...
  10. }
  11. return temp;
  12. }

das ist die funktion von uns die wir gehookt haben, die bekommt wie schon beschrieben 3 parameter.
der erste ist ein pointer auf die device - uninteressant für uns.
der 2. ist ein DWORD, also ein unsigned int, der die größe des im 3. parameter übergebenen buffers kennzeichnet.
der 3. ist der erwähnte buffer in den die keystates geschrieben werden.

wenn die größe (parameter 2) 256 ist, ist es ein keyboardstate buffer, siehe msdn.

CPP Code:
  1.  
  2. char* ptr = (char*) lpvData;
  3.  

hier kopieren wir den übergebenen ptr und konvertieren ihn in einen char pointer, das lässt uns nun auf den buffer mit dem [] operator zugreifen.

der buffer besteht aus 256 keystates, 0 für nicht gedrückt und 128 (msb set) für gedrückt.

CPP Code:
  1.  
  2. ptr[DIK_E] = 0;
  3.  

mit der zeile setze ich jetzt den 18. bufferinhalt auf 0.
in der dinput.h ist nämlich die konstante DIK_E als
CPP Code:
  1.  
  2. #define DIK_E 0x12
  3.  
definiert.
so gibt es für jede taste auf der tastatur eine konstante:
CPP Code:
  1.  
  2. /****************************************************************************
  3.  *
  4.  * DirectInput keyboard scan codes
  5.  *
  6.  ****************************************************************************/
  7. #define DIK_ESCAPE 0x01
  8. #define DIK_1 0x02
  9. #define DIK_2 0x03
  10. #define DIK_3 0x04
  11. #define DIK_4 0x05
  12. #define DIK_5 0x06
  13. #define DIK_6 0x07
  14. #define DIK_7 0x08
  15. #define DIK_8 0x09
  16. #define DIK_9 0x0A
  17. #define DIK_0 0x0B
  18. #define DIK_MINUS 0x0C /* - on main keyboard */
  19. #define DIK_EQUALS 0x0D
  20. #define DIK_BACK 0x0E /* backspace */
  21. #define DIK_TAB 0x0F
  22. #define DIK_Q 0x10
  23. #define DIK_W 0x11
  24. #define DIK_E 0x12
  25. #define DIK_R 0x13
  26. #define DIK_T 0x14
  27. #define DIK_Y 0x15
  28. #define DIK_U 0x16
  29. #define DIK_I 0x17
  30. #define DIK_O 0x18
  31. #define DIK_P 0x19
  32. #define DIK_LBRACKET 0x1A
  33. #define DIK_RBRACKET 0x1B
  34. #define DIK_RETURN 0x1C /* Enter on main keyboard */
  35. #define DIK_LCONTROL 0x1D
  36. #define DIK_A 0x1E
  37. #define DIK_S 0x1F
  38. #define DIK_D 0x20
  39. #define DIK_F 0x21
  40. #define DIK_G 0x22
  41. #define DIK_H 0x23
  42. #define DIK_J 0x24
  43. #define DIK_K 0x25
  44. #define DIK_L 0x26
  45. #define DIK_SEMICOLON 0x27
  46. #define DIK_APOSTROPHE 0x28
  47. #define DIK_GRAVE 0x29 /* accent grave */
  48. #define DIK_LSHIFT 0x2A
  49. #define DIK_BACKSLASH 0x2B
  50. #define DIK_Z 0x2C
  51. #define DIK_X 0x2D
  52. #define DIK_C 0x2E
  53. #define DIK_V 0x2F
  54. #define DIK_B 0x30
  55. #define DIK_N 0x31
  56. #define DIK_M 0x32
  57. #define DIK_COMMA 0x33
  58. #define DIK_PERIOD 0x34 /* . on main keyboard */
  59. #define DIK_SLASH 0x35 /* / on main keyboard */
  60. #define DIK_RSHIFT 0x36
  61. #define DIK_MULTIPLY 0x37 /* * on numeric keypad */
  62. #define DIK_LMENU 0x38 /* left Alt */
  63. #define DIK_SPACE 0x39
  64. #define DIK_CAPITAL 0x3A
  65. #define DIK_F1 0x3B
  66. #define DIK_F2 0x3C
  67. #define DIK_F3 0x3D
  68. #define DIK_F4 0x3E
  69. #define DIK_F5 0x3F
  70. #define DIK_F6 0x40
  71. #define DIK_F7 0x41
  72. #define DIK_F8 0x42
  73. #define DIK_F9 0x43
  74. #define DIK_F10 0x44
  75. #define DIK_NUMLOCK 0x45
  76. #define DIK_SCROLL 0x46 /* Scroll Lock */
  77. #define DIK_NUMPAD7 0x47
  78. #define DIK_NUMPAD8 0x48
  79. #define DIK_NUMPAD9 0x49
  80. #define DIK_SUBTRACT 0x4A /* - on numeric keypad */
  81. #define DIK_NUMPAD4 0x4B
  82. #define DIK_NUMPAD5 0x4C
  83. #define DIK_NUMPAD6 0x4D
  84. #define DIK_ADD 0x4E /* + on numeric keypad */
  85. #define DIK_NUMPAD1 0x4F
  86. #define DIK_NUMPAD2 0x50
  87. #define DIK_NUMPAD3 0x51
  88. #define DIK_NUMPAD0 0x52
  89. #define DIK_DECIMAL 0x53 /* . on numeric keypad */
  90. #define DIK_OEM_102 0x56 /* <> or \| on RT 102-key keyboard (Non-U.S.) */
  91. #define DIK_F11 0x57
  92. #define DIK_F12 0x58
  93. #define DIK_F13 0x64 /* (NEC PC98) */
  94. #define DIK_F14 0x65 /* (NEC PC98) */
  95. #define DIK_F15 0x66 /* (NEC PC98) */
  96. #define DIK_KANA 0x70 /* (Japanese keyboard) */
  97. #define DIK_ABNT_C1 0x73 /* /? on Brazilian keyboard */
  98. #define DIK_CONVERT 0x79 /* (Japanese keyboard) */
  99. #define DIK_NOCONVERT 0x7B /* (Japanese keyboard) */
  100. #define DIK_YEN 0x7D /* (Japanese keyboard) */
  101. #define DIK_ABNT_C2 0x7E /* Numpad . on Brazilian keyboard */
  102. #define DIK_NUMPADEQUALS 0x8D /* = on numeric keypad (NEC PC98) */
  103. #define DIK_PREVTRACK 0x90 /* Previous Track (DIK_CIRCUMFLEX on Japanese keyboard) */
  104. #define DIK_AT 0x91 /* (NEC PC98) */
  105. #define DIK_COLON 0x92 /* (NEC PC98) */
  106. #define DIK_UNDERLINE 0x93 /* (NEC PC98) */
  107. #define DIK_KANJI 0x94 /* (Japanese keyboard) */
  108. #define DIK_STOP 0x95 /* (NEC PC98) */
  109. #define DIK_AX 0x96 /* (Japan AX) */
  110. #define DIK_UNLABELED 0x97 /* (J3100) */
  111. #define DIK_NEXTTRACK 0x99 /* Next Track */
  112. #define DIK_NUMPADENTER 0x9C /* Enter on numeric keypad */
  113. #define DIK_RCONTROL 0x9D
  114. #define DIK_MUTE 0xA0 /* Mute */
  115. #define DIK_CALCULATOR 0xA1 /* Calculator */
  116. #define DIK_PLAYPAUSE 0xA2 /* Play / Pause */
  117. #define DIK_MEDIASTOP 0xA4 /* Media Stop */
  118. #define DIK_VOLUMEDOWN 0xAE /* Volume - */
  119. #define DIK_VOLUMEUP 0xB0 /* Volume + */
  120. #define DIK_WEBHOME 0xB2 /* Web home */
  121. #define DIK_NUMPADCOMMA 0xB3 /* , on numeric keypad (NEC PC98) */
  122. #define DIK_DIVIDE 0xB5 /* / on numeric keypad */
  123. #define DIK_SYSRQ 0xB7
  124. #define DIK_RMENU 0xB8 /* right Alt */
  125. #define DIK_PAUSE 0xC5 /* Pause */
  126. #define DIK_HOME 0xC7 /* Home on arrow keypad */
  127. #define DIK_UP 0xC8 /* UpArrow on arrow keypad */
  128. #define DIK_PRIOR 0xC9 /* PgUp on arrow keypad */
  129. #define DIK_LEFT 0xCB /* LeftArrow on arrow keypad */
  130. #define DIK_RIGHT 0xCD /* RightArrow on arrow keypad */
  131. #define DIK_END 0xCF /* End on arrow keypad */
  132. #define DIK_DOWN 0xD0 /* DownArrow on arrow keypad */
  133. #define DIK_NEXT 0xD1 /* PgDn on arrow keypad */
  134. #define DIK_INSERT 0xD2 /* Insert on arrow keypad */
  135. #define DIK_DELETE 0xD3 /* Delete on arrow keypad */
  136. #define DIK_LWIN 0xDB /* Left Windows key */
  137. #define DIK_RWIN 0xDC /* Right Windows key */
  138. #define DIK_APPS 0xDD /* AppMenu key */
  139. #define DIK_POWER 0xDE /* System Power */
  140. #define DIK_SLEEP 0xDF /* System Sleep */
  141. #define DIK_WAKE 0xE3 /* System Wake */
  142. #define DIK_WEBSEARCH 0xE5 /* Web Search */
  143. #define DIK_WEBFAVORITES 0xE6 /* Web Favorites */
  144. #define DIK_WEBREFRESH 0xE7 /* Web Refresh */
  145. #define DIK_WEBSTOP 0xE8 /* Web Stop */
  146. #define DIK_WEBFORWARD 0xE9 /* Web Forward */
  147. #define DIK_WEBBACK 0xEA /* Web Back */
  148. #define DIK_MYCOMPUTER 0xEB /* My Computer */
  149. #define DIK_MAIL 0xEC /* Mail */
  150. #define DIK_MEDIASELECT 0xED /* Media Select */
  151.  

wenn du jetzt z.b. einmal die E taste gedrückt haben willst, musst du z.b. in deinem mainloop einmal ne variable setzen, dass getdevicestate nun einen E-tastendruck vorgaukeln soll.

also:
CPP Code:
  1.  
  2. //global:
  3. bool Press_E = false;
  4.  
  5. // im hauptthread:
  6. while (true)
  7. {
  8. // ...
  9. Press_E = true;
  10. Sleep(10000);
  11. }
  12.  
  13. //in getdevicestate:
  14.  
  15. HRESULT __stdcall hkGetDeviceState(LPDIRECTINPUTDEVICE lpDevice, DWORD cbData, LPVOID lpvData) // Parameter: die device - die größe der daten - der buffer in den geschrieben wird
  16. {
  17. HRESULT temp = NULL;
  18. char* ptr = (char*) lpvData;
  19. temp = pGetDeviceState(lpDevice, cbData, lpvData); // originalfunktion aufrufen
  20. if (cbData == 256)
  21. {
  22. if (Press_E)
  23. {
  24. ptr[DIK_E] |= 1<<7;
  25. Press_E = false; // ansonsten würde die taste immer gedrückt werden...
  26. }
  27. }
  28. return temp;
  29. }
  30.  

das drückt jetzt alle 10 sekunden die E-taste...

warum "ptr[DIK_E] |= 1<<7;"?
damit setzt du ein bit des chars.
dieses bit (das most significant bit -> google) signalisiert den aktuellen keystate.

funktioniert die dll bei dir mit dem offset 0x62B1?
welches windows/wieviel bit hast du?

__________________

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

Zitat von 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.
Zitat von f4gsh0t_h4x
VAC ist an,immer,überall
Zitat von gibson.w
Ich mag braune Würstchen
Zitat von irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Zitat von 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
Zitat von irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Zitat von 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)
Zitat von 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 #24

Anmeldungsdatum: Dez 2011

Beiträge: 20

Hey du bist mein Held des tages !!!
ptr[DIK_E] |= 1<<7    woher weis man sowas ?  ich mein jetzt weis ich es auch xD
ich nutze windows7/32 bit und das offset funktioniert
nur das mit dem dep wollte nicht so ganz der dos befehl hat da nicht geklapt das musste ich manuel machen.
ich versuch jetzt meinen bot in deine dll zu schreiben
hast du ne idee wie ich das dann am besten mit der gui mache?

__________________

Wer Reschtschreibfehler findet darf sie behalten!
icon #25

Anmeldungsdatum: Mär 2011

Beiträge: 978

Benutzer-Bewertung:

89 positiv
6 negativ
willste nen ingame gui?

wenn ja musst du auch noch directx hooken:

https://rs894dt.rapidshare.com/files/398338533/D3D_Hooking-Tutorial.pdf

ansonsten würde ich ein extra programm machen, was über ne pipe ( http://msdn.microsoft.com/en-us/library/windows/desktop/aa365780%28v=vs.85%29.aspx ) mit deinem hook kommuniziert.

'vorteil' davon wäre auch, dass du dein hauptprogramm in c# schreiben könntest, wenn du eher daran gewöhnt bist.

Zitat

ptr[DIK_E] |= 1<<7 woher weis man sowas ? ich mein jetzt weis ich es auch xD

steht alles in der msdn wenn man weiß wonach man suchen muss^^

__________________

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

Zitat von 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.
Zitat von f4gsh0t_h4x
VAC ist an,immer,überall
Zitat von gibson.w
Ich mag braune Würstchen
Zitat von irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Zitat von 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
Zitat von irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Zitat von 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)
Zitat von 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 #26

Anmeldungsdatum: Dez 2011

Beiträge: 20

Die pipes stehn mehr oder minder soweit C# server --> c++ client
Ich kriege es auch hin hin und her zu senden zumindest von C++ zu C#
aber ich finde die funktion nicht um mit C++ daten aus der pipe zu lesen
wenn du nochmal so freundlich wärst und mir nen kurzes example schicken könntest

__________________

Wer Reschtschreibfehler findet darf sie behalten!
icon #27

Anmeldungsdatum: Mär 2011

Beiträge: 978

Benutzer-Bewertung:

89 positiv
6 negativ
* The server:
-CreateNamedPipe
-ConnectNamedPipe
-ReadFile

* The client:
-CreateFile
-WriteFile

__________________

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

Zitat von 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.
Zitat von f4gsh0t_h4x
VAC ist an,immer,überall
Zitat von gibson.w
Ich mag braune Würstchen
Zitat von irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Zitat von 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
Zitat von irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Zitat von 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)
Zitat von 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 #28

Anmeldungsdatum: Dez 2011

Beiträge: 20

ah creatFile  danke

__________________

Wer Reschtschreibfehler findet darf sie behalten!
icon #29

Anmeldungsdatum: Aug 2008

Beiträge: 2594

Benutzer-Bewertung:

17 positiv
5 negativ
@SilverFire
Du kannst aus deinen 3letzten Beitrag gleich ein tutorial machen.
Würde ich auch emfehlen.
icon #30

Anmeldungsdatum: Mär 2011

Beiträge: 978

Benutzer-Bewertung:

89 positiv
6 negativ
ja, ich weiß, hab ich auch schon überleget...

werde dann generell einmal hooking vorstellen, und dann in ner beispiel app einmal endscene und getdevicestate hooken...

__________________

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

Zitat von 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.
Zitat von f4gsh0t_h4x
VAC ist an,immer,überall
Zitat von gibson.w
Ich mag braune Würstchen
Zitat von irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Zitat von 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
Zitat von irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Zitat von 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)
Zitat von 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 #31

Anmeldungsdatum: Dez 2011

Beiträge: 20



__________________

Wer Reschtschreibfehler findet darf sie behalten!
icon #32

Anmeldungsdatum: Dez 2011

Beiträge: 20

__________________

Wer Reschtschreibfehler findet darf sie behalten!
icon #33

Anmeldungsdatum: Dez 2011

Beiträge: 20

Sorry wegen der lehren Posts    habs jetzt geschaft Danke für Eure Hilfe

__________________

Wer Reschtschreibfehler findet darf sie behalten!
icon #34

Anmeldungsdatum: Dez 2011

Beiträge: 20

Mein Bot ist jetzt mehr oder minder seit ner Weile fertig
Die Dll funktioniert super nur frage ich mich, ob's auch eine Möglichlichkeit gibt, dass die Dll auch Tastendrücke sendet, wenn das Spiel nicht maximiert ist...

__________________

Wer Reschtschreibfehler findet darf sie behalten!
icon #35

Anmeldungsdatum: Jul 2009

Beiträge: 5

Ich habe das Problem, dass wenn ich den Code von dir benutze, dass bei mir der Tastendruck e nicht gespeert wird oder mit dem anderen Code halt, dass der Tastendruck ausgeführt wird. Gehookt wird alles korrekt, also keine Fehlermeldung.
icon #36

Anmeldungsdatum: Mär 2011

Beiträge: 978

Benutzer-Bewertung:

89 positiv
6 negativ
vllt benutzt das spiel kein dinput?

hier nen "kleines" tut:
https://www.oldschoolhack.me/forum/tutorials/8256,hookingtutorial-theorieanwendung.html

__________________

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

Zitat von 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.
Zitat von f4gsh0t_h4x
VAC ist an,immer,überall
Zitat von gibson.w
Ich mag braune Würstchen
Zitat von irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Zitat von 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
Zitat von irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Zitat von 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)
Zitat von 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 #37

Anmeldungsdatum: Jul 2009

Beiträge: 5

Also es hat die beiden Module "dinput8.dll" und "d3d9.dll". Liegt das vielleicht an Hackshield, dass dies nicht funktioniert? Ich kann aber z.B. die ganze Eingabe von Maus und Tastatur sperren. Deswegen wundert es mich, dass ich den Buffer nicht ändern kann.

Achja und dein Tut hatte ich mir auch schon vorher angesehen gehabt.
icon #38

Anmeldungsdatum: Mär 2011

Beiträge: 978

Benutzer-Bewertung:

89 positiv
6 negativ
mmh dann lass mal cbData ausgeben, vllt benutzen die ne eigene struct.
wenn ne keyboardstruct kommt lass mal den buffer ausgeben wenn du ne taste drückst  (den tastendruck per getasynckeystate abfangen...).
vllt wird nicht das msb gesetzt, sondern i-was anderes...

__________________

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

Zitat von 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.
Zitat von f4gsh0t_h4x
VAC ist an,immer,überall
Zitat von gibson.w
Ich mag braune Würstchen
Zitat von irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Zitat von 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
Zitat von irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Zitat von 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)
Zitat von 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 #39

Anmeldungsdatum: Jul 2009

Beiträge: 5

Also wenn ich cbData ausgebe kommt immer 20 raus.
Aber mit diesem Code kann ich auch die gesamte Eingabe sperren.

CPP Code:
  1. if (!Freeze)
  2. {
  3. temp = pGetDeviceState(lpDevice,cbData,lpvData);
  4. memcpy(buffer,lpvData,cbData);
  5. } else {
  6. memcpy(lpvData,buffer,cbData);
  7. }

In lpvData steht aber auch ganz zum Schluss der Wert von F10 drin, also die 44.
TEXT Code:
  1. cbData: 20, lpvData: 1637144
Wenn ich dann deinen Code benutze, um einen Buchstaben hinzuzufügen, wird dieser nicht in lpvData angezeigt.
icon #40

Anmeldungsdatum: Mär 2011

Beiträge: 978

Benutzer-Bewertung:

89 positiv
6 negativ
entweder da kommt ab und zu auch cbdata == 256 oder es wird die tastatur nicht abgefragt.
die cbData = 20 kommt wahrscheinlich von einer dimousestate2-struct.
http://msdn.microsoft.com/en-us/library/microsoft.directx_sdk.reference.dimousestate2%28v=VS.85%29.aspx

wenn du damit allerdings auch die tastatur sperren kannst, hast du entweder noch i-wo einen fehler bei der erkennung der tastaturstruct, oder das programm freezt den tastaturinput, wenn sich die maus nicht bewegt, was schwachsinn wäre...

Zitat
In lpvData steht aber auch ganz zum Schluss der Wert von F10 drin, also die 44.

was meinst du damit? wie hast du das ausgeben lassen?

EDIT:
dir ist klar, dass lpvData ein Pointer auf ein Array ist?

__________________

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

Zitat von 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.
Zitat von f4gsh0t_h4x
VAC ist an,immer,überall
Zitat von gibson.w
Ich mag braune Würstchen
Zitat von irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Zitat von 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
Zitat von irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Zitat von 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)
Zitat von 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