47 lines
2.3 KiB
Markdown
47 lines
2.3 KiB
Markdown
![Pasticciotto]
|
|
|
|
# What is this?
|
|
Pasticciotto is a virtual machine which can be used to obfuscate code. It was developed for the **PoliCTF 17** as a reversing challenge.
|
|
|
|
I wanted to experiment with VM obfuscation since it was a topic that caught my attention while reversing challenges for various CTFs. So, I decided to write one **from scratch** in order to understand better how instruction set architectures are implemented!
|
|
|
|
The design and the implementation behind Pasticciotto are not state-of-the-art but hey, it works!
|
|
|
|
# What about the challenge?
|
|
I do not want to spoil the challenge for those that haven't completed it yet. Check out some write-up online!
|
|
|
|
# Instruction set
|
|
Check out the file [IMPLEMENTATION.MD](IMPL) to understand how the VM works and which operations it can do! Watch out for some spoilers if you haven't completed the challenge though!
|
|
|
|
# Why "Pasticciotto"?
|
|
In Italian, "Pasticciotto" has two meanings!
|
|
|
|
The first one is **"little mess"** which perfectly describes how I put up this project. The second one is a typical dessert from Southern Italy, Salento! It's filled with cream! Yum!
|
|
|
|
# Contributions
|
|
|
|
Any contribution is **very** welcome! Feel free to open issues and pull requests!
|
|
|
|
|
|
# License
|
|
```
|
|
Copyright 2017 Giulio De Pasquale
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
|
software and associated documentation files (the "Software"), to deal in the Software
|
|
without restriction, including without limitation the rights to use, copy, modify, merge,
|
|
publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
|
|
to whom the Software is furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in all copies or
|
|
substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
|
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
|
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
DEALINGS IN THE SOFTWARE.
|
|
```
|
|
[Pasticciotto]: ./res/pasticciotto.png
|
|
[IMPL]: ./IMPLEMENTATION.md |