MPC Forums
BattleApps


Go Back   MPC Forums > ..:: Games ::.. > Maple Story

Maple Story Talk here about Maple Story.

Reply
 
Thread Tools
Old 21st February 2006, 23:49   #1
Pradu
C/C++/Java Programmer
MPC Member
 
Pradu's Avatar
 
MapleStory Botting Program

Hi all,

This is my first post here and hopefully it can be somewhat useful.

I have started writing a botting program using Windows system hooks. It has both recording and playback of keyboard/mouse events using these hooks. My program is written in both Java and C. Apparently Java by itself isn't capable of installing system hooks so I had to write a C program that installed the hook and communicated with the Java program through a pipe. I use the C program to install the hooks and use the java.awt.Robot class to playback recordings.

Now here's the problem.

The WH_JOURNALRECORD hook won't work with Maple Story (Global) because gameguard/nprotect seems to block this type of hook. But there is a way around this using low level hooks like WH_KEYBOARD_LL and WH_MOUSE_LL which reads directly from the respective device driver. Now my program can record input from inside maple.

The playback also works fine, except when Maple Story currently in context. Now that I have figured out how to get past input problems, I'm a little stuck on how to playback what I've recorded. Do I have to write playback code in assembler or does anyone here know of a simpler way of playing back recorded input with MapleStory in context.

I have attached my current application (run the .jar file not the .exe file). If you get a main class not found error run the jar file with arguments specifing that MainFrame is the main class.
Attached Files
File Type: zip PURBot.zip (451.8 KB, 122 views)

Last edited by Pradu; 22nd February 2006 at 01:05..
Pradu is offline   Reply With Quote
Old 22nd February 2006, 01:14   #2
jeffy_jai
Dark Mage
 
hey if you can get a bot to work does it mean you understand how to bypass the nProtect/gamegaurd of ms?

`EDITS:: whups read a bit fast. nvm
jeffy_jai is offline   Reply With Quote
Old 22nd February 2006, 03:05   #3
fool_walker
No one live forever
Lord of Destiny
 
fool_walker's Avatar
 
Yeah, ur project work fine except Maple in context. Just like Auto-It macro, in desktop it's work fine even GG running, but no effect when switch to Maple.
Ur project is fine while playing, but when Press F12 to Stop, it's hangs a while and so on.

Im not a programmer, so I cant help u in coding. But I suggest 1 method. Using method like OnScreen Keyboard of Windows. When u play Maple, u press a key in OnScreen Keyboard, it's perfectly input in to maple, like we press a button on keyboard.

Btw, hope u success in this project. I like all marco program.
fool_walker is offline   Reply With Quote
Old 22nd February 2006, 04:22   #4
eternal_dream
People From Nowhere
Silver Dragon
 
eternal_dream's Avatar
 
U got the way, keep on it for mpc
eternal_dream is offline   Reply With Quote
Old 22nd February 2006, 04:25   #5
Pradu
C/C++/Java Programmer
MPC Member
 
Pradu's Avatar
 
How to send input to Maple

I finally figured out why it dosen't work when Maple Story is in context and it dosen't have to do with gameguard either. It seems Maple Story uses DirectX's DirectInput. SendInput inserts the events in the Windows event queue, but DirectInput bypasses it and hooks directly into the keyboard/mouse driver and ignores whatever PURBot sends. The only way I know to get past this is writing a virtual device drivier that inserts keyboard /mouse input directly into the keyboard/mouse buffer. I guess I have to do this assembler...


Quote:
Originally Posted by fool_walker
Btw, hope u success in this project. I like all marco program.
Quote:
Originally Posted by eternal_dream
U got the way, keep on it for mpc
Thanks for the encouragement. I plan to implement pixel/image recognition and logical instructions as soon as I fix this DirectX problem. Hopefully it all works out.

Last edited by Pradu; 22nd February 2006 at 04:35..
Pradu is offline   Reply With Quote
Old 22nd February 2006, 04:35   #6
eternal_dream
People From Nowhere
Silver Dragon
 
eternal_dream's Avatar
 
U learn Dev C from?
eternal_dream is offline   Reply With Quote
Old 22nd February 2006, 04:44   #7
Pradu
C/C++/Java Programmer
MPC Member
 
Pradu's Avatar
 
Quote:
Originally Posted by eternal_dream
U learn Dev C from?
I actually learnt programming in Java first and expiremented with the C programming language while writing a chess program (http://witz.sf.net/). It was easy to teach myself C because it is very similar and simpler compared to Java.

Last edited by Pradu; 22nd February 2006 at 04:46..
Pradu is offline   Reply With Quote
Old 22nd February 2006, 04:52   #8
eternal_dream
People From Nowhere
Silver Dragon
 
eternal_dream's Avatar
 
Oh, u learn from the tutorial. I thk u got teacher for learning it. Just asking.
eternal_dream is offline   Reply With Quote
Old 22nd February 2006, 04:56   #9
Pradu
C/C++/Java Programmer
MPC Member
 
Pradu's Avatar
 
Yeah I don't think this discussion is on topic with the first post. I had no teacher for learning C, but I did for Java. If you want to learn C you can PM me and I'll give you my MSN name and can teach you C. I am unable to PM because I don't have the minimum 10 posts required to PM...
Pradu is offline   Reply With Quote
Old 22nd February 2006, 05:00   #10
eternal_dream
People From Nowhere
Silver Dragon
 
eternal_dream's Avatar
 
Nah, i knw abt programming. I have learn it from my brother. But, i need to ask my brother if i want programming bcoz i dnt untd so much.
eternal_dream is offline   Reply With Quote
Old 22nd February 2006, 14:28   #11
duhkid
Devil of Hell
 
duhkid's Avatar
 
where is the recorded file saves to? and how to use it?
duhkid is offline   Reply With Quote
Old 22nd February 2006, 14:31   #12
andrewlim
New MPC User
 
can u teach me the basic steps to use this? thx
andrewlim is offline   Reply With Quote
Old 22nd February 2006, 14:58   #13
fool_walker
No one live forever
Lord of Destiny
 
fool_walker's Avatar
 
This is havent done yet. So u guyz pls wait for sometimes. I belive he can make it.
fool_walker is offline   Reply With Quote
Old 22nd February 2006, 15:05   #14
ts29e
MPC Member
 
Just use Hot Keyboard Pro..Problem solved.
ts29e is offline   Reply With Quote
Old 22nd February 2006, 18:14   #15
Pradu
C/C++/Java Programmer
MPC Member
 
Pradu's Avatar
 
Quote:
Originally Posted by ts29e
Just use Hot Keyboard Pro..Problem solved.
Hot Keyboard Pro only does Keyboard input/output. If there was another free botting utility that does mouse and keyboard io and gets past gameguard/DirectX and allows AI Botting, I wouldn't be making this application.

Quote:
Originally Posted by fool_walker
This is havent done yet. So u guyz pls wait for sometimes. I belive he can make it.
I will make it . I hardly have free time right now so mabe I can make a simple release here in a couple weeks or earlier.

Last edited by Pradu; 22nd February 2006 at 18:17..
Pradu is offline   Reply With Quote
Reply

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Forum Jump



All times are GMT +2. The time now is 20:27.

Powered by vBulletin® Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Style Provided By: Wrestling Clique - Wrestling Forums


Page generated in 0.16457 seconds with 12 queries