I've made many of threads like this and like all programmers have many projects sitting there to be completed. I figured I'd have another go at ASM/BCEL/Injection, I worked off and on with this before the bot nuke but I didn't have a lot of java experience then. Currently I've finished the injection loader and my login index hook is working perfectly.
Updater Log :
Code:
iJava's ASM updater
-------------------------
--- [Parameters] ---
- Loaded Keys/Parameters in 928ms
- ivParameterSpec Key : Z*b-QweZAB52VGYHVGKDUQ
- Decryption Key : 8YqOXa66B6B502luxhQsVg
--- [GamePack Fetcher] ---
- GamePack URL : http://world1.runescape.com/gamepackH3Dgho9teH2A3ycMfwKkdlsdC51WBhlE_8250922.jar
- Downloaded GamePack in 18733ms
--- [GamePack Decrypter] ---
- Decrypting inner.pack.gz.....
- Decrypted inner.pack.gz and dumped in 2056ms
--- [Updater] ---
- Loaded 1044 classes
- RS Version #719
- Hooked 10 classes
- Hooked 11 dynamic fields
- Hooked 11 dynamic methods
- Hooked 5 static fields
- Hooked 0 static methods
-------------------------
^ ri implements hooks.ByteArrayWrapper
^ akq implements hooks.Canvas
* getCanvas() --> field Ljava/awt/Canvas; akq.k
^ client implements hooks.Client
* getCanvas() --> static Ljava/awt/Canvas; aau.j
* getLoginIndex() --> static I client.cx * 857037691
* getOperatingSystem() --> static Ljava/lang/String; kd.bi
* getSignlink() --> static Lr; ng.dh
^ afi implements hooks.DirectXToolkit
* getDirect3DParameters() --> field Ljagdx/D3DPRESENT_PARAMETERS; afi.gs
* getDirect3DCaps() --> field Ljagdx/D3DCAPS; afi.hr
^ ty implements hooks.FileOnDisk
* getRandomAccessFile() --> field Ljava/io/RandomAccessFile; ty.b
* getLength() --> field J ty.g
* getPosition() --> field J ty.k
+ write() --> method ty.k([BIII)V
+ length() --> method ty.t()J
+ seek() --> method ty.l(J)V
+ close() --> method ty.g(I)V
+ length() --> method ty.x(I)J
+ finalize() --> method ty.finalize()V
+ <init>() --> method ty.<init>(Ljava/io/File;Ljava/lang/String;J)V
+ write() --> method ty.e([BII)V
+ close() --> method ty.n()V
+ read() --> method ty.m([BIII)I
+ read() --> method ty.u([BII)I
^ sd implements hooks.Graphics
* getDisplayMode() --> field Ljava/awt/DisplayMode; sd.k
* getGrahicsDevice() --> field Ljava/awt/GraphicsDevice; sd.b
^ akq implements hooks.OpenGLToolkit
* getOpenGL() --> field Ljaggl/OpenGL; akq.g
^ mt implements hooks.Sensor
* getRobot() --> field Ljava/awt/Robot; mt.b
^ r implements hooks.SignLink
* getEventQueue() --> static Ljava/awt/EventQueue; r.bc
^ aa implements hooks.SoftwareToolkit
* getNativeId() --> field J aa.nativeid
-------------------------
Loading classes took: 5542ms
Update took: 25464ms
Refactoring took: 120ms
-------------------------
Powered by the RS-Hacking Framework
19th June 2012
Decided to just xboot the canvas and use a canvas hack after unsuccessful attempts of painting onto the canvas directly.
