|
|
|
|
|
by danieljh
4089 days ago
|
|
As someone looking more into x86_64 assembly, instruction encoding, syscalls and ELF files recently, not only the lack of good starting points but also the amount of work required to get into it is a pity. I'm currently using [0] as a helping hand among other resources which is quite good; my maybe not-so-interesting results are at [1]. For example, to get a good overview of instruction encoding you have to 0/ read through and ditch horrible blog posts 1/ find the correct Intel manual 2/ search and read through thousands of PDF pages until you find something interesting 3/ understand the environment and facts that are either implicitly given or in the documents but not easy to find. For the handful lines of actual code I wrote yesterday [1] I still have around 25 tabs open. Complexity and no end in sight. Do you have any recommendations and hints as where to start with this in the year 2015? [0] http://0xax.blogspot.se/p/assembly-x8664-programming-for-lin... [1] https://github.com/daniel-j-h/x86-64-asm |
|
* comprehensible, but far from complete (some blogs)
* complete, but hard to understand and requiring some implicit knowledge (Intel manual or [1])
Rather than disassembler I recommend writing some simple JIT compiler, with [2] as a starting point. You skip some problems this way.
[1] http://ref.x86asm.net/ this seems pretty cool as a reference, but I can't wrap my head around it
[2] http://eli.thegreenplace.net/2013/11/05/how-to-jit-an-introd...