AutoHotkey Community

It is currently May 27th, 2012, 11:45 am

All times are UTC [ DST ]




Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Game Guard
PostPosted: October 19th, 2005, 3:35 am 
Offline

Joined: September 5th, 2005, 7:55 am
Posts: 93
Location: Down the hall, on your left.
I play an MMORPG called MapleStory that has ecently implemented a new hacking protection, Game Guard. This program can somehow tell the difference between a real key and one that AHK uses. It even disables my Joystick to Mouse script. This causes a problem. Joystick to Mouse is NOT a hack under any strech of the imagination.

So I pose a question to Chris and anybody else with ideas. How could this stupid piece of software be able to tell the difference between reakl and AHK?
Also is there any way that i can get my Joystick to Mouse script to run with it?

_________________
Now the world has gone to bed,
Darkness won't engulf my head,
I can see by infra-red,
How I hate the night.

Now I lay me down to sleep,
Try to count electric sheep,
Sweet dream wishes you can keep,
How I hate the night.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: October 19th, 2005, 7:00 am 
Quote:
... this stupid piece of software (MapleStory) ...
Obviously its developers are smart asses. Give credit to them. Try to beat them. AFAIK that's the game behind the game. In some cases it makes sense not to put to much effort into it. The main thing I would think about to "solve" such an "issue" is - that once it's done I know what remains is my improved skill set :wink:. TBH those guys&dolls are paid to defend you*. If the cheat itself is what you're about, you've lost as you waste something which you can't buy anywhere once you've spend it - life/time.

If you are going to die you might wish to get back those hours you've wasted to cheat a game/beat its developers. Promised. (BoBo's Philosophic Lesson Part I)

*TimeBandits :twisted:


Report this post
Top
  
Reply with quote  
 Post subject:
PostPosted: October 19th, 2005, 7:10 am 
Offline

Joined: September 5th, 2005, 7:55 am
Posts: 93
Location: Down the hall, on your left.
New development:

The "Game Guard" is only blocking the artificial input. Is there some way to send that input directly to Maple? Alternatively can the dll that has to do with input (if there is one) be called to send the mouse movement?

_________________
Now the world has gone to bed,
Darkness won't engulf my head,
I can see by infra-red,
How I hate the night.

Now I lay me down to sleep,
Try to count electric sheep,
Sweet dream wishes you can keep,
How I hate the night.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: October 19th, 2005, 10:12 am 
Offline

Joined: March 2nd, 2004, 3:36 pm
Posts: 10720
The short answer is that simulating keystrokes and clicks in these types of games might be possible using one of the following programs: Journal Macro, QuicKeys, KeyGO, OnHand, Toggle Keyboard. Update: AutoHotkey now supports SendPlay, which is believed to work in a broader variety of games.

If they don't work either, the solution probably lies with tinkering at the driver level, which is currently outside the scope of AutoHotkey (as well as my expertise, for that matter). For a more in depth discussion, see http://www.autohotkey.com/forum/viewtopic.php?t=829


Last edited by Chris on March 30th, 2006, 4:42 pm, edited 1 time in total.

Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: October 21st, 2005, 3:00 am 
Offline

Joined: September 5th, 2005, 7:55 am
Posts: 93
Location: Down the hall, on your left.
I only looked at a few of them but, they seem expensive... I don't want to shell out 80 bucks for a script.

_________________
Now the world has gone to bed,
Darkness won't engulf my head,
I can see by infra-red,
How I hate the night.

Now I lay me down to sleep,
Try to count electric sheep,
Sweet dream wishes you can keep,
How I hate the night.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: October 21st, 2005, 4:01 am 
*Cough*AutoIt *Cough*

Try looking into VB script too :)


Report this post
Top
  
Reply with quote  
 Post subject:
PostPosted: October 21st, 2005, 4:01 am 
Offline

Joined: September 5th, 2005, 7:55 am
Posts: 93
Location: Down the hall, on your left.
How does the 'send' command work exactly? Does it use sendmessage/postmessage WM_KEYDOWN? If it doesn't, then I think that would be a good thing for me to test.

_________________
Now the world has gone to bed,
Darkness won't engulf my head,
I can see by infra-red,
How I hate the night.

Now I lay me down to sleep,
Try to count electric sheep,
Sweet dream wishes you can keep,
How I hate the night.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: October 21st, 2005, 5:08 am 
Offline

Joined: September 5th, 2005, 7:55 am
Posts: 93
Location: Down the hall, on your left.
Using postmessage had no effect. Maybe I am sending it to the wrong window.


Random fact:
Did you know that there is no process for MapleStory? It's wierd, in the program manager if you select 'go to process' it does nothing. Befor game Guard was initiated it went to a process 'MapleStory.exe' but that process is strangely missing from the list of processes.

_________________
Now the world has gone to bed,
Darkness won't engulf my head,
I can see by infra-red,
How I hate the night.

Now I lay me down to sleep,
Try to count electric sheep,
Sweet dream wishes you can keep,
How I hate the night.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: October 21st, 2005, 1:22 pm 
Offline

Joined: March 2nd, 2004, 3:36 pm
Posts: 10720
Guest wrote:
*Cough*AutoIt *Cough*
Try looking into VB script too :)
As far as I know, neither one can send keystrokes to protected games. However, if someone knows otherwise I'll add them to the FAQ with the other five programs.

xx3nvyxx wrote:
How does the 'send' command work exactly? Does it use sendmessage/postmessage WM_KEYDOWN?
It calls the built-in OS function keybd_event(), which simulates keystrokes in the active window. Your PostMessage idea is similar to what ControlSend uses, so you might try that.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: October 21st, 2005, 11:22 pm 
Offline

Joined: September 5th, 2005, 7:55 am
Posts: 93
Location: Down the hall, on your left.
Even broadcasting the key to all windows failed. :\

Back to the drawing board, I guess.

Edit: Er, stupid mistake. Didn't test broadcast beforehand. It doesn't even send to TextPad. Not an accurate test I guess.

Edit: I did broadcast correctly and still have had no luck. Maybe a driver is the best/only solution. I have never worked in c though. This might take a while. *sigh*

_________________
Now the world has gone to bed,
Darkness won't engulf my head,
I can see by infra-red,
How I hate the night.

Now I lay me down to sleep,
Try to count electric sheep,
Sweet dream wishes you can keep,
How I hate the night.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: December 29th, 2005, 3:01 pm 
hi .. i was juz reading this ...im a newbie at this scripting ... can u make a scrip that presses {END} ....


Report this post
Top
  
Reply with quote  
 Post subject:
PostPosted: December 29th, 2005, 3:54 pm 
Offline

Joined: December 22nd, 2005, 7:43 pm
Posts: 245
Anonymous wrote:
hi .. i was juz reading this ...im a newbie at this scripting ... can u make a scrip that presses {END} ....


Off topic, but nevertheless:

Code:
f1::
Send, {End}
return


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: May 17th, 2006, 2:23 am 
If you use Process Guard to keep Maple Story from doing low level keyboard and mouse hooks, and allow AHK to add it's hooks, you can get everything but the up, down, left and right arrow keys to work in game.

Anyone got any ideas why that is so?


Report this post
Top
  
Reply with quote  
 Post subject:
PostPosted: June 21st, 2006, 7:37 am 
Offline

Joined: January 20th, 2006, 4:48 am
Posts: 29
Location: Colorado, USA
Check and see if this code can catch the 'hidden process'

(I can't remember where I got the original script, but to whoever made it, I thank them.)

G.G. might just be removing itself form the task manager

Code:
gosub,GetProcessInfo
msgbox,%allnames%
return

GetProcessInfo:
   allnames=
   DllCall( "advapi32.dll\LookupPrivilegeValueA", "uint", 0, "str", "SeDebugPrivilege", "int64*", luid_SeDebugPrivilege )
   Process, Exist
   pid_this := ErrorLevel
   DllCall( "OpenProcess", "uint", 0x400, "int", false, "uint", pid_this )
   DllCall( "advapi32.dll\OpenProcessToken", "uint", hp_this, "uint", 0x20, "uint*", ht_this )
   VarSetCapacity( token_info, 4+( 8+4 ), 0 )
   EncodeInteger( 1, 4, &token_info, 0 )
   EncodeInteger( luid_SeDebugPrivilege, 8, &token_info, 4 )
   EncodeInteger( 2, 4, &token_info, 12 )
   DllCall( "advapi32.dll\AdjustTokenPrivileges", "uint", ht_this, "int", false, "uint", &token_info, "uint", 0, "uint", 0, "uint", 0 )
   if A_OSVersion in WIN_95,WIN_98,WIN_ME
   {
      MsgBox, This Windows version (%A_OSVersion%) is not supported.
   }
   pid_list_size := 4*1000
   VarSetCapacity( pid_list, pid_list_size )
   status := DllCall( "psapi.dll\EnumProcesses", "uint", &pid_list, "uint", pid_list_size, "uint*", pid_list_actual )
   ;if ( ErrorLevel or !status )
   ;   return
   total := pid_list_actual//4
   r_pid_list=
   address := &pid_list
   loop, %total%
   {
      p_pid := ( *( address )+( *( address+1 ) << 8 )+( *( address+2 ) << 16 )+( *( address+3 ) << 24 ) )
      h_process := DllCall( "OpenProcess", "uint", 0x10|0x400, "int", false, "uint", p_pid )
      name_size = 255
      VarSetCapacity( name, name_size )
      result := DllCall( "psapi.dll\GetModuleFileNameExA", "uint", h_process, "uint", 0, "str", name, "uint", name_size )
      DllCall( "CloseHandle", h_process )
      if name !=
         allnames=%allnames%`n%name%
      address += 4
   }
   DllCall( "CloseHandle", "uint", ht_this )
   DllCall( "CloseHandle", "uint", hp_this )
return

EncodeInteger( p_value, p_size, p_address, p_offset )
{
   loop, %p_size%
   DllCall( "RtlFillMemory", "uint", p_address+p_offset+A_Index-1, "uint", 1, "uchar", p_value >> ( 8*( A_Index-1 ) ) )
}


I just was surfing the forum before putting this code somewhere else


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: August 11th, 2008, 7:12 am 
Offline

Joined: August 2nd, 2008, 12:31 am
Posts: 101
i seem to remember my father telling me once, that for a program to appear on the task manager it had to tell the computer it wanted to be on it. So this gameguard just doesn't tell the taskmanager it's there.

_________________
Woot.

Please read forum etiquette


Report this post
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next

All times are UTC [ DST ]


Who is online

Users browsing this forum: Google [Bot], MSN [Bot] and 19 guests


You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Group