Help! GetAsyncKeyState Detected

Posts 1–14 of 14 · Page 1 of 1
Help! GetAsyncKeyState Detected
My GetAsyncKeyState is detected,
If I remove the getasynckeystate I get on with the game
but when I put it, I get detected. Help please~
You could use GetKeyState instead (I personally never used GetAsyncKeyState, Idk how you guys implement it). That, or just switch up how it's called. XIGNCode is pretty shit (imo), I've changed the order of a series of function calls before and a program was undetected.
Quote Originally Posted by asqapro View Post
You could use GetKeyState instead (I personally never used GetAsyncKeyState, Idk how you guys implement it). That, or just switch up how it's called. XIGNCode is pretty shit (imo), I've changed the order of a series of function calls before and a program was undetected.
Thank you for replying Are you sure that GetKeyState works? Cause as far as i know, it's just for HIGHER CASE and lower case state of every letters.
What do you mean by "just switch up how it's called?" could you explain it a bit more?
Quote Originally Posted by blackgamingthesecond View Post
Thank you for replying Are you sure that GetKeyState works? Cause as far as i know, it's just for HIGHER CASE and lower case state of every letters.
What do you mean by "just switch up how it's called?" could you explain it a bit more?
Sorry about the slow reply, I keep writing it up then not finishing it xP

GetKeyState works if you check the bit state or some shenanigans correctly. Use
Code:
if((GetKeyState(KEY) & 0x80) == 1){}
to see if a key is pressed. It's the only thing I use for my macros, and it works fine.

And by "switch it up", I mean like if you have a block of code that looks like
Code:
if(GetAsyncKeyState(KEY)){ do_stuff } if(GetAsyncKeyState(OTHER_KEY)){ do_other_stuff}
Simply switching the call order to like
Code:
if(GetAsyncKeyState(OTHER_KEY)){ do_other_stuff } if(GetAsyncKeyState(KEY)){ do_stuff}
Might make it undetected. XIGNCode is pretty bad (in my opinion, other people would disagree), so sometimes something as simple as that will fix your problems. If it doesn't, you can change the call order more drastically, or convolute it in other ways (calling dummy functions that just do nothing has worked before for me, but I try to avoid those because it makes the source a little confusing).
Quote Originally Posted by asqapro View Post
Sorry about the slow reply, I keep writing it up then not finishing it xP

GetKeyState works if you check the bit state or some shenanigans correctly. Use
Code:
if((GetKeyState(KEY) & 0x80) == 1){}
to see if a key is pressed. It's the only thing I use for my macros, and it works fine.

And by "switch it up", I mean like if you have a block of code that looks like
Code:
if(GetAsyncKeyState(KEY)){ do_stuff } if(GetAsyncKeyState(OTHER_KEY)){ do_other_stuff}
Simply switching the call order to like
Code:
if(GetAsyncKeyState(OTHER_KEY)){ do_other_stuff } if(GetAsyncKeyState(KEY)){ do_stuff}
Might make it undetected. XIGNCode is pretty bad (in my opinion, other people would disagree), so sometimes something as simple as that will fix your problems. If it doesn't, you can change the call order more drastically, or convolute it in other ways (calling dummy functions that just do nothing has worked before for me, but I try to avoid those because it makes the source a little confusing).
Is this a joke?
Quote Originally Posted by Bitset View Post
Is this a joke?
>passive aggressive insult rather than helping me or the OP
>not elaborating on why you think my post is not useful
Quote Originally Posted by asqapro View Post
>passive aggressive insult rather than helping me or the OP
>not elaborating on why you think my post is not useful
>Xigncode3 is far more advance then you think probably one of the top anti cheat systems, maybe the AVA version is cheap version of it
>Xingcode3 detects the return of a lot of API's so "switch it up" is totally useless
>For OP I would either fake the API's return or use a lowlevel keyboard hook
Quote Originally Posted by asqapro View Post
Code:
if((GetKeyState(KEY) & 0x80) == 1){}
Well, that's just silly. The bitwise and operator produces a bit mask that preserves bits in places where bits are flagged in each number (e.g. 001010 & 110011 = 000010). The problem with that is that 0x80 is 128, the 8th bit in a mask, therefore the value that ... & 0x80 would produce is either 0 or 128, never 1.

Code:
if (GetKeyState(KEY) & 0x80){}
Quote Originally Posted by Bitset View Post
>Xigncode3 is far more advance then you think probably one of the top anti cheat systems, maybe the AVA version is cheap version of it
>Xingcode3 detects the return of a lot of API's so "switch it up" is totally useless
>For OP I would either fake the API's return or use a lowlevel keyboard hook
Im sorry but xign is shitty as fuck.
>Its extremly bad written and lacks of good detection methods
>Spoofing return addresses is not hard ^^
>You are right, GetKeyState & GetAsyncKeyState should not be used at all. Hook AVA's message proc or handle your own input (directinput for e.x.)

>Greentexting on mp4changh
Quote Originally Posted by zZzeta/S View Post


Im sorry but xign is shitty as fuck.
>Its extremly bad written and lacks of good detection methods
>Spoofing return addresses is not hard ^^
>You are right, GetKeyState & GetAsyncKeyState should not be used at all. Hook AVA's message proc or handle your own input (directinput for e.x.)

>Greentexting on mp4changh
I guess you guys never experienced the full version Xigncode3 since the way you guys in the AVA section talk about it, it's easy to do a simple bypass with no heartbeat.
Quote Originally Posted by Bitset View Post
I guess you guys never experienced the full version Xigncode3 since the way you guys in the AVA section talk about it, it's easy to do a simple bypass with no heartbeat.
Oh no not only this joke version^^.
Many other version around many countries.
Why don't you just do a Keyboard Hook instead? Is so simple to implement and it's a lot faster to use. It'll increase performance, and I don't think it should be detected. I don't really understand how GetAsyncKeyState calls are really detected.

Code:
// Initialize the hook
HMODULE hInstance = GetModuleHandle(hModule);
hHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, hInstance, NULL);


// When exiting to unhook, detaching from process
UnhookWindowsHookEx(hHook);


// The actual Hook function
LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
    if(wParam == WM_KEYDOWN || wParam == WM_SYSKEYDOWN)
    {    
        PKBDLLHOOKSTRUCT pKey = (PKBDLLHOOKSTRUCT)lParam;
                
        // Check pKey->vkCode to match any VK_KEYCODE to see if it was pressed


        if(pKey->vkCode == VK_NUMPAD1)
        {
            // Do something here because the key was pressed
        }
    }


    CallNextHookEx(hHook, nCode, wParam, lParam);


    return 0;
}
Quote Originally Posted by Bitset View Post
>Xigncode3 is far more advance then you think probably one of the top anti cheat systems, maybe the AVA version is cheap version of it
>Xingcode3 detects the return of a lot of API's so "switch it up" is totally useless
>For OP I would either fake the API's return or use a lowlevel keyboard hook
Could you help me? I am using silverDeath's proxy call. It's detected when I use it to GetAsyncKeyState
Quote Originally Posted by blackgamingthesecond View Post
Could you help me? I am using silverDeath's proxy call. It's detected when I use it to GetAsyncKeyState
I use that and it works fine maybe your injection method is detected or if you are using createthread 100% detected.
Posts 1–14 of 14 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Talk with us