{"id":24216680,"url":"https://github.com/martinstyk/apkanalyzerserver","last_synced_at":"2025-07-30T12:34:34.628Z","repository":{"id":92845734,"uuid":"110374145","full_name":"MartinStyk/ApkAnalyzerServer","owner":"MartinStyk","description":"Backend part for AndroidApkAnalyzer application","archived":false,"fork":false,"pushed_at":"2018-05-08T08:40:20.000Z","size":429,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-04T20:12:43.481Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/MartinStyk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2017-11-11T19:35:35.000Z","updated_at":"2024-05-30T03:19:00.000Z","dependencies_parsed_at":"2023-06-02T01:00:24.725Z","dependency_job_id":null,"html_url":"https://github.com/MartinStyk/ApkAnalyzerServer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MartinStyk/ApkAnalyzerServer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinStyk%2FApkAnalyzerServer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinStyk%2FApkAnalyzerServer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinStyk%2FApkAnalyzerServer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinStyk%2FApkAnalyzerServer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MartinStyk","download_url":"https://codeload.github.com/MartinStyk/ApkAnalyzerServer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MartinStyk%2FApkAnalyzerServer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267867816,"owners_count":24157356,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"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":[],"created_at":"2025-01-14T04:33:17.648Z","updated_at":"2025-07-30T12:34:34.620Z","avatar_url":"https://github.com/MartinStyk.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Apk Analyzer Server\nBackend part for Android app [Apk Analyzer](https://github.com/MartinStyk/AndrodApkAnalyzer).\nProvided functionality:\n* Store Android APK's metadata\n* Perform repackaged APK detection\n\n## Routes                       \n\n#### App database\nFollowing section lists all available routes for management of app metadata database\n\n##### /app_records/{id}\nMetadata report about application with given ID.\n\n##### /app_records/{id}/upload_records\nList of all uploads of given APK. If one APK file is uploaded multiple times, only one metadata entry is saved. This path shows IDs of all Android clients with upload time and analysis mode.\n\n##### /app_records/{id}/permissions\nList of all permissions of given APK.\n\n##### /app_records/{id}/filtered_drawables\nList of all application specific image files with their hashes.\n\n##### /app_records?package_name={package_name}\u0026version_name={version_name}\nMetadata report about applications matching specified filter criteria.\n\n##### /app_records/names\nList of most common app names in our APK metadata database\n\n##### /app_records/names_versions\nList of most common app versions in our APK metadata database\n\n##### /app_records [POST]\nEndpoint accepting APK metadata uploaded from Android clients.\n\n##### /usage\nBasic database usage info (number of apps, number of upload records, etc...)\n\n\n#### Repackaged Detection\n\n##### /repackaged_detection?app_hash={hash}\nEndpoint accepting hash of application for detection. This method runs repackaged detection algorithm from Android client side.\n\n##### /repackaged_detection/{id}\nThis method runs repackaged detection algorithm for app with given ID. Useful for testing. \n\n##### /repackaged_detection/{id}?cache=false\nThis method runs repackaged detection algorithm for app with given ID. Cached results are ignored and recalculated.\n\n##### /repackaged_results/{id}\nDisplays results of repackaged detection with given ID. Contains detection results, number of similar apps, percentage of majority signature etc..\n\n##### /repackaged_results/statistics\nNumber of detections and aggregate results of detections.\n\n##### Technical spec\n\n| Prefix        | Verb           | URI Pattern  | Controller#Action |           \n| ------------- |:-------------|:-----|:-----|           \n|            names_app_records |GET| /app_records/names(.:format)                                |app_records#names|\n|   names_versions_app_records |GET|  /app_records/names_versions(.:format)                        |app_records#names_versions|\n|    app_record_upload_records |GET|  /app_records/:app_record_id/upload_records(.:format)         |upload_records#index|\n|     app_record_upload_record |GET|  /app_records/:app_record_id/upload_records/:id(.:format)     |upload_records#show|\n|       app_record_permissions |GET|  /app_records/:app_record_id/permissions(.:format)            |permissions#index|\n|        app_record_permission |GET|  /app_records/:app_record_id/permissions/:id(.:format)        |permissions#show|\n|app_record_filtered_drawables |GET|  /app_records/:app_record_id/filtered_drawables(.:format)     |filtered_drawables#index|\n| app_record_filtered_drawable |GET|  /app_records/:app_record_id/filtered_drawables/:id(.:format) |filtered_drawables#show|\n|                  app_records |GET|  /app_records(.:format)                                       |app_records#index|\n|                              |POST| /app_records(.:format)                                       |app_records#create|\n|                   app_record |GET|  /app_records/:id(.:format)                                   |app_records#show|\n|   repackaged_detection_index |GET|  /repackaged_detection(.:format)                              |repackaged_detection#index|\n|         repackaged_detection |GET|  /repackaged_detection/:id(.:format)                          |repackaged_detection#show|\n|statistics_repackaged_results |GET|  /repackaged_results/statistics(.:format)                     |repackaged_results#statistics|\n|           repackaged_results |GET|  /repackaged_results(.:format)                                |repackaged_results#index|\n|            repackaged_result |GET|  /repackaged_results/:id(.:format)                            |repackaged_results#show|\n|                  usage_index |GET|  /usage(.:format)                                             |usage#index|\n|              available_index |GET|  /available(.:format)                                         |available#index|\n\n\n## Technologies\n* Ruby on Rails\n* PostgreSQL database\n* Deployed on [Heroku] (http://apk-analyzer.herokuapp.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmartinstyk%2Fapkanalyzerserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmartinstyk%2Fapkanalyzerserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmartinstyk%2Fapkanalyzerserver/lists"}