Cherokee Code
Status: Beta
Brought to you by:
moparisthebest
Cherokee is a fully extensible and scriptable automation engine for any and all java applets. To make it work for your favorite java applet the most you have to do is write is two classes. Copyright (C) 2007 Travis Burtrum (moparisthebest) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. The code *may* be used under a lesser license (such as the LGPL) only by express written permission from Travis Burtrum (moparisthebest) --------------------------------------------------------------------------------------------- This bot's goal is to provide a scripting and input solution for any and all java applets. It can be used on ANY program that extends java.applet.Applet. I have provided a few examples on how to run and use the bot including one script, and 3 different applet examples each having a unique way of loading the classes. The bot was written in a way as to make it very flexible, for example there is no restriction on how the classes are loaded, or even how AccessorMethods works, you can even generate it on the fly. Some ideas for an AccessorMethods class include color finding/clicking routines, heavy duty reflection and/or bcel usage, or even bytecode injected method calls, the possibilities are truly endless. There are 2 important parts to using this bot: The Interfaces: You must write 2 classes, one implementing the com.cherokee.Setup interface and the other implementing the com.cherokee.AccessorMethods interface, the name of your setup class must be included in the conf file which is sent in as the first paramater when running the application. The conf file: The conf file is formated like a java Properties file, and currently has 3 required paramaters which are "getCodeBase", "getDocumentBase", "Setup", look at the example conf files in the ./conf/ folder for more information. There is also a debug mode which can be activated by sending in a second parameter, this will simply print to the command line some extra information, like the parameters being asked for. The current examples can be ran with the following commands(replace ; with : in *nix): java -cp .;./bin/ com.cherokee.Cherokee ./conf/test.conf java -cp .;./bin/ com.cherokee.Cherokee ./conf/rs2.conf java -cp .;./bin/ com.cherokee.Cherokee ./conf/rsc.conf the bcel library is hosted from http://jakarta.apache.org/site/downloads/downloads_bcel.cgi where the source can be downloaded. todo: -Implement an event triggered Scripting system to be ran in the same thread as the main application, perhaps triggered to be processed by bytecode injected method calls. -Perhaps allow more modifiers to be sent with mouse presses, such as ctrl, alt, and shift. -There are also few various todo:'s scattered around the source code that need attention. Changelog: Version 0.1b First public release. Far from a finished product.