/stackzy

๐Ÿ’ป A cross-platform desktop application to identify libraries used inside an android application โšก

Primary LanguageKotlinApache License 2.0Apache-2.0

๐Ÿš€ stackzy

Twitter: theapache64

A desktop app to analyse APK. Built using Compose desktop

โœจ Demo

๐Ÿ“ฝ๏ธ Usage

๐Ÿ’ป Install

Platform Format Download Status
Linux DEB Download Button Experimental
JAR Download Button Experimental
Windows MSI Download Button Experimental
JAR Download Button Experimental
MacOS DMG Download Button Experimental
JAR (ARM64) Download Button Experimental
JAR (x64) Download Button Experimental

๐Ÿ“‹ Installation Notes

  • JAR files: Require Java 15 or above to run
  • MacOS DMG: The DMG file is not notarized and may trigger a security warning. To resolve this:
    1. Right-click the app and select "Open"
    2. If prompted with a security warning, go to System Preferences โ†’ Security & Privacy
    3. Click "Open Anyway" next to the blocked app message
  • Alternative build: If you prefer building from source, clone the repo and execute ./gradlew createDistributable

๐Ÿ‹ Dependency

  • Java 8 or above

๐Ÿ—๏ธ๏ธ Built with

What How
๐ŸŽญ User Interface Compose Desktop
๐Ÿ— Architecture MVVM
๐Ÿง  Backend Retrosheet
๐Ÿ’‰ DI Dagger2
๐Ÿ› ๏ธ APK Decompiling ApkTool
โ˜• Dex to Java jadx
๐Ÿ›ฃ๏ธ Navigation Decompose
๐ŸŒŠ Async Coroutines + Flow
๐ŸŒ Networking Retrofit
๐Ÿ“„ JSON Moshi
โŒจ๏ธ Logging Arbor
๐Ÿ’ป ADB Adam
๐Ÿงช Testing DaggerMock + JUnit

๐Ÿ˜‚ Fun Facts

  • Stackzy uses a google sheet as the backend, thanks to Retrosheet

  • The initial name of Stackzy was Which Stack

  • Stackzy uses a gloabl caching mechanism, which works as a centralized caching system. Means, if someone decompiled WhatsApp, the next time you try to find the stack, it won't be decompiled and the result will be served from the cache.

๐Ÿ™‡ Credits

  • Special thanks to @mikepenz for contributing 200+ libraries from his project AboutLibraries ๐Ÿ“š
  • Special thanks to @SpikeySanju for the beautiful design ๐Ÿ˜Ž
  • Icons are from flaticon.com
  • Illustrations are from evernote.design
  • Thanks to all amazing people at Twitter for inspiring me to continue the development of this project.

๐Ÿฅผ Test

Before executing any test, ensure

  • A device has connected to the adb
  • a valid PLAY_API_GOOGLE_USERNAME and PLAY_API_GOOGLE_PASSWORD defined in your environment.

๐Ÿค Contributing

โค Show your support

Give a โญ๏ธ if this project helped you!

Patron Link

๐Ÿ“ License

Copyright ยฉ 2021 - theapache64

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

This README was generated by readgen โค