This is the tool I've been working on since HW11 and it needs more work. Actually, there's always something which could be done on it. It is basically an x86 instruction decoder with special emphasis on the kernel and decoding interesting pieces of it in order to help in the development of low-level patching techniques, among others.

git repo: https://gitlab.suse.de/bp/x86d

Changelog:

v0.5: Just pushed it out, it has the hash table lookup work started during HW13.

v0.6 (Jul 4 2016): Add VEX instructions support. Tool successfully decodes a complete allyesconfig vmlinux.

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 11 Hack Week 12 Hack Week 13 Hack Week 14 Hack Week 15 Hack Week 16 Hack Week 17 Hack Week 18 Hack Week 19 Hack Week 20

Activity

  • over 3 years ago: firoyang liked this project.
  • over 5 years ago: abignail joined this project.
  • over 5 years ago: abignail liked this project.
  • about 7 years ago: dsterba liked this project.
  • about 7 years ago: mbrugger liked this project.
  • almost 8 years ago: mwilck liked this project.
  • almost 8 years ago: osukup liked this project.
  • almost 8 years ago: osukup liked this project.
  • over 8 years ago: dsterba liked this project.
  • over 8 years ago: wawiv74 joined this project.
  • almost 9 years ago: bpetkov joined this project.
  • almost 9 years ago: mkubecek liked this project.
  • almost 9 years ago: j_gross left this project.
  • almost 9 years ago: mvidner liked this project.
  • about 9 years ago: dbueso liked this project.
  • over 9 years ago: psankar liked this project.
  • about 10 years ago: vbabka liked this project.
  • about 10 years ago: alnovak liked this project.
  • about 10 years ago: pwieczorkiewicz joined this project.
  • about 10 years ago: j_gross started this project.
  • about 10 years ago: pwieczorkiewicz liked this project.
  • about 10 years ago: dsterba liked this project.
  • about 10 years ago: bpetkov originated this project.

  • Comments

    • bpetkov
      over 9 years ago by bpetkov | Reply

      A lot has happened since then; lots more work pending for HW12.

    • bpetkov
      over 9 years ago by bpetkov | Reply

      Symbol lookup got a serious speedup using an RB-tree. Need to convert that to a hash table though, maybe during HW13 or the sommer vacation :-)

    • psankar
      over 9 years ago by psankar | Reply

      Are there more details about this somewhere ? at least the source location ? :)

    • bpetkov
      almost 9 years ago by bpetkov | Reply

      The plan for HW13 is to add a perfect hash functionality for the static sets of symbols which will make symbols lookup take O(1) constant time. Need to re-teach myself hashing, of course.

    • bpetkov
      almost 9 years ago by bpetkov | Reply

      v0.5 is out, hash table lookup is done.

    • bpetkov
      over 8 years ago by bpetkov | Reply

      I'm going to use HW14 to add VEX/AVX insns support. I have something wobbly already but it needs a bunch more polishing first.

    • bpetkov
      almost 8 years ago by bpetkov | Reply

      HW15: try decoding a 32-bit vmlinux and see how far I can get. Fix bugs along the way. When that is done, random sequences comparison between objdump and x86d.

    • bpetkov
      almost 8 years ago by bpetkov | Reply

      Actually, a much better task for this time would be adding support for analyzing vmlinuz and disassembling the embedded kernel. This way I'll learn what exactly its structure, layout is and how it is built.

    • bpetkov
      about 7 years ago by bpetkov | Reply

      HW16: Time to continue working on picking apart a stripped vmlinuz, along with cleaning up and streamlining the code.

    • abignail
      over 5 years ago by abignail | Reply

      well great job, but the code cannot be reached at this time. missing...

    • bpetkov
      almost 5 years ago by bpetkov | Reply

      Tool needs rewrite of major pieces to finally make its output very close - if not identical - to objdump so my plan for this hack week is to re-architect the code as a solo project.

    • bpetkov
      almost 4 years ago by bpetkov | Reply

      HW20: Learn about augmented trees as a solo project.

    Similar Projects

    This project is one of its kind!