Results 1 to 14 of 14
  1. #1
    NoobiBot's Avatar
    Join Date
    May 2013
    Gender
    male
    Posts
    10
    Reputation
    10
    Thanks
    0
    My Mood
    Aggressive

    PokeMMO bot - Code injection

    I have been trying to create a bot for this game for years now and without any success. I was wondering if it was even possible so I started looking up java code injection and came across several RuneScape bots. I found something about reflection and injection and I don't know really where to start right now? The game seems to be encrypted as an executable file because all of its .class is assigned random letters both capital and lowercase. I want my bot to use the in-game variables and methods and Cheat Engine doesn't seem to work in this case. So I need someone to put me on the right path.
    Last edited by NoobiBot; 06-21-2015 at 01:54 PM.

  2. #2
    InunoTaishou's Avatar
    Join Date
    Jan 2009
    Gender
    male
    Location
    The Internet
    Posts
    446
    Reputation
    20
    Thanks
    951
    My Mood
    Relaxed
    If you figure it out let me know. I wrote one in autoit using image searching. It works but I was always wanting to try and read the values in game in C++. People pointed me in the right direction but I didn't know much about C++ when they told me.
    https://www.mpgh.net/forum/signaturepics/sigpic210976_1.gif

  3. #3
    liquidsystem's Avatar
    Join Date
    Sep 2012
    Gender
    male
    Posts
    507
    Reputation
    135
    Thanks
    691
    My Mood
    Happy
    Quote Originally Posted by InunoTaishou View Post
    If you figure it out let me know. I wrote one in autoit using image searching. It works but I was always wanting to try and read the values in game in C++. People pointed me in the right direction but I didn't know much about C++ when they told me.
    This'd be the wrong section if you wanted to make one in C++...

    Anyways @ OP, if you're hoping to be reading addresses from a game, you'll want to use C++, as Java doesn't have any pretty way of RPM/WPM without a bunch of hassle...

    I can help you with RPM if you'd like, just shoot me a PM
    If you wish to thank me, don't forget to click the button!

    Currently Playing: Osu, OldSchool Runescape (pm for username)


    Bitcoin Address: 1HUdLVM7DnT9gC1i5kNKzcKWekSbFoKNp2


    Steam
    Main Account
    Sales Account

    Feel free to PM me if you have any other questions relating Java, Python, or Physics, or general schoolwork


  4. The Following User Says Thank You to liquidsystem For This Useful Post:

    NoobiBot (06-26-2015)

  5. #4
    InunoTaishou's Avatar
    Join Date
    Jan 2009
    Gender
    male
    Location
    The Internet
    Posts
    446
    Reputation
    20
    Thanks
    951
    My Mood
    Relaxed
    Quote Originally Posted by liquidsystem View Post


    This'd be the wrong section if you wanted to make one in C++...

    Anyways @ OP, if you're hoping to be reading addresses from a game, you'll want to use C++, as Java doesn't have any pretty way of RPM/WPM without a bunch of hassle...

    I can help you with RPM if you'd like, just shoot me a PM
    My goal was to do some function hooking in C++ to try and read the values from the game. The only problem with doing this game is it's a Java emulator, emulating some rom files.

    I've tried looking into packet sniffing for Java but there's no real way to packet sniff java.
    OllyDB doesn't work on Java
    Cheat engine won't give you a static pointer to the memory address.
    Last edited by InunoTaishou; 06-25-2015 at 05:21 PM.
    https://www.mpgh.net/forum/signaturepics/sigpic210976_1.gif

  6. #5
    liquidsystem's Avatar
    Join Date
    Sep 2012
    Gender
    male
    Posts
    507
    Reputation
    135
    Thanks
    691
    My Mood
    Happy
    Quote Originally Posted by InunoTaishou View Post
    Cheat engine won't give you a static pointer to the memory address.
    Have you tried it and found that you can't get a static address? If I remember correctly you can easily get stuff from a Java oriented program...
    If you wish to thank me, don't forget to click the button!

    Currently Playing: Osu, OldSchool Runescape (pm for username)


    Bitcoin Address: 1HUdLVM7DnT9gC1i5kNKzcKWekSbFoKNp2


    Steam
    Main Account
    Sales Account

    Feel free to PM me if you have any other questions relating Java, Python, or Physics, or general schoolwork


  7. #6
    jeivarmarr's Avatar
    Join Date
    Aug 2010
    Gender
    male
    Posts
    21
    Reputation
    10
    Thanks
    1
    My Mood
    Amused
    is an online game ?. check the actions of the packages with the WPE-PRO

  8. #7
    NoobiBot's Avatar
    Join Date
    May 2013
    Gender
    male
    Posts
    10
    Reputation
    10
    Thanks
    0
    My Mood
    Aggressive
    Tried recording packets a long time ago and it didn't work.

    Regarding the RPM/WPM I might want to do some research about this subject first before PMing you any questions, liquidsystem.

    It might be better to stick with the AutoIt scripts, because it might take a long time getting anything simple and functional to work in this stupid game.

  9. #8
    liquidsystem's Avatar
    Join Date
    Sep 2012
    Gender
    male
    Posts
    507
    Reputation
    135
    Thanks
    691
    My Mood
    Happy
    Quote Originally Posted by NoobiBot View Post
    Tried recording packets a long time ago and it didn't work.

    Regarding the RPM/WPM I might want to do some research about this subject first before PMing you any questions, liquidsystem.

    It might be better to stick with the AutoIt scripts, because it might take a long time getting anything simple and functional to work in this stupid game.
    I'll take a look at the game and see what I can do, but yeah, feel free to pm me and I'll help you as much as I can


    EDIT: After making a simple account, I've already been able to find information through Cheat Engine... Are you sure you tried to use it?

    Last edited by liquidsystem; 06-27-2015 at 03:28 PM.
    If you wish to thank me, don't forget to click the button!

    Currently Playing: Osu, OldSchool Runescape (pm for username)


    Bitcoin Address: 1HUdLVM7DnT9gC1i5kNKzcKWekSbFoKNp2


    Steam
    Main Account
    Sales Account

    Feel free to PM me if you have any other questions relating Java, Python, or Physics, or general schoolwork


  10. #9
    InunoTaishou's Avatar
    Join Date
    Jan 2009
    Gender
    male
    Location
    The Internet
    Posts
    446
    Reputation
    20
    Thanks
    951
    My Mood
    Relaxed
    Try finding a static pointer

    I think I spent two days trying to get a static pointer and offsets to the PP of move 1 for the first Pokemon and could not get it.
    https://www.mpgh.net/forum/signaturepics/sigpic210976_1.gif

  11. #10
    liquidsystem's Avatar
    Join Date
    Sep 2012
    Gender
    male
    Posts
    507
    Reputation
    135
    Thanks
    691
    My Mood
    Happy
    Quote Originally Posted by InunoTaishou View Post
    Try finding a static pointer

    I think I spent two days trying to get a static pointer and offsets to the PP of move 1 for the first Pokemon and could not get it.
    Well there's your issue...


    Java has references, but not pointers

    But, what Java does have is references, which are different from pointers. Here are some of the differences between references in Java and pointers in C++:


    Code:
    1.  References store an address.  That address is the address 
    in memory of the object.  So, when a class is declared like so: 
    "PersonClass y = new PersonClass();", the "y" variable actually 
    stores an address in memory.  If you were to look at that 
    address in memory you would see the details of the 
    PersonClass object.  Pointers in C++, however, point directly 
    to the object.
    
    2.  You can not perform arithmetic operations on references.  
    So, adding 1 to a pointer is not possible, but is possible
     in C++.
    You probably could have looked this up before asking your question here, as it appears you can still use any of those values to modify stuff, but I'd like to assume that they store most if not all of this information on the server, so altering your PP for a move may or may not work. I'd be happy to try and figure out a method to get it working, but I have no guarantee that it will.
    Last edited by liquidsystem; 06-28-2015 at 04:28 PM.
    If you wish to thank me, don't forget to click the button!

    Currently Playing: Osu, OldSchool Runescape (pm for username)


    Bitcoin Address: 1HUdLVM7DnT9gC1i5kNKzcKWekSbFoKNp2


    Steam
    Main Account
    Sales Account

    Feel free to PM me if you have any other questions relating Java, Python, or Physics, or general schoolwork


  12. #11
    InunoTaishou's Avatar
    Join Date
    Jan 2009
    Gender
    male
    Location
    The Internet
    Posts
    446
    Reputation
    20
    Thanks
    951
    My Mood
    Relaxed
    Quote Originally Posted by liquidsystem View Post


    Well there's your issue...




    You probably could have looked this up before asking your question here, as it appears you can still use any of those values to modify stuff, but I'd like to assume that they store most if not all of this information on the server, so altering your PP for a move may or may not work. I'd be happy to try and figure out a method to get it working, but I have no guarantee that it will.
    That's exactly the point I was trying to make... My attempts to read the memory of this java emulated game were fruitless because it does not have static pointers to read from.

    I had no problem finding addresses in the game.
    Last edited by InunoTaishou; 06-28-2015 at 05:52 PM.
    https://www.mpgh.net/forum/signaturepics/sigpic210976_1.gif

  13. #12
    liquidsystem's Avatar
    Join Date
    Sep 2012
    Gender
    male
    Posts
    507
    Reputation
    135
    Thanks
    691
    My Mood
    Happy
    Quote Originally Posted by InunoTaishou View Post
    That's exactly the point I was trying to make... My attempts to read the memory of this java emulated game were fruitless because it does not have static pointers to read from.

    I had no problem finding addresses in the game.
    What... You can just decompile the code then...? If you're willing to make an attempt to hack a game, be ready to actually do some work instead of just sitting there waiting to be force-fed...

    EDIT: To clarify you from assuming I'm being a dick, let's get a few things straight:
    1. You claimed Java used pointers, which I specifically stated there weren't any.
    2. After I told you what you were asking, you claimed you already knew this, so if you already knew this, why would you complain about it not using pointers?

    I realize you're not the OP, so I can safely say that if you have more knowledge of a language than I, please feel free to set me straight, as I am still learning new things myself. I'm only trying to have you broaden your horizons and learn something new.
    Last edited by liquidsystem; 06-28-2015 at 07:01 PM.
    If you wish to thank me, don't forget to click the button!

    Currently Playing: Osu, OldSchool Runescape (pm for username)


    Bitcoin Address: 1HUdLVM7DnT9gC1i5kNKzcKWekSbFoKNp2


    Steam
    Main Account
    Sales Account

    Feel free to PM me if you have any other questions relating Java, Python, or Physics, or general schoolwork


  14. #13
    NoobiBot's Avatar
    Join Date
    May 2013
    Gender
    male
    Posts
    10
    Reputation
    10
    Thanks
    0
    My Mood
    Aggressive
    Quote Originally Posted by liquidsystem View Post


    What... You can just decompile the code then...? If you're willing to make an attempt to hack a game, be ready to actually do some work instead of just sitting there waiting to be force-fed...

    EDIT: To clarify you from assuming I'm being a dick, let's get a few things straight:
    1. You claimed Java used pointers, which I specifically stated there weren't any.
    2. After I told you what you were asking, you claimed you already knew this, so if you already knew this, why would you complain about it not using pointers?

    I realize you're not the OP, so I can safely say that if you have more knowledge of a language than I, please feel free to set me straight, as I am still learning new things myself. I'm only trying to have you broaden your horizons and learn something new.
    The game uses string obfuscation, so I am trying to look up how RuneScape's source code is decompiled. I can't seem to find anything useful out there, only a few broken links.

  15. #14
    tj56550's Avatar
    Join Date
    Jul 2015
    Gender
    male
    Posts
    22
    Reputation
    10
    Thanks
    1
    You could use JNA, to run native code in Java if you wish so.

Similar Threads

  1. [Outdated] PokéAI A PokeMMO Bot
    By InunoTaishou in forum Other MMORPG Hacks
    Replies: 394
    Last Post: 10-03-2016, 10:14 PM
  2. [Outdated] PokeMMO Bot [Beta]
    By InunoTaishou in forum Other MMORPG Hacks
    Replies: 136
    Last Post: 06-01-2015, 09:43 PM
  3. [Release][Alpha] PokeMMO bot
    By franklin01 in forum Other MMORPG Hacks
    Replies: 33
    Last Post: 12-27-2014, 05:10 AM
  4. [Outdated] PokeMMO - Bot
    By Lolleko in forum Other MMORPG Hacks
    Replies: 5
    Last Post: 06-22-2013, 03:58 AM
  5. Replies: 9
    Last Post: 04-25-2013, 08:33 AM