Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


C, C++, C#, Java, Python, Delphi?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
Dr.Disrespect
Grandmaster Cheater
Reputation: 3

Joined: 17 Feb 2016
Posts: 526

PostPosted: Mon May 09, 2016 4:54 pm    Post subject: C, C++, C#, Java, Python, Delphi? Reply with quote

I want to choose one of the programming languages in the title to be my first one to learn. I have some questions about them. Thanks in advance.

1. Which one of them is more friendly and easier to learn? Consider the fact that I am a noob. Very Happy
2. Which one is more powerful?
3. Basically I want to make trainers to hack into games, which one better serves that purpose?

If you can answer the question by giving a certain order for the languages, that would be perfect. For example, for the first question, the answer is: Java>C#>C++>C, which means Java is the most friendly among them while C is the least one. (Just an example.)
Back to top
View user's profile Send private message
akumakuja28
Master Cheater
Reputation: 16

Joined: 28 Jun 2015
Posts: 432

PostPosted: Mon May 09, 2016 5:33 pm    Post subject: Reply with quote

I dabbled in C years ago and again in college. But I really understood programming after learning ASM. I would recommend learning ASM on that note.

C++ is prolly the most documented language out there so it may be a better option.

_________________
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4709

PostPosted: Mon May 09, 2016 6:03 pm    Post subject: Reply with quote

If you have a basic comprehension of computer science, C++ wouldn't be terrible to learn. You should definitely learn it eventually. If you're a complete beginner, however, I really would not recommend it as a first language. I speak from personal experience, so I might be a bit biased.

Java is one of the easiest languages a beginner could learn. It's not as powerful as C++, but it still holds its own. It's also an object-oriented language like C++. However, I question its relevance to making trainers.

C is also a good language to have under your belt. Learning C++ then learning C is easier compared to doing that the other way around, so take that as you will.

If you have a good amount of time, I'd recommend starting with Java and expand outward from there. If you don't have time, just pick whichever you think you need to know the most and go with it.

You might also want to consider vb.net. I've seen a bunch of people use that to make trainers. I'm not sure how easy it is to learn, though.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
Dr.Disrespect
Grandmaster Cheater
Reputation: 3

Joined: 17 Feb 2016
Posts: 526

PostPosted: Mon May 09, 2016 10:32 pm    Post subject: Reply with quote

Thank you, akumakuja28.

@Penguin

Thanks for the info. I think I will learn python and C++. I will start with python because it's easier to learn, and once I get a fairly good understanding of CS, I will start learning C++. Sounds OK? Smile
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 205

Joined: 25 Jan 2006
Posts: 8587
Location: 127.0.0.1

PostPosted: Tue May 10, 2016 12:23 am    Post subject: Reply with quote

Since you said you want to make trainers and hacks for games, I would recommend you go with C/C++. It will give you the best amount of control out of the languages you listed between external and internal hacks.

1. In terms of user-friendly and easier, that is entirely based on the user and not really the language. Different languages have different syntaxes and based on that people learn things easier than others in various ways. Something like C/C++ may be a breeze for you while Java is hard, whereas it is the opposite for someone else. It is a matter of your own preference on which language you can look at and feel comfortable investing time into.

2. In terms of power, C/C++ are going to be you the best power / performance of the languages you listed. Delphi can do a lot of what C/C++ can do in terms of internal hacking as well. C# can be injected but it is a hassle and more overhead. Java and python are not really designed to be injected.

If your focus is game hacking, I would recommend you do:
C/C++ > C#

There is no reason to waste your time with Java unless you plan to get into games like Minecraft where hacking it involves rewriting parts of the game. Python is a script language, while you can make trainers and hacks in it, it is more or less a language not really meant for that kind of task. Delphi, in my opinion, is a pretty dead language and lacks the community that C/C+ have around it. Along with lacking language updates keeping it more modern.

If you want to do drag and drop UI's, C#, Java, and Delphi will get you that.

There are a lot of things to factor into what language you wish to learn. It is something that ultimately you will need to decide.

In general though, if you want to take game hacking serious, I would highly recommend you do C/C++.

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
akumakuja28
Master Cheater
Reputation: 16

Joined: 28 Jun 2015
Posts: 432

PostPosted: Tue May 10, 2016 2:29 am    Post subject: Reply with quote

Second reply if your learning a language to hack games. There is no reason YET for you to try to learn any
C language or Pascal based language. These will not serve you very well.
C injections are a pain as atom0s stated and there are hundreds of threads on here with generally smart people asking injection questions using C.

You should hone your knowledge of ASM for hacking. ASM is the base language for the cpu.
It is the baseline for every game hack ever created. Its not as easy as some higher languages to
build arguments but after a little practice and a good basic understanding of how flags and jumps work its quite beautiful.
Roller Coaster Tycoon was written Completely in ASM.



if your planning on writing trainers.
The way LUA is included in Cheat Engine is incredibly simple and it makes the whole
process of writing a simple independent trainer fairly easy.
Dark Byte made this whole thing very streamlined. Also in the LUA Extensions
sections there is an Easy Trainer Making post where DaSpammer has simplified some of the harder aspects.


If I was you I would Learn ASM then learn LUA. If your only looking to hack games.
If and when you learn how to write in LUA do not use LUA.org as a place to learn.
It will look like a hot mess and the documentation is poorly done IMO. Use
http://www.gammon.com.au/scripts/doc.php?general=lua_base
He documents everything very well with easy to use examples.

A decent spot to learn ASM Jamie King Tutorials

And goodluck man.

AND i apologize for the broken spacing in this post It was not my intention to have this post look like this but the word wrap
broke when I pressed submit. Rolling Eyes

_________________
Back to top
View user's profile Send private message
Dr.Disrespect
Grandmaster Cheater
Reputation: 3

Joined: 17 Feb 2016
Posts: 526

PostPosted: Tue May 10, 2016 9:38 am    Post subject: Reply with quote

Thank you atom0s and akumakuja28 for the detailed information, which is extremely helpful! Smile

The reason that I want to search for another programming language instead of just using LUA provided by CE is that I cannot convert the hexdecimal into Chinese characters in CE. For example, the hex value of "B3 AF" can be converted to Chinese characters by using this function in C++: multibytetowidechar(). However, LUA in CE does not provide such a function, or , does it? Considering the majority of users of my trainer would want to read Chinese instead of a number, I have to search for something else, unfortunately.
Sad
Back to top
View user's profile Send private message
akumakuja28
Master Cheater
Reputation: 16

Joined: 28 Jun 2015
Posts: 432

PostPosted: Tue May 10, 2016 12:38 pm    Post subject: Reply with quote

Try This

Code:

a="我叫李乐"
print(string.sub(a,1,4)) -->我叫
print(string.sub(a,1,5)) -->我叫?
print(string.len(a)) -->8


print (string.byte("乐")) --> 228

print (string.char (32,228,229,230))  ---> BROKEN

Form = createForm()
Form.Caption = a

Label_In_SC = createLabel(Form)
Label_In_SC.Top = 22
Label_In_SC.Left = 20
Label_In_SC.Caption = "它可以工作得很好"



While some things are breaking like string converts. The Readable stuff all appears to be working fine in simplified Chinese.

Every Culture in the world has adopted the arabic number system. I think you would have alot issues arise by using the traditional chinese numbering system. Just my opinion though.

Also multibytetowidechar() has been implanted in LUA already

Alien Lua

_________________
Back to top
View user's profile Send private message
Dr.Disrespect
Grandmaster Cheater
Reputation: 3

Joined: 17 Feb 2016
Posts: 526

PostPosted: Tue May 10, 2016 5:32 pm    Post subject: Reply with quote

akumakuja28 wrote:
Try This

Code:

a="我叫李乐"
print(string.sub(a,1,4)) -->我叫
print(string.sub(a,1,5)) -->我叫?
print(string.len(a)) -->8


print (string.byte("乐")) --> 228

print (string.char (32,228,229,230))  ---> BROKEN

Form = createForm()
Form.Caption = a

Label_In_SC = createLabel(Form)
Label_In_SC.Top = 22
Label_In_SC.Left = 20
Label_In_SC.Caption = "它可以工作得很好"



While some things are breaking like string converts. The Readable stuff all appears to be working fine in simplified Chinese.

Every Culture in the world has adopted the arabic number system. I think you would have alot issues arise by using the traditional chinese numbering system. Just my opinion though.

Also multibytetowidechar() has been implanted in LUA already

Alien Lua


Thanks for the update, akumakuja28. It's good to know that I can use "multibytetowidechar()" in LUA! Smile
I have no problems creating an interface in Chinese, I just didn't know how to read a 2 bytes memory and then convert them into traditional Chinese( the language of the game is in traditional Chinese.)
But if I can use "multibytetowidechar()" in LUA, then everything will be fine. I will check the link that you gave me. Many thanks. Smile
Back to top
View user's profile Send private message
elusiveness
Newbie cheater
Reputation: 1

Joined: 16 Feb 2016
Posts: 22

PostPosted: Wed May 25, 2016 4:34 am    Post subject: Reply with quote

tl;dr, but just a little advise, if you plan to learn C++, don't do C, go straight to C++, i often see devs say to the newbs to begin with C, then to go with C++, doing so will give you bad habits like using arrays over vectors, unnecessary pointers over references, and many others pitfalls... these will take time to wears off.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites