Harry Potter Wizards Unite

APKMirror - Easiest way to get a copy of the .apk file while it's restricted to NZ on the play store. The .apk has been removed via a DMCA request by Niantic, though.

- Easiest way to get a copy of the .apk file while it's restricted to NZ on the play store. The .apk has been removed via a DMCA request by Niantic, though. APKTool - A fantastic tool built by iBotPeaches. Must-have for decompiling .apks.

- A fantastic tool built by iBotPeaches. Must-have for decompiling .apks. UABE (Unity Assets Bundle Extractor) - A simple Windows tool for extracting assets from Unity asset bundles.

- A simple Windows tool for extracting assets from Unity asset bundles. AssetStudio - Similar to UABE, but a bit better for bulk extracting assets from Unity asset bundles.

- Similar to UABE, but a bit better for bulk extracting assets from Unity asset bundles. CyberChef - An entire toolshed of features for decoding everything. Even includes a poor-man's protobuf decoder.

The Game





The APK Wizards Unite is built on the same game engine as Niantic's other games, Pokemon Go and Ingress Prime. At the core, their game engine is built on Unity , with the Niantic platform on top of that. Much of the client-side codebase appears to be shared between all their games and they all are backed by Niantic's proprietary database of points of interest. They also continue their trend of using Google Cloud Platform as the back-end for HPWU. While there are some references to Warner Bros Games (and Portkey Games) in the apk, it appears the vast majority of the game is running on Niantic's code and existing platform.



The HPWU .apk file is a measly 56 MB. It contains the basics to run the game, Unity libraries, camera libraries, some JVM code, and a number of assets. Looking through the smali code, you can see references to:

Facebook - login provider

Google - login provider

ARCore - since Niantic does a lot with augmented reality

Firebase Crashlytics - collects and analyzes crash logs

Helpshift - this is new to HPWU I believe. They are a support company, so perhaps used for gathering feedback during beta?

Neovisionaries websocket library - probably used for real-time interactions in battles. Faster than HTTP transport

WBGames and WBSF

A haptics library



Code for local notifications



Code for handling app permissions



A library for handling errors as your phone runs low on storage

Yasirkula Unity Native Gallery - a 3rd party Unity library for interacting with local images on Android

Yusuf Olokaba NatCam and NatCorder - a couple 3rd party Unity libraries for taking photos and video on Android Smali code A lot of Niantic code is compiled to a native binary format (libNianticLabsPlugin.so) and loaded into the Unity engine. While I've looked at this a little bit for Niantic's previous games, I didn't spend too much time on it for this .apk since I'm assuming it's mostly similar content to their other games (plus binary reverse engineering is hard). A lot of Niantic code is compiled to a native binary format (libNianticLabsPlugin.so) and loaded into the Unity engine. While I've looked at this a little bit for Niantic's previous games, I didn't spend too much time on it for this .apk since I'm assuming it's mostly similar content to their other games (plus binary reverse engineering is hard).

The Assets





Baby Niffler Bane

Much like Pokemon Go and Ingress Prime, HPWU uses



Professions There are currently 3 professions in the game. Auror, Magizoologist, and Professor. Each profession has a number of skills you can learn. There are also assets for 2 other "professions" - "Enemy" and "Map Ability". I believe these relate to abilities which can be used when battling in fortresses. Auror mentor - Harry Potter Here are all the Auror skills

Magizoologist mentor - Rubeus Hagrid Here are all the Magizoologist skills



Professor mentor - Minerva McGonagal Here are all the Professor skills Here are all the Enemy skills Here are all the Map Ability skills Spells The assets are the really juicy part of this whole apk teardown, as they contain the biggest insight into actual gameplay.Much like Pokemon Go and Ingress Prime, HPWU uses Google protocol buffers (protobufs) extensively. There is a protobuf file called GameDataClient, which I'm guessing is the master protobuf for game assets and it contains all sorts of info about the gameplay - encounters, spells, potions, ingredients, professions, etc. I would guess this file is analogous to PoGo's GAME_MASTER file. I'm sure several smarter people than me are currently working on better ways to decode the GameDataClient file so I won't spend too much time on that for this post. I did use it to cross-reference some of the image names, however.



The



Effervo

Ducklifors

Expecto Patronum

Incarcerous

Mustelifors

Petrificus Totalus

Reversis

Stupefy

Combat spells The



Accio - Use the Water-Making Spell to conjure water [bad description?]

Aguamenti - Use the Water-Making Spell to conjure water

Alohomora - Use the Unlocking Spell to pick any lock

Arresto Momentum - Use this charm to slow the velocity of any object

Bombarda - Use the Exploding charm to provoke small explosions

Diffindo - Use the Severing Charm to percisely and accurately cut through objects

Ebublio - Use this jinx to entrap your target within a large bubble

Expecto Patronum - Cast a Patronus to repel Dementors

Finite - End the effects of a previously cast spell

Flipendo - Use the Knockback jinx to disable opponents

Incendio - Use the Fire-Making Spell to conjure fire

Meteolojinx Recanto - Use this counter-charm to cause the effects of Weather-Modifying Charms to cease

Rennervate - Use the Water-Making Spell to conjure water [bad description?]

Reparo - Use the repairing spell to fix a broken object

Revelio - Use the Water-Making Spell to conjure water [bad description?]

Ridikulus - Use the Fire-Making Spell to conjure fire [bad description and typo?]

Stupefy - Use the Water-Making Spell to conjure water [bad description?]

Ventus - Use the Water-Making Spell to conjure water [bad description?] Regular spells Finally - although there is no glyph for it, there is reference in the protobufs to the spell Legilimens. It sounds like it will appear on your passport (profile page) once you learn it. Potions



Healing Potion

Here are the list of potions and their descriptions: Baruffio's Brain Elixir - Grants you extra Wizard XP from each Trace and Portkey you complete.

Bountiful Brew - [no description]

Dawdle Draught - Reduces the Confoundable's likelihood of fleeing with the Foundable, giving you more chances to cast spells in a Trace.

[Weak] Exstimulo Potion - Improves your spellcast in both combat and Traces.

Strong Exstimulo Potion - Strongly improves your spellcast in both combat and Traces.

Potent Exstimulo Potion - Greatly improves your spellcast in both combat and Traces.

Felix Felicis Potion - [no description]

Healing Potion - Restores Stamina that you have lost in combat.

Invigoration Draught - Grants Focus for Strategic Spells in Wizarding Challenges.

Strong Invigoration Draught - Grants significant Focus for Strategic Spells in Wizarding Challenges.

Memory Potion - Yields extra Family XP from each Trace you complete.

Tonic for Trace Detection - Increases your perception of Trace magic, revealing more Traces as you explore.

Scintillation Potion - [no description]

Wideye Potion - Improves your speed and accuracy, producing a perfect spellcast.

Wit-Sharpening Potion - Increases your spell's efficacy against Master Foes in Challenges. Weather

Much like Pokemon Go, HPWU has a weather system. All the possible weather effects Clear

Fog

Overcast

Partly Cloudy

Partly Cloudy Day

Rainy

Snow

Windy

Hazardous Warning

Severe Warning

Moon Phase

First Quarter



Full



New Moon



Third Quarter



Waning Crescent



Waning Gibbous



Waxing Crescent



Waxing Gibbous And Much More There is much, much more still to be revealed here, but at some point I should probably get some sleep. So, rather than going into encounters, wands types, foundables, challenges, etc, I will leave you with 3 things.





Second, I found references to player levels from 1 to 60. The XP required to reach those levels is a bit off, so I'm guessing that I'm looking at something a little bit old. But it's certainly possible that level 60 is the max and they just tweaked the XP numbers some before release. There are also custom descriptions for the first 20 player levels:



The I.C.W. thanks you for participating in the Calamity Containment Cause. Remember, you can stop by Inns to gather supplies. Only you can prevent the destruction of the International Statute of Wizarding Secrecy. Your continued service protects the Wizarding World from exposure. Remember, if you see suspicious magical activity, report it to the I.C.W. immediately. Your efforts are helping to restore order in the Wizarding World. Powerful Wizarding artefacts cannot be allowed to fall into the wrong hands. The Ministry thanks you for continuing to do your part for the Cause. The Calamity Containment Cause is still recruiting - tell your friends. Return every object - don't let magical artefacts become Muggle magnets. The Calamity continues, but the Cause endures. Return every creature - don't let magical beasts become Muggle feasts. You must have received 'Exceeds Expectations' on your O.W.L.s, because you are helping immensely. With your help, the Calamity will be contained. Return every Wizard - those you rescue today may rescue you tomorrow. Few Wizards have contributed to the Cause more than you. Word of your achievements is beginning to spread. The Wizarding World is in debt to you. The Minister of Magic has taken personal interest in your extraordinary efforts. If you keep this up, you'll be in the running for an Order of Merlin. First, all of the possible potion ingredients Second, I found references to player levels from 1 to 60. The XP required to reach those levels is a bit off, so I'm guessing that I'm looking at something a little bit old. But it's certainly possible that level 60 is the max and they just tweaked the XP numbers some before release. There are also custom descriptions for the first 20 player levels:

And lastly a glympse into an upcoming feature (hopefully not an abandoned idea?) - The Floo Network. Here are a few descriptions and error message strings for the Floo Network:

Coming soon - Align with #TeamHarry, #TeamHermione, or #TeamRon and compete in global events.

Add Floo Powder to Fortresses to take ownership for your team! The team with the most and best fortresses wins the Region! Who will you decide to help?

There is no active season available for Floo Network right now! Check back soon!

You are outside the playtest area! Go back to the San Francisco area to contribute Floo Powder!



There are a number of spells currently in the game, some combat spells and some normal spells. Several of the spells don't seem to have glyphs and I could not figure out how to map the combat spell names to the glyphs at all.The combat spells are:The regular spells and their descriptions are:

Niantic released an "open" beta of Harry Potter Wizards Unite (HPWU) to New Zealand just a few days ago. With this early access release, we finally get a look at the game and all it has to offer. But for those of us outside of NZ, all we can do is toy around with the app while we wait for the beta window to expand. This is my first APK teardown I've ever done a writeup for, so please bear with me.First things first - tools used: