Shatterhand
2013-08-09 10:10:42
2013-08-09 10:10:42
2013-08-09 12:08:46
2013-08-09 12:11:13
Yep, it's 100% safe and legal to use, you won't get banned or in any trouble for using it don't worry. We're planning on releasing a VIP feature at some point but we aren't sure when or what benefits such a group will provide just yet.
Glad you're enjoying the client though - If you have any suggestions or need any help don't hesitate to ask and we'll do our best! :)
2013-08-09 12:34:28
wth? someone with HLF please search there for any information about this.2013-08-09 12:34:30
2013-08-09 14:19:21
2013-08-09 15:00:14
package deobber;
/**
*
* @author Brandon
*/
public class Deobber {
public static String a;
private static String[] z = new String[35];
/** Returns a String array of all deobbed strings and prints them **/
public static String[] DeobString(String InitString, byte ModCases[], String CaseStrings[]) {
String[] String16 = new String[5];
String[] String17 = String16;
byte byte18 = 0;
String String19 = InitString;
byte byte20 = -1;
while (true) {
char[] char5;
Out:
{
char[] char2 = String19.toCharArray();
int int22 = char2.length;
int int0 = 0;
char5 = char2;
int var6 = int22;
if (int22 > 1) {
char5 = char2;
var6 = int22;
if (int22 <= int0) {
break Out;
}
}
do {
char[] var8 = char5;
int int23 = int0;
while (true) {
char char24 = var8[int23];
byte byte25;
switch (int0 % 5) {
case 0:
byte25 = ModCases[0];
break;
case 1:
byte25 = ModCases[1];
break;
case 2:
byte25 = ModCases[2];
break;
case 3:
byte25 = ModCases[3];
break;
default:
byte25 = ModCases[4];
}
var8[int23] = (char) (char24 ^ byte25);
System.out.print(var8[int23]);
++int0;
if (var6 != 0) {
break;
}
int23 = var6;
var8 = char5;
}
} while (var6 > int0);
}
String var4 = (new String(char5)).intern();
System.out.println();
if (byte20 < 0) {
String17[byte18] = var4;
String17 = String16;
byte18 = 1;
String19 = CaseStrings[CaseStrings.length - 1];
byte20 = 0;
} else if (byte20 >= 0 && byte20 < CaseStrings.length - 1) {
String17[byte18] = var4;
String17 = String16;
byte18 = (byte)(byte20 + 2);
String19 = CaseStrings[byte20];
byte20 = (byte)(byte20 + 1);
} else if (byte20 >= 0 && byte20 < CaseStrings.length) {
String17[byte18] = var4;
z = String16;
return z;
}
}
}
/** Example Usage **/
public static void main(String[] args) {
DeobString("KW3", new byte[]{9, 108, 56, 71, 123}, new String[]{
"{\tK({]4T{V\"\bj\rH\"$|\n3o",
"{\tK({]4TF])(hKj)lM+{BL3",
"JV4{[3g2\'B",
"}]*"
});
}
}
Boot
theme
resources/runescape_uf.ttf
resources/OpenSans-Regular.ttf
Constructing UI...
2013-08-09 16:50:15
2013-08-09 16:57:07
2013-08-09 16:57:23
From: J J
It would be rather amusing to write a malacious dll or let it do something that will actually get them banned :)
2013-08-09 16:59:57
2013-08-09 18:36:00
From: J J
It would be rather amusing to write a malacious dll or let it do something that will actually get them banned :)
2013-08-09 19:34:18
2013-08-09 21:34:27
From: J J
It would be rather amusing to write a malacious dll or let it do something that will actually get them banned :)
2013-08-09 22:20:27
From: Brandon
Afaict, the client isn't special.. The way he frames the applet, it moves when it loses focus. It's not a bot really. It just has a couple hooks, a json parser for them and a plugin loader.. Couple mouse hooks and yeah. Anyway.. is that the same "Matt" from here and the same one from PB? Looks nice though I guess.. Doesn't seem to break any rules because it's not really a bot per say..
One of the strings printed a manifest but doesn't seem to be for "scripts". Seems to be for other stuff. It's funny that RSRogie supports it though since Matt is a powerbot member iirc.. And Rogie was bitching at me on IRC about how colour, reflection and injection ruins the game, and yet this client has reflection and plugins and he doesn't say shit.. What a hipocrite. Might not be a bot but it's still reflection. As for the sandbox for the plugin system.. Simply write a plugin script that loads a native dll.
If anyone feels the need or urge to deobfuscate the RSBuddy Orion Client Strings.. Then the code for doing so is:
*Snip*
2013-08-09 22:32:14
From: Flight
Now while I'm strict to the belief of never wishing bad upon other people I would agree I'd like to see something go wrong with this client and as a result something happen to the users and a certain someone takes the blame and the someones in charge of OSRS no longer have trust in someone who works there…
2013-08-09 22:44:36
From: Flight
Now while I'm strict to the belief of never wishing bad upon other people I would agree I'd like to see something go wrong with this client and as a result something happen to the users and a certain someone takes the blame and the someones in charge of OSRS no longer have trust in someone who works there…
2013-08-10 07:11:58
From: Awkwardsaw
It would be even more hilarious if you could write plugins that actually are bots ;)
2013-08-10 21:42:44
From: Brandon
Afaict, the client isn't special.. The way he frames the applet, it moves when it loses focus. It's not a bot really. It just has a couple hooks, a json parser for them and a plugin loader.. Couple mouse hooks and yeah. Anyway.. is that the same "Matt" from here and the same one from PB? Looks nice though I guess.. Doesn't seem to break any rules because it's not really a bot per say..
One of the strings printed a manifest but doesn't seem to be for "scripts". Seems to be for other stuff. It's funny that RSRogie supports it though since Matt is a powerbot member iirc.. And Rogie was bitching at me on IRC about how colour, reflection and injection ruins the game, and yet this client has reflection and plugins and he doesn't say shit.. What a hipocrite. Might not be a bot but it's still reflection. As for the sandbox for the plugin system.. Simply write a plugin script that loads a native dll.
If anyone feels the need or urge to deobfuscate the RSBuddy Orion Client Strings.. Then the code for doing so is:
package deobber;
/**
*
* @author Brandon
*/
public class Deobber {
public static String a;
private static String[] z = new String[35];
/** Returns a String array of all deobbed strings and prints them **/
public static String[] DeobString(String InitString, byte ModCases[], String CaseStrings[]) {
String[] String16 = new String[5];
String[] String17 = String16;
byte byte18 = 0;
String String19 = InitString;
byte byte20 = -1;
while (true) {
char[] char5;
Out:
{
char[] char2 = String19.toCharArray();
int int22 = char2.length;
int int0 = 0;
char5 = char2;
int var6 = int22;
if (int22 > 1) {
char5 = char2;
var6 = int22;
if (int22 <= int0) {
break Out;
}
}
do {
char[] var8 = char5;
int int23 = int0;
while (true) {
char char24 = var8[int23];
byte byte25;
switch (int0 % 5) {
case 0:
byte25 = ModCases[0];
break;
case 1:
byte25 = ModCases[1];
break;
case 2:
byte25 = ModCases[2];
break;
case 3:
byte25 = ModCases[3];
break;
default:
byte25 = ModCases[4];
}
var8[int23] = (char) (char24 ^ byte25);
System.out.print(var8[int23]);
++int0;
if (var6 != 0) {
break;
}
int23 = var6;
var8 = char5;
}
} while (var6 > int0);
}
String var4 = (new String(char5)).intern();
System.out.println();
if (byte20 < 0) {
String17[byte18] = var4;
String17 = String16;
byte18 = 1;
String19 = CaseStrings[CaseStrings.length - 1];
byte20 = 0;
} else if (byte20 >= 0 && byte20 < CaseStrings.length - 1) {
String17[byte18] = var4;
String17 = String16;
byte18 = (byte)(byte20 + 2);
String19 = CaseStrings[byte20];
byte20 = (byte)(byte20 + 1);
} else if (byte20 >= 0 && byte20 < CaseStrings.length) {
String17[byte18] = var4;
z = String16;
return z;
}
}
}
/** Example Usage **/
public static void main(String[] args) {
DeobString("KW3", new byte[]{9, 108, 56, 71, 123}, new String[]{
"{\tK({]4T{V\"\bj\rH\"$|\n3o",
"{\tK({]4TF])(hKj)lM+{BL3",
"JV4{[3g2\'B",
"}]*"
});
}
}
And it prints:
Boot
theme
resources/runescape_uf.ttf
resources/OpenSans-Regular.ttf
Constructing UI...
2013-08-10 23:55:49
From: Yew Long
I am beginning to learn java, could you possibly show me how to use this to undeobfuscate it or post a undeobfuscate version of the script?
Much appreciated.
2013-08-11 01:41:35
From: Brandon
Uhmm what? The code I posted works out of the box.. The code is obfuscated in the RSBuddy Orion jar file.. The code I posted will deobfuscate the strings within the client.. Just decompile the client and then use the above to deob the strings. Not sure what you mean "Deobbed version of the script". What script? :S
Why do you need the source anyway :S It's just a regular client.
2013-08-11 06:57:50
From: Yew Long
Yes I know it is obfuscated and I'm sorry if I don't make sense. What I meant by script was all the classes and such ahaha.
And I wanted the source so I could create a personal client as a project, I'm interested in how it shows the hp/pray orbs.
2013-08-11 09:22:43
2013-08-12 09:25:30
2013-08-13 22:14:10
From: Jethr0x
Hello, I'm the one that wrote Orion. Yes I am the Matt from Powerbot. I was also Jethr0x on sythe back in like 2008. After reading through this thread, there are a few things I want to address.
@Brandon: Damnit! Now I need to create my own obfuscator :P. Will probably use my old obfuscator I made last year (should be better).
@Shatterhand: This is nothing like a bot. It just uses a basic reflection engine and calculates things based on the way that a human would. An example is the hit predictor. The hit predictor is not 100% accurate, mostly because a human can't guess 100% what the next hit will be as soon as they see the xp gain. Currently it just gets the difference in HP exp and multiplies it by 0.75, something that most people (including myself) can easily do in their head. I could easily hook the hitsplat arrays and display it with 100% accuracy, but Jagex would not allow that. Orion is limited to only using methods that a real person can access and it can perform calculations on that data, and Orion just displays it in an easily viewable way.