Reverse Engineering the Wisconsin Driver Practice Test

April 04, 2019 2 minutes

The Problem

I am currently taking Drivers’ Ed, and was told to use the WI DMV Driver Practice Test app to help study for the permit test. The only problem: I didn’t have a phone.

It seems like I am not the only one that finds issues with the provided mobile app. Many Google Play reviews describe how the app only shows 15 random questions at a time, and that questions repeat frequently. Others complain about the app’s inability to translate into other languages. However, the DMV does not provide a more accessible format to use the review.

The Solution

Frustrated by this, I decided to investigate. I downloaded the app’s apk with this tool, and decompiled it with Apktool.

Inside there was a .xml file containing all the questions, with tags sorting them into categories and marking the correct answers. However, the xml file was difficult to read and impossible to use for practice, as the correct options were clearly distinguishable.

Using VSCode’s find and replace feature, which supports regexes :wink:, along with this handy regular expression tool, I manually converted the xml document into markdown. Then I converted the markdown file into pdf and word versions using Typora and Pandoc.

End Product

You can download the different documents below.

Disclaimer: All questions are from the WI DMV Driver Practice Test mobile application as of 4/4/2019, and are the intellectual property of the Wisconsin DMV. Please check their app for the most up-to-date version.