-
Recent Posts
Recent Comments
Archives
- June 2011
- February 2011
- January 2011
- December 2010
- April 2010
- March 2010
- February 2010
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- February 2007
Categories
- Algorithms
- Assembly
- C
- Challenges
- Compilation
- computer science
- Cryptography
- CSS
- Databases
- decompilation
- Design
- Fractals
- Game Development
- Geometry
- gotchas
- Graphics
- Group Theory
- Humour
- Javascript
- Linux
- Math
- Miscellaneous
- Optimization
- Optimization
- Optimization
- Optimization
- Origami
- Personal
- Programming
- Programming Philosophy
- Projects
- Protocols
- Python
- rants
- Research
- Security
- Sound
- startup
- Statistics
- Teaching Programming
- Testing
- Uncategorized
- Utility Functions
- web-design
Tag Archives: Distorm
Issues in writing a VM – Part 3 – State and Memory
When implementing the VM, I had to keep track of state. The state of the VM includes the registers, virtual variables and memory. Fortunately, keeping track of state information is pretty easy. Basically, it amounts to having a dict, where … Continue reading
Posted in Design, Programming, Python
Tagged Distorm, memory, Python, sparse list, VM
Leave a comment
First Code Transformation: Removing Flag Computations
Short introduction to code transformations If you intend to write a decompiler, you’ll find yourself writing code transformations. In our context, code transformations are operations that take as input an expression tree, and return an equivalent but different expression tree. … Continue reading
Posted in Algorithms, Assembly, decompilation, Programming
Tagged code transformations, decompilation, Disassembly, Distorm, removing flag computations, vial, VM
1 Comment
Issues in Writing a VM – Part 2
Writing a VM capable of executing expression trees is different from writing a VM for executing assembly instructions. Here I’ll cover several issues stemming from this difference. The first group of issues involve generality. Supporting a specific instruction set is … Continue reading
Posted in Algorithms, Assembly, computer science, Programming, Projects, Python
Tagged delay slot, Disassembly, Distorm, Python generators, vial, VM
7 Comments
Issues in writing a VM – Part 1
Arkon and I decided to write a VM for vial. First though, a short explanation on what is vial: vial is a project aimed at writing a general disassembler that outputs expression trees instead of text. On top of vial, … Continue reading
Posted in Assembly, computer science, Programming, Projects, Testing
Tagged Compilation, Disassembly, Distorm, fuzzing, Testing, vial, VM
Leave a comment
Distorm3 progress and SVN
Finally, Distorm3 is progressing. With heaps of work done by Gil, and some more by me, the project will soon be on its feet. One thing that really gave us a feeling of progress, is setting up Subversion. We thought … Continue reading