Quickstart - Sombody101/APKognito GitHub Wiki



This page will give a brief walkthrough on installing and using APKognito.

  1. Installing APKognito
  2. Using APKognito to rename an APK
  3. APKognito Crashed (???)

Installing APKognito

The APKognito full source code can be found on the GitHub. Along with it are some releases, the latest of which can be found here. Download the first ZIP archive file with a version as its name. All other hyperlinks download the source code, not the compiled application.

[!TIP] All releases also have a hyperlink leading to VirusTotal with the analysis of that releases main APKognito DLL, which is what holds all of APKognito's code. This hyperlink is added automatically by the APKognito publish bash script. If you're worried about running APKognito, then check out the analysis for the release you want to download and judge for yourself.

After downloading the ZIP archive release, go ahead and extract it, preferably into a new directory so you keep APKognito separated from your other files. Once extracted, you can run it.

If after running you get a Smart Screen warning about the safety of APKognito, then click More info > Run. This warning happens because APKognito is not signed by a third party source. The reason it's not is because that costs money and takes time to verify, both things I don't have. If this scares you too much, then don't run APKognito. Nobody is forcing you to and my feeling will not be hurt.

You know everything is working when you see the APKognito main page.

APKognito Main Page

Using APKognito

  1. Open APKognito.
  2. Click Select APKs.
  3. Select one or more APK files (if there are assets, make sure they're in directories adjacent to the APK file with the same name minus the file extension).
  4. [Optional] Open the APK Output Settings dropdown menu and adjust quick settings such as:
    • The Java Executable Path (This will be selected automatically, or left blank if no path was found).
    • The final output directory (Defaults to %APPDATA\APKognito\output).
    • Output APK name (the name the company section of the package name, defaults to apkognito).
    • Copy App Files (defaults to Enabled, or, True). This setting changes how assets are handled when present.
      • When Enabled: Any found asset files are copied to the output directory and then renamed, meaning the source package assets remain.
      • When Disabled: Any found asset files are moved rather than copied, then renamed. This should only be enabled if more drive space is not available and cannot be produced (from deleting other files, temp data, etc). The caveat with this option is the changes to asset files must be reverted manually. A jimmy-rigged way to revert the changes (if the rename was successful) is to run the output through APKognito once more, but with the original package company name.
    • Pushing the renamed file to an ADB enabled device. This option requires platform tools to be installed and configured in APKognito and for a "Device profile" to be created, which should happen automatically once plugged in and recognized by APKognito.
  5. Click Start Renaming. After clicking, the button will turn into a Cancel button to stop all renaming jobs.
  6. Wait for APKognito to chew through all packages and smali files.
    • If you enabled Push After Rename and setup ADB properly, then the file should already be on your device. You can skip right to step 8.
  7. Once finished, click View Output, which will open the output directory configured in the dropdown menu above.
  8. You're done!

APKognito Crashed

If APKognito has crashed, then you should see an exception window. This window will hold some information about the crash, as well as some buttons on the bottom. It's recommended that you click Create Logpack, and then click Create GitHub Issue. This will open your default browser on the Issue Creation page. Select Bug Report and fill it out with information about your crash. I will try to solve your issue ASAP.

Please do not copy the information in the textbox into the issue. It's already inside of the logpack and is just redundant or may leak personal information that is otherwise censored in the logpack.

A logpack is just a ZIP archive with some information about your APKognito settings and logs. If you're using a APKognito 1.9.9187.42449 or later, and you'd like to analyze your logs the same way I do, then navigate to Settings > Debugging > Open LogViewer Page. This will navigate you to a page that's hidden on Public Releases of APKognito. It's available as a navigation button on Public Debug and Debug builds. From there, you can open your logpack and analyze the logs. You can also open your logs in a text editor such as Notepad or VSCode, but this makes it easier to understand and visualize (for me, at least).