{"id":15381691,"url":"https://github.com/hugogresse/apks-search","last_synced_at":"2026-04-19T14:07:49.752Z","repository":{"id":77410593,"uuid":"420691219","full_name":"HugoGresse/APKs-search","owner":"HugoGresse","description":"Search for keyboards in Android App, directly from the Play Store to decompiled app files","archived":false,"fork":false,"pushed_at":"2021-10-24T16:21:02.000Z","size":54,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-27T22:37:03.196Z","etag":null,"topics":["android","cli","fraud-detection","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HugoGresse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["HugoGresse"],"ko_fi":"HugoGresse"}},"created_at":"2021-10-24T13:23:55.000Z","updated_at":"2023-03-10T17:01:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"8b87ee2e-3745-438d-a715-743c2ccbaf1b","html_url":"https://github.com/HugoGresse/APKs-search","commit_stats":{"total_commits":8,"total_committers":1,"mean_commits":8.0,"dds":0.0,"last_synced_commit":"b7795b1e25861eecdfe9ed17012794957c31f395"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/HugoGresse/APKs-search","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HugoGresse%2FAPKs-search","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HugoGresse%2FAPKs-search/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HugoGresse%2FAPKs-search/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HugoGresse%2FAPKs-search/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HugoGresse","download_url":"https://codeload.github.com/HugoGresse/APKs-search/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HugoGresse%2FAPKs-search/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32009243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","cli","fraud-detection","nodejs"],"created_at":"2024-10-01T14:28:29.587Z","updated_at":"2026-04-19T14:07:49.734Z","avatar_url":"https://github.com/HugoGresse.png","language":"JavaScript","funding_links":["https://github.com/sponsors/HugoGresse","https://ko-fi.com/HugoGresse"],"categories":[],"sub_categories":[],"readme":"Automatic APKs downloader and analyzer aiming to search for specific term usage (like a domain dame) within app codes. This is useful if you have free apps using your own API without illegally for example.\n\n**Process**:\n1. Search for apps to download on Google Play Store\n2. Download APKs from the Play Store\n3. Decompile the APKs\n4. Search for the given term reference in specific files content (`['.js', \".bundle\", \".xml\", \".json\", \".html\", \".htm\", \".txt\", \".smali\"]`)\n\n# How to use:\n\n```\nnpm run cli -- -s \"plant identification\" -t \"plantnet.org\" -e \"org.plantnet\" -c 100\n```\nor\n```\nnode --experimental-specifier-resolution=node  -r dotenv/config src/index.js -s \"plant identification\" -t \"plantnet.org\" -e \"org.plantnet\" -c 100\n```\n\n\n### Example output:\n\u003cdetails\u003e\n  \u003csummary\u003eClick to expand!\u003c/summary\u003e\n\n```\n\u003e Searching apps\nFound 96 apps\n\u003e Downloading 4 apps (92 already downloaded)\nDownloading  io.ionic.seed2spoon\nDownloading  com.darxide.android.plantguide\nDownloading  com.extension.idweeds\nDownloading  net.aidanmontare.wild_plant_id\n\n\u003e Extracting 4 apps\nDecompile  io.ionic.seed2spoon\nDecompile  com.darxide.android.plantguide\nDecompile  com.extension.idweeds\nDecompile  net.aidanmontare.wild_plant_id\n\n\u003e Inspecting 88 apps\nInspect  cn.danatech.xingseus\nInspect  com.stromming.planta\nInspect  plant.identification.snap\nInspect  com.myplantin.app\nInspect  com.fws.plantsnap2\nInspect  com.fourdesire.plantnanny2\nInspect  com.conceptivapps.blossom\nInspect  com.ablenas.plant_collector\nInspect  plant.identification.flower.tree.leaf.identifier.identify.cat.dog.breed.nature\nInspect  app.plant.identification\nInspect  com.plantspot.plantidentifier\nYour term was found in file: /temp/apks-search/cache/decompiledApks/com.plantspot.plantidentifier/smali_classes2/com/plantfinder/identification/util/Config.smali\nInspect  com.abc.plantdetect\nInspect  org.inaturalist.seek\nInspect  findplant.com.bian\nInspect  com.findplant.plantidentification\nInspect  org.inaturalist.android\nInspect  com.floraincognita.app.floraincognita\nInspect  com.tl.plantidentification\nYour term was found in file: /temp/apks-search/cache/decompiledApks/com.tl.plantidentification/smali/com/tl/plantidentification/Utils/GlobalRetro.smali\nInspect  com.vtpn.plantid\nYour term was found in file: /temp/apks-search/cache/decompiledApks/com.vtpn.plantid/assets/index.android.bundle\nInspect  plant.identification.identifier.identity\nYour term was found in file: /temp/apks-search/cache/decompiledApks/plant.identification.identifier.identity/smali_classes3/plant/identification/identifier/identity/serverTask/GetResultPlantnetNameTask.smali\nYour term was found in file: /temp/apks-search/cache/decompiledApks/plant.identification.identifier.identity/smali_classes3/plant/identification/identifier/identity/serverTask/UploadImagePlantnetTask.smali\nInspect  identifyplants.floweridentify.plantfinder.plant.identification.snap.plantsearch\nYour term was found in file: /temp/apks-search/cache/decompiledApks/identifyplants.floweridentify.plantfinder.plant.identification.snap.plantsearch/smali_classes2/re/plant/identification/Api/RestApi.smali\nYour term was found in file: /temp/apks-search/cache/decompiledApks/identifyplants.floweridentify.plantfinder.plant.identification.snap.plantsearch/smali_classes2/re/plant/identification/Utils/GlobalRetro.smali\nInspect  tree.plant.flower.identification.freeplantfinder\nYour term was found in file: /temp/apks-search/cache/decompiledApks/tree.plant.flower.identification.freeplantfinder/smali_classes2/com/re/newplantfloweridentification/Api/RestApi.smali\nYour term was found in file: /temp/apks-search/cache/decompiledApks/tree.plant.flower.identification.freeplantfinder/smali_classes2/com/re/newplantfloweridentification/Utils/GlobalRetro.smali\nInspect  com.plantsnap.plant.identify.plantsearch\nInspect  com.perfecttools.plantsidentifier\nInspect  com.plantidentifierapp.plantandtreeidentifier.plantcare.plantbased\nInspect  com.plantid.picturethis.plantin.plantsnap.natureid\nYour term was found in file: /temp/apks-search/cache/decompiledApks/com.plantid.picturethis.plantin.plantsnap.natureid/smali/com/plantidentified/app/ui/detail/DetailActivity.smali\nYour term was found in file: /temp/apks-search/cache/decompiledApks/com.plantid.picturethis.plantin.plantsnap.natureid/smali/g/f/a/m/q.smali\nYour term was found in file: /temp/apks-search/cache/decompiledApks/com.plantid.picturethis.plantin.plantsnap.natureid/smali/g/f/a/o/b/k.smali\nYour term was found in file: /temp/apks-search/cache/decompiledApks/com.plantid.picturethis.plantin.plantsnap.natureid/smali/g/f/a/o/d/p/g.smali\nInspect  com.dstteam.minecraftvn123.theplantae\nInspect  com.gardentags\nInspect  com.plantidentification.plusfree21\nInspect  air.be.trendsco.plantifier\nInspect  sk.ab.herbs\nInspect  com.touchberry.plant.story.identification.gardening\nInspect  com.google.ar.lens\nInspect  cc.forestapp\nInspect  com.labs.merlinbirdid.app\nInspect  com.picturerock.rock\nInspect  de.tu_chemnitz.mi.kahst.birdnet\nInspect  com.ecosia.android\nInspect  com.glority.pictureinsect\nInspect  com.unlogical.jane\nInspect  lt.farmis.apps.farmiscatalog\nInspect  com.glority.picturebird\nInspect  com.htec.gardenize\nInspect  asak.pro.planting\nInspect  com.lofstudio.gardens\nInspect  com.fouxa.plantdiseasedetection\nInspect  plants.flowers.trees.species.identification.id.plantas.flores\nInspect  com.lucidcentral.mobile.appw\nInspect  com.famoconnect.plant.identifier.rose.sunflowers.daisy.orchids.flowers.lavender.weeds\nInspect  com.plantiary\nInspect  com.identifier.plant.flower.scan\nInspect  com.romancedawn.smartscan\nInspect  org.pottssoftware.agps21\nInspect  com.shekhsirajulstore.plantidentificationtrainingguide\nInspect  e.fruit.natureai\nInspect  com.coolgame.findflower\nInspect  com.jg.plantidentifier\nInspect  com.couchmadeapps.ediblewildplants\nInspect  com.leafdoctor\nInspect  com.ornamental.plant.aglaonema.lg\nInspect  de.iflora.europe\nInspect  com.lucidcentral.mobile.scotia\nInspect  com.amicho.serawit\nInspect  identifier.neural.plants\nInspect  com.floraincognita.app.floracapture\nInspect  com.masud.plant_identifier\nInspect  com.MyCameraSol.PlantsIdentifier\nInspect  com.andromo.dev58263.app71191\nInspect  com.makor.hotornot\nInspect  com.onurhazar.bbook\nInspect  com.godrej.ngcpr.endemicplants\nInspect  mayatana.co.in.scientificnameofaplants\nInspect  com.feiji.babyanimals.baby_animals\nInspect  com.soft24hours.dictionaries.dictionary8\nInspect  com.kesiflerdunyasi.foresttreeidentification\nInspect  co.uk.app.rightplants4me\nInspect  de.coogni.baum\nInspect  com.askattis.planticus\nInspect  com.oboae.example.beta.planteck\nInspect  rakta.plant.identification\nInspect  com.straitonapps.plantcare\nInspect  com.plantidentification.floweridentifier\nYour term was found in file: /temp/apks-search/cache/decompiledApks/com.plantidentification.floweridentifier/smali/plant/finder/app/Api/RestApi.smali\nYour term was found in file: /temp/apks-search/cache/decompiledApks/com.plantidentification.floweridentifier/smali/plant/finder/app/Utils/GlobalRetro.smali\nInspect  com.PlantsIdentifier.Camera\nInspect  com.andromo.dev601172.app655482\nInspect  com.hanoi.plantabcd\nYour term was found in file: /temp/apks-search/cache/decompiledApks/com.hanoi.plantabcd/assets/index.android.bundle\nInspect  com.weedidnew\nInspect  com.smartplant\nInspect  com.thefrenchsoftware.flowerident\n\n9 app contain the term plantnet.org, here is the details:\n\n{\n    \"com.plantspot.plantidentifier\": [\n        \"/temp/apks-search/cache/decompiledApks/com.plantspot.plantidentifier/smali_classes2/com/plantfinder/identification/util/Config.smali\"\n    ],\n    \"com.tl.plantidentification\": [\n        \"/temp/apks-search/cache/decompiledApks/com.tl.plantidentification/smali/com/tl/plantidentification/Utils/GlobalRetro.smali\"\n    ],\n    \"com.vtpn.plantid\": [\n        \"/temp/apks-search/cache/decompiledApks/com.vtpn.plantid/assets/index.android.bundle\"\n    ],\n    \"plant.identification.identifier.identity\": [\n        \"/temp/apks-search/cache/decompiledApks/plant.identification.identifier.identity/smali_classes3/plant/identification/identifier/identity/serverTask/GetResultPlantnetNameTask.smali\",\n        \"/temp/apks-search/cache/decompiledApks/plant.identification.identifier.identity/smali_classes3/plant/identification/identifier/identity/serverTask/UploadImagePlantnetTask.smali\"\n    ],\n    \"identifyplants.floweridentify.plantfinder.plant.identification.snap.plantsearch\": [\n        \"/temp/apks-search/cache/decompiledApks/identifyplants.floweridentify.plantfinder.plant.identification.snap.plantsearch/smali_classes2/re/plant/identification/Api/RestApi.smali\",\n        \"/temp/apks-search/cache/decompiledApks/identifyplants.floweridentify.plantfinder.plant.identification.snap.plantsearch/smali_classes2/re/plant/identification/Utils/GlobalRetro.smali\"\n    ],\n    \"tree.plant.flower.identification.freeplantfinder\": [\n        \"/temp/apks-search/cache/decompiledApks/tree.plant.flower.identification.freeplantfinder/smali_classes2/com/re/newplantfloweridentification/Api/RestApi.smali\",\n        \"/temp/apks-search/cache/decompiledApks/tree.plant.flower.identification.freeplantfinder/smali_classes2/com/re/newplantfloweridentification/Utils/GlobalRetro.smali\"\n    ],\n    \"com.plantid.picturethis.plantin.plantsnap.natureid\": [\n        \"/temp/apks-search/cache/decompiledApks/com.plantid.picturethis.plantin.plantsnap.natureid/smali/com/plantidentified/app/ui/detail/DetailActivity.smali\",\n        \"/temp/apks-search/cache/decompiledApks/com.plantid.picturethis.plantin.plantsnap.natureid/smali/g/f/a/m/q.smali\",\n        \"/temp/apks-search/cache/decompiledApks/com.plantid.picturethis.plantin.plantsnap.natureid/smali/g/f/a/o/b/k.smali\",\n        \"/temp/apks-search/cache/decompiledApks/com.plantid.picturethis.plantin.plantsnap.natureid/smali/g/f/a/o/d/p/g.smali\"\n    ],\n    \"com.plantidentification.floweridentifier\": [\n        \"/temp/apks-search/cache/decompiledApks/com.plantidentification.floweridentifier/smali/plant/finder/app/Api/RestApi.smali\",\n        \"/temp/apks-search/cache/decompiledApks/com.plantidentification.floweridentifier/smali/plant/finder/app/Utils/GlobalRetro.smali\"\n    ],\n    \"com.hanoi.plantabcd\": [\n        \"/temp/apks-search/cache/decompiledApks/com.hanoi.plantabcd/assets/index.android.bundle\"\n    ]\n}\n```\n\u003c/details\u003e\n\n### Full help:\n```\n$ npm run cli -- --help\nUsage: index [options]\n\nOptions:\n  -s, --search [name...]     App search term for the store to finds apps\n  -c, --count \u003cnumber\u003e       Search results count for each search (default: 1)\n  -si, --similar             Similarity app search to find related apps to the one given on this params (ex: org.plantnet).\n  -e, --exclude \u003cpackageId\u003e  Exclude given app id in the app search\n  -co, --country \u003ccountry\u003e   Country to find the app in (default: \"us\")\n  --skip-old                 Skip already inspected file in cache (cache includes all download apps no matter the initial search term) (default: false)\n  -t, --term \u003cterm\u003e          Search term (one) to be find in decompiled app\n  -h, --help                 display help for command\n```\n\n### Setup\n\n1. `npm i`\n2. Copy `.env.example` to `.env` and fill missing values according to the doc in the file itself\n3. Install `apktool` [here](https://ibotpeaches.github.io/Apktool/install/) and have it available in your `PATH`\n4. Run `npm run cli` with the correct values\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhugogresse%2Fapks-search","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhugogresse%2Fapks-search","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhugogresse%2Fapks-search/lists"}