SRL Archive - General

Hybrid?


Krichevskoy

2006-05-25 03:15:22

So, to me it looks like the only possible problem with SCAR is being unable to find objects due to similar colors or wide-range changing colors. Then there are limitations, chiefly on the information that can be gathered by programmatically observing the client (because I don't think Pascal can really support AI that would be able to analyse the entire game situation?)
Here's the idea: by monitoring the client (not editing; all passive, thus far undetected) it is possible to determine the screen coordinates of a given object/npc. It is also very simple to pass these values to SCAR using one of a variety of methods (currently my favorite is shared memory mapping, which lets you use interSCARMessage functions on the SCAR side). So here's what this would allow you to do: obtain the exact position of a given NPC on the screen, then one of two things:

1) The more dependent version, simply use those coordinates (shifted a little of course).

2) The less dependent version, use it to restrict your color search and look in that area with high tolerance (for instance, finding anything vaguely white near the coords for a sheep).

There are tons of info that can be easily obtained from the client that I assume must be slightly irritating to get with SCAR - stats, awareness of your surroundings (who, what, where, how many?), chat monitoring, possible better random detection (I don't know how you guys do that atm), the ability to walk places by coordinate…I mean, obviously any game function is accessible.

I don't know if you guys would be interested (being an apparently pure SCAR community), but the idea crossed my mind again while I was working on the new engine and I realized that I am once again a member of a great SCAR-centric community, so the idea of leveraging the advantages of Java hacking (info) with the advantages of SCAR (less detectability) might be considered again (I'm convinced its day was coming if real life hadn't gotten to kait quite so soon). Sadly, in the wake of Aryan most people seem to reject SCAR. Also, I'm sort of dreading writing a bunch of new mouse movement methods, and if I'm just working for myself then the new engine is a great excuse to spend time thinking up something new in that department.

The screen below comes from a client that requires no source (just drop runescape.jar in the directory), though the updater is slightly incomplete at the moment - hopefully in its final phase there will be no need for an external updater (I'm working on stable, internal field-finding routines).



And, honestly, I don't want to write a full 'bot' - the hybrid thing is more interesting, and SCAR as the main engine would seem to be better anyway, since its detection record is much better.

WT-Fakawi

2006-05-25 04:23:41

Indeed. The only thing we have to go on are Colors, Bitmaps and some Boolean Logic. The possibility of passivley monitoring the client and thus obtaining information about coords/NPC/items has been under discussion for a long time. Wasn't this the basic idea behind X-Scar?

Truely, if you have within your powers to do accomplish this, me knows *zilch* about java, It would be a great asset to this community.

However, I would like to stress out that I would like to stay within legality if you understand what I mean. Playing against the rules, fine, but I dont want to recieve Jagex threat-mails.

Now, I am not a Moral Knight in any way, but we have set those conditions for this community to avoid getting into trouble. And I want to stay out of trouble :D

So, if you can accomplish this without crossing Jagex Copyrights, we are all ears….

Wizzup?

2006-05-25 06:07:28

Very nice, I have been thinking about this for a long time,

Keep up the good work.

I remember first post=p

2006-05-25 10:12:55

Yay! I heard you were working on this a long time ago :X and you finished! (well sort of :p) <3! Java and SCAR communicating… I'm glad we're a private community.

BenLand100

2006-05-25 14:38:44

I've got a technical question. Wouldn't it be possible to create a new file that extended the client and get every bit of info from the client by means of reflection? Since everything is initilized from the client class, if you had that object you could get all the feilds and methods from it, inturn getting all of the classes' fields and methods. You'ed still have to rename and recompile the source code though. unless there is a way to find methods and fields without knowing their names, or identify them in the array of methods/fields in each class… Then again it is possible that i am just rambeling
Edit: now that i re-read your post i see that this is most likely what you are doing ;)

Krichevskoy

2006-05-25 16:16:55

From: BenLand100
I've got a technical question. Wouldn't it be possible to create a new file that extended the client and get every bit of info from the client by means of reflection? Since everything is initilized from the client class, if you had that object you could get all the feilds and methods from it, inturn getting all of the classes' fields and methods.


I am currently not using reflection, though I could. In fact, that might work out very well. If it's good enough for Jagex's self-analysis, we can certainly use it too. As for obtaining the client as an object, I'm sort of waffling between loader and extension. Either one could work.

From: BenLand100

You'ed still have to rename and recompile the source code though. unless there is a way to find methods and fields without knowing their names


Yes, there is :D
Variable names have no effect on VM instructions.

BenLand100

2006-05-25 19:00:54

From: Krichevskoy
Yes, there is :D
Variable names have no effect on VM instructions.
say you have class A defined as follows:
public class A {
public String Unk1(int A, int B) {
...
}
public String Unk2(int A, intB) {
...
}
}
You could either load the class with a class loader if its not loaded or call Class.forName("A") to get the Class object. Now, we know that 1 method in class A returns a String that is the name of the object at A,B and another method returns a string that is the item in your inventory at A,B. How would you programaticly determin which is which without knowing the names? I know you can do Class.forName("A").getDeclaredMethods() for an array of the methods in the class, but because they both have the same args and return types is there any way to choose the correct one? I'm not trying to prove you wrong, I actualy want to know how to do this :D

And, on another note, i would go for using a loader now that i think about it, since then overall management of the classes would be easier.

jcp

2006-05-25 20:57:44

Isnt this similar to what RichyT did with sbot3? Anyway, this sounds great, how can I help?

Keen

2006-05-25 21:15:37

Krichevskoy, wasn't this what you and the guy from jagex started back at kaitnieks. Wasn't it Scarx? Anyways this would be great for knowing if your account is flaged or not. :rolleyes:

Renax

2006-05-26 13:44:47

semaphore was never from jagex, and it was Semaphore and Asdf who created Xscar

I remember first post=p

2006-05-27 01:51:29

From: Renax
semaphore was never from jagex, and it was Semaphore and Asdf who created Xscar


Speaking of which, is the Asdf we have here the true Asdf?

WT-Fakawi

2006-05-27 05:17:46

dont know. Not sure. Someone mentioned an imposted down at Abyssal's site, I limited his privs here. He hasnt contacted me eversince.

Avaphi

2006-05-27 21:22:12

————–

Avaphi

2006-06-24 04:51:55

Can you update us on the progress of this, I am VERY EAGER to test, and use to its FULL Advantage…

phonnygoblin

2006-09-07 15:07:39

DIdnt u post this on mopar a year ago?

Wizzup?

2006-09-08 04:34:19

Look at dates before you post.