[LG G Stylo Questions & Answers] haise.zero:
The era of LGUP is dead; an update, for those of you who are not in our Discord

​

First, some context for the abbreviations used:

LGMST = LG Mobile Service Tool, the successor of LGUP. More context within the post.

R&D = Research & Development, their department of developers and researches that work on their proprietary and consumer software and solutions

LG MC = LG MobileComm., their mobile phone division

LGUP Background - Goodbye!​

LGUP was created by their R&D team some time ago for personal use as well as for release to their collaborators, i.e the carriers that sell their devices under their own phone plans with their own software. There were three versions as far as we knew, being Dev, Lab, and CS, and even more configuration based on the UI_Config.lgl file which specified which options were available to which carriers. The LGUP.exe executable does not actually contain all of the instructions, methods, functions etc, but is rather a sort of shell to work with the LGUP_Common.dll library, which is where all of the real instructions are.

Both of these files were built using C++, which the reverse engineers out there will know is extremely difficult to work with when a program is already compiled, and essentially impossible to decompile back to any sort of original source code, especially when it comes to the actual .exe that utilizes the dll library, since all versions of the exe after 1.14.3 have been packed with Themida. The NSA's Ghidra does an impressive job of working with this, but it is still brain-rotting to read through and work with even in rough C++, hence why there were so few patches ever made to this application and so little support. The good news is, nobody needs to spend four weeks on figuring out the internals of this anymore, and no assembly reverse engineering is required anymore.

The Good News​

We now have the latest - and probably the last available, since LG MC is shutting down - tool from LG's R&D department. The original LGMST that we obtained was v1.1.4.3, from April of 2020. The new one that we are now currently working with is v1.1.6.1, from March 24th of 2021, just barely over a week ago as of posting today. This version came with a set of drivers, too, which we're pretty confident are the ones that the development team has been working with. They're an older version, but not too old, and this makes sense because they've likely been using and working on this tool for a while now, and development for an application that interfaces with a device can cause unnecessarily tricky troubleshooting and incompatibility issues for the dev team if they're changing the driver that handles the actual communication all the time. It is much easier and more efficient to work with a consistently working driver version during development - and besides, the LG dev team's motto has always been "if it isn't broken we don't need to change it."

LGMST is written in .NET, which the reverse engineers and any .NET developers will know is actually quite exciting to work with when doing reverse engineering. This is because .NET applications can be decompiled to C# and/or IL code that is nearly if not completely identical to the original source code. However, version 1.1.6.1 is far more heavily obfuscated than 1.1.4.3 was. We wouldn't be working with the new one and wiping our previous progress if the last version we had wasn't a year old. We wanted to avoid compatibility issues, and decided to move forward with this version instead and essentially start over.

What this means for you guys is that you will have a higher level of compatibility and functions to work with. Absolutely worst case scenario: we can offer the opportunity to flash your devices and read information from a tool that YOU can easily decompile and work with by hand to tweak and alter as much as you'd like. Providing information about the full capability range of the program is something I want to refrain from doing though, because I don't want to make promises we cannot keep; however, I will state that with everything we've seen, it is all super exciting and should leave LGUP in the dust by comparison.

The Crappy News​

It's not really bad news so I refrained from using that term.

Look, it'll be a while. We're not right around the corner from this, but we're closer than we have ever, ever been. I have full confidence in this program and the team that's working on this with me. There is a lot of functionality offered in this tool, and thus there is a lot more ground to cover than simply flashing firmware onto our devices. I can't go into detail here as to why, because it has been evident in the past that LG is watching us here in XDA, and I don't want to risk unveiling what we do and don't know.

A Note to the LG R&D Team​

Spoiler content hidden.