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 


Learning Assembly

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
lolAnonymous
Expert Cheater
Reputation: 1

Joined: 19 Jul 2015
Posts: 154

PostPosted: Thu Jul 20, 2017 2:41 pm    Post subject: Learning Assembly Reply with quote

Hey guys I am learning assembly language because I am interested in hacking I think... well the question is "Am I really learning assembly language?" because the instructor show me that

use .model first then .stack .data etc... and ; for comment... but the assembly I saw in cheat engine is totally different... in CE I used // for comment and no .model , .stack etc...

What am I really learning?
Shocked

Thanks
Back to top
View user's profile Send private message
FreeER
Master Cheater
Reputation: 13

Joined: 09 Aug 2013
Posts: 364

PostPosted: Fri Jul 21, 2017 9:33 am    Post subject: Reply with quote

.model, .stack, .data etc. are macros (commands to the assembler itself basically) and labels for the different sections where you store things when creating an entire program in an assembler while CE's assembly is not meant to be assembled as a program but to be _injected_ into an already running program so it doesn't need all the setup that's necessary when creating a full program.

The mov, lea, sub, add, dec, instructions, how functions are called, register names and sizes, etc. would all apply however (though CE uses Intel syntax (based on the NASM assembler I believe) whereas some assemblers, especially unix/linux-based, would use AT&T syntax).
Back to top
View user's profile Send private message
STN
I post too much
Reputation: 34

Joined: 09 Nov 2005
Posts: 2531

PostPosted: Fri Jul 21, 2017 10:34 am    Post subject: Reply with quote

Yes that's assembly.

You need to learn to use an assembler to make your program. Which one have you chosen? (masm,tasm,nassm etc)

_________________
Cheat Requests/Tables- Fearless Cheat Engine
http://fearlessrevolution.com
Back to top
View user's profile Send private message
lolAnonymous
Expert Cheater
Reputation: 1

Joined: 19 Jul 2015
Posts: 154

PostPosted: Fri Jul 21, 2017 10:48 am    Post subject: Reply with quote

Thanks for the answers FreeER and STN...

STN I don't know much about assembler.. I have just started... btw I use Masm...I know this because I write masm in command box of DOSBox...
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 138

Joined: 25 Jan 2006
Posts: 7326
Location: 127.0.0.1

PostPosted: Fri Jul 21, 2017 8:58 pm    Post subject: Reply with quote

Things are going to be a little different because of a few factors. Cheat Engine is not meant to be a full-on ASM compiler and program creation system. (Can you do it? Sure, but it's not worth the effort in non-standard IDE etc.) Cheat Engine takes what you write in its auto assembler and translates it to byte code to be injected into a target process. Because of that, it uses its own interpreter and assembler engine to convert what you write to the proper bytes. CE also defines custom function calls/macros and other features unique to itself as a means to be more helpful towards game hacking and such. (Things like alloc / dealloc, registersymbol / unregistersymbol, createthread, etc.) CE's auto assembler also has custom tags to mix internal features together such as using Lua and ASM together via the {$LUA} and {$ASM} tags.

The main definition stuff you write when making a program in a traditional ASM app is going to be different because you are making an actual application rather than chunks of modifications to be written to another program.

It's still good to learn what you are doing to get a full understanding of MASM, as you said you are using. CE's auto assembler is very similar to MASM's syntax for nearly everything with the exception for the custom stuff CE has added to its own interpreter.

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
lolAnonymous
Expert Cheater
Reputation: 1

Joined: 19 Jul 2015
Posts: 154

PostPosted: Sat Jul 22, 2017 9:20 am    Post subject: Reply with quote

Thanks atom0s for your reply...

This reply solved my confusions about the CE Auto Assembler... I know I am not wasting my time... CE auto assembler's important part is modifying the original code which is Assembly... And I think I saw someone's post in which he mentioned the "Lenas Reversing" which is also a reason for learning Assembly...

Conclusion : Assembly is worth learning for me.

and I also have a question... Where we use Assembly ? I mean where do we use it to create real applications?... like Cheat Engine,Download managers, etc...

Thanks again for your reply.
Back to top
View user's profile Send private message
FreeER
Master Cheater
Reputation: 13

Joined: 09 Aug 2013
Posts: 364

PostPosted: Sat Jul 22, 2017 10:22 am    Post subject: Reply with quote

lolAnonymous wrote:
Where we use Assembly ? I mean where do we use it to create real applications?
In an assembler (nasm,masm, etc.), some compilers also allow inline assembly but when they don't you should be able to find the settings for linking your program and add your assembled object file into the mix there (checkout What's a Creel? on youtube).

Generally, most people do not use assembly at all anymore, of the ones that do most are probably people using it for reverse engineering or shellcode (hacking) reasons, followed by people who use it for performance reasons and those who use a tiny bit of the knowledge (though not necessarily writing code) for debugging their programs, and then there's us hacking on games, and then there's the relatively few people who still choose to use assembly to create programs even with the higher level languages like C/C++ with optimizing compilers that can usually write code of a comparable speed when the programmer has some idea of what they're doing. Though that does ignore any other kinds of assembly that's more likely to be used on mobile devices, micro-controllers, etc.
Back to top
View user's profile Send private message
lolAnonymous
Expert Cheater
Reputation: 1

Joined: 19 Jul 2015
Posts: 154

PostPosted: Sat Jul 22, 2017 10:50 am    Post subject: Reply with quote

Thanks for the answer FreeER...

Now I know why we use assembly...


well if some have any tutorial on advance Assembly programming, post it here...


Thanks
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 138

Joined: 25 Jan 2006
Posts: 7326
Location: 127.0.0.1

PostPosted: Sun Jul 23, 2017 2:05 pm    Post subject: Reply with quote

Coding in pure assembly is pretty much not a thing anymore due to how advanced higher level languages and their compilers/linkers have become to create very optimized code. However, in some cases, some specific libraries still use a mix of a set coding language plus pure ASM to get the best result in speed/performance out of certain functions. Such as C++, many of its included language libraries use a mix of pure C, C++, and ASM to generate well-optimized code.

The last major thing I can think of that was coded in pure assembly was Roller Coaster Tycoon. (Yes, the entire first version of the game was coded in pure asm.)

As for tutorials, Iczelion's tutorials are very well known and respected for various aspects of coding in ASM:
https://win32assembly.programminghorizon.com/tutorials.html

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
lolAnonymous
Expert Cheater
Reputation: 1

Joined: 19 Jul 2015
Posts: 154

PostPosted: Mon Jul 24, 2017 1:47 am    Post subject: Reply with quote

Thanks for the info and link atom0s...
Back to top
View user's profile Send private message
Dr.Disrespect
Master Cheater
Reputation: 2

Joined: 17 Feb 2016
Posts: 499

PostPosted: Mon Jul 24, 2017 12:43 pm    Post subject: Reply with quote

Thanks for the info atom0s, especially the tutorial.
_________________
**************

A simple example is better then ten links. Very Happy
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