3 ms·
As an outsider, there are multiple syntax/languages and architectures right? As a beginner, what’s best to learn? I’m scared of getting stuck in a situation whe
by hsbauauvhabzb 5y ago
As an outsider, there are multiple syntax/languages and architectures right? As a beginner, what’s best to learn? I’m scared of getting stuck in a situation where I know something we’ll but I’m unable to apply it to the space I want to understand ( RE/binary exploitation on x86/64)
- junon 5y agoSyntax and ISAs (instruction set architectures) are mutually exclusive. GAS (GNU's Syntax) for example uses `mov src,dest`, whereas Intel Syntax uses `mov dest,src`. It still assembles down to the exact same instructions. The problem with GAS is that it's verbose and almost arcane. It requires a lot of extra notation to indicate what you want to do when it's not entirely necessary. There are a lot of quirks and a number of footguns, too. Intel syntax, on the other hand, is much more human friendly without sacrificing anything. Definitely start with Intel syntax. The assembler itself might also have a preprocessor included, which allows you to write macros and stuff to automate tedious things or to DRY up code. Just a matter of checking the docs. Lastly, ISAs are the actual instructions for a CPU - e.g. x86, AMD64, ARM, etc. Every assembler supports one or more of these of course. The syntax is irrelevant. Hope that helps a bit. NASM is a great way to start.
- hsbauauvhabzb 5y agoThanks, it is. I really hope 2022 is the year that I finally pick up assembly, currently it’s a time thing more than a motivation thing but I’m pretty optimistic I’ll get there :)
- NtGuy25 5y agoIf you're trying to enter the field I would highly suggest ARM. Mobile malware is the wild west and they really need analysts and hire a bunch of people with no experience out of college. X86/64 is alot harder to enter the field in since theres alot more saturation so the barrier to entry is higher.