From: the bank
I will now debunk a few ridiculous myths found in this thread.
1) It is impossible to read the window title of SMART or any other bot that I know of ever existing for that matter. The applet is a container running inside of a separate java application. Think of variable-scope in an OOP situation. Jagex can read anything from the applet and BELOW, but not ABOVE. SMART is the top running variable in that scenario, therefore Jagex can not actually access any information or even detect the existence of that top running layer.
In summery, Jagex CAN'T detect a third party loader AS LONG AS it parses the parameters discussed earlier properly and loads the OFFICIAL client. Jagex CAN detect running a modified client OR running a client which does not belong to your "client-lease" (which SMART does neither).
TL;DR: You can't get banned specifically for using SMART as it is not detectable. Hence the purpose of its inception. If they could, you would be banned, you are not above it.
No disrespect to you at all. I learned from a few of your posts on Mopar once upon a time.
However, how do you plan to "bust" the following "myth buster"?
Smart:

.
.
.
.
.
ALL browsers show
sun.plugin2.main.client.PluginEmbeddedFrame[frame0,0,0,500x500,layout=java.awt.BorderLayout,title=,resizable,normal]:
.
.

.
.
.
.
.

.
.
.
.
.
Firefox, Chrome, IE.. all show the same thing.. PluginEmbeddedFrame. None of which is SMART or RSBot..
I respect you, but you should probably test things before saying them? I don't know.. :S Btw, have a look at WinAPI for virtual mouse detection.
Here's the code for the test applet (change the codebase if needed):
{$DEFINE SMART}
{$I GLX/Misc/Smart.Simba}
{*
Parameters for loading the custom applet from disk.
Use your own "Java x86" location.
*}
//SmartSpawnClient('C:/Program Files (x86)/Java/jre1.8.0_25/bin/java.exe', Replace(PluginPath, '\', '/', [rfReplaceAll]), 'file:///C:/Users/USER_NAME_HERE/Desktop/', 'AppletTest.html', W, H, '', '', '-XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=30', '');
var
T: TSmart;
begin
T.Create(500, 500, ['']);
end.
<html>
<head>
<title>Test Applet</title>
<style>
body {background-color:lightgrey}
</style>
</head>
<body>
<div>
<applet code="applettest.MyApplet.class" codebase="applet_code_base" archive="AppletTest.jar" width="500" height="500">
Please Install Java.
</applet>
</div>
</body>
</html>
package applettest;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.awt.image.BufferedImage;
import java.lang.reflect.InvocationTargetException;
import javax.swing.JFrame;
/**
*
* @author Brandon
*/
public class MyApplet extends Applet implements MouseMotionListener {
private int w, h, r;
private Graphics gfx;
private BufferedImage img;
@Override
public void init() {
try {
EventQueue.invokeAndWait(this::initComponents);
} catch (InterruptedException | InvocationTargetException e) {
e.printStackTrace();
}
}
private Color getComplement(Color c) {
return new Color(255 - c.getRed(), 255 - c.getGreen(), 255 - c.getBlue());
}
private void initComponents() {
this.setLayout(new BorderLayout(0, 0));
r = 10;
w = getSize().width;
h = getSize().height;
if (w == 0 || h == 0) {
w = 500;
h = 500;
}
img = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
gfx = img.getGraphics();
addMouseMotionListener(this);
}
@Override
public void update(Graphics g) {
g.drawImage(img, 0, 0, this);
}
@Override
public void paint(Graphics g) {
update(g);
}
@Override
public void mouseDragged(MouseEvent e) {
int x = e.getX();
int y = e.getY();
gfx.setColor(Color.red); //getComplement(this.getComponent(0).getBackground())
gfx.fillOval(x - (r / 2), y - (r / 2), r, r);
repaint();
e.consume();
}
@Override
public void mouseMoved(MouseEvent e) {
Container p = this.getParent();
while (p != null && p.getParent() != null) {
p = p.getParent();
}
if (p != null && p instanceof JFrame || p instanceof Frame) {
System.out.println("Mouse: " + e.getComponent());
//System.out.println(((Frame)p).getTitle()); //prints the TITLE of the top owner of the applet.
System.out.println(p);
}
}
}
This is not a scare tactic. It's not meant to harm or insight fear or help Jagex mess you guys up.. It's just proof of concept that a "title" on a parent window AND its window/container class can be read regardless of hierarchy level.
You can change the title of SMART if you wish. Window "title" and/or mouse detection is a stupid way to ban anyway.. but it could catch some off-guard I guess? I don't know.. TOO many are paranoid about what Jagex will and will not do. You will NEVER know tbh.. So why worry -_-