Detect if Lucky Patcher is Installed on Device?

Hi everyone,

I was wondering if anyone knew an easy way to detect if lucky patcher (or similar) is installed on a users device. This seems to be the best solution for now to prevent players from blatantly cheating. I plan on just not letting the app run if it detects lucky patcher installed. Is there any way to see if a package name exists on device? Like com.luckypatcher or whatever their package ID is.



I don’t know of a plugin that can check what is installed on the device but it should be fairly easy to make one. That being said remember lucky patcher makes a copy of the app after the changes are made. Checking at launch might not help you much because lucky patcher might not be installed at that point.

Yeah, I know it makes a copy, but I’m ok with that. It still makes it a lot more of a hassle for someone to keep installing/uninstalling LP to play my game. I’ve got enough people using it that it’s starting to become an issue in my games community.

Anyone reading this willing to make a plugin that does this? Willing to pay.


Seriously just ignore it. These people will never pay. Just adjust your reporting accordingly to filter out fake purchases or use an external service to validate purchases.

1 Like

On Android you can check to see if an app is installed with a couple of lines of code:

local packageName = "Package name of the app you're checking for"
local appIconUrl = "" .. packageName
-- Try to draw the app icon way off screen, then see if it's there.
local appIcon = display.newImage( appIconUrl, -1000, -1000 )
if ( appIcon ) then
    -- Perform desired action.

iOS is similar, but there’s a build.settings component. Here’s the Solar2D documentation that explains how to do it.

1 Like

I would be able to help you. LuckyPatcher now has a builder app which user installs to build LuckyPatcher with a random application ID(package name) for every build.

Once LuckyPatcher is built with a random package name, the user uninstalls the builder so app like yours cannot detect its existence.

Since LuckyPatcher now exists on the user’s device with a random package name, then it’s very difficult to detect its existence.

I solved the detection problem by coming up with a random package name detector algorithm. The algorithm detects all random package named hacking tools, which allow the app to determine if to stop working or not.

That’s the best way to deal with these hacking tools at the moment if you want to rely on the existence of LuckyPatcher and similar tools on the user’s device.

Write a good random package name detector + write another that blacklists all previous releases by package names, before the latest random-package name patch, and prevent your app from working for the user if any of these apps are installed.

Want to share this with the community?