Page 1 of 9 123 ... LastLast
Results 1 to 15 of 131
  1. #1
    toddddd's Avatar
    Join Date
    Sep 2016
    Gender
    male
    Posts
    720
    Reputation
    46
    Thanks
    6,363

    [c/c++] Clientless (Work in Progress)

    Ive been interested in making something clientless for awhile now, and i also wanted to get back to my preferred language of C/C++ instead of C# or all the Java ive seen around.

    Wasnt really sure where to post this, but just wanted to throw what i have sofar up here incase anyone else is interested.

    So just to go over some things here:
    - This is no where near completed. It is still missing a bunch of the packets and there is almost no functionality to it at the moment other then logging in.
    - No config file/runtime input right now (plan to do this in the future). Right now it requires the email/password AND characterId to be hardcoded into the source. Oh and server ip.
    - I went with the OpenSSL library to handle all the encryption related functions (RSA/Base64/RC4), it seems to be the standard and was pretty easy to setup compared to some of the other 3rd party libraries i saw out there.
    - I believe the only acknowledgement packets this doesnt send right now are related to enemyshoot/allyshoot or whatever it is. It does send updateack/gotoack/move/aoeack/pong packets right now whenever it gets their counterpart packet.
    - Still a long way to go before this will really do anything fun, it is a work in progress though.
    - I havent tried to leave this running for more then 10 minutes currently, obviously it might get dc'ed if it doesnt sent all the acknowledgements packets when it is suppose too, so if you do get this running (as is) it probably will dc'd eventually.


    Anyways, ive been working on this in my spare time while at work for the past week or so. My main resource has been just decompiling the game client and looking over that to see how it handles thing. If i wasnt sure of something i would then go to the k-relay source. Unfortunately there hasnt been any c/c++ stuff for rotmg for a long long time. The only c/c++ resource i found was Oryx-Hates-C, and that was 1) horribly outdated, and 2) didnt really see anything useful in it.

    I did attempt to look over the code released by BotMaker, but that euphoria language is...not euphoric lol. It did help me a little bit though at understanding how to get started.


    If you do get this running, the only thing it does right now other then connect to the server and login currently is auto-reply "it works!" if you whisper the bot.




    I also left it running for about 10 minutes and monitored the cpu&memory from the task manager (i use a laptop, so no fancy hardware or anything):


    Over the 10 minute period the cpu % would go as high as %0.3 and i even saw it drop down to %0.0 a few times lol. The memory seemed to fluctuate between 1.2MB and 1.3MB, HOPEFULLY that means there arent any memory leaks...which memory leaks are a pain in the ass with c/c++ so it would be great if ive managed to avoid them sofar.




    Well thats all for now. Ill continue to update this post as i get more stuff added to this. It will be a long long time before any sort of public program is released with this source (im not even sure what i want to make this do yet). If anyone has questions feel free to ask, ill do my best to answer!

    ps: no exe in attached source, just visual studio's project file + source. But just incase here are the scans:
    https://virusscan.jotti.org/en-US/fi...job/8o4ad43nub
    https://www.virustotal.com/en/file/0...is/1486508792/
    <b>Downloadable Files</b> Downloadable Files
    Last edited by Ahlwong; 02-07-2017 at 11:25 PM. Reason: updated

  2. The Following 26 Users Say Thank You to toddddd For This Useful Post:

    .Rhapsodos. (02-10-2017),ajaj2345 (08-27-2019),Alde. (03-10-2017),aseikin (02-10-2017),Austin! (08-13-2017),BJ STUDIOS (08-11-2017),bluuman (02-02-2017),citydrifter (02-05-2017),crabshack (03-22-2017),CrazyJani (02-04-2017),Diotic (05-14-2017),Extain (02-04-2017),fuckT (02-21-2017),gorgor (10-12-2017),Invenom (06-02-2017),jrhead (02-05-2017),kirok (12-05-2017),Kushala Daora (02-04-2017),laztheripper (02-25-2018),PChoco (10-08-2017),prodocpro (02-12-2017),remberg (04-17-2017),strappezcilek (03-17-2017),ventivian (05-01-2018),wtfgaming5 (02-12-2017),~V~ (02-04-2017)

  3. #2
    bluuman's Avatar
    Join Date
    Nov 2011
    Gender
    male
    Location
    localhost
    Posts
    629
    Reputation
    10
    Thanks
    889
    Seems interesting, I'll definitely take a look at this

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

    toddddd (02-03-2017)

  5. #3
    Ahl's Avatar
    Join Date
    Dec 2012
    Gender
    male
    Location
    /modcp
    Posts
    16,599
    Reputation
    3219
    Thanks
    5,383
    My Mood
    Angelic
    Looks good.

    Approved
    News Force Head Editor from 09/14/2018 - 03/02/2020
    Publicist from 11/23/2017 - 06/07/2019
    Global Moderator since 09/24/2017
    Minion+ from 04/16/2017 - 09/24/2017
    Market Place Minion from 04/16/2017 - 09/24/2017
    Minecraft Minion from 02/23/2017 - 09/24/2017
    Realm of the Mad God Minion from 11/06/2016 - 09/24/2017

    Middleman from 09/14/2016 - 09/24/2017
    News Force Editor from 08/23/2016 - 09/14/2018
    News Force (Section of the Week) from 03/21/2016 - 07/17/2017
    News Force (User News) from 10/18/2015 - 09/14/2018

    Donator since 03/16/2015
    Realm of the Mad God Editor from 05/20/2014 - 07/08/2014
    Member since 12/23/2012


    Rep Power: 82

  6. The Following User Says Thank You to Ahl For This Useful Post:

    toddddd (02-03-2017)

  7. #4
    New's Avatar
    Join Date
    Jun 2014
    Gender
    male
    Location
    Location:
    Posts
    2,605
    Reputation
    386
    Thanks
    4,708
    My Mood
    Angelic
    Is this native Cpp? or Visual Cpp?
    Since you already implemented most of the important acknowledgements, why not reply to enemyshoot with shootack, to be ready to enter realms without dc'ing after a couple seconds?

    Also dc'ing and sending hello to a new IP when reconnect is received is useful if you havent already set that up.

    Other than that, nice job.
    New

    Current Project:
    SimpleExaltHack

    Outdated stuff I made in the past:
    Famebot
    Clientless tradebot
    RotMG ping checker
    Zautonexus crack

  8. The Following User Says Thank You to New For This Useful Post:

    toddddd (02-03-2017)

  9. #5
    toddddd's Avatar
    Join Date
    Sep 2016
    Gender
    male
    Posts
    720
    Reputation
    46
    Thanks
    6,363
    Quote Originally Posted by PKTINOS View Post
    Is this native Cpp? or Visual Cpp?
    Since you already implemented most of the important acknowledgements, why not reply to enemyshoot with shootack, to be ready to enter realms without dc'ing after a couple seconds?

    Also dc'ing and sending hello to a new IP when reconnect is received is useful if you havent already set that up.

    Other than that, nice job.
    If by Visual Cpp you mean MFC or whatever, no. This is regular old C/C++. I programmed it on windows using Visual Studios, but it can be compiled with any compiler and would be extremely simple to allow it to be cross-compiled with linux as well. I would just have to change the winsock header to be <sys/socket.h> or whatever linux is (havent done c/c++ on linux in awhile), and a few other small tweaks.
    I dont think ive ever actually looked into Visual C++/MFC, it always seemed....wrong....to me.


    As far as the enemyshoot/shootack goes, right now it doesnt have either of those packets programmed in yet. It doesnt take very long to get it added though. Once i got the first few packets created, and then after changing the way i wanted to handle packets a few times, i can now setup a packet structure pretty fast. I was going to add all the packets before releasing this, but i figured i might as well release now and update as i go since this is just a side project im playing around with on my free time. It could be a few days or it could be a week before i have time to work on this again, it just depends on how busy i am. So i wanted to get this posted so other can play around/look at it in the meantime.


    I havent set up reconnect handling yet, so thanks! Ill have to keep that in mind when im working on that part of everything
    Last edited by toddddd; 02-03-2017 at 12:27 PM.

  10. #6
    New's Avatar
    Join Date
    Jun 2014
    Gender
    male
    Location
    Location:
    Posts
    2,605
    Reputation
    386
    Thanks
    4,708
    My Mood
    Angelic
    Quote Originally Posted by toddddd View Post
    If by Visual Cpp you mean MFC or whatever, no.
    I mean C++/CLI. Which isn't terrible, it has garbage collection amongst other things, but if you would aim for garbage collection, you would as well go for clientless with C#/VB.NET
    New

    Current Project:
    SimpleExaltHack

    Outdated stuff I made in the past:
    Famebot
    Clientless tradebot
    RotMG ping checker
    Zautonexus crack

  11. #7
    toddddd's Avatar
    Join Date
    Sep 2016
    Gender
    male
    Posts
    720
    Reputation
    46
    Thanks
    6,363
    Quote Originally Posted by PKTINOS View Post
    I mean C++/CLI.
    Interesting, the name CLI sounds familiar, but i have never looked at it or know anything about it. Judging from the wiki link, no i am not using CLI or anything like that. Just your standard c++.


    Quote Originally Posted by PKTINOS View Post
    it has garbage collection amongst other things, but if you would aim for garbage collection, you would as well go for clientless with C#/VB.NET
    Yeah having to handle garbage collection is one of the most annoying aspects of c/c++.

    My only C# experience has been playing around with k-relay/plugins recently, before any of those i had only glanced over a few tutorials of C#. It looked fairly similar to C++ so seemed like it would be pretty easy to pick up if i ever needed to, and from what i have done recently its been pretty simple. VB.NET i believe i took a year of that when i was a freshmen in highschool 10ish year ago, such a simple language. But i am not a fan of it at all. C/C++ i am all self taught, i got interested in it when i was about 8 or 9, would go checkout books at the library on it, did any and every tutorial i could find online, i love c/c++. It can be a pain in the ass, but that just makes it feel all the more rewarding when you actually get something to work the way you planned.

  12. #8
    krazyshank's Avatar
    Join Date
    Jan 2012
    Gender
    male
    Location
    RealmStock
    Posts
    2,589
    Reputation
    467
    Thanks
    16,666
    My Mood
    Angelic
    Quote Originally Posted by toddddd View Post
    Interesting, the name CLI sounds familiar, but i have never looked at it or know anything about it. Judging from the wiki link, no i am not using CLI or anything like that. Just your standard c++.




    Yeah having to handle garbage collection is one of the most annoying aspects of c/c++.

    My only C# experience has been playing around with k-relay/plugins recently, before any of those i had only glanced over a few tutorials of C#. It looked fairly similar to C++ so seemed like it would be pretty easy to pick up if i ever needed to, and from what i have done recently its been pretty simple. VB.NET i believe i took a year of that when i was a freshmen in highschool 10ish year ago, such a simple language. But i am not a fan of it at all. C/C++ i am all self taught, i got interested in it when i was about 8 or 9, would go checkout books at the library on it, did any and every tutorial i could find online, i love c/c++. It can be a pain in the ass, but that just makes it feel all the more rewarding when you actually get something to work the way you planned.
    C++/CLI is just a c++ specification that compiles down to IL and runs on the CLR (the same runtime as C#, F#, VB). It's cool in the sense that it's managed C++, but I don't know why you would bother if you can just use C# or F# and have it run on the same runtime.

    About your project, this is cool
    You should make it a library for the core networking and object structures so people can make easy use of it if they prefer the native approach

    Accepting PayPal - Bitcoin - Giftcards - Items:

    Find it here: MPGH Sales Thread

  13. The Following User Says Thank You to krazyshank For This Useful Post:

    toddddd (02-04-2017)

  14. #9
    Kushala Daora's Avatar
    Join Date
    Oct 2013
    Gender
    male
    Location
    RealmSupply
    Posts
    1,075
    Reputation
    73
    Thanks
    642
    My Mood
    Angelic
    Thanks for the release. I'm currently working on my own proxy in pure C and this will help me out a lot.

    Would be neat if you threw this onto a ****** repo and let other people do some pr's.
    Last edited by Kushala Daora; 02-04-2017 at 03:36 PM.

    "There is no higher form of user validation than having customers support your product with their wallets." ~ Google


  15. The Following 2 Users Say Thank You to Kushala Daora For This Useful Post:

    BlackRayquaza (02-05-2017),toddddd (02-04-2017)

  16. #10
    toddddd's Avatar
    Join Date
    Sep 2016
    Gender
    male
    Posts
    720
    Reputation
    46
    Thanks
    6,363
    Quote Originally Posted by krazyshank View Post
    You should make it a library for the core networking and object structures so people can make easy use of it if they prefer the native approach
    Thats something i could look into in the future i suppose, thanks!



    Quote Originally Posted by Kushala Daora View Post
    Thanks for the release. I'm currently working on my own proxy in pure C and this will help me out a lot.

    Would be neat if you threw this onto a ****** repo and let other people do some pr's.
    Cool its nice to hear there are other C/C++ projects going on. One of the reasons i wanted to get this posted so soon before its finished is to help anyone who is trying to figure out how to do some of the harder/less common thing in C/C++ that tend to be easy in other languages, like the RSA/base64/rc4 encryptions took me awhile to get working correctly. And other languages these days seem to have most of these encryptions built in, or easy to use lol.

    As for ******, i do plan to put this up on ****** once i have a little more done. I wanted to get the rest of the packet classes built before i put this on ******, im aiming for sometime next week on that.

  17. #11
    CrazyJani's Avatar
    Join Date
    Jan 2013
    Gender
    male
    Posts
    2,475
    Reputation
    170
    Thanks
    15,666
    Quote Originally Posted by toddddd View Post
    I did attempt to look over the code released by BotMaker, but that euphoria language is...not euphoric lol.
    Made me smile. I took a look at it as well and almost instantly scrapped the idea of getting anything out of it.

  18. The Following 2 Users Say Thank You to CrazyJani For This Useful Post:

    BlackRayquaza (02-05-2017),toddddd (02-04-2017)

  19. #12
    toddddd's Avatar
    Join Date
    Sep 2016
    Gender
    male
    Posts
    720
    Reputation
    46
    Thanks
    6,363
    Quote Originally Posted by CrazyJani View Post
    Made me smile. I took a look at it as well and almost instantly scrapped the idea of getting anything out of it.
    Yup that was pretty much the same thing i did. Im pretty sure those files have "ew" as a suffix for a reason, maybe its some cruel joke by the language creator: "Im going to make a language so ugly and horrific that all the files will end with 'ew', but ill trick people by calling it Euphoria!" lol

  20. The Following 3 Users Say Thank You to toddddd For This Useful Post:

    citydrifter (08-30-2018),CrazyJani (02-04-2017),Kushala Daora (02-04-2017)

  21. #13
    einaras's Avatar
    Join Date
    Apr 2013
    Gender
    male
    Posts
    642
    Reputation
    22
    Thanks
    1,387
    My Mood
    Fine
    Damn man! Im inpressed. I wanted to get into c++ but just couldnt be bothered. I might expand this. I recommend you opening a ****** repository, so cummunity ( if there is people that are willing to help ( which is rare these days)) could cntribute.

    Edit: me trying to get this working

    Edit2: can you help me with OpenSSL? Where did you download it from? Did you install it? How do i make it work :P
    it says that im missing file "openssl/opensslconf.h"

    Edit3: Thanks to @Kushala Daora i got openssl to work!
    Last edited by einaras; 02-05-2017 at 11:08 AM.

  22. The Following 2 Users Say Thank You to einaras For This Useful Post:

    Kushala Daora (02-05-2017),toddddd (02-05-2017)

  23. #14
    Kushala Daora's Avatar
    Join Date
    Oct 2013
    Gender
    male
    Location
    RealmSupply
    Posts
    1,075
    Reputation
    73
    Thanks
    642
    My Mood
    Angelic
    If anyone else is having issues with openssl, follow along.

    First, google "windows openssl" and click the result from shining light productions.
    Next, download the 32 and 64 bit installers for openssl 1.0.2 as 1.1.0 has different binaries. (download the 20+mb installers)
    Install both and try recompiling with visual studio, it should automatically link with openssl.

    "There is no higher form of user validation than having customers support your product with their wallets." ~ Google


  24. The Following 5 Users Say Thank You to Kushala Daora For This Useful Post:

    Alde. (03-10-2017),BlackRayquaza (02-05-2017),iliketrainz (03-05-2017),toddddd (02-05-2017),~V~ (02-07-2017)

  25. #15
    toddddd's Avatar
    Join Date
    Sep 2016
    Gender
    male
    Posts
    720
    Reputation
    46
    Thanks
    6,363
    Yes thank you Kushala Daora for posting how to download OpenSSL. OpenSSL is needed for all the encryption in this project.


    Just to put down some updates and plans:
    - ive added a few more packet classes and will probably get that up for download soon so other people can use them (though if you look over the code, it should be fairly easy to see how to put the packet classes together)
    - I played around with movement and watched as my bot moved around the game, dc'ing when he tried to walk into a wall lol. But for anyone who is playing with this code, at this stage it can easily be used as a spam bot (ewww) or you can have it move around screen. When i release the next packet classes you would be able to make it shoot as well.
    - Im hoping to get the rest of the packets finished in this upcoming week, and try to handle all ack packets correctly
    - I also am going to add a xml parser to the project so i can download the server/list character info, as well as allowing resources/config to be external instead of internal (ive used tinyxml in the past and will probably use that as long as it does everything i need)

    Once i get the packet classes finished i will throw this up on my ****** (i have one right now but nothing related to rotmg at all on it).

    If anyone has question feel free to ask/post/whatever. Im just glad to see this project has interest, that will keep me from dropping it.
    Last edited by toddddd; 02-05-2017 at 09:20 PM.

  26. The Following 2 Users Say Thank You to toddddd For This Useful Post:

    Alde. (03-10-2017),Kushala Daora (02-05-2017)

Page 1 of 9 123 ... LastLast

Similar Threads

  1. Work in Progress
    By slytherman in forum Showroom
    Replies: 2
    Last Post: 06-22-2010, 08:43 AM
  2. work in progress
    By ForsakenFX in forum Showroom
    Replies: 13
    Last Post: 06-17-2010, 06:33 PM
  3. [Release][Work in progress][FAIL] L85A1 MOD GOLDEN WOOD
    By Jarppi in forum Combat Arms Mods & Rez Modding
    Replies: 26
    Last Post: 03-09-2010, 11:48 AM
  4. Wrestling Ring [Work in Progress]
    By Iwin in forum Art & Graphic Design
    Replies: 13
    Last Post: 01-28-2009, 08:16 PM
  5. a work in progress
    By Iwin in forum Art & Graphic Design
    Replies: 9
    Last Post: 10-15-2008, 08:44 PM