-
Member
Originally Posted by
scizzydo
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.
To C# developers: do you feel a lack of depth/flexibility? Do you have problems with easy detection?
-
Established Member
Originally Posted by
0xFA
And in the process of developing and debugging the bot, you weren’t banned? What approach did you use?
I have not received a ban on wow since the old days of PQR, so more than 10 years ago? Since I've used my own stuff, never. I use static analysis, modified self compiled Reclass.Net, modified cheat engine, some personal tools made, and then the application. With "hot-reloads" I can make it easy to quickly adjust, and then if there is a crash, create crash dumps that I open with visual studio to see where the crash happens. Also, when I mentioned if blizz wants to find you, it doesn't matter what language you're on. With C++ I have direct memory access, easy manipulation of stacks, no need to marshal, outside of the visual c++ runtime (which is already there), no additional binaries to load into the process as dependencies.
-
Post Thanks / Like - 1 Thanks
0xFA (1 members gave Thanks to scizzydo for this useful post)
-
Member
Originally Posted by
scizzydo
I have not received a ban on wow since the old days of PQR, so more than 10 years ago? Since I've used my own stuff, never. I use static analysis, modified self compiled Reclass.Net, modified cheat engine, some personal tools made, and then the application. With "hot-reloads" I can make it easy to quickly adjust, and then if there is a crash, create crash dumps that I open with visual studio to see where the crash happens. Also, when I mentioned if blizz wants to find you, it doesn't matter what language you're on. With C++ I have direct memory access, easy manipulation of stacks, no need to marshal, outside of the visual c++ runtime (which is already there), no additional binaries to load into the process as dependencies.
This is impressive work! But even a good bot may behave suspiciously in some situations. How did you avoid player reports for such a long time?
-
Elite User
agree with the no bann depends how much u release it if u just mass spam they will sig scan u registry u etc or if u do the lua logic last i knew they scan inside been a lil since i cared i might be wrong i use basically lazybot still going strong since og of him no banns mind u i changed so much they cant sig scan or open handle since i use another process to get it but i still cant say won't happen but if its private your fine if u release it u have things to worry about handle- i check trap pages not needed btw as of yet i do spoof inputs so show real inputs not driver btw u can easy fix i started in c# because all the open source was around to be honest after going to school id prb go c++ wont lie but i suck at ui in c++ c# makes front end easy af as i said pick what ever lang u feel comfy in and roll with it its been done in all langs at this point depends on u i sux front end so c++ for that aids to me mind u after yrs i get around this but was a extra learning curve on top of reversing game etc
Last edited by charles420; 02-04-2024 at 10:53 PM.
-
Elite User
comes down to what u feel comfy in these people turn into ogs.... example my unpacker for wow is c++ i program c# tho but to reverse a clean binary i do c++ was just easier and already done i just had to adapt it i can give thanks to people these forms for that
Last edited by charles420; 02-05-2024 at 01:42 PM.
-
Elite User
no ones right it depends on u do u homie
-
Established Member
Holy mother of run on sentences. I also thought I was having a stroke reading that too. Are you ok?
-
Member
for me, best good of c# is design bot logic so good with coroutine. That it. Until i can find another way making bot logic with good experience then i will leave C#. C# too boring now
-
Member
Originally Posted by
0xFA
To C# developers: do you feel a lack of depth/flexibility? Do you have problems with easy detection?
Probably others are just doing stuff that I'm not doing in my c# bot but honestly, I don't even know what that depth/flexibility is I'm told to be missing out on.
On the contrary, I like c# for the convenient functionality and packages, allowing to build e.g. powerful UIs or web-apis in no time. But I can agree on the bloated assembly concern, treeshaking etc just doesn't work well enough imo.
-
Active Member
There are actually only 2 things to consider:
1) the language you have the most experience with
2) the language in which you can find most sources / examples / articles (for your bot project)
You just have to weigh the two against each other...
btw. c# was the most used language when WOW bots and this forum was
at its peak (maybe 14 years ago?). nowadays it is more the language c++
Last edited by evil2; 01-21-2025 at 06:48 PM.
-
Active Member
I decided to speak out and share my experience.
When I started, my C++ development experience was several years old.
Therefore, C++ was chosen as the main language for writing the bot.
When I came here to the forum, I was disappointed in my choice, since most of the material that is published here, and on other resources, is written in C#
I had to learn the basics of C# to understand the code posted here.I had to learn how to port C# code to C++, adding missing tools and libraries myself or changing the code to simplify porting.
Thanks to this, I became well versed in C# and significantly increased my skill in C++. But how much time was spent on this)
Conclusion, for a beginner it would be better to use C# since there are countless examples of ready-made solutions and code that will allow you to quickly achieve the desired result
C#, in my opinion, is more convenient, while C++ requires a little more time and slightly higher knowledge of the language.
I consider the advantage of C++ to be flexibility, mobility and portability almost anywhere.
From the point of view of bans, it seems to me that C++ is safer, since you write almost everything yourself, do not use ready-made solutions, etc.
In general, if you have a lot of free time and you want to improve your knowledge and learn how to create effective, fast applications, then C++
If the Goal is to achieve the result as quickly as possible with minimal knowledge, then C#
All this is my subjective opinion, formed by a very long time, training and practice.
Last edited by Hrap; 01-27-2025 at 12:50 AM.
-
Active Member
Holy wars again: "Which language is better?"
I’ve never written comments like this before, but the previous response made me.
"I had experience with C++ for several years, and then I spent a long time learning to port code" — really? Several years of working with C++ implies solid fundamental knowledge, almost at the hardware level. What is there to "port"? What is there to think about? Does it matter what you write in? The syntax of any language can be learned in a week. Comments like this create completely misleading impressions for beginners.
Let’s clarify: there’s no universal language — and there never will be. It doesn’t matter what you write in. That doesn’t mean all languages are the same. The real difference is in the entry threshold and the purpose of the language.
If you want to understand how memory works and manipulate it directly — C++ is your choice. This doesn’t mean diving into academic-level knowledge. Basic understanding of how pointers and memory work is enough — nothing more.
If you don’t want to go deep, then write in Python or any other high-level language. That’s fine. But remember, 95% of success depends not on the language but on what’s between the monitor and the chair.
There are no "safer" or "less safe" languages. There are no "harder" or "easier" languages. There’s only the entry threshold and the intended use. For example, it would be odd to write memory management libraries in Python, though it’s possible.
There’s no silver bullet. No one will tell you, "Write in this, and you’ll be happy." There’s a basic stack: C#, C++, Rust, and others. Look at the syntax, read about the language's philosophy. Some people prefer concise, C-like languages, while others enjoy Java (where, by the time you list all the descendants, you’ll forget what you wanted to do in the first place).
P.S. This is relevant if you want to understand. If your goal is just to copy-paste code and then cry on forums: "Why isn’t this working?", then pick C#. It has the lowest entry threshold and tons of ready-made code for every situation.
This doesn’t mean that C# or any other language is bad. But learning should ideally go "bottom-up" — first letters, then words. If you start with high-level languages, you’ll theoretically still come back to the basics, but you’ll learn "top-down" — first words, then letters. And that’s much harder.
All of this is just my personal opinion.
P.S.S. Maybe just flip a coin next time?
Last edited by Tirthankara; 01-27-2025 at 08:27 AM.
-
Active Member
I just do all this in my free time from my main job, I have never studied programming in any educational institution, it’s just a hobby and my main job has nothing to do with IT at all . That's why it was difficult and long
Well, in general terms, the meaning of your post is approximately the same, only it is written in more detail .
-
Member
If you're going to be writing an internal bot - go C++ and Lua
If you're going to be writing an external bot - go C#
not much to it.
Unless you don't know any C# at all, then you can do C++ external aswell, but C# is MUCH faster do develop with.