# Reversing printf-as-a-VM service in Google Quals 2020

DevFeed: [Reversing printf-as-a-VM service in Google Quals 2020](<https://devfeed.tech/articles/reversing-printf-as-a-vm-service-in-google-quals-2020-39678.md>)

Original publisher: [Read original article](<https://mahaloz.re/2020/08/30/google-quals-2020-sprint.html>)

Published: 2020-08-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [mahaloz.re](<https://devfeed.tech/sources/mahaloz-re.md>)

Topics: [Reverse Engineering](<https://devfeed.tech/topics/reverse-engineering.md>), [C](<https://devfeed.tech/topics/c.md>), [format](<https://devfeed.tech/topics/format.md>), [Google](<https://devfeed.tech/topics/google.md>), [Ghidra](<https://devfeed.tech/topics/ghidra.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [ctf](<https://devfeed.tech/tags/ctf.md>), [format](<https://devfeed.tech/tags/format.md>), [game](<https://devfeed.tech/tags/game.md>), [ghidra](<https://devfeed.tech/tags/ghidra.md>), [reversing](<https://devfeed.tech/tags/reversing.md>), [vm](<https://devfeed.tech/tags/vm.md>)

## AI overview

This writeup explains how a Google Quals 2020 challenge implemented a virtual machine using C printf format strings. It covers reverse engineering the program, identifying the format-string instruction set and registers, and beginning to analyze the relevant format specifiers.

## Source excerpt

Solving a virtual machine implemented inside format strings found in the printf library in C with @kylebot.