Difference between revisions of "User:PiRocks"

From Robowiki
Jump to navigation Jump to search
Line 11: Line 11:
 
:So far, the only major glitch I have found is that you can cheat the SecurityManager by achieving a "SafeContext". One easy way to do this is using the following Class...
 
:So far, the only major glitch I have found is that you can cheat the SecurityManager by achieving a "SafeContext". One easy way to do this is using the following Class...
 
<syntaxhighlight>
 
<syntaxhighlight>
package hacker;
+
package <your package here>;
  
 
/**
 
/**
  * MyClass - a class by (your name here)
+
  * Cheat - allows access to blocked pacakges.
 
  */
 
  */
public class SecurityLoopHole extends robocode.security.RobocodeSecurityManager
+
public class Cheat extends robocode.security.RobocodeSecurityManager//Choose a class in the package you wish to access.
 
{
 
{
public SecurityLoopHole() { super(null, null,true ,true); }
+
public Cheat() {
public static void loopHole(SecurityManager z,Thread x) throws Exception {
+
super(null, null,true ,true);//replace the parameters with whatever your class requires.
final robocode.security.RobocodeSecurityManager sm=((robocode.security.RobocodeSecurityManager)z);
+
}
//sm.threadOut(new Boolean(sm.isSafeContext()).toString());
+
public static void loopHole(<any argument you wish to use) throws Exception {
System.setSecurityManager(null);
+
//This code here has full access to the package you want to use.
//sm.addSafeThread(x);
+
//use this method instead of creating a new class to avoid having the class you extended do things that you
//new SecurityLoopHole();
+
//don't wish it to do.
 
}
 
}
 
}
 
}
  
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 03:36, 4 July 2010

PiRocks

I am an experienced Java programmer. As you can guess, I love pi ( and also pie). In RoboRumble, I use the package name "hacker".

I am using "work-around" methods for my robots to make them better as well as find security glitches.

Hacker Robots

Right now my only robot is Destroyer. It is a 1-v-1 and Melee robot. Unfortunately, it was built and tested using Robocode v1.7.2.1 Beta, which has a different SecurityManager. Because of this my work-a-round method to create more threads doesn't work, resulting in auto disqualification. I am trying to fix this, but my next update will probably take a while.

Glitches

1.6.1.4 Glitches

So far, the only major glitch I have found is that you can cheat the SecurityManager by achieving a "SafeContext". One easy way to do this is using the following Class...
package <your package here>;

/**
 * Cheat - allows access to blocked pacakges.
 */
public class Cheat extends robocode.security.RobocodeSecurityManager//Choose a class in the package you wish to access.
{
	public Cheat() {
		super(null, null,true ,true);//replace the parameters with whatever your class requires.
	}
	public static void loopHole(<any argument you wish to use) throws Exception {
		//This code here has full access to the package you want to use.
		//use this method instead of creating a new class to avoid having the class you extended do things that you
		//don't wish it to do.
	}
}