-
Member
Developing a bot in C++ vs C# vs Python
Hello Everyone!
I started writing a bot for farming(private servers: vanilla, TBC). Since I had to work with pointers, the choice was made in favor of C++.
When I started looking for information about WoW bots, I started to notice that there were a lot more code examples in C#. My C++, C#, and Python skills are about the same.
My questions:
1. Why do most people develop bots in C#?
2. Should I rewrite my bot in C# or continue with C++?
3. How would you rate the difficulty of writing a bot in 3 languages?
e.g.
If C# is 100%
C++ 150%
Python 110%
-
Originally Posted by
0xFA
Hello Everyone!
I started writing a bot for farming(private servers: vanilla, TBC). Since I had to work with pointers, the choice was made in favor of C++.
When I started looking for information about WoW bots, I started to notice that there were a lot more code examples in C#. My C++, C#, and Python skills are about the same.
My questions:
1. Why do most people develop bots in C#?
2. Should I rewrite my bot in C# or continue with C++?
3. How would you rate the difficulty of writing a bot in 3 languages?
e.g.
If C# is 100%
C++ 150%
Python 110%
3: Python vs C/C++ vs Assembly side-by-side comparison - YouTube
-
Post Thanks / Like - 1 Thanks
hackerlol (1 members gave Thanks to Hazzbazzy for this useful post)
-
Member
Originally Posted by
Hazzbazzy
Difficulty != number of lines of code.
-
Contributor
I think most choose C# because most application developers jobs are C# oriented and they already have experience in that field.
You can code in any language you like but if you have most expierence with c++ why even use c#?
-
Member
Originally Posted by
maikel233
I think most choose C# because most application developers jobs are C# oriented and they already have experience in that field.
You can code in any language you like but if you have most expierence with c++ why even use c#?
I feel like C# is an extra layer that can cause unnecessary issues and pitfalls while debugging. Or are my expectations unfounded?
-
Contributor
Originally Posted by
0xFA
Difficulty != number of lines of code.
I feel you didn't even watch the video if this is your reply. However, as a serious answer, anything you are the most comfortable in and can make something with is the obvious answer. I started my adventure in the cheating realm and switched to C++ and am glad I did. It makes things so much easier, but also is harder to do a few other things in if you're not experienced.
-
Post Thanks / Like - 1 Thanks
Hazzbazzy (1 members gave Thanks to scizzydo for this useful post)
-
Originally Posted by
0xFA
Difficulty != number of lines of code.
This video was intended to help you make an informed choice.
Difficulty is completely subjective depending on the person.
If you want my actual opinion, learn C and x86 Assembly, as everything else is commonly easier to learn as a result of learning at least C, or C++; in order of (subjective) difficulty from easy to hard, Python is the easiest, then C#, then C++, then C, then x86 Assembly.
Python is also the worst language you could learn out of these options, in my opinion.
Last edited by Hazzbazzy; 01-31-2024 at 08:45 AM.
-
Contributor
it can be done in any lang look at autoit just pick what ever lang you feel comfy in
-
Member
Originally Posted by
Hazzbazzy
This video was intended to help you make an informed choice.
Difficulty is completely subjective depending on the person.
If you want my actual opinion, learn C and x86 Assembly, as everything else is commonly easier to learn as a result of learning at least C, or C++; in order of (subjective) difficulty from easy to hard, Python is the easiest, then C#, then C++, then C, then x86 Assembly.
Python is also the worst language you could learn out of these options, in my opinion.
Why do you think python is the worst?
-
Member
Originally Posted by
scizzydo
... and switched to C++ and am glad I did. It makes things so much easier, but also is harder to do a few other things in if you're not experienced.
Please be more specific. This is exactly the information I'm looking for.
-
Originally Posted by
0xFA
Hello Everyone!
I started writing a bot for farming(private servers: vanilla, TBC). Since I had to work with pointers, the choice was made in favor of C++.
When I started looking for information about WoW bots, I started to notice that there were a lot more code examples in C#. My C++, C#, and Python skills are about the same.
My questions:
1. Why do most people develop bots in C#?
2. Should I rewrite my bot in C# or continue with C++?
3. How would you rate the difficulty of writing a bot in 3 languages?
e.g.
If C# is 100%
C++ 150%
Python 110%
1. Why do most people develop bots in C#?
I don't know about most people, however, I choose C# rather than c++/python because there was shit ton of helping material available in that language when it comes to botting, memory reading/writing, and win32/Graphic programming. While this might be true for c++ as well, I didn't choose c++ because I haven't touched the language in last 10+ years. However, if I have to do everything from scratch, I would probably go with c++ since that gives you more control and options. You can also go deep with c++ if you want (not that you have to).
As you can see from my answer, when it comes to botting/hacks/overlays, speed doesn't matter a lot since remote-process-memory-reading is going to slow you down anyway.
Unless you inject your bot in the game process itself, in that case, c++ it is + instant ban.
2. Should I rewrite my bot in C# or continue with C++?
unless there is a road block, I wouldn't recommend switching language.
3. How would you rate the difficulty of writing a bot in 3 languages?
no one writes a bot from scratch, they always have to rely on other ppl work (at least initially while they are learning). So ease of writing a bot in all 3 language depends on which language you find the reference code/libraries in for that specific game? for me it was c# so i went that route.
Last edited by GameHelper; 02-01-2024 at 11:45 PM.
If I did not reply to you, it mean the question you are asking is stupid.
-
Post Thanks / Like - 1 Thanks
0xFA (1 members gave Thanks to GameHelper for this useful post)
-
Contributor
Originally Posted by
GameHelper
1. Why do most people develop bots in C#?
I don't know about most people, however, I choose C# rather than c++/python because there was shit ton of helping material available in that language when it comes to botting, memory reading/writing, and win32/Graphic programming. While this might be true for c++ as well, I didn't choose c++ because I haven't touched the language in last 10+ years. However, if I have to do everything from scratch, I would probably go with c++ since that gives you more control and options. You can also go deep with c++ if you want (not that you have to).
As you can see from my answer, when it comes to botting/hacks/overlays, speed doesn't matter a lot since remote-process-memory-reading is going to slow you down anyway.
Unless you inject your bot in the game process itself, in that case, c++ it is + instant ban.
2. Should I rewrite my bot in C# or continue with C++?
unless there is a road block, I wouldn't recommend switching language.
3. How would you rate the difficulty of writing a bot in 3 languages?
no one writes a bot from scratch, they always have to rely on other ppl work (at least initially while they are learning). So ease of writing a bot in all 3 language depends on which language you find the reference code/libraries in for that specific game? for me it was c# so i went that route.
I find it funny when I see the claims of "Unless you inject your bot in the game process itself, in that case, c++ it is + instant ban."
I've been internal on retail for years without a single ban.
-
Contributor
Originally Posted by
0xFA
Please be more specific. This is exactly the information I'm looking for.
I chose C++ for a few reasons. First was because of the ease to do things, and like mentioned the ability to go pretty deep. Second was all the places I've worked, C++ has been the thing, not C#. Lastly was because of also other things I do, C++ is just the best option.
With these other choices, you tend to have bloated assemblies, easy detection vectors. If blizzard (or any game) wants to find you, it doesn't matter if internal or external.
-
Originally Posted by
scizzydo
I find it funny when I see the claims of "Unless you inject your bot in the game process itself, in that case, c++ it is + instant ban."
I've been internal on retail for years without a single ban.
yeah that part varies a lot, my bad for assuming the worst case scenario, depends on a shit ton of factors, some are in our control and some aren't.
If I did not reply to you, it mean the question you are asking is stupid.
-
Member
Originally Posted by
scizzydo
I've been internal on retail for years without a single ban.
And in the process of developing and debugging the bot, you weren’t banned? What approach did you use?