Great article. I've "known" x86 asm since I was a teenager, but waded into the actual encoding just a couple years back, fearing the worst based on reputation. It's not that hard at all. Understanding how register and memory addressing works takes you a long way towards understanding the whole encoding model.
Here's a Ruby library I wrote 3 years ago, which we used to bootstrap a cross-platform debugger for reversing work:
I think Zed Shaw pointed this out last year, and I second it: pulling assembly into a scripting language is (a) not very hard and (b) incredibly powerful.
Here's a Ruby library I wrote 3 years ago, which we used to bootstrap a cross-platform debugger for reversing work:
http://github.com/tduehr/ragweed/blob/master/lib/ragweed/ras...
I think Zed Shaw pointed this out last year, and I second it: pulling assembly into a scripting language is (a) not very hard and (b) incredibly powerful.