Activate a line of code
Prevent the key from even being used.
use it for hot keys
etc etc
awesome job nextgen1.
from my understanding of the keyboard hooker, if a key is pressed an event will occur?
So if i press b on keyboard activate a line of code.
Activate a line of code
Prevent the key from even being used.
use it for hot keys
etc etc
oo sounds like a keylogger can be made from this?
..... That's not it's intentions, , you can monitor everything in the thread, it's just a module to be used for developing proper applications with hotkeys and etc.
Goodwork so far NextGen1. Well done.... hmm. I've got an idea, its a crazy one, the greatest tool C++ has I would say its the property to directly inject code into another process, since from within that process it is possible to directly access the memory of another process.
I think there might be a way to do this with VB. Im thinking of a sort of module compiled in C++ that can be injected into a process, but has the ability to communicate with a VB program via some sort of interface. ;l
"Every gun that is made, every warship launched, every rocket fired signifies, in the final sense, a theft from those who hunger and are not fed, those who are cold and are not clothed. This world in arms is not spending money alone. It is spending the sweat of its laborers, the genius of its scientists, the hopes of its children. The cost of one modern heavy bomber is this: a modern brick school in more than 30 cities. It is two electric power plants, each serving a town of 60,000 population. It is two fine, fully equipped hospitals. It is some fifty miles of concrete pavement. We pay for a single fighter plane with a half million bushels of wheat. We pay for a single destroyer with new homes that could have housed more than 8,000 people. This is, I repeat, the best way of life to be found on the road the world has been taking. This is not a way of life at all, in any true sense. Under the cloud of threatening war, it is humanity hanging from a cross of iron."- Dwight D. Eisenhower
VB accecpts References to dll's
[php]
<DllImport("Why06.dll", CallingConvention:=CallingConvention.StdCall)>
[/php]
I have seen some problems with getting errors back because of unmanaged code, but there may be some approaches to correct that on both sides.
Example:
Let's say you create a DLL that has this code
[php]
void __why06(dllexport) CALLBACK Callback(long Addr1)
{
typedef void (__stdcall *FNPTR)(BSTR stringVar);
FNPTR FunctionCall;
LPSTR buffer = "hello! I am why06";
FunctionCall = (FNPTR)Addr1;
BSTR temp;
temp = ChartoBSTR("hello");
FunctionCall(SysAllocString(temp));
}
[/php]
I can use that function by
A. Adding it as a reference then
B. Either importing the functions of the dll with
[php]
Imports why06
[/php]
or using
[php]
Imports System.Runtime.InteropServices
[/php]
Then import the dll and it's functions manually, in either case, once it is imported , i can use the code
[php]
Public Sub voidFunc(ByVal stringVar As String)MsgBox stringVar
End Sub
[/php]
to call the function, or in a module, use Public (or private) Function End Function .
or that is the theory anyway, considering that is how it works in general
But I could be missing exactly what you are trying to relay entirely
What exactly is your idea?
But , if you can create and contribute such a module, it will give something to test again, I may be able to include the dll as is, in the module, then allow users to have access to the functions of the C++ dll through vb.net, Not sure, worth testing though ;D
Last edited by NextGen1; 04-29-2010 at 11:34 PM.
Im just wondering... what exactly happens when a function is exported. I believe the module is loaded into the current executable that called it. So would my memory function read from the VB module or the game module or both. Not exactly sure how windows goes about it TBH. =/
"Every gun that is made, every warship launched, every rocket fired signifies, in the final sense, a theft from those who hunger and are not fed, those who are cold and are not clothed. This world in arms is not spending money alone. It is spending the sweat of its laborers, the genius of its scientists, the hopes of its children. The cost of one modern heavy bomber is this: a modern brick school in more than 30 cities. It is two electric power plants, each serving a town of 60,000 population. It is two fine, fully equipped hospitals. It is some fifty miles of concrete pavement. We pay for a single fighter plane with a half million bushels of wheat. We pay for a single destroyer with new homes that could have housed more than 8,000 people. This is, I repeat, the best way of life to be found on the road the world has been taking. This is not a way of life at all, in any true sense. Under the cloud of threatening war, it is humanity hanging from a cross of iron."- Dwight D. Eisenhower
VB fully inherits the .dll, so if the dll was meant to read game memory, that is what it will read, I am not calling the dll , I am importing it, as explained earlier, it is similar to
#inherits Ya ya ya
in c++
If that makes sense, However, I am not 100% sure how this would work, this is all theory and speculation by me.
Why not just right a simple "class module" and let's see how it reacts?
Last edited by NextGen1; 04-30-2010 at 12:00 AM.
Hmmm... okay. That makes sense. I will try it out. I'll write a module, inject it into a program and allow you to export a function that will read the memory at a certain address. Then you can test it and verify that it works in VB. Sound good?
"Every gun that is made, every warship launched, every rocket fired signifies, in the final sense, a theft from those who hunger and are not fed, those who are cold and are not clothed. This world in arms is not spending money alone. It is spending the sweat of its laborers, the genius of its scientists, the hopes of its children. The cost of one modern heavy bomber is this: a modern brick school in more than 30 cities. It is two electric power plants, each serving a town of 60,000 population. It is two fine, fully equipped hospitals. It is some fifty miles of concrete pavement. We pay for a single fighter plane with a half million bushels of wheat. We pay for a single destroyer with new homes that could have housed more than 8,000 people. This is, I repeat, the best way of life to be found on the road the world has been taking. This is not a way of life at all, in any true sense. Under the cloud of threatening war, it is humanity hanging from a cross of iron."- Dwight D. Eisenhower
Sounds good to me
Update: Added API alternitave to sendkeys for use with global keyboard Hook
Updated: Added Mouse Hook
Compressed into one file.
Again, added full list of Virtual Key Constants, this way you do not have to manually add them
.
Last edited by NextGen1; 04-30-2010 at 01:11 AM.
Alroundeath (05-02-2010),why06 (04-30-2010)
i get this error.
Error 3 'VK_C' is ambiguous between declarations in Modules 'WindowsApplication1.SendKeyApi' and 'WindowsApplication1.KeyBoardHook'.
If you add both api's choose one for the hotkeys, both have the constants.
I will fix the error, but for now, remove the full keyboard const of the code, out of any one of them.
so in the API module remove all the "Public Const VK_ " that are there directly in a row.
so remove all this
[php]
' All Virtual Keys
Public Const VK_TAB = &H9
Public Const VK_CONTROL = &H11
Public Const VK_ESCAPE = &H1B
Public Const VK_DELETE = &H2E
Public Const VK_LBUTTON = &H1
Public Const VK_RBUTTON = &H2
Public Const VK_CANCEL = &H3
Public Const VK_MBUTTON = &H4
Public Const VK_BACK = &H8
Public Const VK_CLEAR = &HC
Public Const VK_RETURN = &HD
Public Const VK_SHIFT = &H10
Public Const VK_MENU = &H12
Public Const VK_PAUSE = &H13
Public Const VK_CAPITAL = &H14
Public Const VK_SPACE = &H20
Public Const VK_PRIOR = &H21
Public Const VK_NEXT = &H22
Public Const VK_END = &H23
Public Const VK_HOME = &H24
Public Const VK_LEFT = &H25
Public Const VK_UP = &H26
Public Const VK_RIGHT = &H27
Public Const VK_DOWN = &H28
Public Const VK_Select = &H29
Public Const VK_PRINT = &H2A
Public Const VK_EXECUTE = &H2B
Public Const VK_SNAPSHOT = &H2C
Public Const VK_Insert = &H2D
Public Const VK_HELP = &H2F
Public Const VK_0 = &H30
Public Const VK_1 = &H31
Public Const VK_2 = &H32
Public Const VK_3 = &H33
Public Const VK_4 = &H34
Public Const VK_5 = &H35
Public Const VK_6 = &H36
Public Const VK_7 = &H37
Public Const VK_8 = &H38
Public Const VK_9 = &H39
Public Const VK_A = &H41
Public Const VK_B = &H42
Public Const VK_C = &H43
Public Const VK_D = &H44
Public Const VK_E = &H45
Public Const VK_F = &H46
Public Const VK_G = &H47
Public Const VK_H = &H48
Public Const VK_I = &H49
Public Const VK_J = &H4A
Public Const VK_K = &H4B
Public Const VK_L = &H4C
Public Const VK_M = &H4D
Public Const VK_N = &H4E
Public Const VK_O = &H4F
Public Const VK_P = &H50
Public Const VK_Q = &H51
Public Const VK_R = &H52
Public Const VK_S = &H53
Public Const VK_T = &H54
Public Const VK_U = &H55
Public Const VK_V = &H56
Public Const VK_W = &H57
Public Const VK_X = &H58
Public Const VK_Y = &H59
Public Const VK_Z = &H5A
Public Const VK_STARTKEY = &H5B
Public Const VK_CONTEXTKEY = &H5D
Public Const VK_NUMPAD0 = &H60
Public Const VK_NUMPAD1 = &H61
Public Const VK_NUMPAD2 = &H62
Public Const VK_NUMPAD3 = &H63
Public Const VK_NUMPAD4 = &H64
Public Const VK_NUMPAD5 = &H65
Public Const VK_NUMPAD6 = &H66
Public Const VK_NUMPAD7 = &H67
Public Const VK_NUMPAD8 = &H68
Public Const VK_NUMPAD9 = &H69
Public Const VK_MULTIPLY = &H6A
Public Const VK_ADD = &H6B
Public Const VK_SEPARATOR = &H6C
Public Const VK_SUBTRACT = &H6D
Public Const VK_DECIMAL = &H6E
Public Const VK_DIVIDE = &H6F
Public Const VK_F1 = &H70
Public Const VK_F2 = &H71
Public Const VK_F3 = &H72
Public Const VK_F4 = &H73
Public Const VK_F5 = &H74
Public Const VK_F6 = &H75
Public Const VK_F7 = &H76
Public Const VK_F8 = &H77
Public Const VK_F9 = &H78
Public Const VK_F10 = &H79
Public Const VK_F11 = &H7A
Public Const VK_F12 = &H7B
Public Const VK_F13 = &H7C
Public Const VK_F14 = &H7D
Public Const VK_F15 = &H7E
Public Const VK_F16 = &H7F
Public Const VK_F17 = &H80
Public Const VK_F18 = &H81
Public Const VK_F19 = &H82
Public Const VK_F20 = &H83
Public Const VK_F21 = &H84
Public Const VK_F22 = &H85
Public Const VK_F23 = &H86
Public Const VK_F24 = &H87
Public Const VK_NUMLOCK = &H90
Public Const VK_OEM_SCROLL = &H91
Public Const VK_OEM_1 = &HBA
Public Const VK_OEM_PLUS = &HBB
Public Const VK_OEM_COMMA = &HBC
Public Const VK_OEM_MINUS = &HBD
Public Const VK_OEM_PERIOD = &HBE
Public Const VK_OEM_2 = &HBF
Public Const VK_OEM_3 = &HC0
Public Const VK_OEM_4 = &HDB
Public Const VK_OEM_5 = &HDC
Public Const VK_OEM_6 = &HDD
Public Const VK_OEM_7 = &HDE
Public Const VK_OEM_8 = &HDF
Public Const VK_ICO_F17 = &HE0
Public Const VK_ICO_F18 = &HE1
Public Const VK_OEM102 = &HE2
Public Const VK_ICO_HELP = &HE3
Public Const VK_ICO_00 = &HE4
Public Const VK_ICO_CLEAR = &HE6
Public Const VK_OEM_RESET = &HE9
Public Const VK_OEM_JUMP = &HEA
Public Const VK_OEM_PA1 = &HEB
Public Const VK_OEM_PA2 = &HEC
Public Const VK_OEM_PA3 = &HED
Public Const VK_OEM_WSCTRL = &HEE
Public Const VK_OEM_CUSEL = &HEF
Public Const VK_OEM_ATTN = &HF0
Public Const VK_OEM_FINNISH = &HF1
Public Const VK_OEM_COPY = &HF2
Public Const VK_OEM_AUTO = &HF3
Public Const VK_OEM_ENLW = &HF4
Public Const VK_OEM_BACKTAB = &HF5
Public Const VK_ATTN = &HF6
Public Const VK_CRSEL = &HF7
Public Const VK_EXSEL = &HF8
Public Const VK_EREOF = &HF9
Public Const VK_PLAY = &HFA
Public Const VK_ZOOM = &HFB
Public Const VK_NONAME = &HFC
Public Const VK_PA1 = &HFD
Public Const VK_OEM_CLEAR = &HFE
[/php]
Last edited by NextGen1; 05-01-2010 at 10:59 PM.
There are multiple methods for that why06.
This is a thread that discuss' it.
You can use pipes.Code:https://social.msdn.microsof*****m/Forums/en-IE/csharpgeneral/thread/97205e69-84ca-49e2-98dc-e9f1411e0eb4
or WFCCode:https://msdn.microsof*****m/en-us/library/aa365780%28v=VS.85%29.aspx
Code:https://www.switchonthecode.com/tutorials/wcf-tutorial-basic-interprocess-communication
"I don't believe in an afterlife, so I don't have to spend my whole life fearing hell, or fearing heaven even more. For whatever the tortures of hell, I think the boredom of heaven would be even worse." - Isaac Asimov
If I can think of something awesome to add, I'll PM it when I can.
Can't think of anything though XD
Sounds good, I am almost done with the Anti-Recoil, Rapidfire , and DX cross hair, sometime today probably