Poll: Would you like to see injection included in Simba?

Page 2 of 5 FirstFirst 1234 ... LastLast
Results 26 to 50 of 117

Thread: Injection

  1. #26
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    Quote Originally Posted by Echo_ View Post
    Then it would only be invisible to you, not any of the other players.

    Also if you don't understand how reflection works: http://docs.oracle.com/javase/tutori...ect/index.html
    My white dot was still visible I was still clickable you just couldn't see me Have you ever seen the cheat clients that make people invisible? It's like that.

    Also people make reflection cheat clients to cheat on servers and force spawn items (incase they don't have failsafes) such as sending a item to the floor,to your inventory, to the trade screen many possibilities read up on it here: http://www.moparscape.org/smf/index.php?topic=551310.0

    I could only get it to work for a limited number of servers mostly crappy ones because I don't know much java and I could spawn items on one that had litterely no failsafes

  2. #27
    Join Date
    Mar 2012
    Location
    127.0.0.1
    Posts
    3,383
    Mentioned
    95 Post(s)
    Quoted
    717 Post(s)

    Default

    Quote Originally Posted by RJJ95 View Post
    My white dot was still visible I was still clickable you just couldn't see me Have you ever seen the cheat clients that make people invisible? It's like that.

    Also people make reflection cheat clients to cheat on servers and force spawn items (incase they don't have failsafes) such as sending a item to the floor,to your inventory, to the trade screen many possibilities read up on it here: http://www.moparscape.org/smf/index.php?topic=551310.0

    I could only get it to work for a limited number of servers mostly crappy ones because I don't know much java and I could spawn items on one that had litterely no failsafes
    Code:
    package com.nkn.impl;
    
    import com.nkn.generic.AbstractAnalyser;
    import org.objectweb.asm.Opcodes;
    import org.objectweb.asm.tree.*;
    
    import java.util.ListIterator;
    
    public class PlayerAnalyser extends AbstractAnalyser {
        @Override
        protected boolean canRun(ClassNode node) {
            int inum = 0, strnum = 0;
            ListIterator<FieldNode> fnIt = node.fields.listIterator();
            while(fnIt.hasNext()){
                FieldNode fn = fnIt.next();
                if((fn.access & Opcodes.ACC_STATIC)==0){
                    if(fn.desc.equals("Ljava/lang/String;"))
                        strnum++;
                    if(fn.desc.equals("I"))
                        inum++;
                }
            }
            return inum == 15 && strnum == 1;
        }
    
        @Override
        protected String analyse(ClassNode node) {
            System.out.print("\nFound Player Class at: "+node.name);
            String playerName = "";
            node.interfaces.add("com/nkn/interfaces/PlayerInterface");
            ListIterator<FieldNode> fnIt = node.fields.listIterator();
            while(fnIt.hasNext()){
                FieldNode fn = fnIt.next();
    
                if((fn.access & Opcodes.ACC_STATIC)==0){
    
                    if(fn.desc.equals("Ljava/lang/String;")){
                        System.out.print("Name is at: "+fn.name+"\n");
                        //InjectUtils.addGetter(node,fn,"getPlayerName");
                        MethodNode getter = new MethodNode(Opcodes.ACC_PUBLIC, "getPlayerName", "()Ljava/lang/String;", null, null);
                        getter.instructions.add(new VarInsnNode(Opcodes.ALOAD, 0));
                        getter.instructions.add(new FieldInsnNode(Opcodes.GETFIELD, node.name, fn.name, fn.desc));
                        getter.instructions.add(new InsnNode(Opcodes.ARETURN));
                        int size = getter.instructions.size();
                        getter.visitMaxs(size, size);
                        getter.visitEnd();
                        node.methods.add(getter);
                        System.out.print("Added getter at:" + getter.name+"\n");
    
                    }
    
    
                }
            }
    
            ListIterator<MethodNode> mnIt = node.methods.listIterator();
            methodIterator:while(mnIt.hasNext()){
                MethodNode mn = mnIt.next();
                if(mn.desc.startsWith("(L")&&mn.desc.endsWith(";I)V")){
                    ListIterator<AbstractInsnNode> ainIt = mn.instructions.iterator();
                    while(ainIt.hasNext()){
                        AbstractInsnNode ain = ainIt.next();
                        if(ain instanceof FieldInsnNode){
                            String Level = ((FieldInsnNode) ain).name;
                            System.out.println("USER IS AT: "+Level);
                            MethodNode getter = new MethodNode(Opcodes.ACC_PUBLIC, "getCombatLevel", "()I", null, null);
                            getter.instructions.add(new VarInsnNode(Opcodes.ALOAD, 0));
                            getter.instructions.add(new FieldInsnNode(Opcodes.GETFIELD, node.name, ((FieldInsnNode) ain).name, ((FieldInsnNode) ain).desc));
                            getter.instructions.add(new InsnNode(Opcodes.IRETURN));
                            int size = getter.instructions.size();
                            getter.visitMaxs(size, size);
                            getter.visitEnd();
                            node.methods.add(getter);
                            System.out.print("Added getter at:" + getter.name+"\n");
                            break methodIterator;
                        }
                    }
                }
    
            }
            return node.name;
        }
    
    }
    That's one of my accessors for the player class. Haven't updated the hook tho.

  3. #28
    Join Date
    Nov 2012
    Posts
    2,351
    Mentioned
    55 Post(s)
    Quoted
    603 Post(s)

    Default

    Quote Originally Posted by RJJ95 View Post
    My white dot was still visible I was still clickable you just couldn't see me Have you ever seen the cheat clients that make people invisible? It's like that.

    Also people make reflection cheat clients to cheat on servers and force spawn items (incase they don't have failsafes) such as sending a item to the floor,to your inventory, to the trade screen many possibilities read up on it here: http://www.moparscape.org/smf/index.php?topic=551310.0

    I could only get it to work for a limited number of servers mostly crappy ones because I don't know much java and I could spawn items on one that had litterely no failsafes
    What Echo means is that if you make your model invisible in the local client, everyone looking at you (everyone else on the server) can still see you you just can't see yourself, some servers with bad security means you can force spawn items, like you could in a really early version of RSC before the developers saw that they needed to overcome that, I've got no idea how the whole packet hacking stuff works
    Last edited by DannyRS; 03-18-2013 at 12:06 PM.


    Programming is like trying keep a wall of shifting sand up, you fix one thing but somewhere else starts crumbling

  4. #29
    Join Date
    Jan 2011
    Location
    Denver, CO
    Posts
    1,351
    Mentioned
    2 Post(s)
    Quoted
    72 Post(s)

    Default

    Quote Originally Posted by DannyRS View Post
    What Echo means is that if you make your model invisible in the local client, everyone looking at you (everyone else on the server) can still see you you just can't see yourself, some servers with bad security means you can force spawn items, like you could in a really early version of RSC before the developers saw that they needed to overcome that, I've got no idea how the whole packet hacking stuff works
    Exactly, what you did was client sided. RSBot did the same thing one Christmas, they had the client trick the cache into loading the model for Santa Claus instead of a spirit tree near the GE. It was funny for people that didn't understand that it was RSBot that did it, because they were sitting next to the spirit tree and talking about how funny Santa Claus looked.

  5. #30
    Join Date
    Apr 2012
    Location
    UK
    Posts
    269
    Mentioned
    2 Post(s)
    Quoted
    46 Post(s)

    Default

    Quote Originally Posted by Echo_ View Post
    Also if you don't understand how reflection works: http://docs.oracle.com/javase/tutori...ect/index.html
    Thanks for the link this has helped me understand the difference between reflection and injection.

  6. #31
    Join Date
    Mar 2013
    Posts
    2
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    Only reason i don't like injection is that most of the people getting banned for botting atm are because of bots that use injection. Can someone tell me if this is true?

  7. #32
    Join Date
    Dec 2006
    Location
    Copy pastin to my C#
    Posts
    3,788
    Mentioned
    8 Post(s)
    Quoted
    29 Post(s)

    Default

    Quote Originally Posted by Vezq View Post
    Only reason i don't like injection is that most of the people getting banned for botting atm are because of bots that use injection. Can someone tell me if this is true?
    It's not because of using injection but the volume of people that often use a single script

  8. #33
    Join Date
    Nov 2012
    Posts
    141
    Mentioned
    0 Post(s)
    Quoted
    43 Post(s)

    Default

    Quote Originally Posted by n3ss3s View Post
    ... No

    Injection: The bot uses a client that has been injected with accessors, e.g if in some class the field kl represents animation id, the accessor getAnimation() (or whatever) will return kl and the bot can call that method.
    Reflection: The bot doesn't use an injected client, and uses reflection to set the field accessible and reads it.

    For both you'll need an updater, it's not any easier to make an updater for injection than reflection, for injection you also need to go the extra mile of injecting the accessors / interfaces rather than just dumping the fields.
    Ahh, thanks. I knew what Reflection was, but I assumed Injection was the process of injecting bytecode into certain classes -- injecting and editing bytecode I've done.

  9. #34
    Join Date
    Mar 2013
    Posts
    2
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    Quote Originally Posted by n3ss3s View Post
    It's not because of using injection but the volume of people that often use a single script
    I read some people are getting banned for just having rsbot the client open in a botwatch area?

  10. #35
    Join Date
    Mar 2012
    Location
    127.0.0.1
    Posts
    3,383
    Mentioned
    95 Post(s)
    Quoted
    717 Post(s)

    Default

    Quote Originally Posted by Vezq View Post
    I read some people are getting banned for just having rsbot the client open in a botwatch area?
    Means their IP's are flagged, not the client itself.
    Quote Originally Posted by Neodymium View Post
    Ahh, thanks. I knew what Reflection was, but I assumed Injection was the process of injecting bytecode into certain classes -- injecting and editing bytecode I've done.
    You need bytecode skills to figure out what those classes are. Can't find out unless you can read it. (Why I stopped making my client, I couldn't figure out how to find multipliers.)

  11. #36
    Join Date
    Jan 2012
    Posts
    369
    Mentioned
    6 Post(s)
    Quoted
    91 Post(s)

    Default

    I like Simba how it is now, without reflection or injection. Simba should be only color based, independent of whatever Jagex does to it's client.

  12. #37
    Join Date
    Feb 2013
    Posts
    38
    Mentioned
    0 Post(s)
    Quoted
    21 Post(s)

    Default

    Quote Originally Posted by DannyRS View Post
    Jagex ob-something (I always forget the spelling, you tried to do it once) their code in the applet, so you have to reverse-engineer it and find what everything is, I've got very little knowledge on how injection and reflection work, but I'm with Wizzup on this one,

    If injection is reliable and legal, I don't see why not as a plugin, reflection is a no-go as they have said they are going to implement their "current bot technologies" meaning encryption, making it a waste of time to start now,

    Theres little that can't be done in color alone, it just takes a smart approach and the time colors also alot more fun and challenging for a programmer, IMO you will learn alot more here than simply how to "click object by ID" at PB or elsewhere
    Obfucsation.

    Even if you don't obfuscate code, you will still not be able to determine the identifiers. The identifier chosen for a method, function, class, variable, will lie nowhere in the bytecode.

  13. #38
    Join Date
    Mar 2012
    Location
    127.0.0.1
    Posts
    3,383
    Mentioned
    95 Post(s)
    Quoted
    717 Post(s)

    Default

    Quote Originally Posted by pija View Post
    Obfucsation.

    Even if you don't obfuscate code, you will still not be able to determine the identifiers. The identifier chosen for a method, function, class, variable, will lie nowhere in the bytecode.
    Not 100% true.
    They just don't name it as an identifier. It's still there, you just have to know what to look for.

  14. #39
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    Polls are tied up we need someone to break it

  15. #40
    Join Date
    Feb 2013
    Posts
    89
    Mentioned
    1 Post(s)
    Quoted
    12 Post(s)

    Default

    Quote Originally Posted by Wizzup? View Post
    Simba on itself (and its predecessor) have never ``included'' Reflection or Injection. Reflection was added through a plugin. You're free to create a plugin that does ``Injection'' (just like SMART did Reflection), but it's not something that will (ever) be in Simba itself.
    I am currently developing 'AutoChat' it is a chat responder for anti ban i would for you to look at my thread and tell me what you think about
    http://villavu.com/forum/showthread.php?t=98903

    Thanks!

  16. #41
    Join Date
    Feb 2006
    Location
    Tracy/Davis, California
    Posts
    12,631
    Mentioned
    135 Post(s)
    Quoted
    418 Post(s)

    Default

    Why would people vote no?
    If you don't want it, just don't use it....?
    Why NOT have an extra feature?

  17. #42
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    Quote Originally Posted by YoHoJo View Post
    Why would people vote no?
    If you don't want it, just don't use it....?
    Why NOT have an extra feature?
    I was thinking the same thing but they might be afraid of to much dev time being poured into it..

  18. #43
    Join Date
    Feb 2006
    Location
    Tracy/Davis, California
    Posts
    12,631
    Mentioned
    135 Post(s)
    Quoted
    418 Post(s)

    Default

    Quote Originally Posted by RJJ95 View Post
    I was thinking the same thing but they might be afraid of to much dev time being poured into it..
    If they don't want to do it, they don't have to.
    We're open source and stuff, let the people who have the time/care to do it actually do it then, so once again, why vote no? :X I don't get it.

  19. #44
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    Quote Originally Posted by YoHoJo View Post
    If they don't want to do it, they don't have to.
    We're open source and stuff, let the people who have the time/care to do it actually do it then, so once again, why vote no? :X I don't get it.
    I'd rather have reflection because the same sounds cooler... and also we could put this picture to good use:


  20. #45
    Join Date
    Mar 2007
    Posts
    5,125
    Mentioned
    275 Post(s)
    Quoted
    901 Post(s)

    Default

    I'm quite happy with Color

    Voted no

    Forum account issues? Please send me a PM

  21. #46
    Join Date
    Mar 2012
    Location
    127.0.0.1
    Posts
    1,199
    Mentioned
    0 Post(s)
    Quoted
    26 Post(s)

    Default

    I don't bot, so neither?

  22. #47
    Join Date
    Feb 2013
    Posts
    38
    Mentioned
    0 Post(s)
    Quoted
    21 Post(s)

    Default

    Quote Originally Posted by NKN View Post
    Not 100% true.
    They just don't name it as an identifier. It's still there, you just have to know what to look for.
    The identifier IS the name chosen for the variable. The variable is there, are you implying the identifier is left in the code after compiling?

  23. #48
    Join Date
    Mar 2012
    Location
    127.0.0.1
    Posts
    3,383
    Mentioned
    95 Post(s)
    Quoted
    717 Post(s)

    Default

    Quote Originally Posted by pija View Post
    The identifier IS the name chosen for the variable. The variable is there, are you implying the identifier is left in the code after compiling?
    If you decompile a class file, variable names are still there.
    Just not the original ones.

  24. #49
    Join Date
    Nov 2012
    Posts
    2,351
    Mentioned
    55 Post(s)
    Quoted
    603 Post(s)

    Default

    Tbh if I knew how to do it (could probably learn), and it was legal, I'd put the time in
    Last edited by DannyRS; 03-24-2013 at 03:36 PM.


    Programming is like trying keep a wall of shifting sand up, you fix one thing but somewhere else starts crumbling

  25. #50
    Join Date
    Sep 2008
    Posts
    754
    Mentioned
    8 Post(s)
    Quoted
    275 Post(s)

    Default

    I wouldn't mind an extra, it would actually make simba run better scripts.

    But who am i to say? am just a random person

Page 2 of 5 FirstFirst 1234 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •