Point of learning assembly?
#1
Why learn x86 assembly for malware development; what can I use it for?
Reply
#2
1) Learning assembly is learning how a computer works, how memory works. It's as close as you can get to machine language and still understand something. Low-level languages give you more control over the code. What will give you greater understanding of high-level languages.
2) All code is open source if you know assembly.
3) You probably won't be using assembly on a day-to-day basis, but for some very specific tasks, the language is still an excellent choice. Usually, when we talk about assembly development we are talking about malware or small exploits. But if you're a retro game developer, the language still has its value.
4) There are thousands of free tutorials out there, with content from basic to advanced. There's no reason to refuse knowledge for free. xD
5) Ultimately, it will make you a better programmer overall.
Reply
#3
the short answer is that if you cant come up with your own use-case, then don't waste your time with it tbh.

in regards to the above though,

2. i know this is a cliche, but it's really not true when VMs exist (vmp or llvm or something). if anything, knowing the bytecode of your arch and having an infinite amount of time and attention-span makes all code open-source.

4. theres actually very little on asm since the language isn't really standardized. sure you can find linux asm tutorials with nasm, but you could also find tutorials on inline asm in C, or stuff that uses intel syntax vs att syntax, or flat assembler, or when working on windows, you might find stuff for HLA, or stuff that only uses masm, fasm etc. the list goes on. not to mention almost none of it actually carries over from linux to windows like it would with C or C++. learning asm is a bit of a commitment because you also need to filter out what's correct for your use-case, and how much of it you can carry over when learning it for another use-case.

5. again, disagree. it might make you think in smaller steps than if you only know python/javascript where a lot of the smaller steps are hidden, but unless you're reading TAOCP from cover to cover, volume to volume, it really won't do much for you. knowing how to load win32 functions without actually linking the DLLs during compilation with assembly won't help you write an enterprise web service/API.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  assembly and RE vs expanding into C2 creation / learning neftis 0 3,986 09-20-2021, 09:57 PM
Last Post: neftis