LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   assembly language book suggestions (https://www.linuxquestions.org/questions/programming-9/assembly-language-book-suggestions-4175450695/)

doughyi8u 02-18-2013 03:36 PM

assembly language book suggestions
 
I'm thinking of learning assembly but want to learn for windows and linux in both 32 bit and 64 bit. I've looked at a few books but wanted some advice. Is there a book that covers both linux and windows and 32 bit and 64 bit or should I expect to do a lot of reading (multiple books)?

Any suggestions or advice is appreciated.

sundialsvcs 02-18-2013 07:23 PM

My advice is this ... download the "kernel source" packages for your favorite Linux distro, and do some poking-around in the /arch subdirectory.

In this extremely-rarified world, you will most likely find all of the actual application that you will ever actually need for "assembly language programming." And, there you will also find its (almost...) only actual remaining application: as asm{} declarations in a "C" or "C++" program.

It is very-definitely useful to understand about machine architectures, and to understand in-depth how your high-level-language expressions are translated into machine-architecture terms. But no, you should not expect to beat a language-compiler at its own game, and no, you should not have to dumpster-dive into the differences between the Linux and the Windows operating-system environments.

The code that you will find in /arch is, in fact, extremely instructive: the express intention of this code is to abstract away the architecture-specific aspects of Linux into a series of architecture-independent ideals, without sacrificing efficiency.

a4z 02-19-2013 02:10 AM

this could be a good start point
http://www.drpaulcarter.com/pcasm/

NevemTeve 02-19-2013 02:35 AM

> I'm thinking of learning assembly but want to learn for windows and linux in both 32 bit and 64 bit.

You seem to think that Assembly is for application development, which is not the case. Plus, it is not meant for beginners.

doughyi8u 02-19-2013 07:44 AM

My reason for wanting to learn assembly is to write shellcode. I know it's not for application development.

sundialsvcs 02-19-2013 08:00 AM

Hmmm...

Quote:

Originally Posted by http://en.wikipedia.org/wiki/Shellcode :
In computer security, a shellcode is a small piece of code used as the payload in the exploitation of a software vulnerability. It is called "shellcode" because it typically starts a command shell from which the attacker can control the compromised machine, but any piece of code that performs a similar task can be called shellcode. Because the function of a payload is not limited to merely spawning a shell, some have suggested that the name shellcode is insufficient. However, attempts at replacing the term have not gained wide acceptance. Shellcode is commonly written in machine code.

Uh huh. And you think we're going to help you with that ...

acid_kewpie 02-19-2013 08:06 AM

Nope. Thread closed.

Whilst you are, of course, free to learn whatever languages you wish, we aren't here to help you learn to attack systems.


All times are GMT -5. The time now is 03:46 PM.