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 


Where to learn Assembly
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
Stonehenge
Master Cheater
Reputation: 0

Joined: 03 Oct 2008
Posts: 280
Location: Unknown Jumphole

PostPosted: Tue Oct 28, 2008 3:43 pm    Post subject: Where to learn Assembly Reply with quote

Does anyone know of any good places to start learning Assembly?
And how do I know what version is good for my/most processors? Windows XP, that is.

_________________
Back to top
View user's profile Send private message
nog_lorp
Grandmaster Cheater
Reputation: 0

Joined: 26 Feb 2006
Posts: 743

PostPosted: Tue Oct 28, 2008 4:08 pm    Post subject: Reply with quote

MASM, NASM, GCC (using GAS) are the mainly used assemblers as far as I know.

As for how to learn it, I think I'd recommend getting a book. Online resources are all either aimed towards being a reference to someone who is already experienced or are aimed towards cracking, which means knowing how to reverse engineer and understand certain opcodes but not actually program.

_________________
Mutilated lips give a kiss on the wrist of the worm-like tips of tentacles expanding in my mind
I'm fine accepting only fresh brine you can get another drop of this yeah you wish
Back to top
View user's profile Send private message
pkedpker
Master Cheater
Reputation: 1

Joined: 11 Oct 2006
Posts: 412

PostPosted: Thu Oct 30, 2008 6:36 pm    Post subject: Reply with quote

best way to learn something as complicated as assembly is to watch videos of assembly used to crack programs.. I mean if u want to write assembly programs then get what nog_lorp said but if u want to use assembly for hackings then watching the videos is good enough..

http://www.google.com/search?q=lena151+torrent&btnG=Search
download any of those torrent links about lena151's tutorials


cracking real programs
http://www.mininova.org/tor/1843151

_________________
Hacks I made for kongregate.
Kongregate Universal Badge Hack: http://forum.cheatengine.org/viewtopic.php?p=4129411
Kongreate Auto Rating/Voter hack: http://forum.cheatengine.org/viewtopic.php?t=263576
Took a test lol
Back to top
View user's profile Send private message
BirdsEye
Advanced Cheater
Reputation: 0

Joined: 05 Apr 2008
Posts: 94

PostPosted: Thu Oct 30, 2008 7:05 pm    Post subject: Reply with quote

I'd prefer FASM32. It can utilize Win32 API and if you learn it well enough, it would be a more efficient and faster alternative to C++.(There is a real big noticable difference in the size of executables between FASM and IDEs.)
Back to top
View user's profile Send private message
Slugsnack
Grandmaster Cheater Supreme
Reputation: 71

Joined: 24 Jan 2007
Posts: 1857

PostPosted: Thu Oct 30, 2008 7:14 pm    Post subject: Reply with quote

iczelion's tutorials + art of assembly. probably gonna get flamed by some idiots for saying this, but i'd advise masm32. i think it's safe to say it's got the most documentation + active forums out of all the assemblers.
Back to top
View user's profile Send private message
nog_lorp
Grandmaster Cheater
Reputation: 0

Joined: 26 Feb 2006
Posts: 743

PostPosted: Thu Oct 30, 2008 9:54 pm    Post subject: Reply with quote

I think NASM is probably better because it is still being developed, and is widely used outside of Windows, but it uses ATT syntax so MASM is probably better for a Windows user.
_________________
Mutilated lips give a kiss on the wrist of the worm-like tips of tentacles expanding in my mind
I'm fine accepting only fresh brine you can get another drop of this yeah you wish
Back to top
View user's profile Send private message
hcavolsdsadgadsg
I'm a spammer
Reputation: 26

Joined: 11 Jun 2007
Posts: 5801

PostPosted: Thu Oct 30, 2008 10:19 pm    Post subject: Reply with quote

BirdsEye wrote:
I'd prefer FASM32. It can utilize Win32 API and if you learn it well enough, it would be a more efficient and faster alternative to C++.(There is a real big noticable difference in the size of executables between FASM and IDEs.)


If you don't use the CRT, it's pretty easy to shit out exe sizes that rival assemblers.
Back to top
View user's profile Send private message
Slugsnack
Grandmaster Cheater Supreme
Reputation: 71

Joined: 24 Jan 2007
Posts: 1857

PostPosted: Fri Oct 31, 2008 4:16 am    Post subject: Reply with quote

yeah that's true, i forgot to mention masm32 can pretty much only be used on windows. mind you, once you learn the 'syntax'/opcodes it's not TOO hard to switch assemblers.
Back to top
View user's profile Send private message
BirdsEye
Advanced Cheater
Reputation: 0

Joined: 05 Apr 2008
Posts: 94

PostPosted: Fri Oct 31, 2008 4:02 pm    Post subject: Reply with quote

slovach wrote:
BirdsEye wrote:
I'd prefer FASM32. It can utilize Win32 API and if you learn it well enough, it would be a more efficient and faster alternative to C++.(There is a real big noticable difference in the size of executables between FASM and IDEs.)


If you don't use the CRT, it's pretty easy to shit out exe sizes that rival assemblers.


What is CRT? I hear that term alot.
Back to top
View user's profile Send private message
sponge
I'm a spammer
Reputation: 1

Joined: 07 Nov 2006
Posts: 6009

PostPosted: Fri Oct 31, 2008 5:55 pm    Post subject: Reply with quote

C runtime library
_________________
Back to top
View user's profile Send private message
BirdsEye
Advanced Cheater
Reputation: 0

Joined: 05 Apr 2008
Posts: 94

PostPosted: Sat Nov 01, 2008 1:47 pm    Post subject: Reply with quote

sponge wrote:
C runtime library


Like what? And how do you not 'link' to CRT and why does it bloat file size?
Back to top
View user's profile Send private message
pkedpker
Master Cheater
Reputation: 1

Joined: 11 Oct 2006
Posts: 412

PostPosted: Sat Nov 01, 2008 9:02 pm    Post subject: Reply with quote

yah i guess it means C runtime library.

I always thought it ment Common Runtime Library..

but whatever lol yes if you change the linker's arguments to change entry point from CrtMainStartup to main aka main(). Your exe file will drop by 13 KB.. and will load faster as well..

Now you see it's CRTMainStartup

the CRT means (C RunTime)

BUT .. it was calling CRTMainStartup for a reason.. and thats for the use of the keyword static if you never use the keyword static in your programs you should change it to main() it will be much better otherwise if you use static don't change it.. it might cause problems

in microsoft VC++ you could use this simple line to change entrypoint

Code:


#pragma comment (linker, "/ENTRY:main")



but it doesn't have to be main it could be anything you want.. it could be /ENTRY:hack

and your program will startup from

int hack() {
blah blah
return 0;
}

_________________
Hacks I made for kongregate.
Kongregate Universal Badge Hack: http://forum.cheatengine.org/viewtopic.php?p=4129411
Kongreate Auto Rating/Voter hack: http://forum.cheatengine.org/viewtopic.php?t=263576
Took a test lol
Back to top
View user's profile Send private message
hcavolsdsadgadsg
I'm a spammer
Reputation: 26

Joined: 11 Jun 2007
Posts: 5801

PostPosted: Sat Nov 01, 2008 11:53 pm    Post subject: Reply with quote

The easiest way is to make your own entry point, the linker is going to expect either mainCRTStartup or WinMainCRTStartup, so just use that.

Then you can carefully merge your sections if you're feeling really spunky.

One of my projects ends up as a meager 1.5kb as a bare window.
Back to top
View user's profile Send private message
Slugsnack
Grandmaster Cheater Supreme
Reputation: 71

Joined: 24 Jan 2007
Posts: 1857

PostPosted: Mon Nov 03, 2008 12:41 pm    Post subject: Reply with quote

or you could cheat and have it dynamically link it :p
Back to top
View user's profile Send private message
nog_lorp
Grandmaster Cheater
Reputation: 0

Joined: 26 Feb 2006
Posts: 743

PostPosted: Mon Nov 03, 2008 1:03 pm    Post subject: Reply with quote

pked, you are thinking of the CLR - Microsoft's Common Language Runtime which implements the .NET VM.
_________________
Mutilated lips give a kiss on the wrist of the worm-like tips of tentacles expanding in my mind
I'm fine accepting only fresh brine you can get another drop of this yeah you wish
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
Goto page 1, 2  Next
Page 1 of 2

 
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