supplier-meesho.webflow 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of supplier-meesho.webflow might be problematic. Click here for more details.

Files changed (1074) hide show
  1. package/.localized +0 -0
  2. package/2.sh +1 -0
  3. package/Complaince.pdf +0 -0
  4. package/GitRepos/CircleIndicator/.idea/caches/build_file_checksums.ser +0 -0
  5. package/GitRepos/CircleIndicator/.idea/caches/gradle_models.ser +0 -0
  6. package/GitRepos/CircleIndicator/.idea/checkstyle-idea.xml +16 -0
  7. package/GitRepos/CircleIndicator/.idea/compiler.xml +21 -0
  8. package/GitRepos/CircleIndicator/.idea/copyright/profiles_settings.xml +3 -0
  9. package/GitRepos/CircleIndicator/.idea/encodings.xml +6 -0
  10. package/GitRepos/CircleIndicator/.idea/gradle.xml +23 -0
  11. package/GitRepos/CircleIndicator/.idea/misc.xml +93 -0
  12. package/GitRepos/CircleIndicator/.idea/modules.xml +11 -0
  13. package/GitRepos/CircleIndicator/.idea/runConfigurations.xml +12 -0
  14. package/GitRepos/CircleIndicator/.idea/vcs.xml +6 -0
  15. package/GitRepos/CircleIndicator/CHANGELOG.md +62 -0
  16. package/GitRepos/CircleIndicator/LoopingViewPager/README.md +4 -0
  17. package/GitRepos/CircleIndicator/LoopingViewPager/build.gradle +22 -0
  18. package/GitRepos/CircleIndicator/LoopingViewPager/proguard-rules.pro +17 -0
  19. package/GitRepos/CircleIndicator/LoopingViewPager/src/main/AndroidManifest.xml +5 -0
  20. package/GitRepos/CircleIndicator/LoopingViewPager/src/main/java/com/imbryk/viewPager/LoopPagerAdapterWrapper.java +168 -0
  21. package/GitRepos/CircleIndicator/LoopingViewPager/src/main/java/com/imbryk/viewPager/LoopViewPager.java +208 -0
  22. package/GitRepos/CircleIndicator/README.md +73 -0
  23. package/GitRepos/CircleIndicator/apk/sample.apk +0 -0
  24. package/GitRepos/CircleIndicator/build.gradle +20 -0
  25. package/GitRepos/CircleIndicator/circleindicator/build.gradle +30 -0
  26. package/GitRepos/CircleIndicator/circleindicator/gradle.properties +22 -0
  27. package/GitRepos/CircleIndicator/circleindicator/proguard-rules.pro +17 -0
  28. package/GitRepos/CircleIndicator/circleindicator/src/main/AndroidManifest.xml +5 -0
  29. package/GitRepos/CircleIndicator/circleindicator/src/main/java/me/relex/circleindicator/CircleIndicator.java +323 -0
  30. package/GitRepos/CircleIndicator/circleindicator/src/main/java/me/relex/circleindicator/SnackbarBehavior.java +45 -0
  31. package/GitRepos/CircleIndicator/circleindicator/src/main/res/animator/scale_with_alpha.xml +22 -0
  32. package/GitRepos/CircleIndicator/circleindicator/src/main/res/drawable/white_radius.xml +6 -0
  33. package/GitRepos/CircleIndicator/circleindicator/src/main/res/values/attrs.xml +60 -0
  34. package/GitRepos/CircleIndicator/circleindicator/upload-jcenter.gradle +67 -0
  35. package/GitRepos/CircleIndicator/circleindicator/upload-maven.gradle +55 -0
  36. package/GitRepos/CircleIndicator/gradle/wrapper/gradle-wrapper.jar +0 -0
  37. package/GitRepos/CircleIndicator/gradle/wrapper/gradle-wrapper.properties +6 -0
  38. package/GitRepos/CircleIndicator/gradle.properties +18 -0
  39. package/GitRepos/CircleIndicator/gradlew +164 -0
  40. package/GitRepos/CircleIndicator/gradlew.bat +90 -0
  41. package/GitRepos/CircleIndicator/sample/build.gradle +32 -0
  42. package/GitRepos/CircleIndicator/sample/proguard-rules.pro +17 -0
  43. package/GitRepos/CircleIndicator/sample/src/main/AndroidManifest.xml +23 -0
  44. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/SampleActivity.java +158 -0
  45. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/SamplePagerAdapter.java +59 -0
  46. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/fragment/ChangeColorFragment.java +28 -0
  47. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/fragment/CustomAnimationFragment.java +28 -0
  48. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/fragment/DefaultFragment.java +29 -0
  49. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/fragment/DynamicAdapterFragment.java +52 -0
  50. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/fragment/LoopViewPagerFragment.java +28 -0
  51. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/fragment/ResetAdapterFragment.java +41 -0
  52. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/fragment/SnackbarBehaviorFragment.java +44 -0
  53. package/GitRepos/CircleIndicator/sample/src/main/res/animator/indicator_animator.xml +16 -0
  54. package/GitRepos/CircleIndicator/sample/src/main/res/animator/indicator_animator_reverse.xml +10 -0
  55. package/GitRepos/CircleIndicator/sample/src/main/res/animator/indicator_no_animator.xml +4 -0
  56. package/GitRepos/CircleIndicator/sample/src/main/res/drawable/black_radius.xml +8 -0
  57. package/GitRepos/CircleIndicator/sample/src/main/res/drawable/black_radius_square.xml +7 -0
  58. package/GitRepos/CircleIndicator/sample/src/main/res/drawable/white_radius.xml +6 -0
  59. package/GitRepos/CircleIndicator/sample/src/main/res/drawable-hdpi/ic_launcher.png +0 -0
  60. package/GitRepos/CircleIndicator/sample/src/main/res/drawable-mdpi/ic_launcher.png +0 -0
  61. package/GitRepos/CircleIndicator/sample/src/main/res/drawable-xhdpi/ic_launcher.png +0 -0
  62. package/GitRepos/CircleIndicator/sample/src/main/res/drawable-xxhdpi/ic_launcher.png +0 -0
  63. package/GitRepos/CircleIndicator/sample/src/main/res/layout/activity_sample.xml +22 -0
  64. package/GitRepos/CircleIndicator/sample/src/main/res/layout/fragment_sample_change_color.xml +21 -0
  65. package/GitRepos/CircleIndicator/sample/src/main/res/layout/fragment_sample_custom_animation.xml +26 -0
  66. package/GitRepos/CircleIndicator/sample/src/main/res/layout/fragment_sample_default.xml +18 -0
  67. package/GitRepos/CircleIndicator/sample/src/main/res/layout/fragment_sample_dynamic_adapter.xml +34 -0
  68. package/GitRepos/CircleIndicator/sample/src/main/res/layout/fragment_sample_loop_viewpager.xml +18 -0
  69. package/GitRepos/CircleIndicator/sample/src/main/res/layout/fragment_sample_reset_adapter.xml +27 -0
  70. package/GitRepos/CircleIndicator/sample/src/main/res/layout/fragment_sample_snackbar_behavior.xml +28 -0
  71. package/GitRepos/CircleIndicator/sample/src/main/res/layout/item_view.xml +2 -0
  72. package/GitRepos/CircleIndicator/sample/src/main/res/layout/viewpager_activity.xml +74 -0
  73. package/GitRepos/CircleIndicator/sample/src/main/res/values/array.xml +10 -0
  74. package/GitRepos/CircleIndicator/sample/src/main/res/values/colors.xml +19 -0
  75. package/GitRepos/CircleIndicator/sample/src/main/res/values/ids.xml +17 -0
  76. package/GitRepos/CircleIndicator/sample/src/main/res/values/strings.xml +9 -0
  77. package/GitRepos/CircleIndicator/sample/src/main/res/values/styles.xml +26 -0
  78. package/GitRepos/CircleIndicator/screenshot.gif +0 -0
  79. package/GitRepos/CircleIndicator/settings.gradle +1 -0
  80. package/GitRepos/Time/.travis.yml +14 -0
  81. package/GitRepos/Time/LICENSE.md +22 -0
  82. package/GitRepos/Time/README.md +269 -0
  83. package/GitRepos/Time/build.gradle +23 -0
  84. package/GitRepos/Time/gradle/wrapper/gradle-wrapper.jar +0 -0
  85. package/GitRepos/Time/gradle/wrapper/gradle-wrapper.properties +6 -0
  86. package/GitRepos/Time/gradlew +172 -0
  87. package/GitRepos/Time/gradlew.bat +84 -0
  88. package/GitRepos/Time/settings.gradle +3 -0
  89. package/GitRepos/Time/time/build.gradle +20 -0
  90. package/GitRepos/Time/time/src/main/kotlin/com/kizitonwose/time/Extensions.kt +65 -0
  91. package/GitRepos/Time/time/src/main/kotlin/com/kizitonwose/time/Time.kt +143 -0
  92. package/GitRepos/Time/time/src/test/kotlin/com/kizitonwose/time/TimeTest.kt +110 -0
  93. package/GitRepos/Time/time-android/build.gradle +38 -0
  94. package/GitRepos/Time/time-android/proguard-rules.pro +21 -0
  95. package/GitRepos/Time/time-android/src/main/AndroidManifest.xml +2 -0
  96. package/GitRepos/Time/time-android/src/main/kotlin/com/kizitonwose/timeandroid/AndroidExtensions.kt +15 -0
  97. package/GitRepos/Time/time-android/src/main/res/values/strings.xml +3 -0
  98. package/GitRepos/black/.coveragerc +9 -0
  99. package/GitRepos/black/.flake8 +7 -0
  100. package/GitRepos/black/.github/CODE_OF_CONDUCT.md +11 -0
  101. package/GitRepos/black/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
  102. package/GitRepos/black/.github/ISSUE_TEMPLATE/feature_request.md +19 -0
  103. package/GitRepos/black/.github/ISSUE_TEMPLATE/style_issue.md +29 -0
  104. package/GitRepos/black/.github/workflows/changelog.yml +21 -0
  105. package/GitRepos/black/.github/workflows/doc.yml +30 -0
  106. package/GitRepos/black/.github/workflows/docker.yml +43 -0
  107. package/GitRepos/black/.github/workflows/fuzz.yml +35 -0
  108. package/GitRepos/black/.github/workflows/lint.yml +28 -0
  109. package/GitRepos/black/.github/workflows/primer.yml +47 -0
  110. package/GitRepos/black/.github/workflows/pypi_upload.yml +31 -0
  111. package/GitRepos/black/.github/workflows/test.yml +76 -0
  112. package/GitRepos/black/.github/workflows/upload_binary.yml +51 -0
  113. package/GitRepos/black/.pre-commit-config.yaml +30 -0
  114. package/GitRepos/black/.pre-commit-hooks.yaml +9 -0
  115. package/GitRepos/black/.prettierrc.yaml +3 -0
  116. package/GitRepos/black/.readthedocs.yaml +14 -0
  117. package/GitRepos/black/AUTHORS.md +184 -0
  118. package/GitRepos/black/CHANGES.md +648 -0
  119. package/GitRepos/black/CONTRIBUTING.md +10 -0
  120. package/GitRepos/black/Dockerfile +14 -0
  121. package/GitRepos/black/LICENSE +21 -0
  122. package/GitRepos/black/Pipfile +36 -0
  123. package/GitRepos/black/Pipfile.lock +1308 -0
  124. package/GitRepos/black/README.md +220 -0
  125. package/GitRepos/black/action/Dockerfile +10 -0
  126. package/GitRepos/black/action/entrypoint.sh +9 -0
  127. package/GitRepos/black/action.yml +24 -0
  128. package/GitRepos/black/autoload/black.vim +172 -0
  129. package/GitRepos/black/docs/Makefile +20 -0
  130. package/GitRepos/black/docs/_static/custom.css +38 -0
  131. package/GitRepos/black/docs/_static/license.svg +1 -0
  132. package/GitRepos/black/docs/_static/logo2-readme.png +0 -0
  133. package/GitRepos/black/docs/_static/logo2.png +0 -0
  134. package/GitRepos/black/docs/_static/pypi_template.svg +1 -0
  135. package/GitRepos/black/docs/compatible_configs/flake8/.flake8 +3 -0
  136. package/GitRepos/black/docs/compatible_configs/flake8/setup.cfg +3 -0
  137. package/GitRepos/black/docs/compatible_configs/flake8/tox.ini +3 -0
  138. package/GitRepos/black/docs/compatible_configs/isort/.editorconfig +2 -0
  139. package/GitRepos/black/docs/compatible_configs/isort/.isort.cfg +2 -0
  140. package/GitRepos/black/docs/compatible_configs/isort/pyproject.toml +2 -0
  141. package/GitRepos/black/docs/compatible_configs/isort/setup.cfg +2 -0
  142. package/GitRepos/black/docs/compatible_configs/pylint/pylintrc +5 -0
  143. package/GitRepos/black/docs/compatible_configs/pylint/pyproject.toml +5 -0
  144. package/GitRepos/black/docs/compatible_configs/pylint/setup.cfg +5 -0
  145. package/GitRepos/black/docs/conf.py +227 -0
  146. package/GitRepos/black/docs/contributing/gauging_changes.md +42 -0
  147. package/GitRepos/black/docs/contributing/index.rst +42 -0
  148. package/GitRepos/black/docs/contributing/issue_triage.md +169 -0
  149. package/GitRepos/black/docs/contributing/reference/reference_classes.rst +76 -0
  150. package/GitRepos/black/docs/contributing/reference/reference_exceptions.rst +12 -0
  151. package/GitRepos/black/docs/contributing/reference/reference_functions.rst +178 -0
  152. package/GitRepos/black/docs/contributing/reference/reference_summary.rst +16 -0
  153. package/GitRepos/black/docs/contributing/release_process.md +89 -0
  154. package/GitRepos/black/docs/contributing/the_basics.md +101 -0
  155. package/GitRepos/black/docs/getting_started.md +49 -0
  156. package/GitRepos/black/docs/guides/index.rst +14 -0
  157. package/GitRepos/black/docs/guides/introducing_black_to_your_project.md +50 -0
  158. package/GitRepos/black/docs/guides/using_black_with_other_tools.md +278 -0
  159. package/GitRepos/black/docs/index.rst +120 -0
  160. package/GitRepos/black/docs/integrations/editors.md +326 -0
  161. package/GitRepos/black/docs/integrations/github_actions.md +35 -0
  162. package/GitRepos/black/docs/integrations/index.rst +28 -0
  163. package/GitRepos/black/docs/integrations/source_version_control.md +14 -0
  164. package/GitRepos/black/docs/license.rst +6 -0
  165. package/GitRepos/black/docs/make.bat +36 -0
  166. package/GitRepos/black/docs/requirements.txt +6 -0
  167. package/GitRepos/black/docs/the_black_code_style/current_style.md +456 -0
  168. package/GitRepos/black/docs/the_black_code_style/future_style.md +35 -0
  169. package/GitRepos/black/docs/the_black_code_style/index.rst +19 -0
  170. package/GitRepos/black/docs/usage_and_configuration/black_as_a_server.md +78 -0
  171. package/GitRepos/black/docs/usage_and_configuration/file_collection_and_discovery.md +36 -0
  172. package/GitRepos/black/docs/usage_and_configuration/index.rst +24 -0
  173. package/GitRepos/black/docs/usage_and_configuration/the_basics.md +286 -0
  174. package/GitRepos/black/fuzz.py +85 -0
  175. package/GitRepos/black/gallery/Dockerfile +11 -0
  176. package/GitRepos/black/gallery/README.md +45 -0
  177. package/GitRepos/black/gallery/gallery.py +307 -0
  178. package/GitRepos/black/mypy.ini +39 -0
  179. package/GitRepos/black/plugin/black.vim +60 -0
  180. package/GitRepos/black/profiling/dict_big.py +8001 -0
  181. package/GitRepos/black/profiling/dict_huge.py +41440 -0
  182. package/GitRepos/black/profiling/list_big.py +4000 -0
  183. package/GitRepos/black/profiling/list_huge.py +22431 -0
  184. package/GitRepos/black/profiling/mix_big.py +1002 -0
  185. package/GitRepos/black/profiling/mix_huge.py +7692 -0
  186. package/GitRepos/black/profiling/mix_small.py +102 -0
  187. package/GitRepos/black/pyproject.toml +34 -0
  188. package/GitRepos/black/setup.cfg +2 -0
  189. package/GitRepos/black/setup.py +113 -0
  190. package/GitRepos/black/src/black/__init__.py +1062 -0
  191. package/GitRepos/black/src/black/__main__.py +3 -0
  192. package/GitRepos/black/src/black/brackets.py +334 -0
  193. package/GitRepos/black/src/black/cache.py +83 -0
  194. package/GitRepos/black/src/black/comments.py +269 -0
  195. package/GitRepos/black/src/black/concurrency.py +39 -0
  196. package/GitRepos/black/src/black/const.py +4 -0
  197. package/GitRepos/black/src/black/debug.py +48 -0
  198. package/GitRepos/black/src/black/files.py +243 -0
  199. package/GitRepos/black/src/black/linegen.py +984 -0
  200. package/GitRepos/black/src/black/lines.py +734 -0
  201. package/GitRepos/black/src/black/mode.py +123 -0
  202. package/GitRepos/black/src/black/nodes.py +843 -0
  203. package/GitRepos/black/src/black/numerics.py +65 -0
  204. package/GitRepos/black/src/black/output.py +83 -0
  205. package/GitRepos/black/src/black/parsing.py +215 -0
  206. package/GitRepos/black/src/black/py.typed +1 -0
  207. package/GitRepos/black/src/black/report.py +100 -0
  208. package/GitRepos/black/src/black/rusty.py +28 -0
  209. package/GitRepos/black/src/black/strings.py +216 -0
  210. package/GitRepos/black/src/black/trans.py +1925 -0
  211. package/GitRepos/black/src/black_primer/cli.py +147 -0
  212. package/GitRepos/black/src/black_primer/lib.py +361 -0
  213. package/GitRepos/black/src/black_primer/primer.json +143 -0
  214. package/GitRepos/black/src/blackd/__init__.py +211 -0
  215. package/GitRepos/black/src/blib2to3/Grammar.txt +215 -0
  216. package/GitRepos/black/src/blib2to3/LICENSE +254 -0
  217. package/GitRepos/black/src/blib2to3/PatternGrammar.txt +28 -0
  218. package/GitRepos/black/src/blib2to3/README +16 -0
  219. package/GitRepos/black/src/blib2to3/__init__.py +1 -0
  220. package/GitRepos/black/src/blib2to3/pgen2/__init__.py +4 -0
  221. package/GitRepos/black/src/blib2to3/pgen2/conv.py +256 -0
  222. package/GitRepos/black/src/blib2to3/pgen2/driver.py +253 -0
  223. package/GitRepos/black/src/blib2to3/pgen2/grammar.py +223 -0
  224. package/GitRepos/black/src/blib2to3/pgen2/literals.py +68 -0
  225. package/GitRepos/black/src/blib2to3/pgen2/parse.py +235 -0
  226. package/GitRepos/black/src/blib2to3/pgen2/pgen.py +428 -0
  227. package/GitRepos/black/src/blib2to3/pgen2/token.py +94 -0
  228. package/GitRepos/black/src/blib2to3/pgen2/tokenize.py +681 -0
  229. package/GitRepos/black/src/blib2to3/pygram.py +197 -0
  230. package/GitRepos/black/src/blib2to3/pytree.py +980 -0
  231. package/GitRepos/black/test_requirements.txt +9 -0
  232. package/GitRepos/black/tests/__init__.py +0 -0
  233. package/GitRepos/black/tests/conftest.py +1 -0
  234. package/GitRepos/black/tests/data/async_as_identifier.py +49 -0
  235. package/GitRepos/black/tests/data/beginning_backslash.py +12 -0
  236. package/GitRepos/black/tests/data/blackd_diff.diff +13 -0
  237. package/GitRepos/black/tests/data/blackd_diff.py +6 -0
  238. package/GitRepos/black/tests/data/bracketmatch.py +15 -0
  239. package/GitRepos/black/tests/data/cantfit.py +107 -0
  240. package/GitRepos/black/tests/data/class_blank_parentheses.py +58 -0
  241. package/GitRepos/black/tests/data/class_methods_new_line.py +270 -0
  242. package/GitRepos/black/tests/data/collections.py +174 -0
  243. package/GitRepos/black/tests/data/comment_after_escaped_newline.py +18 -0
  244. package/GitRepos/black/tests/data/comments.py +96 -0
  245. package/GitRepos/black/tests/data/comments2.py +342 -0
  246. package/GitRepos/black/tests/data/comments3.py +47 -0
  247. package/GitRepos/black/tests/data/comments4.py +94 -0
  248. package/GitRepos/black/tests/data/comments5.py +71 -0
  249. package/GitRepos/black/tests/data/comments6.py +118 -0
  250. package/GitRepos/black/tests/data/comments7.py +271 -0
  251. package/GitRepos/black/tests/data/comments_non_breaking_space.py +44 -0
  252. package/GitRepos/black/tests/data/composition.py +181 -0
  253. package/GitRepos/black/tests/data/composition_no_trailing_comma.py +367 -0
  254. package/GitRepos/black/tests/data/debug_visitor.out +810 -0
  255. package/GitRepos/black/tests/data/debug_visitor.py +32 -0
  256. package/GitRepos/black/tests/data/decorators.py +182 -0
  257. package/GitRepos/black/tests/data/docstring.py +377 -0
  258. package/GitRepos/black/tests/data/docstring_no_string_normalization.py +249 -0
  259. package/GitRepos/black/tests/data/empty_lines.py +187 -0
  260. package/GitRepos/black/tests/data/empty_pyproject.toml +2 -0
  261. package/GitRepos/black/tests/data/expression.diff +447 -0
  262. package/GitRepos/black/tests/data/expression.py +630 -0
  263. package/GitRepos/black/tests/data/expression_skip_magic_trailing_comma.diff +428 -0
  264. package/GitRepos/black/tests/data/fmtonoff.py +413 -0
  265. package/GitRepos/black/tests/data/fmtonoff2.py +40 -0
  266. package/GitRepos/black/tests/data/fmtonoff3.py +35 -0
  267. package/GitRepos/black/tests/data/fmtonoff4.py +36 -0
  268. package/GitRepos/black/tests/data/fmtskip.py +3 -0
  269. package/GitRepos/black/tests/data/fmtskip2.py +17 -0
  270. package/GitRepos/black/tests/data/fmtskip3.py +20 -0
  271. package/GitRepos/black/tests/data/fmtskip4.py +13 -0
  272. package/GitRepos/black/tests/data/fmtskip5.py +22 -0
  273. package/GitRepos/black/tests/data/force_py36.py +16 -0
  274. package/GitRepos/black/tests/data/force_pyi.py +65 -0
  275. package/GitRepos/black/tests/data/fstring.py +21 -0
  276. package/GitRepos/black/tests/data/function.py +247 -0
  277. package/GitRepos/black/tests/data/function2.py +58 -0
  278. package/GitRepos/black/tests/data/function_trailing_comma.py +88 -0
  279. package/GitRepos/black/tests/data/import_spacing.py +118 -0
  280. package/GitRepos/black/tests/data/include_exclude_tests/b/.definitely_exclude/a.pie +0 -0
  281. package/GitRepos/black/tests/data/include_exclude_tests/b/.definitely_exclude/a.py +0 -0
  282. package/GitRepos/black/tests/data/include_exclude_tests/b/.definitely_exclude/a.pyi +0 -0
  283. package/GitRepos/black/tests/data/include_exclude_tests/b/dont_exclude/a.pie +0 -0
  284. package/GitRepos/black/tests/data/include_exclude_tests/b/dont_exclude/a.py +0 -0
  285. package/GitRepos/black/tests/data/include_exclude_tests/b/dont_exclude/a.pyi +0 -0
  286. package/GitRepos/black/tests/data/include_exclude_tests/b/exclude/a.pie +0 -0
  287. package/GitRepos/black/tests/data/include_exclude_tests/b/exclude/a.py +0 -0
  288. package/GitRepos/black/tests/data/include_exclude_tests/b/exclude/a.pyi +0 -0
  289. package/GitRepos/black/tests/data/include_exclude_tests/pyproject.toml +3 -0
  290. package/GitRepos/black/tests/data/long_strings.py +589 -0
  291. package/GitRepos/black/tests/data/long_strings__edge_case.py +110 -0
  292. package/GitRepos/black/tests/data/long_strings__regression.py +888 -0
  293. package/GitRepos/black/tests/data/long_strings_flag_disabled.py +289 -0
  294. package/GitRepos/black/tests/data/missing_final_newline.diff +8 -0
  295. package/GitRepos/black/tests/data/missing_final_newline.py +3 -0
  296. package/GitRepos/black/tests/data/nested_gitignore_tests/pyproject.toml +3 -0
  297. package/GitRepos/black/tests/data/nested_gitignore_tests/root/b.py +1 -0
  298. package/GitRepos/black/tests/data/nested_gitignore_tests/root/c.py +1 -0
  299. package/GitRepos/black/tests/data/nested_gitignore_tests/root/child/c.py +1 -0
  300. package/GitRepos/black/tests/data/nested_gitignore_tests/x.py +0 -0
  301. package/GitRepos/black/tests/data/numeric_literals.py +44 -0
  302. package/GitRepos/black/tests/data/numeric_literals_py2.py +16 -0
  303. package/GitRepos/black/tests/data/numeric_literals_skip_underscores.py +23 -0
  304. package/GitRepos/black/tests/data/pep_570.py +44 -0
  305. package/GitRepos/black/tests/data/pep_572.py +47 -0
  306. package/GitRepos/black/tests/data/pep_572_do_not_remove_parens.py +21 -0
  307. package/GitRepos/black/tests/data/pep_572_remove_parens.py +105 -0
  308. package/GitRepos/black/tests/data/percent_precedence.py +41 -0
  309. package/GitRepos/black/tests/data/python2.py +33 -0
  310. package/GitRepos/black/tests/data/python2_print_function.py +16 -0
  311. package/GitRepos/black/tests/data/python2_unicode_literals.py +20 -0
  312. package/GitRepos/black/tests/data/python37.py +65 -0
  313. package/GitRepos/black/tests/data/python38.py +45 -0
  314. package/GitRepos/black/tests/data/python39.py +37 -0
  315. package/GitRepos/black/tests/data/remove_parens.py +142 -0
  316. package/GitRepos/black/tests/data/slices.py +31 -0
  317. package/GitRepos/black/tests/data/string_prefixes.py +18 -0
  318. package/GitRepos/black/tests/data/string_quotes.py +102 -0
  319. package/GitRepos/black/tests/data/stub.pyi +35 -0
  320. package/GitRepos/black/tests/data/trailing_comma_optional_parens1.py +3 -0
  321. package/GitRepos/black/tests/data/trailing_comma_optional_parens2.py +3 -0
  322. package/GitRepos/black/tests/data/trailing_comma_optional_parens3.py +8 -0
  323. package/GitRepos/black/tests/data/tricky_unicode_symbols.py +6 -0
  324. package/GitRepos/black/tests/data/tupleassign.py +23 -0
  325. package/GitRepos/black/tests/empty.toml +1 -0
  326. package/GitRepos/black/tests/optional.py +119 -0
  327. package/GitRepos/black/tests/test.toml +10 -0
  328. package/GitRepos/black/tests/test_black.py +2100 -0
  329. package/GitRepos/black/tests/test_blackd.py +166 -0
  330. package/GitRepos/black/tests/test_format.py +144 -0
  331. package/GitRepos/black/tests/test_primer.py +217 -0
  332. package/GitRepos/black/tests/util.py +74 -0
  333. package/GitRepos/black/tox.ini +28 -0
  334. package/GitRepos/danger-static_analyzer_comments/.idea/inspectionProfiles/Project_Default.xml +6 -0
  335. package/GitRepos/danger-static_analyzer_comments/.idea/modules.xml +8 -0
  336. package/GitRepos/danger-static_analyzer_comments/Gemfile +3 -0
  337. package/GitRepos/danger-static_analyzer_comments/Gemfile.lock +141 -0
  338. package/GitRepos/danger-static_analyzer_comments/Guardfile +19 -0
  339. package/GitRepos/danger-static_analyzer_comments/LICENSE +21 -0
  340. package/GitRepos/danger-static_analyzer_comments/PLUGIN.gemspec.template.cpgz +0 -0
  341. package/GitRepos/danger-static_analyzer_comments/PLUGIN_LICENSE.txt +22 -0
  342. package/GitRepos/danger-static_analyzer_comments/PLUGIN_README.md +20 -0
  343. package/GitRepos/danger-static_analyzer_comments/README.md +2 -0
  344. package/GitRepos/danger-static_analyzer_comments/Rakefile +23 -0
  345. package/GitRepos/danger-static_analyzer_comments/configure +123 -0
  346. package/GitRepos/danger-static_analyzer_comments/danger-static_analyzer_comments.gemspec +49 -0
  347. package/GitRepos/danger-static_analyzer_comments/lib/danger_plugin.rb +73 -0
  348. package/GitRepos/danger-static_analyzer_comments/lib/version.rb +3 -0
  349. package/GitRepos/danger-static_analyzer_comments/spec/danger_static_analyzer_comments_spec.rb +23 -0
  350. package/GitRepos/danger-static_analyzer_comments/spec/spec_helper.rb +65 -0
  351. package/GitRepos/isort/.codecov.yml +10 -0
  352. package/GitRepos/isort/.coveragerc +20 -0
  353. package/GitRepos/isort/.cruft.json +17 -0
  354. package/GitRepos/isort/.deepsource.toml +18 -0
  355. package/GitRepos/isort/.dockerignore +17 -0
  356. package/GitRepos/isort/.editorconfig +19 -0
  357. package/GitRepos/isort/.github/FUNDING.yml +2 -0
  358. package/GitRepos/isort/.github/workflows/integration.yml +35 -0
  359. package/GitRepos/isort/.github/workflows/lint.yml +35 -0
  360. package/GitRepos/isort/.github/workflows/test.yml +64 -0
  361. package/GitRepos/isort/.isort.cfg +5 -0
  362. package/GitRepos/isort/.pre-commit-config.yaml +5 -0
  363. package/GitRepos/isort/.pre-commit-hooks.yaml +9 -0
  364. package/GitRepos/isort/CHANGELOG.md +522 -0
  365. package/GitRepos/isort/Dockerfile +26 -0
  366. package/GitRepos/isort/LICENSE +21 -0
  367. package/GitRepos/isort/MANIFEST.in +4 -0
  368. package/GitRepos/isort/README.md +355 -0
  369. package/GitRepos/isort/art/isort_loves_black.png +0 -0
  370. package/GitRepos/isort/art/logo.png +0 -0
  371. package/GitRepos/isort/art/logo.xcf +0 -0
  372. package/GitRepos/isort/art/logo_5.png +0 -0
  373. package/GitRepos/isort/art/logo_large.png +0 -0
  374. package/GitRepos/isort/art/logo_large.xcf +0 -0
  375. package/GitRepos/isort/art/stylesheets/extra.css +5 -0
  376. package/GitRepos/isort/docs/configuration/action_comments.md +108 -0
  377. package/GitRepos/isort/docs/configuration/add_or_remove_imports.md +28 -0
  378. package/GitRepos/isort/docs/configuration/black_compatibility.md +63 -0
  379. package/GitRepos/isort/docs/configuration/config_files.md +89 -0
  380. package/GitRepos/isort/docs/configuration/custom_sections_and_ordering.md +131 -0
  381. package/GitRepos/isort/docs/configuration/git_hook.md +34 -0
  382. package/GitRepos/isort/docs/configuration/github_action.md +63 -0
  383. package/GitRepos/isort/docs/configuration/multi_line_output_modes.md +121 -0
  384. package/GitRepos/isort/docs/configuration/options.md +1314 -0
  385. package/GitRepos/isort/docs/configuration/pre-commit.md +32 -0
  386. package/GitRepos/isort/docs/configuration/profiles.md +86 -0
  387. package/GitRepos/isort/docs/configuration/setuptools_integration.md +27 -0
  388. package/GitRepos/isort/docs/contributing/1.-contributing-guide.md +81 -0
  389. package/GitRepos/isort/docs/contributing/2.-coding-standard.md +57 -0
  390. package/GitRepos/isort/docs/contributing/3.-code-of-conduct.md +88 -0
  391. package/GitRepos/isort/docs/contributing/4.-acknowledgements.md +259 -0
  392. package/GitRepos/isort/docs/major_releases/introducing_isort_5.md +142 -0
  393. package/GitRepos/isort/docs/major_releases/release_policy.md +46 -0
  394. package/GitRepos/isort/docs/quick_start/0.-try.md +50 -0
  395. package/GitRepos/isort/docs/quick_start/1.-install.md +22 -0
  396. package/GitRepos/isort/docs/quick_start/2.-cli.md +43 -0
  397. package/GitRepos/isort/docs/quick_start/3.-api.md +22 -0
  398. package/GitRepos/isort/docs/quick_start/interactive.css +26 -0
  399. package/GitRepos/isort/docs/quick_start/interactive.js +55 -0
  400. package/GitRepos/isort/docs/quick_start/isort-5.0.0-py3-none-any.whl +0 -0
  401. package/GitRepos/isort/docs/quick_start/isort-5.0.1-py3-none-any.whl +0 -0
  402. package/GitRepos/isort/docs/upgrade_guides/5.0.0.md +97 -0
  403. package/GitRepos/isort/docs/warning_and_error_codes/W0500.md +22 -0
  404. package/GitRepos/isort/example.gif +0 -0
  405. package/GitRepos/isort/example_isort_formatting_plugin/example_isort_formatting_plugin.py +23 -0
  406. package/GitRepos/isort/example_isort_formatting_plugin/poetry.lock +173 -0
  407. package/GitRepos/isort/example_isort_formatting_plugin/pyproject.toml +20 -0
  408. package/GitRepos/isort/example_shared_isort_profile/example_shared_isort_profile.py +7 -0
  409. package/GitRepos/isort/example_shared_isort_profile/poetry.lock +7 -0
  410. package/GitRepos/isort/example_shared_isort_profile/pyproject.toml +18 -0
  411. package/GitRepos/isort/isort/__init__.py +19 -0
  412. package/GitRepos/isort/isort/__main__.py +3 -0
  413. package/GitRepos/isort/isort/_future/__init__.py +12 -0
  414. package/GitRepos/isort/isort/_future/_dataclasses.py +1209 -0
  415. package/GitRepos/isort/isort/_vendored/toml/LICENSE +27 -0
  416. package/GitRepos/isort/isort/_vendored/toml/__init__.py +23 -0
  417. package/GitRepos/isort/isort/_vendored/toml/decoder.py +1053 -0
  418. package/GitRepos/isort/isort/_vendored/toml/encoder.py +295 -0
  419. package/GitRepos/isort/isort/_vendored/toml/ordered.py +13 -0
  420. package/GitRepos/isort/isort/_vendored/toml/tz.py +21 -0
  421. package/GitRepos/isort/isort/_version.py +1 -0
  422. package/GitRepos/isort/isort/api.py +576 -0
  423. package/GitRepos/isort/isort/comments.py +32 -0
  424. package/GitRepos/isort/isort/core.py +455 -0
  425. package/GitRepos/isort/isort/deprecated/__init__.py +0 -0
  426. package/GitRepos/isort/isort/deprecated/finders.py +415 -0
  427. package/GitRepos/isort/isort/exceptions.py +180 -0
  428. package/GitRepos/isort/isort/files.py +41 -0
  429. package/GitRepos/isort/isort/format.py +150 -0
  430. package/GitRepos/isort/isort/hooks.py +86 -0
  431. package/GitRepos/isort/isort/identify.py +206 -0
  432. package/GitRepos/isort/isort/io.py +73 -0
  433. package/GitRepos/isort/isort/literal.py +109 -0
  434. package/GitRepos/isort/isort/logo.py +19 -0
  435. package/GitRepos/isort/isort/main.py +1230 -0
  436. package/GitRepos/isort/isort/output.py +634 -0
  437. package/GitRepos/isort/isort/parse.py +569 -0
  438. package/GitRepos/isort/isort/place.py +145 -0
  439. package/GitRepos/isort/isort/profiles.py +86 -0
  440. package/GitRepos/isort/isort/py.typed +0 -0
  441. package/GitRepos/isort/isort/pylama_isort.py +43 -0
  442. package/GitRepos/isort/isort/sections.py +9 -0
  443. package/GitRepos/isort/isort/settings.py +779 -0
  444. package/GitRepos/isort/isort/setuptools_commands.py +61 -0
  445. package/GitRepos/isort/isort/sorting.py +118 -0
  446. package/GitRepos/isort/isort/stdlibs/__init__.py +2 -0
  447. package/GitRepos/isort/isort/stdlibs/all.py +3 -0
  448. package/GitRepos/isort/isort/stdlibs/py2.py +3 -0
  449. package/GitRepos/isort/isort/stdlibs/py27.py +300 -0
  450. package/GitRepos/isort/isort/stdlibs/py3.py +3 -0
  451. package/GitRepos/isort/isort/stdlibs/py35.py +222 -0
  452. package/GitRepos/isort/isort/stdlibs/py36.py +223 -0
  453. package/GitRepos/isort/isort/stdlibs/py37.py +224 -0
  454. package/GitRepos/isort/isort/stdlibs/py38.py +223 -0
  455. package/GitRepos/isort/isort/stdlibs/py39.py +223 -0
  456. package/GitRepos/isort/isort/utils.py +16 -0
  457. package/GitRepos/isort/isort/wrap.py +139 -0
  458. package/GitRepos/isort/isort/wrap_modes.py +323 -0
  459. package/GitRepos/isort/logo.png +0 -0
  460. package/GitRepos/isort/mkdocs.yml +2 -0
  461. package/GitRepos/isort/poetry.lock +2472 -0
  462. package/GitRepos/isort/pyproject.toml +114 -0
  463. package/GitRepos/isort/rtd/index.md +6 -0
  464. package/GitRepos/isort/scripts/build_config_option_docs.py +214 -0
  465. package/GitRepos/isort/scripts/build_profile_docs.py +42 -0
  466. package/GitRepos/isort/scripts/check_acknowledgments.py +83 -0
  467. package/GitRepos/isort/scripts/clean.sh +7 -0
  468. package/GitRepos/isort/scripts/docker.sh +12 -0
  469. package/GitRepos/isort/scripts/done.sh +5 -0
  470. package/GitRepos/isort/scripts/lint.sh +11 -0
  471. package/GitRepos/isort/scripts/mkstdlibs.py +47 -0
  472. package/GitRepos/isort/scripts/test.sh +6 -0
  473. package/GitRepos/isort/scripts/test_integration.sh +4 -0
  474. package/GitRepos/isort/setup.cfg +28 -0
  475. package/GitRepos/isort/tests/__init__.py +0 -0
  476. package/GitRepos/isort/tests/integration/test_hypothesmith.py +96 -0
  477. package/GitRepos/isort/tests/integration/test_projects_using_isort.py +166 -0
  478. package/GitRepos/isort/tests/integration/test_setting_combinations.py +1869 -0
  479. package/GitRepos/isort/tests/unit/__init__.py +0 -0
  480. package/GitRepos/isort/tests/unit/conftest.py +33 -0
  481. package/GitRepos/isort/tests/unit/example_crlf_file.py +10 -0
  482. package/GitRepos/isort/tests/unit/example_projects/namespaces/almost-implicit/.isort.cfg +2 -0
  483. package/GitRepos/isort/tests/unit/example_projects/namespaces/almost-implicit/root/nested/__init__.py +0 -0
  484. package/GitRepos/isort/tests/unit/example_projects/namespaces/almost-implicit/root/nested/x.py +0 -0
  485. package/GitRepos/isort/tests/unit/example_projects/namespaces/almost-implicit/root/y.py +0 -0
  486. package/GitRepos/isort/tests/unit/example_projects/namespaces/implicit/.isort.cfg +2 -0
  487. package/GitRepos/isort/tests/unit/example_projects/namespaces/implicit/root/nested/__init__.py +0 -0
  488. package/GitRepos/isort/tests/unit/example_projects/namespaces/implicit/root/nested/x.py +0 -0
  489. package/GitRepos/isort/tests/unit/example_projects/namespaces/none/.isort.cfg +2 -0
  490. package/GitRepos/isort/tests/unit/example_projects/namespaces/none/root/__init__.py +0 -0
  491. package/GitRepos/isort/tests/unit/example_projects/namespaces/none/root/nested/__init__.py +0 -0
  492. package/GitRepos/isort/tests/unit/example_projects/namespaces/pkg_resource/.isort.cfg +2 -0
  493. package/GitRepos/isort/tests/unit/example_projects/namespaces/pkg_resource/root/__init__.py +1 -0
  494. package/GitRepos/isort/tests/unit/example_projects/namespaces/pkg_resource/root/nested/__init__.py +0 -0
  495. package/GitRepos/isort/tests/unit/example_projects/namespaces/pkg_resource/root/nested/x.py +0 -0
  496. package/GitRepos/isort/tests/unit/example_projects/namespaces/pkgutil/.isort.cfg +2 -0
  497. package/GitRepos/isort/tests/unit/example_projects/namespaces/pkgutil/root/__init__.py +1 -0
  498. package/GitRepos/isort/tests/unit/example_projects/namespaces/pkgutil/root/nested/__init__.py +0 -0
  499. package/GitRepos/isort/tests/unit/example_projects/namespaces/pkgutil/root/nested/x.py +0 -0
  500. package/GitRepos/isort/tests/unit/profiles/__init__.py +0 -0
  501. package/GitRepos/isort/tests/unit/profiles/test_attrs.py +102 -0
  502. package/GitRepos/isort/tests/unit/profiles/test_black.py +370 -0
  503. package/GitRepos/isort/tests/unit/profiles/test_django.py +122 -0
  504. package/GitRepos/isort/tests/unit/profiles/test_google.py +413 -0
  505. package/GitRepos/isort/tests/unit/profiles/test_hug.py +112 -0
  506. package/GitRepos/isort/tests/unit/profiles/test_open_stack.py +134 -0
  507. package/GitRepos/isort/tests/unit/profiles/test_plone.py +75 -0
  508. package/GitRepos/isort/tests/unit/profiles/test_pycharm.py +55 -0
  509. package/GitRepos/isort/tests/unit/profiles/test_wemake.py +87 -0
  510. package/GitRepos/isort/tests/unit/test_action_comments.py +47 -0
  511. package/GitRepos/isort/tests/unit/test_api.py +108 -0
  512. package/GitRepos/isort/tests/unit/test_comments.py +34 -0
  513. package/GitRepos/isort/tests/unit/test_deprecated_finders.py +210 -0
  514. package/GitRepos/isort/tests/unit/test_exceptions.py +100 -0
  515. package/GitRepos/isort/tests/unit/test_files.py +8 -0
  516. package/GitRepos/isort/tests/unit/test_format.py +121 -0
  517. package/GitRepos/isort/tests/unit/test_hooks.py +101 -0
  518. package/GitRepos/isort/tests/unit/test_identify.py +274 -0
  519. package/GitRepos/isort/tests/unit/test_importable.py +42 -0
  520. package/GitRepos/isort/tests/unit/test_io.py +43 -0
  521. package/GitRepos/isort/tests/unit/test_isort.py +5166 -0
  522. package/GitRepos/isort/tests/unit/test_literal.py +37 -0
  523. package/GitRepos/isort/tests/unit/test_main.py +1087 -0
  524. package/GitRepos/isort/tests/unit/test_output.py +22 -0
  525. package/GitRepos/isort/tests/unit/test_parse.py +82 -0
  526. package/GitRepos/isort/tests/unit/test_place.py +56 -0
  527. package/GitRepos/isort/tests/unit/test_pylama_isort.py +24 -0
  528. package/GitRepos/isort/tests/unit/test_regressions.py +1653 -0
  529. package/GitRepos/isort/tests/unit/test_settings.py +229 -0
  530. package/GitRepos/isort/tests/unit/test_setuptools_command.py +31 -0
  531. package/GitRepos/isort/tests/unit/test_ticketed_features.py +1117 -0
  532. package/GitRepos/isort/tests/unit/test_wrap.py +15 -0
  533. package/GitRepos/isort/tests/unit/test_wrap_modes.py +587 -0
  534. package/GitRepos/isort/tests/unit/utils.py +14 -0
  535. package/GitRepos/kettle/LICENSE.txt +21 -0
  536. package/GitRepos/kettle/README.md +215 -0
  537. package/GitRepos/kettle/bin/kettle-skeleton.php +316 -0
  538. package/GitRepos/kettle/composer.json +33 -0
  539. package/GitRepos/kettle/src/kettle.php +1418 -0
  540. package/GitRepos/mirrors-autoflake/.pre-commit-hooks.yaml +5 -0
  541. package/GitRepos/mirrors-autoflake/.version +1 -0
  542. package/GitRepos/mirrors-autoflake/hooks.yaml +7 -0
  543. package/GitRepos/mirrors-autoflake/setup.py +8 -0
  544. package/GitRepos/razorpay-java/LICENSE.txt +8 -0
  545. package/GitRepos/razorpay-java/README.md +421 -0
  546. package/GitRepos/razorpay-java/pom.xml +153 -0
  547. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Addon.java +10 -0
  548. package/GitRepos/razorpay-java/src/main/java/com/razorpay/AddonClient.java +17 -0
  549. package/GitRepos/razorpay-java/src/main/java/com/razorpay/ApiClient.java +194 -0
  550. package/GitRepos/razorpay-java/src/main/java/com/razorpay/ApiUtils.java +179 -0
  551. package/GitRepos/razorpay-java/src/main/java/com/razorpay/BankTransfer.java +10 -0
  552. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Card.java +10 -0
  553. package/GitRepos/razorpay-java/src/main/java/com/razorpay/CardClient.java +12 -0
  554. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Constants.java +78 -0
  555. package/GitRepos/razorpay-java/src/main/java/com/razorpay/CustomTLSSocketFactory.java +75 -0
  556. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Customer.java +10 -0
  557. package/GitRepos/razorpay-java/src/main/java/com/razorpay/CustomerClient.java +36 -0
  558. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Entity.java +45 -0
  559. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Invoice.java +10 -0
  560. package/GitRepos/razorpay-java/src/main/java/com/razorpay/InvoiceClient.java +32 -0
  561. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Order.java +10 -0
  562. package/GitRepos/razorpay-java/src/main/java/com/razorpay/OrderClient.java +32 -0
  563. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Payment.java +10 -0
  564. package/GitRepos/razorpay-java/src/main/java/com/razorpay/PaymentClient.java +83 -0
  565. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Plan.java +10 -0
  566. package/GitRepos/razorpay-java/src/main/java/com/razorpay/PlanClient.java +28 -0
  567. package/GitRepos/razorpay-java/src/main/java/com/razorpay/RazorpayClient.java +45 -0
  568. package/GitRepos/razorpay-java/src/main/java/com/razorpay/RazorpayException.java +21 -0
  569. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Refund.java +10 -0
  570. package/GitRepos/razorpay-java/src/main/java/com/razorpay/RefundClient.java +28 -0
  571. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Reversal.java +10 -0
  572. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Subscription.java +10 -0
  573. package/GitRepos/razorpay-java/src/main/java/com/razorpay/SubscriptionClient.java +36 -0
  574. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Token.java +10 -0
  575. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Transfer.java +10 -0
  576. package/GitRepos/razorpay-java/src/main/java/com/razorpay/TransferClient.java +36 -0
  577. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Utils.java +62 -0
  578. package/GitRepos/razorpay-java/src/main/java/com/razorpay/VirtualAccount.java +10 -0
  579. package/GitRepos/razorpay-java/src/main/java/com/razorpay/VirtualAccountClient.java +44 -0
  580. package/GitRepos/razorpay-java/src/main/resources/project.properties +1 -0
  581. package/GitRepos/react-data-grid/.babelrc +8 -0
  582. package/GitRepos/react-data-grid/.github/ISSUE_TEMPLATE.md +25 -0
  583. package/GitRepos/react-data-grid/.github/PULL_REQUEST_TEMPLATE.md +38 -0
  584. package/GitRepos/react-data-grid/LICENSE +24 -0
  585. package/GitRepos/react-data-grid/README.md +82 -0
  586. package/GitRepos/react-data-grid/addons.js +1 -0
  587. package/GitRepos/react-data-grid/docs/api/docs.json +6685 -0
  588. package/GitRepos/react-data-grid/docs/markdowns/AdvancedToolbar.md +17 -0
  589. package/GitRepos/react-data-grid/docs/markdowns/AutoCompleteEditor.md +68 -0
  590. package/GitRepos/react-data-grid/docs/markdowns/AutoCompleteFilter.md +22 -0
  591. package/GitRepos/react-data-grid/docs/markdowns/AutoCompleteTokensEditor.md +22 -0
  592. package/GitRepos/react-data-grid/docs/markdowns/Canvas.md +126 -0
  593. package/GitRepos/react-data-grid/docs/markdowns/Cell.md +101 -0
  594. package/GitRepos/react-data-grid/docs/markdowns/CheckboxEditor.md +27 -0
  595. package/GitRepos/react-data-grid/docs/markdowns/ContextMenu.md +12 -0
  596. package/GitRepos/react-data-grid/docs/markdowns/DateRangeEditor.md +24 -0
  597. package/GitRepos/react-data-grid/docs/markdowns/DateRangeFilter.md +42 -0
  598. package/GitRepos/react-data-grid/docs/markdowns/DateRangeFormatter.md +25 -0
  599. package/GitRepos/react-data-grid/docs/markdowns/DragDropContainer.md +17 -0
  600. package/GitRepos/react-data-grid/docs/markdowns/Draggable.md +30 -0
  601. package/GitRepos/react-data-grid/docs/markdowns/DraggableHeaderCell.md +22 -0
  602. package/GitRepos/react-data-grid/docs/markdowns/DropDownEditor.md +12 -0
  603. package/GitRepos/react-data-grid/docs/markdowns/DropDownFormatter.md +17 -0
  604. package/GitRepos/react-data-grid/docs/markdowns/EditorBase.md +32 -0
  605. package/GitRepos/react-data-grid/docs/markdowns/EditorContainer.md +37 -0
  606. package/GitRepos/react-data-grid/docs/markdowns/FilterableHeaderCell.md +17 -0
  607. package/GitRepos/react-data-grid/docs/markdowns/Grid.md +169 -0
  608. package/GitRepos/react-data-grid/docs/markdowns/GroupedColumnButton.md +17 -0
  609. package/GitRepos/react-data-grid/docs/markdowns/GroupedColumnsPanel.md +44 -0
  610. package/GitRepos/react-data-grid/docs/markdowns/Header.md +62 -0
  611. package/GitRepos/react-data-grid/docs/markdowns/HeaderCell.md +40 -0
  612. package/GitRepos/react-data-grid/docs/markdowns/HeaderRow.md +92 -0
  613. package/GitRepos/react-data-grid/docs/markdowns/ImageFormatter.md +12 -0
  614. package/GitRepos/react-data-grid/docs/markdowns/MenuHeader.md +12 -0
  615. package/GitRepos/react-data-grid/docs/markdowns/NumericFilter.md +17 -0
  616. package/GitRepos/react-data-grid/docs/markdowns/ReactDataGrid.md +209 -0
  617. package/GitRepos/react-data-grid/docs/markdowns/Row.md +70 -0
  618. package/GitRepos/react-data-grid/docs/markdowns/RowActionsCell.md +53 -0
  619. package/GitRepos/react-data-grid/docs/markdowns/RowDragLayer.md +42 -0
  620. package/GitRepos/react-data-grid/docs/markdowns/RowGroup.md +57 -0
  621. package/GitRepos/react-data-grid/docs/markdowns/SimpleCellFormatter.md +12 -0
  622. package/GitRepos/react-data-grid/docs/markdowns/SortableHeaderCell.md +27 -0
  623. package/GitRepos/react-data-grid/docs/markdowns/Toolbar.md +44 -0
  624. package/GitRepos/react-data-grid/docs/markdowns/Viewport.md +102 -0
  625. package/GitRepos/react-data-grid/docs/readme.md +38 -0
  626. package/GitRepos/react-data-grid/docs/utils/generalUtils.js +50 -0
  627. package/GitRepos/react-data-grid/docs/utils/generateMarkdown.js +74 -0
  628. package/GitRepos/react-data-grid/index.js +1 -0
  629. package/GitRepos/react-data-grid/package.json +120 -0
  630. package/GitRepos/react-data-grid/themes/DragColumn.PNG +0 -0
  631. package/GitRepos/react-data-grid/themes/daterangepicker-bs3.css +284 -0
  632. package/GitRepos/react-data-grid/themes/drag_column_full.PNG +0 -0
  633. package/GitRepos/react-data-grid/themes/react-data-grid.css +961 -0
  634. package/GitRepos/react-data-grid/themes/react-data-grid.less +629 -0
  635. package/Kali +0 -0
  636. package/MobSF/.dockerignore +26 -0
  637. package/MobSF/.github/CODE_OF_CONDUCT.md +46 -0
  638. package/MobSF/.github/CONTRIBUTING.md +131 -0
  639. package/MobSF/.github/FUNDING.yml +3 -0
  640. package/MobSF/.github/ISSUE_TEMPLATE/bug_report.md +54 -0
  641. package/MobSF/.github/ISSUE_TEMPLATE/feature_request.md +22 -0
  642. package/MobSF/.github/PULL_REQUEST_TEMPLATE.md +20 -0
  643. package/MobSF/.github/SECURITY.md +21 -0
  644. package/MobSF/.github/SUPPORT.md +1 -0
  645. package/MobSF/.github/workflows/auto-comment.yml +22 -0
  646. package/MobSF/.github/workflows/docker-build.yml +35 -0
  647. package/MobSF/.github/workflows/mobsf_test.yml +58 -0
  648. package/MobSF/.github/workflows/python-publish.yml +28 -0
  649. package/MobSF/.gitmodules +3 -0
  650. package/MobSF/.pyup.yml +27 -0
  651. package/MobSF/.sonarcloud.properties +3 -0
  652. package/MobSF/Dockerfile +96 -0
  653. package/MobSF/LICENSE +675 -0
  654. package/MobSF/LICENSES/AdminLTE_theme.txt +8 -0
  655. package/MobSF/LICENSES/AntiEmulator.txt +660 -0
  656. package/MobSF/LICENSES/IP2LOCATION LITE DATA.txt +21 -0
  657. package/MobSF/LICENSES/Rootcloak.txt +13 -0
  658. package/MobSF/LICENSES/ac-pm_tools.txt +341 -0
  659. package/MobSF/LICENSES/androguard.txt +76 -0
  660. package/MobSF/LICENSES/backsmali.txt +29 -0
  661. package/MobSF/LICENSES/class-dump-z.txt +13 -0
  662. package/MobSF/LICENSES/droidmon.txt +624 -0
  663. package/MobSF/LICENSES/exodus-core.txt +661 -0
  664. package/MobSF/LICENSES/frida.txt +50 -0
  665. package/MobSF/LICENSES/ios_binary_analysis_rules.txt +28 -0
  666. package/MobSF/LICENSES/jadx.txt +202 -0
  667. package/MobSF/LICENSES/maltrail_blacklist.txt +21 -0
  668. package/MobSF/MANIFEST.in +12 -0
  669. package/MobSF/README.md +116 -0
  670. package/MobSF/docker-compose.yml +39 -0
  671. package/MobSF/manage.py +18 -0
  672. package/MobSF/mobsf/DynamicAnalyzer/__init__.py +0 -0
  673. package/MobSF/mobsf/DynamicAnalyzer/admin.py +0 -0
  674. package/MobSF/mobsf/DynamicAnalyzer/models.py +0 -0
  675. package/MobSF/mobsf/DynamicAnalyzer/tests.py +0 -0
  676. package/MobSF/mobsf/DynamicAnalyzer/tools/__init__.py +0 -0
  677. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/auxiliary/class_trace.js +126 -0
  678. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/auxiliary/get_loaded_classes.js +15 -0
  679. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/auxiliary/get_methods.js +22 -0
  680. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/auxiliary/search_class_pattern.js +55 -0
  681. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/auxiliary/string_catch.js +10 -0
  682. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/auxiliary/string_compare.js +15 -0
  683. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/default/api_monitor.js +572 -0
  684. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/default/debugger_check_bypass.js +8 -0
  685. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/default/root_bypass.js +260 -0
  686. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/default/ssl_pinning_bypass.js +255 -0
  687. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/aes_key.js +161 -0
  688. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/bypass_flag_secure.js +17 -0
  689. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/bypass_method.js +8 -0
  690. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/default.js +3 -0
  691. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/file_trace.js +455 -0
  692. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/get_android_id.js +9 -0
  693. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/helper.js +16 -0
  694. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/hook_constructor.js +7 -0
  695. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/hook_java_reflection.js +7 -0
  696. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/inputstream_dump.js +34 -0
  697. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/intent_dumper.js +21 -0
  698. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/jni_hook_by_address.js +28 -0
  699. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/jni_trace.js +42 -0
  700. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/webview_enable_debugging.js +12 -0
  701. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/mobsf_agents/ClipDump.apk +0 -0
  702. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/Xposed.apk +0 -0
  703. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/XposedInstaller_3.1.5.apk +0 -0
  704. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/hooks.json +389 -0
  705. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/AndroidBluePill.apk +0 -0
  706. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/Droidmon.apk +0 -0
  707. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/JustTrustMe.apk +0 -0
  708. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/com.devadvance.rootcloak2_v18_c43b61.apk +0 -0
  709. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/hooks.json +389 -0
  710. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/mobi.acpm.proxyon_v1_419b04.apk +0 -0
  711. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/mobi.acpm.sslunpinning_v2_37f44f.apk +0 -0
  712. package/MobSF/mobsf/DynamicAnalyzer/tools/webproxy.py +89 -0
  713. package/MobSF/mobsf/DynamicAnalyzer/views/__init__.py +0 -0
  714. package/MobSF/mobsf/DynamicAnalyzer/views/android/__init__.py +0 -0
  715. package/MobSF/mobsf/DynamicAnalyzer/views/android/analysis.py +285 -0
  716. package/MobSF/mobsf/DynamicAnalyzer/views/android/dynamic_analyzer.py +316 -0
  717. package/MobSF/mobsf/DynamicAnalyzer/views/android/environment.py +698 -0
  718. package/MobSF/mobsf/DynamicAnalyzer/views/android/frida_core.py +168 -0
  719. package/MobSF/mobsf/DynamicAnalyzer/views/android/frida_scripts.py +65 -0
  720. package/MobSF/mobsf/DynamicAnalyzer/views/android/frida_server_download.py +75 -0
  721. package/MobSF/mobsf/DynamicAnalyzer/views/android/operations.py +299 -0
  722. package/MobSF/mobsf/DynamicAnalyzer/views/android/report.py +179 -0
  723. package/MobSF/mobsf/DynamicAnalyzer/views/android/tests_common.py +212 -0
  724. package/MobSF/mobsf/DynamicAnalyzer/views/android/tests_frida.py +339 -0
  725. package/MobSF/mobsf/DynamicAnalyzer/views/android/tests_tls.py +109 -0
  726. package/MobSF/mobsf/DynamicAnalyzer/views/android/tests_xposed.py +194 -0
  727. package/MobSF/mobsf/MalwareAnalyzer/__init__.py +0 -0
  728. package/MobSF/mobsf/MalwareAnalyzer/admin.py +0 -0
  729. package/MobSF/mobsf/MalwareAnalyzer/models.py +0 -0
  730. package/MobSF/mobsf/MalwareAnalyzer/tests.py +0 -0
  731. package/MobSF/mobsf/MalwareAnalyzer/views/MalwareDomainCheck.py +226 -0
  732. package/MobSF/mobsf/MalwareAnalyzer/views/Trackers.py +237 -0
  733. package/MobSF/mobsf/MalwareAnalyzer/views/VirusTotal.py +140 -0
  734. package/MobSF/mobsf/MalwareAnalyzer/views/__init__.py +0 -0
  735. package/MobSF/mobsf/MalwareAnalyzer/views/apkid.py +61 -0
  736. package/MobSF/mobsf/MalwareAnalyzer/views/quark.py +145 -0
  737. package/MobSF/mobsf/MobSF/__init__.py +0 -0
  738. package/MobSF/mobsf/MobSF/forms.py +36 -0
  739. package/MobSF/mobsf/MobSF/init.py +143 -0
  740. package/MobSF/mobsf/MobSF/models.py +0 -0
  741. package/MobSF/mobsf/MobSF/settings.py +411 -0
  742. package/MobSF/mobsf/MobSF/urls.py +145 -0
  743. package/MobSF/mobsf/MobSF/utils.py +598 -0
  744. package/MobSF/mobsf/MobSF/views/__init__.py +0 -0
  745. package/MobSF/mobsf/MobSF/views/api/__init__.py +0 -0
  746. package/MobSF/mobsf/MobSF/views/api/api_dynamic_analysis.py +278 -0
  747. package/MobSF/mobsf/MobSF/views/api/api_middleware.py +47 -0
  748. package/MobSF/mobsf/MobSF/views/api/api_static_analysis.py +186 -0
  749. package/MobSF/mobsf/MobSF/views/apk_downloader.py +163 -0
  750. package/MobSF/mobsf/MobSF/views/helpers.py +94 -0
  751. package/MobSF/mobsf/MobSF/views/home.py +350 -0
  752. package/MobSF/mobsf/MobSF/views/scanning.py +149 -0
  753. package/MobSF/mobsf/MobSF/wsgi.py +24 -0
  754. package/MobSF/mobsf/StaticAnalyzer/__init__.py +0 -0
  755. package/MobSF/mobsf/StaticAnalyzer/admin.py +0 -0
  756. package/MobSF/mobsf/StaticAnalyzer/forms.py +92 -0
  757. package/MobSF/mobsf/StaticAnalyzer/models.py +123 -0
  758. package/MobSF/mobsf/StaticAnalyzer/tests.py +425 -0
  759. package/MobSF/mobsf/StaticAnalyzer/tools/__init__.py +0 -0
  760. package/MobSF/mobsf/StaticAnalyzer/tools/apktool_2.5.0.jar +0 -0
  761. package/MobSF/mobsf/StaticAnalyzer/tools/baksmali-2.5.2.jar +0 -0
  762. package/MobSF/mobsf/StaticAnalyzer/tools/ios/class-dump +0 -0
  763. package/MobSF/mobsf/StaticAnalyzer/tools/ios/class-dump-swift +0 -0
  764. package/MobSF/mobsf/StaticAnalyzer/tools/ios/jtool.ELF64 +0 -0
  765. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/LICENSE +201 -0
  766. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/NOTICE +213 -0
  767. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/README.md +125 -0
  768. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/bin/jadx +185 -0
  769. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/bin/jadx-gui +185 -0
  770. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/bin/jadx-gui.bat +89 -0
  771. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/bin/jadx.bat +89 -0
  772. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/android-29-clst.jar +0 -0
  773. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/android-29-res.jar +0 -0
  774. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/antlr-2.7.7.jar +0 -0
  775. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/antlr-runtime-3.5.2.jar +0 -0
  776. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/apksig-4.0.1.jar +0 -0
  777. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/asm-8.0.1.jar +0 -0
  778. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/baksmali-2.4.0.jar +0 -0
  779. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/checker-qual-2.11.1.jar +0 -0
  780. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/commons-lang3-3.11.jar +0 -0
  781. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/commons-text-1.9.jar +0 -0
  782. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/dexlib2-2.4.0.jar +0 -0
  783. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/dx-1.16.jar +0 -0
  784. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/error_prone_annotations-2.3.4.jar +0 -0
  785. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/failureaccess-1.0.1.jar +0 -0
  786. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/gson-2.8.6.jar +0 -0
  787. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/guava-29.0-jre.jar +0 -0
  788. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/image-viewer-1.2.3.jar +0 -0
  789. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/j2objc-annotations-1.3.jar +0 -0
  790. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jadx-cli-1.2.0.jar +0 -0
  791. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jadx-core-1.2.0.jar +0 -0
  792. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jadx-dex-input-1.2.0.jar +0 -0
  793. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jadx-gui-1.2.0.jar +0 -0
  794. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jadx-java-convert-1.2.0.jar +0 -0
  795. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jadx-plugins-api-1.2.0.jar +0 -0
  796. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jadx-smali-input-1.2.0.jar +0 -0
  797. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jcommander-1.80.jar +0 -0
  798. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jfontchooser-1.0.5.jar +0 -0
  799. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jsr305-3.0.2.jar +0 -0
  800. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar +0 -0
  801. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/logback-classic-1.2.3.jar +0 -0
  802. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/logback-core-1.2.3.jar +0 -0
  803. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/reactive-streams-1.0.3.jar +0 -0
  804. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/rsyntaxtextarea-3.1.1.jar +0 -0
  805. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/rxjava-2.2.19.jar +0 -0
  806. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/rxjava2-swing-0.3.7.jar +0 -0
  807. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/slf4j-api-1.7.30.jar +0 -0
  808. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/smali-2.4.0.jar +0 -0
  809. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/stringtemplate-3.2.1.jar +0 -0
  810. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/util-2.4.0.jar +0 -0
  811. package/MobSF/mobsf/StaticAnalyzer/tools/strings.py +24 -0
  812. package/MobSF/mobsf/StaticAnalyzer/views/__init__.py +0 -0
  813. package/MobSF/mobsf/StaticAnalyzer/views/android/__init__.py +0 -0
  814. package/MobSF/mobsf/StaticAnalyzer/views/android/android_manifest_desc.py +747 -0
  815. package/MobSF/mobsf/StaticAnalyzer/views/android/binary_analysis.py +255 -0
  816. package/MobSF/mobsf/StaticAnalyzer/views/android/cert_analysis.py +160 -0
  817. package/MobSF/mobsf/StaticAnalyzer/views/android/code_analysis.py +96 -0
  818. package/MobSF/mobsf/StaticAnalyzer/views/android/converter.py +97 -0
  819. package/MobSF/mobsf/StaticAnalyzer/views/android/db_interaction.py +217 -0
  820. package/MobSF/mobsf/StaticAnalyzer/views/android/dvm_permissions.py +278 -0
  821. package/MobSF/mobsf/StaticAnalyzer/views/android/find.py +75 -0
  822. package/MobSF/mobsf/StaticAnalyzer/views/android/generate_downloads.py +53 -0
  823. package/MobSF/mobsf/StaticAnalyzer/views/android/icon_analysis.py +134 -0
  824. package/MobSF/mobsf/StaticAnalyzer/views/android/manifest_analysis.py +908 -0
  825. package/MobSF/mobsf/StaticAnalyzer/views/android/manifest_view.py +64 -0
  826. package/MobSF/mobsf/StaticAnalyzer/views/android/network_security.py +243 -0
  827. package/MobSF/mobsf/StaticAnalyzer/views/android/playstore.py +76 -0
  828. package/MobSF/mobsf/StaticAnalyzer/views/android/rules/android_apis.yaml +425 -0
  829. package/MobSF/mobsf/StaticAnalyzer/views/android/rules/android_niap.yaml +356 -0
  830. package/MobSF/mobsf/StaticAnalyzer/views/android/rules/android_rules.yaml +683 -0
  831. package/MobSF/mobsf/StaticAnalyzer/views/android/source_tree.py +79 -0
  832. package/MobSF/mobsf/StaticAnalyzer/views/android/static_analyzer.py +660 -0
  833. package/MobSF/mobsf/StaticAnalyzer/views/android/strings.py +64 -0
  834. package/MobSF/mobsf/StaticAnalyzer/views/android/view_source.py +78 -0
  835. package/MobSF/mobsf/StaticAnalyzer/views/android/win_fixes.py +53 -0
  836. package/MobSF/mobsf/StaticAnalyzer/views/android/xapk.py +57 -0
  837. package/MobSF/mobsf/StaticAnalyzer/views/comparer.py +234 -0
  838. package/MobSF/mobsf/StaticAnalyzer/views/ios/__init__.py +0 -0
  839. package/MobSF/mobsf/StaticAnalyzer/views/ios/app_transport_security.py +222 -0
  840. package/MobSF/mobsf/StaticAnalyzer/views/ios/appstore.py +54 -0
  841. package/MobSF/mobsf/StaticAnalyzer/views/ios/binary_analysis.py +119 -0
  842. package/MobSF/mobsf/StaticAnalyzer/views/ios/binary_rule_matcher.py +58 -0
  843. package/MobSF/mobsf/StaticAnalyzer/views/ios/classdump.py +112 -0
  844. package/MobSF/mobsf/StaticAnalyzer/views/ios/code_analysis.py +103 -0
  845. package/MobSF/mobsf/StaticAnalyzer/views/ios/db_interaction.py +177 -0
  846. package/MobSF/mobsf/StaticAnalyzer/views/ios/file_analysis.py +85 -0
  847. package/MobSF/mobsf/StaticAnalyzer/views/ios/file_recon.py +63 -0
  848. package/MobSF/mobsf/StaticAnalyzer/views/ios/icon_analysis.py +73 -0
  849. package/MobSF/mobsf/StaticAnalyzer/views/ios/macho_analysis.py +255 -0
  850. package/MobSF/mobsf/StaticAnalyzer/views/ios/permission_analysis.py +90 -0
  851. package/MobSF/mobsf/StaticAnalyzer/views/ios/plist_analysis.py +150 -0
  852. package/MobSF/mobsf/StaticAnalyzer/views/ios/rules/__init__.py +0 -0
  853. package/MobSF/mobsf/StaticAnalyzer/views/ios/rules/ios_apis.yaml +85 -0
  854. package/MobSF/mobsf/StaticAnalyzer/views/ios/rules/ipa_rules.py +226 -0
  855. package/MobSF/mobsf/StaticAnalyzer/views/ios/rules/objective_c_rules.yaml +355 -0
  856. package/MobSF/mobsf/StaticAnalyzer/views/ios/rules/swift_rules.yaml +461 -0
  857. package/MobSF/mobsf/StaticAnalyzer/views/ios/static_analyzer.py +282 -0
  858. package/MobSF/mobsf/StaticAnalyzer/views/ios/view_source.py +155 -0
  859. package/MobSF/mobsf/StaticAnalyzer/views/sast_engine.py +71 -0
  860. package/MobSF/mobsf/StaticAnalyzer/views/shared_func.py +424 -0
  861. package/MobSF/mobsf/StaticAnalyzer/views/windows/__init__.py +0 -0
  862. package/MobSF/mobsf/StaticAnalyzer/views/windows/db_interaction.py +130 -0
  863. package/MobSF/mobsf/StaticAnalyzer/views/windows/windows.py +590 -0
  864. package/MobSF/mobsf/__init__.py +0 -0
  865. package/MobSF/mobsf/__main__.py +49 -0
  866. package/MobSF/mobsf/install/__init__.py +0 -0
  867. package/MobSF/mobsf/install/windows/__init__.py +0 -0
  868. package/MobSF/mobsf/install/windows/config.txt +26 -0
  869. package/MobSF/mobsf/install/windows/readme.md +43 -0
  870. package/MobSF/mobsf/install/windows/rpc_client.py +191 -0
  871. package/MobSF/mobsf/install/windows/setup.py +433 -0
  872. package/MobSF/mobsf/signatures/IP2LOCATION-LITE-DB5.IPV6.BIN +0 -0
  873. package/MobSF/mobsf/signatures/exodus_trackers +1 -0
  874. package/MobSF/mobsf/signatures/maltrail-malware-domains.txt +157958 -0
  875. package/MobSF/mobsf/signatures/malwaredomainlist +2256 -0
  876. package/MobSF/mobsf/static/adminlte/dashboard/css/adminlte.min.css +12 -0
  877. package/MobSF/mobsf/static/adminlte/dashboard/css/adminlte.min.css.map +1 -0
  878. package/MobSF/mobsf/static/adminlte/dashboard/js/adminlte.min.js +7 -0
  879. package/MobSF/mobsf/static/adminlte/dashboard/js/adminlte.min.js.map +1 -0
  880. package/MobSF/mobsf/static/adminlte/plugins/bootstrap/bootstrap.bundle.min.js +7 -0
  881. package/MobSF/mobsf/static/adminlte/plugins/bootstrap/bootstrap.bundle.min.js.map +1 -0
  882. package/MobSF/mobsf/static/adminlte/plugins/datatables/jquery.dataTables.min.js +166 -0
  883. package/MobSF/mobsf/static/adminlte/plugins/datatables-bs4/dataTables.bootstrap4.min.css +1 -0
  884. package/MobSF/mobsf/static/adminlte/plugins/datatables-bs4/dataTables.bootstrap4.min.js +8 -0
  885. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/all.css +4423 -0
  886. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/all.min.css +5 -0
  887. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/brands.css +14 -0
  888. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/brands.min.css +5 -0
  889. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/fontawesome.css +4390 -0
  890. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/fontawesome.min.css +5 -0
  891. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/regular.css +15 -0
  892. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/regular.min.css +5 -0
  893. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/solid.css +16 -0
  894. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/solid.min.css +5 -0
  895. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/svg-with-js.css +371 -0
  896. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/svg-with-js.min.css +5 -0
  897. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/v4-shims.css +2166 -0
  898. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/v4-shims.min.css +5 -0
  899. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.eot +0 -0
  900. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.svg +3496 -0
  901. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.ttf +0 -0
  902. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.woff +0 -0
  903. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.woff2 +0 -0
  904. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.eot +0 -0
  905. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.svg +803 -0
  906. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.ttf +0 -0
  907. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.woff +0 -0
  908. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.woff2 +0 -0
  909. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.eot +0 -0
  910. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.svg +4667 -0
  911. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.ttf +0 -0
  912. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.woff +0 -0
  913. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.woff2 +0 -0
  914. package/MobSF/mobsf/static/adminlte/plugins/jquery-ui.min.js +13 -0
  915. package/MobSF/mobsf/static/adminlte/plugins/jquery.min.js +2 -0
  916. package/MobSF/mobsf/static/adminlte/plugins/overlayScrollbars/css/OverlayScrollbars.min.css +13 -0
  917. package/MobSF/mobsf/static/adminlte/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js +13 -0
  918. package/MobSF/mobsf/static/adminlte/plugins/sweetalert2/sweetalert2.min.css +1 -0
  919. package/MobSF/mobsf/static/adminlte/plugins/sweetalert2/sweetalert2.min.js +1 -0
  920. package/MobSF/mobsf/static/amcharts/animated.js +1 -0
  921. package/MobSF/mobsf/static/amcharts/core.js +1 -0
  922. package/MobSF/mobsf/static/amcharts/maps.js +1 -0
  923. package/MobSF/mobsf/static/amcharts/worldIndiaLow.js +20 -0
  924. package/MobSF/mobsf/static/codemirror/codemirror.css +350 -0
  925. package/MobSF/mobsf/static/codemirror/codemirror.js +9803 -0
  926. package/MobSF/mobsf/static/codemirror/javascript-lint.js +65 -0
  927. package/MobSF/mobsf/static/codemirror/javascript.js +945 -0
  928. package/MobSF/mobsf/static/codemirror/jshint.js +29591 -0
  929. package/MobSF/mobsf/static/codemirror/lint.css +71 -0
  930. package/MobSF/mobsf/static/codemirror/lint.js +259 -0
  931. package/MobSF/mobsf/static/enlighterjs/enlighterjs.enlighter.min.css +3 -0
  932. package/MobSF/mobsf/static/enlighterjs/enlighterjs.min.css +15 -0
  933. package/MobSF/mobsf/static/enlighterjs/enlighterjs.min.js +3 -0
  934. package/MobSF/mobsf/static/fonts/Open_Sans/LICENSE.txt +202 -0
  935. package/MobSF/mobsf/static/fonts/Open_Sans/OpenSans-Regular.ttf +0 -0
  936. package/MobSF/mobsf/static/fonts/Oswald/OFL.txt +93 -0
  937. package/MobSF/mobsf/static/fonts/Oswald/Oswald-Regular.ttf +0 -0
  938. package/MobSF/mobsf/static/img/favicon.ico +0 -0
  939. package/MobSF/mobsf/static/img/loading.jpg +0 -0
  940. package/MobSF/mobsf/static/img/mobsf_icon.png +0 -0
  941. package/MobSF/mobsf/static/img/mobsf_logo.png +0 -0
  942. package/MobSF/mobsf/static/img/no_icon.png +0 -0
  943. package/MobSF/mobsf/static/jsTree/custom.css +114 -0
  944. package/MobSF/mobsf/static/jsTree/jstree.min.js +6 -0
  945. package/MobSF/mobsf/static/jsTree/themes/default/32px.png +0 -0
  946. package/MobSF/mobsf/static/jsTree/themes/default/40px.png +0 -0
  947. package/MobSF/mobsf/static/jsTree/themes/default/content_background.gif +0 -0
  948. package/MobSF/mobsf/static/jsTree/themes/default/dir.gif +0 -0
  949. package/MobSF/mobsf/static/jsTree/themes/default/file.png +0 -0
  950. package/MobSF/mobsf/static/jsTree/themes/default/style.min.css +1 -0
  951. package/MobSF/mobsf/static/jsTree/themes/default/throbber.gif +0 -0
  952. package/MobSF/mobsf/static/landing/css/home.css +310 -0
  953. package/MobSF/mobsf/static/others/css/devices.min.css +1 -0
  954. package/MobSF/mobsf/static/others/css/pdf_report.css +123 -0
  955. package/MobSF/mobsf/static/others/css/spinner.css +168 -0
  956. package/MobSF/mobsf/static/others/css/terminal.css +79 -0
  957. package/MobSF/mobsf/static/others/css/xcode.min.css +1 -0
  958. package/MobSF/mobsf/static/terminal/terminal.css +79 -0
  959. package/MobSF/mobsf/templates/base/base_layout.html +123 -0
  960. package/MobSF/mobsf/templates/dynamic_analysis/android/dynamic_analyzer.html +1064 -0
  961. package/MobSF/mobsf/templates/dynamic_analysis/android/dynamic_report.html +1017 -0
  962. package/MobSF/mobsf/templates/dynamic_analysis/android/frida_logs.html +48 -0
  963. package/MobSF/mobsf/templates/dynamic_analysis/android/live_api.html +103 -0
  964. package/MobSF/mobsf/templates/dynamic_analysis/android/logcat.html +56 -0
  965. package/MobSF/mobsf/templates/dynamic_analysis/dynamic_analysis.html +328 -0
  966. package/MobSF/mobsf/templates/general/about.html +30 -0
  967. package/MobSF/mobsf/templates/general/apidocs.html +2201 -0
  968. package/MobSF/mobsf/templates/general/error.html +23 -0
  969. package/MobSF/mobsf/templates/general/home.html +298 -0
  970. package/MobSF/mobsf/templates/general/not_found.html +22 -0
  971. package/MobSF/mobsf/templates/general/recent.html +254 -0
  972. package/MobSF/mobsf/templates/general/search.html +35 -0
  973. package/MobSF/mobsf/templates/general/view.html +124 -0
  974. package/MobSF/mobsf/templates/general/zip.html +31 -0
  975. package/MobSF/mobsf/templates/pdf/android_report.html +930 -0
  976. package/MobSF/mobsf/templates/pdf/ios_report.html +760 -0
  977. package/MobSF/mobsf/templates/pdf/windows_report.html +211 -0
  978. package/MobSF/mobsf/templates/static_analysis/android_binary_analysis.html +2006 -0
  979. package/MobSF/mobsf/templates/static_analysis/android_source_analysis.html +1502 -0
  980. package/MobSF/mobsf/templates/static_analysis/compare.html +917 -0
  981. package/MobSF/mobsf/templates/static_analysis/ios_binary_analysis.html +1299 -0
  982. package/MobSF/mobsf/templates/static_analysis/ios_source_analysis.html +1125 -0
  983. package/MobSF/mobsf/templates/static_analysis/source_tree.html +332 -0
  984. package/MobSF/mobsf/templates/static_analysis/treeview_file.html +1 -0
  985. package/MobSF/mobsf/templates/static_analysis/treeview_folder.html +5 -0
  986. package/MobSF/mobsf/templates/static_analysis/windows_binary_analysis.html +411 -0
  987. package/MobSF/requirements.txt +30 -0
  988. package/MobSF/run.bat +19 -0
  989. package/MobSF/run.sh +48 -0
  990. package/MobSF/scripts/__init__.py +0 -0
  991. package/MobSF/scripts/check_install.py +28 -0
  992. package/MobSF/scripts/clean.bat +31 -0
  993. package/MobSF/scripts/clean.sh +43 -0
  994. package/MobSF/scripts/entrypoint.sh +8 -0
  995. package/MobSF/scripts/install_java_wkhtmltopdf.sh +33 -0
  996. package/MobSF/scripts/mass_static_analysis.py +95 -0
  997. package/MobSF/scripts/postgres_support.sh +11 -0
  998. package/MobSF/scripts/stack/docker-compose.yml +15 -0
  999. package/MobSF/scripts/update_android_permissions.py +46 -0
  1000. package/MobSF/setup.bat +81 -0
  1001. package/MobSF/setup.py +61 -0
  1002. package/MobSF/setup.sh +76 -0
  1003. package/MobSF/tox.ini +94 -0
  1004. package/Notes/AWS Security.pdf +0 -0
  1005. package/Notes/Android Security.pdf +0 -0
  1006. package/Notes/Web Security.pdf +0 -0
  1007. package/Screenshot 2022-03-10 at 11.57.37 AM.png +0 -0
  1008. package/Security Bug Demo.mov +0 -0
  1009. package/Security Review.mov +0 -0
  1010. package/Templates/CRLF.txt +61 -0
  1011. package/Templates/cors.html +26 -0
  1012. package/Templates/openredirect.txt +860 -0
  1013. package/Templates/secrets.py +102 -0
  1014. package/Templates/vhost.txt +174 -0
  1015. package/Templates/wordlist.txt +6038 -0
  1016. package/Templates/xss.txt +2691 -0
  1017. package/cloneall.sh +26 -0
  1018. package/index.js +46 -0
  1019. package/meesecops/.dockerignore +6 -0
  1020. package/meesecops/Dockerfile +15 -0
  1021. package/meesecops/LICENSE +201 -0
  1022. package/meesecops/README.md +2 -0
  1023. package/meesecops/README_secops.md +206 -0
  1024. package/meesecops/Workflows/1-factor.png +0 -0
  1025. package/meesecops/Workflows/2-factor.png +0 -0
  1026. package/meesecops/__init__.py +0 -0
  1027. package/meesecops/application/__init__.py +23 -0
  1028. package/meesecops/application/jira_functions.py +554 -0
  1029. package/meesecops/application/static/css/close_style.css +151 -0
  1030. package/meesecops/application/static/css/style.css +358 -0
  1031. package/meesecops/application/static/external/1.16.0.popper.min.js +5 -0
  1032. package/meesecops/application/static/external/bootstrap.min.css +5 -0
  1033. package/meesecops/application/static/external/bootstrap.min.js +7 -0
  1034. package/meesecops/application/static/external/css.css +48 -0
  1035. package/meesecops/application/static/external/index.js +607 -0
  1036. package/meesecops/application/static/external/jquery-1.12.4.js +11008 -0
  1037. package/meesecops/application/static/fonts/glyphicons-halflings-regular.woff2 +0 -0
  1038. package/meesecops/application/static/fonts/hacked.woff +0 -0
  1039. package/meesecops/application/static/images/ajax-loader.gif +0 -0
  1040. package/meesecops/application/static/images/favicon.png +0 -0
  1041. package/meesecops/application/static/images/glogin.png +0 -0
  1042. package/meesecops/application/static/images/logo3.png +0 -0
  1043. package/meesecops/application/static/images/sort_asc.png +0 -0
  1044. package/meesecops/application/static/images/sort_both.png +0 -0
  1045. package/meesecops/application/static/images/sort_desc.png +0 -0
  1046. package/meesecops/application/static/options.json +62 -0
  1047. package/meesecops/application/static/request_options.json +721 -0
  1048. package/meesecops/application/static/robots.txt +2 -0
  1049. package/meesecops/application/templates/close_tickets.html +261 -0
  1050. package/meesecops/application/templates/footer.html +15 -0
  1051. package/meesecops/application/templates/index.html +337 -0
  1052. package/meesecops/application/templates/login.html +50 -0
  1053. package/meesecops/application/templates/nav.html +63 -0
  1054. package/meesecops/application/templates/new_secreview.html +92 -0
  1055. package/meesecops/application/templates/search_tickets.html +77 -0
  1056. package/meesecops/application/templates/security_updates.html +82 -0
  1057. package/meesecops/application/views.py +536 -0
  1058. package/meesecops/config.py +206 -0
  1059. package/meesecops/logs/README.txt +1 -0
  1060. package/meesecops/logs/access_log +0 -0
  1061. package/meesecops/requirements.txt +32 -0
  1062. package/meesecops/run.py +100 -0
  1063. package/meesecops/screenshot/1.png +0 -0
  1064. package/meesecops/screenshot/2.png +0 -0
  1065. package/meesecops/screenshot/3.png +0 -0
  1066. package/meesecops/screenshot/4-1.png +0 -0
  1067. package/meesecops/screenshot/4.png +0 -0
  1068. package/meesecops/screenshot/5.png +0 -0
  1069. package/meesecops/screenshot/6.png +0 -0
  1070. package/meesecops/screenshot/7.png +0 -0
  1071. package/meesecops/ssl/README.txt +1 -0
  1072. package/package.json +11 -0
  1073. package/prod.pem +27 -0
  1074. package/test1.py +133 -0
@@ -0,0 +1,2201 @@
1
+ {% extends "base/base_layout.html" %}
2
+ {% block sidebar_option %}
3
+ sidebar-collapse
4
+ {% endblock %}
5
+ {% block content %}
6
+ <style>
7
+ pre {
8
+ white-space: pre-wrap; /* css-3 */
9
+ white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
10
+ white-space: -pre-wrap; /* Opera 4-6 */
11
+ white-space: -o-pre-wrap; /* Opera 7 */
12
+ word-wrap: break-word; /* Internet Explorer 5.5+ */
13
+ }
14
+ </style>
15
+ <div class="content-wrapper">
16
+ <div class="content-header"></div>
17
+ <div class="container-fluid">
18
+ <div class="row">
19
+ <div class="col-lg-12">
20
+ <div class="card">
21
+ <div class="card-body">
22
+ <h1><strong>REST API Docs</strong></h1>
23
+ <p class="lead">
24
+ REST API Key: <strong><code>{{ api_key}}</code></strong>
25
+ </p>
26
+
27
+ <!--API Docs -->
28
+ <h1>Static Analysis</h1>
29
+ <ol>
30
+ <li><code>api/v1/upload</code> - <a href="#upload-file-api">Upload a File</a></li>
31
+ <li><code>api/v1/scan</code> - <a href="#scan-file-api">Scan a File</a></li>
32
+ <li><code>api/v1/scans</code> - <a href="#recent-scans-api">Display Recent Scans</a></li>
33
+ <li><code>api/v1/delete_scan</code> - <a href="#delete-scan-api">Delete a Scan</a></li>
34
+ <li><code>api/v1/download_pdf</code> - <a href="#generate-pdf-report-api">Download PDF Report</a></li>
35
+ <li><code>api/v1/report_json</code> - <a href="#generate-json-report-api">Generate JSON Report</a></li>
36
+ <li><code>api/v1/view_source</code> - <a href="#view-source-api">View Source Files</a></li>
37
+ <li><code>api/v1/compare</code> - <a href="#compare-api">Compare Apps</a></li>
38
+ </ol>
39
+
40
+ <h1>Dynamic Analysis</h1>
41
+ <ol>
42
+
43
+ <li><code>api/v1/dynamic/get_apps</code> - <a href="#get-apps-api">Get Apps for Dynamic Analysis</a></li>
44
+ <li><code>api/v1/dynamic/start_analysis</code> - <a href="#start-analysis-api">Start Dynamic Analysis</a></li>
45
+ <li><code>api/v1/android/logcat</code> - <a href="#logcat-api">View Logcat</a></li>
46
+ <li><code>api/v1/android/mobsfy</code> - <a href="#mobsfy-api">MobSFy VM/Emulator/Device</a></li>
47
+ <li><code>api/v1/android/adb_command</code> - <a href="#adb-command-api">Execute ADB Commands</a></li>
48
+ <li><code>api/v1/android/root_ca</code> - <a href="#root-ca-api">Install or Remove MobSF Root CA</a></li>
49
+ <li><code>api/v1/android/global_proxy</code> - <a href="#global-proxy-api">Set or Unset MobSF HTTP(S) Proxy</a></li>
50
+ <li><code>api/v1/android/activity</code> - <a href="#activity-api">Activity or Exported Activity Tester</a></li>
51
+ <li><code>api/v1/android/tls_tests</code> - <a href="#tls-tester-api">TLS/SSL Security Tester</a></li>
52
+ <li><code>api/v1/frida/instrument</code> - <a href="#frida-instrument-api">Frida Instrument App</a></li>
53
+ <li><code>api/v1/frida/api_monitor</code> - <a href="#frida-api-monitor-api">Frida API Monitor</a></li>
54
+ <li><code>api/v1/frida/get_dependencies</code> - <a href="#frida-get-dependencies-api">Frida Get Dependencies</a></li>
55
+ <li><code>api/v1/frida/logs</code> - <a href="#frida-logs-api">Frida View Logs</a></li>
56
+ <li><code>api/v1/frida/list_scripts</code> - <a href="#frida-list-scripts-api">Frida List Scripts</a></li>
57
+ <li><code>api/v1/frida/get_script</code> - <a href="#frida-get-script-api">Frida Get Script</a></li>
58
+ <li><code>api/v1/dynamic/stop_analysis</code> - <a href="#stop-analysis-api">Stop Dynamic Analysis</a></li>
59
+ <li><code>api/v1/dynamic/report_json</code> - <a href="#dynamic-report-json-api">Dynamic Analysis JSON report</a></li>
60
+ <li><code>api/v1/dynamic/view_source</code> - <a href="#dynamic-view-source-api">Dynamic Analysis View Source</a></li>
61
+
62
+ </ol>
63
+
64
+ <h2><a id="upload-file-api"></a><strong>Upload File API</strong></h2>
65
+ <p>API to upload a file. Supported file types are apk, zip, ipa and appx.</p>
66
+ <ul>
67
+ <li>
68
+ <p><strong>URL:</strong> <code>/api/v1/upload</code></p>
69
+ </li>
70
+ <li>
71
+ <p><strong>Method:</strong> <code>POST</code></p>
72
+ </li>
73
+ <li>
74
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
75
+ </li>
76
+ <li>
77
+ <p><strong>Data Params</strong></p>
78
+ </li>
79
+ </ul>
80
+ <table class="table table-striped table-bordered">
81
+ <thead>
82
+ <tr>
83
+ <th>Param Name</th>
84
+ <th>Param Value</th>
85
+ <th>Required</th>
86
+ </tr>
87
+ </thead>
88
+ <tbody>
89
+ <tr>
90
+ <td>file</td>
91
+ <td>multipart/form-data</td>
92
+ <td>Yes</td>
93
+ </tr>
94
+ </tbody>
95
+ </table>
96
+ <br />
97
+ <ul>
98
+ <li>
99
+ <p><strong>Success Response:</strong></p>
100
+ <ul>
101
+ <li>
102
+ <strong>Code:</strong> <code>200</code> <br />
103
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
104
+ <strong>Content:</strong> <code>{&quot;file_name&quot;: &quot;diva-beta.apk&quot;, &quot;hash&quot;: &quot;82ab8b2193b3cfb1c737e3a786be363a&quot;, &quot;scan_type&quot;: &quot;apk&quot;}</code>
105
+ </li>
106
+ </ul>
107
+ </li>
108
+ <li>
109
+ <p><strong>Error Response:</strong></p>
110
+ <ul>
111
+ <li>
112
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
113
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code><br />
114
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
115
+ </li>
116
+ </ul>
117
+ <p>OR</p>
118
+ <ul>
119
+ <li>
120
+ <strong>Code:</strong> <code>401 Unauthorized</code><br />
121
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code><br />
122
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
123
+ </li>
124
+ </ul>
125
+ </li>
126
+ <li>
127
+ <p><strong>Sample Call:</strong></p>
128
+ <ul>
129
+ <li>
130
+ <pre><code>curl -F 'file=@/Users/ajin/Desktop/diva-beta.apk' http://localhost:8000/api/v1/upload -H &quot;Authorization:{{ api_key}}&quot;
131
+ </code></pre>
132
+ </li>
133
+ </ul>
134
+ <p>OR</p>
135
+ <ul>
136
+ <li>
137
+ <pre><code>curl -F 'file=@/Users/ajin/Desktop/diva-beta.apk' http://localhost:8000/api/v1/upload -H &quot;X-Mobsf-Api-Key:{{ api_key}}&quot;
138
+ </code></pre>
139
+ </li>
140
+ </ul>
141
+ </li>
142
+ </ul>
143
+ <hr />
144
+ <h2><a id="scan-file-api"></a><strong>Scan File API</strong></h2>
145
+ <p>API to scan a file that is already uploaded.</p>
146
+ <ul>
147
+ <li>
148
+ <p><strong>URL:</strong> <code>/api/v1/scan</code></p>
149
+ </li>
150
+ <li>
151
+ <p><strong>Method:</strong> <code>POST</code></p>
152
+ </li>
153
+ <li>
154
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
155
+ </li>
156
+ <li>
157
+ <p><strong>Data Params</strong></p>
158
+ </li>
159
+ </ul>
160
+ <table class="table table-striped table-bordered">
161
+ <thead>
162
+ <tr>
163
+ <th>Param Name</th>
164
+ <th>Param Value</th>
165
+ <th>Required</th>
166
+ </tr>
167
+ </thead>
168
+ <tbody>
169
+ <tr>
170
+ <td>scan_type</td>
171
+ <td>xapk, apk, zip, ipa, or appx</td>
172
+ <td>Yes</td>
173
+ </tr>
174
+ <tr>
175
+ <td>file_name</td>
176
+ <td>Name of the app with extension</td>
177
+ <td>Yes</td>
178
+ </tr>
179
+ <tr>
180
+ <td>hash</td>
181
+ <td>hash of the scan</td>
182
+ <td>Yes</td>
183
+ </tr>
184
+ <tr>
185
+ <td>re_scan</td>
186
+ <td>0 or 1, default is 0</td>
187
+ <td>No</td>
188
+ </tr>
189
+ </tbody>
190
+ </table>
191
+ <br />
192
+ <ul>
193
+ <li>
194
+ <p><strong>Success Response:</strong></p>
195
+ <ul>
196
+ <li>
197
+ <strong>Code:</strong> <code>200</code><br />
198
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code><br />
199
+ <strong>Content:</strong>
200
+ </li>
201
+ </ul>
202
+ <pre><code>{&quot;act_count&quot;: &quot;17&quot;, &quot;api&quot;: {&quot;Loading Native Code (Shared Library) &quot;: {&quot;path&quot;:
203
+ [&quot;jakhar/aseem/diva/DivaJni.java&quot;]}, &quot;Local File I/O Operations&quot;: {&quot;path&quot;:
204
+ [&quot;jakhar/aseem/diva/InsecureDataStorage2Activity.java&quot;, &quot;jakhar/aseem/diva/SQLInjectionActivity.java&quot;]},
205
+ &quot;Starting Activity&quot;: {&quot;path&quot;: [&quot;jakhar/aseem/diva/AccessControl1Activity.java&quot;,
206
+ &quot;jakhar/aseem/diva/AccessControl2Activity.java&quot;, &quot;jakhar/aseem/diva/AccessControl3Activity.java&quot;,
207
+ &quot;jakhar/aseem/diva/MainActivity.java&quot;]}, &quot;Query Database of SMS, Contacts etc.&quot;: {&quot;path&quot;:
208
+ [&quot;jakhar/aseem/diva/AccessControl3NotesActivity.java&quot;, &quot;jakhar/aseem/diva/NotesProvider.java&quot;]}
209
+ SNIPPED
210
+ </code></pre>
211
+ </li>
212
+ <li>
213
+ <p><strong>Error Response:</strong></p>
214
+ <ul>
215
+ <li>
216
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code><br />
217
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code><br />
218
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
219
+ </li>
220
+ </ul>
221
+ <p>OR</p>
222
+ <ul>
223
+ <li>
224
+ <strong>Code:</strong> <code>401 Unauthorized</code><br />
225
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code><br />
226
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
227
+ </li>
228
+ </ul>
229
+ </li>
230
+ <li>
231
+ <p><strong>Sample Call:</strong></p>
232
+ <ul>
233
+ <li>
234
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/scan --data &quot;scan_type=apk&amp;file_name=diva-beta.apk&amp;hash=82ab8b2193b3cfb1c737e3a786be363a&quot; -H &quot;Authorization:{{ api_key}}&quot;
235
+ </code></pre>
236
+ </li>
237
+ </ul>
238
+ <p>OR</p>
239
+ <ul>
240
+ <li>
241
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/scan --data &quot;scan_type=apk&amp;file_name=diva-beta.apk&amp;hash=82ab8b2193b3cfb1c737e3a786be363a&quot; -H &quot;X-Mobsf-Api-Key:{{ api_key}}&quot;
242
+ </code></pre>
243
+ </li>
244
+ </ul>
245
+ </li>
246
+ </ul>
247
+ <hr />
248
+ <h2><a id="delete-scan-api"></a><strong>Delete Scan API</strong></h2>
249
+ <p>API to delete scan results.</p>
250
+ <ul>
251
+ <li>
252
+ <p><strong>URL:</strong> <code>/api/v1/delete_scan</code></p>
253
+ </li>
254
+ <li>
255
+ <p><strong>Method:</strong> <code>POST</code></p>
256
+ </li>
257
+ <li>
258
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
259
+ </li>
260
+ <li>
261
+ <p><strong>Data Params</strong></p>
262
+ </li>
263
+ </ul>
264
+ <table class="table table-striped table-bordered">
265
+ <thead>
266
+ <tr>
267
+ <th>Param Name</th>
268
+ <th>Param Value</th>
269
+ <th>Required</th>
270
+ </tr>
271
+ </thead>
272
+ <tbody>
273
+ <tr>
274
+ <td>hash</td>
275
+ <td>hash of the scan</td>
276
+ <td>Yes</td>
277
+ </tr>
278
+ </tbody>
279
+ </table>
280
+ <br />
281
+ <ul>
282
+ <li>
283
+ <p><strong>Success Response:</strong></p>
284
+ <ul>
285
+ <li>
286
+ <strong>Code:</strong> <code>200</code><br />
287
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
288
+ <strong>Content:</strong> <code>{&quot;deleted&quot;: &quot;yes&quot;}</code> or <code>{&quot;deleted&quot;: &quot;scan hash not found&quot;}</code>
289
+ </li>
290
+ </ul>
291
+ </li>
292
+ <li>
293
+ <p><strong>Error Response:</strong></p>
294
+ <ul>
295
+ <li>
296
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code><br />
297
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code><br />
298
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
299
+ </li>
300
+ </ul>
301
+ <p>OR</p>
302
+ <ul>
303
+ <li>
304
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
305
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code><br />
306
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
307
+ </li>
308
+ </ul>
309
+ </li>
310
+ <li>
311
+ <p><strong>Sample Call:</strong></p>
312
+ <ul>
313
+ <li>
314
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/delete_scan --data &quot;hash=82ab8b2193b3cfb1c737e3a786be363a&quot; -H &quot;Authorization:{{ api_key}}&quot;
315
+ </code></pre>
316
+ </li>
317
+ </ul>
318
+ <p>OR</p>
319
+ <ul>
320
+ <li>
321
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/delete_scan --data &quot;hash=82ab8b2193b3cfb1c737e3a786be363a&quot; -H &quot;X-Mobsf-Api-Key:{{ api_key}}&quot;
322
+ </code></pre>
323
+ </li>
324
+ </ul>
325
+ </li>
326
+ </ul>
327
+ <hr />
328
+ <h2><a id="generate-pdf-report-api"></a><strong>Generate PDF Report API</strong></h2>
329
+ <p>API to generate PDF Report.</p>
330
+ <ul>
331
+ <li>
332
+ <p><strong>URL:</strong> <code>/api/v1/download_pdf</code></p>
333
+ </li>
334
+ <li>
335
+ <p><strong>Method:</strong> <code>POST</code></p>
336
+ </li>
337
+ <li>
338
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
339
+ </li>
340
+ <li>
341
+ <p><strong>Data Params</strong></p>
342
+ </li>
343
+ </ul>
344
+ <table class="table table-striped table-bordered">
345
+ <thead>
346
+ <tr>
347
+ <th>Param Name</th>
348
+ <th>Param Value</th>
349
+ <th>Required</th>
350
+ </tr>
351
+ </thead>
352
+ <tbody>
353
+ <tr>
354
+ <td>hash</td>
355
+ <td>hash of the scan</td>
356
+ <td>Yes</td>
357
+ </tr>
358
+ </tbody>
359
+ </table>
360
+ <br />
361
+ <ul>
362
+ <li>
363
+ <p><strong>Success Response:</strong></p>
364
+ <ul>
365
+ <li>
366
+ <strong>Code:</strong> <code>200</code><br />
367
+ <strong>Content-Type:</strong> <code>application/pdf</code> <br />
368
+ <strong>Content:</strong> <code>PDF Contents</code>
369
+ </li>
370
+ </ul>
371
+ </li>
372
+ <li>
373
+ <p><strong>Error Response:</strong></p>
374
+ <ul>
375
+ <li>
376
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
377
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
378
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
379
+ </li>
380
+ </ul>
381
+ <p>OR</p>
382
+ <ul>
383
+ <li>
384
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
385
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
386
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
387
+ </li>
388
+ </ul>
389
+ </li>
390
+ <li>
391
+ <p><strong>Sample Call:</strong></p>
392
+ <ul>
393
+ <li>
394
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/download_pdf --data &quot;hash=82ab8b2193b3cfb1c737e3a786be363a&quot; -H &quot;Authorization:{{ api_key}}&quot;
395
+ </code></pre>
396
+ </li>
397
+ </ul>
398
+ <p>OR</p>
399
+ <ul>
400
+ <li>
401
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/download_pdf --data &quot;hash=82ab8b2193b3cfb1c737e3a786be363a&quot; -H &quot;X-Mobsf-Api-Key:{{ api_key}}&quot;
402
+ </code></pre>
403
+ </li>
404
+ </ul>
405
+ </li>
406
+ </ul>
407
+
408
+ <hr />
409
+ <h2><a id="generate-json-report-api"></a><strong>Generate JSON Report API</strong></h2>
410
+ <p>API to generate JSON Report.</p>
411
+ <ul>
412
+ <li>
413
+ <p><strong>URL:</strong> <code>/api/v1/report_json</code></p>
414
+ </li>
415
+ <li>
416
+ <p><strong>Method:</strong> <code>POST</code></p>
417
+ </li>
418
+ <li>
419
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
420
+ </li>
421
+ <li>
422
+ <p><strong>Data Params</strong></p>
423
+ </li>
424
+ </ul>
425
+ <table class="table table-striped table-bordered">
426
+ <thead>
427
+ <tr>
428
+ <th>Param Name</th>
429
+ <th>Param Value</th>
430
+ <th>Required</th>
431
+ </tr>
432
+ </thead>
433
+ <tbody>
434
+ <tr>
435
+ <td>hash</td>
436
+ <td>hash of the scan</td>
437
+ <td>Yes</td>
438
+ </tr>
439
+ </tbody>
440
+ </table>
441
+ <br />
442
+ <ul>
443
+ <li>
444
+ <p><strong>Success Response:</strong></p>
445
+ <ul>
446
+ <li>
447
+ <strong>Code:</strong> <code>200</code><br />
448
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
449
+ <strong>Content:</strong> <code>JSON Contents</code>
450
+ </li>
451
+ </ul>
452
+ </li>
453
+ <li>
454
+ <p><strong>Error Response:</strong></p>
455
+ <ul>
456
+ <li>
457
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
458
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
459
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
460
+ </li>
461
+ </ul>
462
+ <p>OR</p>
463
+ <ul>
464
+ <li>
465
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
466
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
467
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
468
+ </li>
469
+ </ul>
470
+ </li>
471
+ <li>
472
+ <p><strong>Sample Call:</strong></p>
473
+ <ul>
474
+ <li>
475
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/report_json --data &quot;hash=82ab8b2193b3cfb1c737e3a786be363a&quot; -H &quot;Authorization:{{ api_key}}&quot;
476
+ </code></pre>
477
+ </li>
478
+ </ul>
479
+ <p>OR</p>
480
+ <ul>
481
+ <li>
482
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/report_json --data &quot;hash=82ab8b2193b3cfb1c737e3a786be363a&quot; -H &quot;X-Mobsf-Api-Key:{{ api_key}}&quot;
483
+ </code></pre>
484
+ </li>
485
+ </ul>
486
+ </li>
487
+ </ul>
488
+
489
+ <hr />
490
+ <h2><a id="view-source-api"></a><strong>View Source Files API</strong></h2>
491
+ <p>API to view source files.</p>
492
+ <ul>
493
+ <li>
494
+ <p><strong>URL:</strong> <code>/api/v1/view_source</code></p>
495
+ </li>
496
+ <li>
497
+ <p><strong>Method:</strong> <code>POST</code></p>
498
+ </li>
499
+ <li>
500
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
501
+ </li>
502
+ <li>
503
+ <p><strong>Data Params</strong></p>
504
+ </li>
505
+ </ul>
506
+ <table class="table table-striped table-bordered">
507
+ <thead>
508
+ <tr>
509
+ <th>Param Name</th>
510
+ <th>Param Value</th>
511
+ <th>Required</th>
512
+ </tr>
513
+ </thead>
514
+ <tbody>
515
+ <tr>
516
+ <td>hash</td>
517
+ <td>hash of the scan</td>
518
+ <td>Yes</td>
519
+ </tr>
520
+ <tr>
521
+ <td>file</td>
522
+ <td>relative file path</td>
523
+ <td>Yes</td>
524
+ </tr>
525
+ <tr>
526
+ <td>type</td>
527
+ <td>apk/ipa/studio/eclipse/ios</td>
528
+ <td>Yes</td>
529
+ </tr>
530
+ </tbody>
531
+ </table>
532
+ <br />
533
+ <ul>
534
+ <li>
535
+ <p><strong>Success Response:</strong></p>
536
+ <ul>
537
+ <li>
538
+ <strong>Code:</strong> <code>200</code><br />
539
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
540
+ <strong>Content:</strong> <code>JSON Contents</code>
541
+ </li>
542
+ </ul>
543
+ </li>
544
+ <li>
545
+ <p><strong>Error Response:</strong></p>
546
+ <ul>
547
+ <li>
548
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
549
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
550
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
551
+ </li>
552
+ </ul>
553
+ <p>OR</p>
554
+ <ul>
555
+ <li>
556
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
557
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
558
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
559
+ </li>
560
+ </ul>
561
+ </li>
562
+ <li>
563
+ <p><strong>Sample Call:</strong></p>
564
+ <ul>
565
+ <li>
566
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/view_source --data "hash=18e244926da1e49c5b8ffc1c30de8abc&amp;type=apk&amp;file=b/a/a/a/a/a.java" -H "Authorization:{{ api_key}}"
567
+ </code></pre>
568
+ </li>
569
+ <li>
570
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/view_source --data "hash=6c23c2970551be15f32bbab0b5db0c71&amp;type=ipa&amp;file=classdump.txt" -H "Authorization:{{ api_key}}"
571
+ </code></pre>
572
+ </li>
573
+ </ul>
574
+ <p>OR</p>
575
+ <ul>
576
+ <li>
577
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/view_source --data "hash=18e244926da1e49c5b8ffc1c30de8abc&amp;type=apk&amp;file=b/a/a/a/a/a.java" -H "X-Mobsf-Api-Key:{{ api_key}}"
578
+ </code></pre>
579
+ </li>
580
+ <li>
581
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/view_source --data "hash=6c23c2970551be15f32bbab0b5db0c71&amp;type=ipa&amp;file=classdump.txt" -H "X-Mobsf-Api-Key:{{ api_key}}"
582
+ </code></pre>
583
+ </li>
584
+ </ul>
585
+ </li>
586
+ </ul>
587
+
588
+ <hr />
589
+ <h2><a id="recent-scans-api"></a><strong>Display Recent Scans API</strong></h2>
590
+ <p>API to Display Recent Scans.</p>
591
+ <ul>
592
+ <li>
593
+ <p><strong>URL:</strong> <code>/api/v1/scans</code></p>
594
+ </li>
595
+ <li>
596
+ <p><strong>Method:</strong> <code>GET</code></p>
597
+ </li>
598
+ <li>
599
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
600
+ </li>
601
+ <li>
602
+ <p><strong>Data Params</strong></p>
603
+ </li>
604
+ </ul>
605
+ <table class="table table-striped table-bordered">
606
+ <thead>
607
+ <tr>
608
+ <th>Param Name</th>
609
+ <th>Param Value</th>
610
+ <th>Required</th>
611
+ </tr>
612
+ </thead>
613
+ <tbody>
614
+ <tr>
615
+ <td>page</td>
616
+ <td>the number of page</td>
617
+ <td>Yes</td>
618
+ </tr>
619
+ <tr>
620
+ <td>page_size</td>
621
+ <td>per page size</td>
622
+ <td>Yes</td>
623
+ </tr>
624
+ </tbody>
625
+ </table>
626
+ <br />
627
+ <ul>
628
+ <li>
629
+ <p><strong>Success Response:</strong></p>
630
+ <ul>
631
+ <li>
632
+ <strong>Code:</strong> <code>200</code><br />
633
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
634
+ <strong>Content:</strong>
635
+ <code>
636
+ {"content": [{"id": 7, "ANALYZER": "static_analyzer_ios", "SCAN_TYPE": "ipa", "FILE_NAME": "ios.ipa", "APP_NAME": "helloworld", "PACKAGE_NAME": "com.kthcorp.helloworld", "VERSION_NAME": "1.0", "MD5": "6c23c2970551be15f32bbab0b5db0c71", "TIMESTAMP": "2020-11-15T03:17:11.733Z"}, {"id": 6, "ANALYZER": "static_analyzer", "SCAN_TYPE": "apk", "FILE_NAME": "android.apk", "APP_NAME": "HelloWorld", "PACKAGE_NAME": "opensecurity.helloworld", "VERSION_NAME": "1.0", "MD5": "3a552566097a8de588b8184b059b0158", "TIMESTAMP": "2020-11-15T03:16:34.171Z"}, {"id": 3, "ANALYZER": "static_analyzer", "SCAN_TYPE": "zip", "FILE_NAME": "ios_src.zip", "APP_NAME": "DamnVulnerableIOSApp", "PACKAGE_NAME": "com.highaltitudehacks.dvia.watchkitapp", "VERSION_NAME": "2.0", "MD5": "57bb5be0ea44a755ada4a93885c3825e", "TIMESTAMP": "2020-11-15T03:08:49.089Z"}], "count": 3, "num_pages": 1}
637
+ </code>
638
+ </li>
639
+ </ul>
640
+ </li>
641
+ <li>
642
+ <p><strong>Error Response:</strong></p>
643
+ <ul>
644
+ <li>
645
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
646
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
647
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
648
+ </li>
649
+ </ul>
650
+ <p>OR</p>
651
+ <ul>
652
+ <li>
653
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
654
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
655
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
656
+ </li>
657
+ </ul>
658
+ </li>
659
+ <li>
660
+ <p><strong>Sample Call:</strong></p>
661
+ <ul>
662
+ <li>
663
+ <pre><code>curl --url "http://localhost:8000/api/v1/scans" -H "Authorization:{{ api_key}}"
664
+ </code></pre>
665
+ </li>
666
+ <li>
667
+ <pre><code>curl --url "http://localhost:8000/api/v1/scans?page=1&amp;page_size=10" -H "Authorization:{{ api_key}}"
668
+ </code></pre>
669
+ </li>
670
+ </ul>
671
+ <p>OR</p>
672
+ <ul>
673
+ <li>
674
+ <pre><code>curl --url "http://localhost:8000/api/v1/scans" -H "X-Mobsf-Api-Key:{{ api_key}}"
675
+ </code></pre>
676
+ </li>
677
+ <li>
678
+ <pre><code>curl --url "http://localhost:8000/api/v1/scans?page=1&amp;page_size=10" -H "X-Mobsf-Api-Key:{{ api_key}}"
679
+ </code></pre>
680
+ </li>
681
+ </ul>
682
+ </li>
683
+ </ul>
684
+
685
+ <hr />
686
+ <h2><a id="compare-api"></a><strong>Compare Apps API</strong></h2>
687
+ <p>API to Compare scan results.</p>
688
+ <ul>
689
+ <li>
690
+ <p><strong>URL:</strong> <code>/api/v1/compare</code></p>
691
+ </li>
692
+ <li>
693
+ <p><strong>Method:</strong> <code>POST</code></p>
694
+ </li>
695
+ <li>
696
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
697
+ </li>
698
+ <li>
699
+ <p><strong>Data Params</strong></p>
700
+ </li>
701
+ </ul>
702
+ <table class="table table-striped table-bordered">
703
+ <thead>
704
+ <tr>
705
+ <th>Param Name</th>
706
+ <th>Param Value</th>
707
+ <th>Required</th>
708
+ </tr>
709
+ </thead>
710
+ <tbody>
711
+ <tr>
712
+ <td>hash1</td>
713
+ <td>first scan hash</td>
714
+ <td>Yes</td>
715
+ </tr>
716
+ <tr>
717
+ <td>hash2</td>
718
+ <td>second scan hash to compare with</td>
719
+ <td>Yes</td>
720
+ </tr>
721
+ </tbody>
722
+ </table>
723
+ <br />
724
+ <ul>
725
+ <li>
726
+ <p><strong>Success Response:</strong></p>
727
+ <ul>
728
+ <li>
729
+ <strong>Code:</strong> <code>200</code><br />
730
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
731
+ <strong>Content:</strong> <code>JSON Contents</code>
732
+ </li>
733
+ </ul>
734
+ </li>
735
+ <li>
736
+ <p><strong>Error Response:</strong></p>
737
+ <ul>
738
+ <li>
739
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
740
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
741
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
742
+ </li>
743
+ </ul>
744
+ <p>OR</p>
745
+ <ul>
746
+ <li>
747
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
748
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
749
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
750
+ </li>
751
+ </ul>
752
+ </li>
753
+ <li>
754
+ <p><strong>Sample Call:</strong></p>
755
+ <ul>
756
+ <li>
757
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/compare --data "hash1=82ab8b2193b3cfb1c737e3a786be363a&hash2=f56c96f2b1f0a7c46eb6fef3a035f3dd" -H "Authorization:{{ api_key}}"
758
+ </code></pre>
759
+ </li>
760
+ </ul>
761
+ <p>OR</p>
762
+ <ul>
763
+ <li>
764
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/compare --data "hash1=82ab8b2193b3cfb1c737e3a786be363a&hash2=f56c96f2b1f0a7c46eb6fef3a035f3dd" -H "X-Mobsf-Api-Key:{{ api_key}}"
765
+ </code></pre>
766
+ </li>
767
+ </ul>
768
+ </li>
769
+ </ul>
770
+
771
+ <hr />
772
+ <h2><a id="get-apps-api"></a><strong>Get Apps API</strong></h2>
773
+ <p>Get Apps available for Dynamic Analysis. You must perform static analysis before attempting dynamic analysis.</p>
774
+ <ul>
775
+ <li>
776
+ <p><strong>URL:</strong> <code>/api/v1/dynamic/get_apps</code></p>
777
+ </li>
778
+ <li>
779
+ <p><strong>Method:</strong> <code>GET</code></p>
780
+ </li>
781
+ <li>
782
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
783
+ </li>
784
+ </ul>
785
+ <br />
786
+ <ul>
787
+ <li>
788
+ <p><strong>Success Response:</strong></p>
789
+ <ul>
790
+ <li>
791
+ <strong>Code:</strong> <code>200</code><br />
792
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
793
+ <strong>Content:</strong> <code>{
794
+ "apks": [
795
+ {
796
+ "ICON_FOUND": true,
797
+ "MD5": "3a552566097a8de588b8184b059b0158",
798
+ "APP_NAME": "HelloWorld",
799
+ "VERSION_NAME": "1.0",
800
+ "FILE_NAME": "android.apk",
801
+ "PACKAGE_NAME": "opensecurity.helloworld"
802
+ },
803
+ {
804
+ "ICON_FOUND": true,
805
+ "MD5": "6825bb9fde2fc671322df005976755a1",
806
+ "APP_NAME": "Wikipedia",
807
+ "VERSION_NAME": "2.7.277-r-2019-12-11",
808
+ "FILE_NAME": "org.wikipedia_2.7.277-r-2019-12-11-30277_minAPI19(x86)(nodpi)_apkmirror.com.apk",
809
+ "PACKAGE_NAME": "org.wikipedia"
810
+ },
811
+ ],
812
+ "identifier": "192.168.56.139:5555",
813
+ "proxy_ip": "192.168.56.1",
814
+ "proxy_port": 1337,
815
+ "title": "MobSF Dynamic Analysis",
816
+ "version": "v3.1.8 Beta"
817
+ }</code>
818
+ </li>
819
+ </ul>
820
+ </li>
821
+ <li>
822
+ <p><strong>Error Response:</strong></p>
823
+ <ul>
824
+ <li>
825
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
826
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
827
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
828
+ </li>
829
+ </ul>
830
+ <p>OR</p>
831
+ <ul>
832
+ <li>
833
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
834
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
835
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
836
+ </li>
837
+ </ul>
838
+ </li>
839
+ <li>
840
+ <p><strong>Sample Call:</strong></p>
841
+ <ul>
842
+ <li>
843
+ <pre><code>curl --url http://localhost:8000/api/v1/dynamic/get_apps -H "Authorization:{{ api_key}}"
844
+ </code></pre>
845
+ </li>
846
+ </ul>
847
+ </li>
848
+ </ul>
849
+
850
+ <hr />
851
+ <h2><a id="start-analysis-api"></a><strong>Start Dynamic Analysis API</strong></h2>
852
+ <p>Start MobSF Dynamic Analyzer. Ensure that dynamic analysis environment (Android VM/Emulator/Device) is configured and running before calling this API.</p>
853
+ <ul>
854
+ <li>
855
+ <p><strong>URL:</strong> <code>/api/v1/dynamic/start_analysis</code></p>
856
+ </li>
857
+ <li>
858
+ <p><strong>Method:</strong> <code>POST</code></p>
859
+ </li>
860
+ <li>
861
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
862
+ </li>
863
+ <li>
864
+ <p><strong>Data Params</strong></p>
865
+ </li>
866
+ </ul>
867
+ <table class="table table-striped table-bordered">
868
+ <thead>
869
+ <tr>
870
+ <th>Param Name</th>
871
+ <th>Param Value</th>
872
+ <th>Required</th>
873
+ </tr>
874
+ </thead>
875
+ <tbody>
876
+ <tr>
877
+ <td>hash</td>
878
+ <td>hash of the scan</td>
879
+ <td>Yes</td>
880
+ </tr>
881
+ <tr>
882
+ <td>re_install</td>
883
+ <td>0 or 1, default is 1</td>
884
+ <td>No</td>
885
+ </tr>
886
+ <tr>
887
+ <td>install</td>
888
+ <td>0 or 1, default is 1</td>
889
+ <td>No</td>
890
+ </tr>
891
+ </tbody>
892
+ </table>
893
+ <br />
894
+ <ul>
895
+ <li>
896
+ <p><strong>Success Response:</strong></p>
897
+ <ul>
898
+ <li>
899
+ <strong>Code:</strong> <code>200</code><br />
900
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
901
+ <strong>Content:</strong> <code>{
902
+ "screen_witdth": "1440",
903
+ "screen_height": "2960",
904
+ "package": "opensecurity.helloworld",
905
+ "hash": "3a552566097a8de588b8184b059b0158",
906
+ "android_version": 8,
907
+ "version": "v3.1.8 Beta",
908
+ "title": "Dynamic Analyzer"
909
+ }</code>
910
+ </li>
911
+ </ul>
912
+ </li>
913
+ <li>
914
+ <p><strong>Error Response:</strong></p>
915
+ <ul>
916
+ <li>
917
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
918
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
919
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
920
+ </li>
921
+ </ul>
922
+ <p>OR</p>
923
+ <ul>
924
+ <li>
925
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
926
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
927
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
928
+ </li>
929
+ </ul>
930
+ </li>
931
+ <li>
932
+ <p><strong>Sample Call:</strong></p>
933
+ <ul>
934
+ <li>
935
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/dynamic/start_analysis --data "hash=3a552566097a8de588b8184b059b0158" -H "Authorization:{{ api_key}}"
936
+ </code></pre>
937
+ </li>
938
+ </ul>
939
+ </li>
940
+ </ul>
941
+
942
+ <hr />
943
+ <h2><a id="logcat-api"></a><strong>View Logcat API</strong></h2>
944
+ <p>API view Logcat logs.</p>
945
+ <ul>
946
+ <li>
947
+ <p><strong>URL:</strong> <code>/api/v1/android/logcat</code></p>
948
+ </li>
949
+ <li>
950
+ <p><strong>Method:</strong> <code>POST</code></p>
951
+ </li>
952
+ <li>
953
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
954
+ </li>
955
+ <li>
956
+ <p><strong>Data Params</strong></p>
957
+ </li>
958
+ </ul>
959
+ <table class="table table-striped table-bordered">
960
+ <thead>
961
+ <tr>
962
+ <th>Param Name</th>
963
+ <th>Param Value</th>
964
+ <th>Required</th>
965
+ </tr>
966
+ </thead>
967
+ <tbody>
968
+ <tr>
969
+ <td>package</td>
970
+ <td>package name of the app</td>
971
+ <td>Yes</td>
972
+ </tr>
973
+ </tbody>
974
+ </table>
975
+ <br />
976
+ <ul>
977
+ <li>
978
+ <p><strong>Success Response:</strong></p>
979
+ <ul>
980
+ <li>
981
+ <strong>Code:</strong> <code>200</code><br />
982
+ <strong>Content-Type:</strong> <code>text/event-stream</code> <br />
983
+ <strong>Content:</strong> <code>Logcat Stream Data</code>
984
+ </li>
985
+ </ul>
986
+ </li>
987
+ <li>
988
+ <p><strong>Error Response:</strong></p>
989
+ <ul>
990
+ <li>
991
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
992
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
993
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
994
+ </li>
995
+ </ul>
996
+ <p>OR</p>
997
+ <ul>
998
+ <li>
999
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
1000
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1001
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
1002
+ </li>
1003
+ </ul>
1004
+ </li>
1005
+ <li>
1006
+ <p><strong>Sample Call:</strong></p>
1007
+ <ul>
1008
+ <li>
1009
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/android/logcat --data "package=org.wikipedia" -H "Authorization:{{ api_key}}"
1010
+ </code></pre>
1011
+ </li>
1012
+ </ul>
1013
+ </li>
1014
+ </ul>
1015
+
1016
+ <hr />
1017
+ <h2><a id="mobsfy-api"></a><strong>MobSFy API</strong></h2>
1018
+ <p>API to MobSFY android runtime environment.</p>
1019
+ <ul>
1020
+ <li>
1021
+ <p><strong>URL:</strong> <code>/api/v1/android/mobsfy</code></p>
1022
+ </li>
1023
+ <li>
1024
+ <p><strong>Method:</strong> <code>POST</code></p>
1025
+ </li>
1026
+ <li>
1027
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
1028
+ </li>
1029
+ <li>
1030
+ <p><strong>Data Params</strong></p>
1031
+ </li>
1032
+ </ul>
1033
+ <table class="table table-striped table-bordered">
1034
+ <thead>
1035
+ <tr>
1036
+ <th>Param Name</th>
1037
+ <th>Param Value</th>
1038
+ <th>Required</th>
1039
+ </tr>
1040
+ </thead>
1041
+ <tbody>
1042
+ <tr>
1043
+ <td>identifier</td>
1044
+ <td>ADB identifier of Android VM/Emulator/Device</td>
1045
+ <td>Yes</td>
1046
+ </tr>
1047
+ </tbody>
1048
+ </table>
1049
+ <br />
1050
+ <ul>
1051
+ <li>
1052
+ <p><strong>Success Response:</strong></p>
1053
+ <ul>
1054
+ <li>
1055
+ <strong>Code:</strong> <code>200</code><br />
1056
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1057
+ <strong>Content:</strong> <code>{
1058
+ "status": "ok",
1059
+ "android_version": 8
1060
+ }</code>
1061
+ </li>
1062
+ </ul>
1063
+ </li>
1064
+ <li>
1065
+ <p><strong>Error Response:</strong></p>
1066
+ <ul>
1067
+ <li>
1068
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
1069
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1070
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
1071
+ </li>
1072
+ </ul>
1073
+ <p>OR</p>
1074
+ <ul>
1075
+ <li>
1076
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
1077
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1078
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
1079
+ </li>
1080
+ </ul>
1081
+ </li>
1082
+ <li>
1083
+ <p><strong>Sample Call:</strong></p>
1084
+ <ul>
1085
+ <li>
1086
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/android/mobsfy --data "identifier=192.168.56.139:5555" -H "Authorization:{{ api_key}}"
1087
+ </code></pre>
1088
+ </li>
1089
+ </ul>
1090
+ </li>
1091
+ </ul>
1092
+
1093
+ <hr />
1094
+ <h2><a id="adb-command-api"></a><strong>Execute ADB Commands API</strong></h2>
1095
+ <p>Execute ADB commands inside VM/Emulator/Device.</p>
1096
+ <ul>
1097
+ <li>
1098
+ <p><strong>URL:</strong> <code>/api/v1/android/adb_command</code></p>
1099
+ </li>
1100
+ <li>
1101
+ <p><strong>Method:</strong> <code>POST</code></p>
1102
+ </li>
1103
+ <li>
1104
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
1105
+ </li>
1106
+ <li>
1107
+ <p><strong>Data Params</strong></p>
1108
+ </li>
1109
+ </ul>
1110
+ <table class="table table-striped table-bordered">
1111
+ <thead>
1112
+ <tr>
1113
+ <th>Param Name</th>
1114
+ <th>Param Value</th>
1115
+ <th>Required</th>
1116
+ </tr>
1117
+ </thead>
1118
+ <tbody>
1119
+ <tr>
1120
+ <td>cmd</td>
1121
+ <td>non blocking adb commands</td>
1122
+ <td>Yes</td>
1123
+ </tr>
1124
+ </tbody>
1125
+ </table>
1126
+ <br />
1127
+ <ul>
1128
+ <li>
1129
+ <p><strong>Success Response:</strong></p>
1130
+ <ul>
1131
+ <li>
1132
+ <strong>Code:</strong> <code>200</code><br />
1133
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1134
+ <strong>Content:</strong> <code>{
1135
+ "status": "ok",
1136
+ "message": "acct\nbugreports\ncache\ncharger\nconfig\nadd\nadata\nadefault.prop\nadev\netc\nfstab.vbox86\ninit\ninit.environ.rc\ninit.rc\ninit.usb.configfs.rc\ninit.usb.rc\ninit.vbox86.rc\ninit.zygote32.rc\nmnt\nnonplat_file_contexts\nnonplat_hwservice_contexts\nnonplat_property_contexts\nnonplat_seapp_contexts\nnonplat_service_contexts\noem\nplat_file_contexts\nplat_hwservice_contexts\nplat_property_contexts\nplat_seapp_contexts\nplat_service_contexts\nproc\nrom.trace\nroot\nsbin\nsdcard\nsepolicy\nstorage\nsys\nsystem\ntmp\nueventd.rc\nueventd.vbox86.rc\nvar\nvendor\nvndservice_contexts\n"
1137
+ }</code>
1138
+ </li>
1139
+ </ul>
1140
+ </li>
1141
+ <li>
1142
+ <p><strong>Error Response:</strong></p>
1143
+ <ul>
1144
+ <li>
1145
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
1146
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1147
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
1148
+ </li>
1149
+ </ul>
1150
+ <p>OR</p>
1151
+ <ul>
1152
+ <li>
1153
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
1154
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1155
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
1156
+ </li>
1157
+ </ul>
1158
+ </li>
1159
+ <li>
1160
+ <p><strong>Sample Call:</strong></p>
1161
+ <ul>
1162
+ <li>
1163
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/android/adb_command --data "cmd=shell ls" -H "Authorization:{{ api_key}}"
1164
+ </code></pre>
1165
+ </li>
1166
+ </ul>
1167
+ </li>
1168
+ </ul>
1169
+
1170
+ <hr />
1171
+ <h2><a id="root-ca-api"></a><strong>Install or Remove Root CA API</strong></h2>
1172
+ <p>API to install or remove MobSF Root CA to or from the Android VM/Emulator/Device.</p>
1173
+ <ul>
1174
+ <li>
1175
+ <p><strong>URL:</strong> <code>/api/v1/android/root_ca</code></p>
1176
+ </li>
1177
+ <li>
1178
+ <p><strong>Method:</strong> <code>POST</code></p>
1179
+ </li>
1180
+ <li>
1181
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
1182
+ </li>
1183
+ <li>
1184
+ <p><strong>Data Params</strong></p>
1185
+ </li>
1186
+ </ul>
1187
+ <table class="table table-striped table-bordered">
1188
+ <thead>
1189
+ <tr>
1190
+ <th>Param Name</th>
1191
+ <th>Param Value</th>
1192
+ <th>Required</th>
1193
+ </tr>
1194
+ </thead>
1195
+ <tbody>
1196
+ <tr>
1197
+ <td>action</td>
1198
+ <td>install/remove</td>
1199
+ <td>Yes</td>
1200
+ </tr>
1201
+ </tbody>
1202
+ </table>
1203
+ <br />
1204
+ <ul>
1205
+ <li>
1206
+ <p><strong>Success Response:</strong></p>
1207
+ <ul>
1208
+ <li>
1209
+ <strong>Code:</strong> <code>200</code><br />
1210
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1211
+ <strong>Content:</strong> <code>{
1212
+ "status": "ok",
1213
+ "message": "installed"
1214
+ }</code>
1215
+ </li>
1216
+ </ul>
1217
+ </li>
1218
+ <li>
1219
+ <p><strong>Error Response:</strong></p>
1220
+ <ul>
1221
+ <li>
1222
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
1223
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1224
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
1225
+ </li>
1226
+ </ul>
1227
+ <p>OR</p>
1228
+ <ul>
1229
+ <li>
1230
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
1231
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1232
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
1233
+ </li>
1234
+ </ul>
1235
+ </li>
1236
+ <li>
1237
+ <p><strong>Sample Call:</strong></p>
1238
+ <ul>
1239
+ <li>
1240
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/android/root_ca --data "action=install" -H "Authorization:{{ api_key}}"
1241
+ </code></pre>
1242
+ </li>
1243
+ </ul>
1244
+ </li>
1245
+ </ul>
1246
+ <hr />
1247
+ <h2><a id="global-proxy-api"></a><strong>Set or Unset MobSF Global HTTP(S) Proxy API</strong></h2>
1248
+ <p>API to apply or remove global HTTP(S) proxy configuration to Android VM/Emulator/Device.</p>
1249
+ <ul>
1250
+ <li>
1251
+ <p><strong>URL:</strong> <code>/api/v1/android/global_proxy</code></p>
1252
+ </li>
1253
+ <li>
1254
+ <p><strong>Method:</strong> <code>POST</code></p>
1255
+ </li>
1256
+ <li>
1257
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
1258
+ </li>
1259
+ <li>
1260
+ <p><strong>Data Params</strong></p>
1261
+ </li>
1262
+ </ul>
1263
+ <table class="table table-striped table-bordered">
1264
+ <thead>
1265
+ <tr>
1266
+ <th>Param Name</th>
1267
+ <th>Param Value</th>
1268
+ <th>Required</th>
1269
+ </tr>
1270
+ </thead>
1271
+ <tbody>
1272
+ <tr>
1273
+ <td>action</td>
1274
+ <td>set/unset</td>
1275
+ <td>Yes</td>
1276
+ </tr>
1277
+ </tbody>
1278
+ </table>
1279
+ <br />
1280
+ <ul>
1281
+ <li>
1282
+ <p><strong>Success Response:</strong></p>
1283
+ <ul>
1284
+ <li>
1285
+ <strong>Code:</strong> <code>200</code><br />
1286
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1287
+ <strong>Content:</strong> <code>{
1288
+ "status": "ok",
1289
+ "message": "set"
1290
+ }</code>
1291
+ </li>
1292
+ </ul>
1293
+ </li>
1294
+ <li>
1295
+ <p><strong>Error Response:</strong></p>
1296
+ <ul>
1297
+ <li>
1298
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
1299
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1300
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
1301
+ </li>
1302
+ </ul>
1303
+ <p>OR</p>
1304
+ <ul>
1305
+ <li>
1306
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
1307
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1308
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
1309
+ </li>
1310
+ </ul>
1311
+ </li>
1312
+ <li>
1313
+ <p><strong>Sample Call:</strong></p>
1314
+ <ul>
1315
+ <li>
1316
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/android/global_proxy --data "action=set" -H "Authorization:{{ api_key}}"
1317
+ </code></pre>
1318
+ </li>
1319
+ </ul>
1320
+ </li>
1321
+ </ul>
1322
+
1323
+ <hr />
1324
+ <h2><a id="activity-api"></a><strong>Activity or Exported Activity Tester API</strong></h2>
1325
+ <p>API to run Activity or Exported Activity Tester.</p>
1326
+ <ul>
1327
+ <li>
1328
+ <p><strong>URL:</strong> <code>/api/v1/android/activity</code></p>
1329
+ </li>
1330
+ <li>
1331
+ <p><strong>Method:</strong> <code>POST</code></p>
1332
+ </li>
1333
+ <li>
1334
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
1335
+ </li>
1336
+ <li>
1337
+ <p><strong>Data Params</strong></p>
1338
+ </li>
1339
+ </ul>
1340
+ <table class="table table-striped table-bordered">
1341
+ <thead>
1342
+ <tr>
1343
+ <th>Param Name</th>
1344
+ <th>Param Value</th>
1345
+ <th>Required</th>
1346
+ </tr>
1347
+ </thead>
1348
+ <tbody>
1349
+ <tr>
1350
+ <td>hash</td>
1351
+ <td>hash of the scan</td>
1352
+ <td>Yes</td>
1353
+ </tr>
1354
+ <tr>
1355
+ <td>test</td>
1356
+ <td>exported/activity</td>
1357
+ <td>Yes</td>
1358
+ </tr>
1359
+ </tbody>
1360
+ </table>
1361
+ <br />
1362
+ <ul>
1363
+ <li>
1364
+ <p><strong>Success Response:</strong></p>
1365
+ <ul>
1366
+ <li>
1367
+ <strong>Code:</strong> <code>200</code><br />
1368
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1369
+ <strong>Content:</strong> <code>{
1370
+ "status": "ok"
1371
+ }</code>
1372
+ </li>
1373
+ </ul>
1374
+ </li>
1375
+ <li>
1376
+ <p><strong>Error Response:</strong></p>
1377
+ <ul>
1378
+ <li>
1379
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
1380
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1381
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
1382
+ </li>
1383
+ </ul>
1384
+ <p>OR</p>
1385
+ <ul>
1386
+ <li>
1387
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
1388
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1389
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
1390
+ </li>
1391
+ </ul>
1392
+ </li>
1393
+ <li>
1394
+ <p><strong>Sample Call:</strong></p>
1395
+ <ul>
1396
+ <li>
1397
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/android/activity --data "hash=6825bb9fde2fc671322df005976755a1&amp;test=exported" -H "Authorization:{{ api_key}}"
1398
+ </code></pre>
1399
+ </li>
1400
+ </ul>
1401
+ </li>
1402
+ </ul>
1403
+
1404
+ <hr />
1405
+ <h2><a id="tls-tester-api"></a><strong>TLS/SSL Security Tester API</strong></h2>
1406
+ <p>API to run TLS/SSL Security Tester.</p>
1407
+ <ul>
1408
+ <li>
1409
+ <p><strong>URL:</strong> <code>/api/v1/android/tls_tests</code></p>
1410
+ </li>
1411
+ <li>
1412
+ <p><strong>Method:</strong> <code>POST</code></p>
1413
+ </li>
1414
+ <li>
1415
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
1416
+ </li>
1417
+ <li>
1418
+ <p><strong>Data Params</strong></p>
1419
+ </li>
1420
+ </ul>
1421
+ <table class="table table-striped table-bordered">
1422
+ <thead>
1423
+ <tr>
1424
+ <th>Param Name</th>
1425
+ <th>Param Value</th>
1426
+ <th>Required</th>
1427
+ </tr>
1428
+ </thead>
1429
+ <tbody>
1430
+ <tr>
1431
+ <td>hash</td>
1432
+ <td>hash of the scan</td>
1433
+ <td>Yes</td>
1434
+ </tr>
1435
+ </tbody>
1436
+ </table>
1437
+ <br />
1438
+ <ul>
1439
+ <li>
1440
+ <p><strong>Success Response:</strong></p>
1441
+ <ul>
1442
+ <li>
1443
+ <strong>Code:</strong> <code>200</code><br />
1444
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1445
+ <strong>Content:</strong> <code>{"status": "ok", "tls_tests": {"tls_misconfigured": false, "no_tls_pin_or_transparency": false, "pin_or_transparency_bypassed": false, "has_cleartext": false}}</code>
1446
+ </li>
1447
+ </ul>
1448
+ </li>
1449
+ <li>
1450
+ <p><strong>Error Response:</strong></p>
1451
+ <ul>
1452
+ <li>
1453
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
1454
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1455
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
1456
+ </li>
1457
+ </ul>
1458
+ <p>OR</p>
1459
+ <ul>
1460
+ <li>
1461
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
1462
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1463
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
1464
+ </li>
1465
+ </ul>
1466
+ </li>
1467
+ <li>
1468
+ <p><strong>Sample Call:</strong></p>
1469
+ <ul>
1470
+ <li>
1471
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/android/tls_tests --data "hash=6825bb9fde2fc671322df005976755a1" -H "Authorization:{{ api_key}}"
1472
+ </code></pre>
1473
+ </li>
1474
+ </ul>
1475
+ </li>
1476
+ </ul>
1477
+
1478
+ <hr />
1479
+ <h2><a id="frida-instrument-api"></a><strong>Frida Instrument App API</strong></h2>
1480
+ <p>API to start Frida Instrumentation.</p>
1481
+ <ul>
1482
+ <li>
1483
+ <p><strong>URL:</strong> <code>/api/v1/frida/instrument</code></p>
1484
+ </li>
1485
+ <li>
1486
+ <p><strong>Method:</strong> <code>POST</code></p>
1487
+ </li>
1488
+ <li>
1489
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
1490
+ </li>
1491
+ <li>
1492
+ <p><strong>Data Params</strong></p>
1493
+ </li>
1494
+ </ul>
1495
+ <table class="table table-striped table-bordered">
1496
+ <thead>
1497
+ <tr>
1498
+ <th>Param Name</th>
1499
+ <th>Param Value</th>
1500
+ <th>Required</th>
1501
+ </tr>
1502
+ </thead>
1503
+ <tbody>
1504
+ <tr>
1505
+ <td>hash</td>
1506
+ <td>hash of the scan</td>
1507
+ <td>Yes</td>
1508
+ </tr>
1509
+ <tr>
1510
+ <td>default_hooks</td>
1511
+ <td>comma separated default hooks to load.</td>
1512
+ <td>Yes</td>
1513
+ </tr>
1514
+ <tr>
1515
+ <td>auxiliary_hooks</td>
1516
+ <td>comma separated auxiliary hooks to load.</td>
1517
+ <td>Yes</td>
1518
+ </tr>
1519
+ <tr>
1520
+ <td>frida_code</td>
1521
+ <td>user defined frida code to load.</td>
1522
+ <td>Yes</td>
1523
+ </tr>
1524
+ <tr>
1525
+ <td>class_name</td>
1526
+ <td>class name to perform method enumeration when `enum_methods` auxiliary_hook is specified.</td>
1527
+ <td>No</td>
1528
+ </tr>
1529
+ <tr>
1530
+ <td>class_search</td>
1531
+ <td>pattern to search when `search_class` auxiliary_hook is specified.</td>
1532
+ <td>No</td>
1533
+ </tr>
1534
+ <tr>
1535
+ <td>class_trace</td>
1536
+ <td>class name to trace when `trace_class` auxiliary_hook is specified.</td>
1537
+ <td>No</td>
1538
+ </tr>
1539
+ </tbody>
1540
+ </table>
1541
+ <br />
1542
+ <ul>
1543
+ <li>
1544
+ <p><strong>Success Response:</strong></p>
1545
+ <ul>
1546
+ <li>
1547
+ <strong>Code:</strong> <code>200</code><br />
1548
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1549
+ <strong>Content:</strong> <code>{
1550
+ "status": "ok"
1551
+ }</code>
1552
+ </li>
1553
+ </ul>
1554
+ </li>
1555
+ <li>
1556
+ <p><strong>Error Response:</strong></p>
1557
+ <ul>
1558
+ <li>
1559
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
1560
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1561
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
1562
+ </li>
1563
+ </ul>
1564
+ <p>OR</p>
1565
+ <ul>
1566
+ <li>
1567
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
1568
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1569
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
1570
+ </li>
1571
+ </ul>
1572
+ </li>
1573
+ <li>
1574
+ <p><strong>Sample Call:</strong></p>
1575
+ <ul>
1576
+ <li>
1577
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/frida/instrument --data "hash=6825bb9fde2fc671322df005976755a1&amp;default_hooks=api_monitor,ssl_pinning_bypass,root_bypass,debugger_check_bypass&amp;auxiliary_hooks=&amp;frida_code=" -H "Authorization:{{ api_key}}"
1578
+ </code></pre>
1579
+ </li>
1580
+ </ul>
1581
+ <p>OR</p>
1582
+ <ul>
1583
+ <li>
1584
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/frida/instrument --data "hash=6825bb9fde2fc671322df005976755a1&amp;default_hooks=api_monitor,ssl_pinning_bypass,root_bypass,debugger_check_bypass&amp;auxiliary_hooks=enum_class,string_catch,string_compare,enum_methods,search_class,trace_class&amp;class_name=java.io.File&amp;class_search=ssl&amp;class_trace=javax.net.ssl.TrustManager&amp;frida_code=Java.perform(function()+%7B%0A++%2F%2F+Use+send()+for+logging%0A%7D)%3B" -H "Authorization:{{ api_key}}"
1585
+ </code></pre>
1586
+ </li>
1587
+ </ul>
1588
+ </li>
1589
+ </ul>
1590
+
1591
+ <hr />
1592
+ <h2><a id="frida-api-monitor-api"></a><strong>Frida API Monitor API</strong></h2>
1593
+ <p>API to view Frida API monitor output.</p>
1594
+ <ul>
1595
+ <li>
1596
+ <p><strong>URL:</strong> <code>/api/v1/frida/api_monitor</code></p>
1597
+ </li>
1598
+ <li>
1599
+ <p><strong>Method:</strong> <code>POST</code></p>
1600
+ </li>
1601
+ <li>
1602
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
1603
+ </li>
1604
+ <li>
1605
+ <p><strong>Data Params</strong></p>
1606
+ </li>
1607
+ </ul>
1608
+ <table class="table table-striped table-bordered">
1609
+ <thead>
1610
+ <tr>
1611
+ <th>Param Name</th>
1612
+ <th>Param Value</th>
1613
+ <th>Required</th>
1614
+ </tr>
1615
+ </thead>
1616
+ <tbody>
1617
+ <tr>
1618
+ <td>hash</td>
1619
+ <td>hash of the scan</td>
1620
+ <td>Yes</td>
1621
+ </tr>
1622
+ </tbody>
1623
+ </table>
1624
+ <br />
1625
+ <ul>
1626
+ <li>
1627
+ <p><strong>Success Response:</strong></p>
1628
+ <ul>
1629
+ <li>
1630
+ <strong>Code:</strong> <code>200</code><br />
1631
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1632
+ <strong>Content:</strong> <code>JSON Contents</code>
1633
+ </li>
1634
+ </ul>
1635
+ </li>
1636
+ <li>
1637
+ <p><strong>Error Response:</strong></p>
1638
+ <ul>
1639
+ <li>
1640
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
1641
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1642
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
1643
+ </li>
1644
+ </ul>
1645
+ <p>OR</p>
1646
+ <ul>
1647
+ <li>
1648
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
1649
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1650
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
1651
+ </li>
1652
+ </ul>
1653
+ </li>
1654
+ <li>
1655
+ <p><strong>Sample Call:</strong></p>
1656
+ <ul>
1657
+ <li>
1658
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/frida/api_monitor --data "hash=6825bb9fde2fc671322df005976755a1" -H "Authorization:{{ api_key}}"
1659
+ </code></pre>
1660
+ </li>
1661
+ </ul>
1662
+ </li>
1663
+ </ul>
1664
+
1665
+ <hr />
1666
+ <h2><a id="frida-get-dependencies-api"></a><strong>Frida Get Runtime Dependencies API</strong></h2>
1667
+ <p>API to collect runtime dependencies.</p>
1668
+ <ul>
1669
+ <li>
1670
+ <p><strong>URL:</strong> <code>/api/v1/frida/get_dependencies</code></p>
1671
+ </li>
1672
+ <li>
1673
+ <p><strong>Method:</strong> <code>POST</code></p>
1674
+ </li>
1675
+ <li>
1676
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
1677
+ </li>
1678
+ <li>
1679
+ <p><strong>Data Params</strong></p>
1680
+ </li>
1681
+ </ul>
1682
+ <table class="table table-striped table-bordered">
1683
+ <thead>
1684
+ <tr>
1685
+ <th>Param Name</th>
1686
+ <th>Param Value</th>
1687
+ <th>Required</th>
1688
+ </tr>
1689
+ </thead>
1690
+ <tbody>
1691
+ <tr>
1692
+ <td>hash</td>
1693
+ <td>hash of the scan</td>
1694
+ <td>Yes</td>
1695
+ </tr>
1696
+ </tbody>
1697
+ </table>
1698
+ <br />
1699
+ <ul>
1700
+ <li>
1701
+ <p><strong>Success Response:</strong></p>
1702
+ <ul>
1703
+ <li>
1704
+ <strong>Code:</strong> <code>200</code><br />
1705
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1706
+ <strong>Content:</strong> <code>{"status": "ok"}</code>
1707
+ </li>
1708
+ </ul>
1709
+ </li>
1710
+ <li>
1711
+ <p><strong>Error Response:</strong></p>
1712
+ <ul>
1713
+ <li>
1714
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
1715
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1716
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
1717
+ </li>
1718
+ </ul>
1719
+ <p>OR</p>
1720
+ <ul>
1721
+ <li>
1722
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
1723
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1724
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
1725
+ </li>
1726
+ </ul>
1727
+ </li>
1728
+ <li>
1729
+ <p><strong>Sample Call:</strong></p>
1730
+ <ul>
1731
+ <li>
1732
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/frida/get_dependencies --data "hash=6825bb9fde2fc671322df005976755a1" -H "Authorization:{{ api_key}}"
1733
+ </code></pre>
1734
+ </li>
1735
+ </ul>
1736
+ </li>
1737
+ </ul>
1738
+
1739
+ <hr />
1740
+ <h2><a id="frida-logs-api"></a><strong>Frida View Logs API</strong></h2>
1741
+ <p>API to view Frida log output.</p>
1742
+ <ul>
1743
+ <li>
1744
+ <p><strong>URL:</strong> <code>/api/v1/frida/logs</code></p>
1745
+ </li>
1746
+ <li>
1747
+ <p><strong>Method:</strong> <code>POST</code></p>
1748
+ </li>
1749
+ <li>
1750
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
1751
+ </li>
1752
+ <li>
1753
+ <p><strong>Data Params</strong></p>
1754
+ </li>
1755
+ </ul>
1756
+ <table class="table table-striped table-bordered">
1757
+ <thead>
1758
+ <tr>
1759
+ <th>Param Name</th>
1760
+ <th>Param Value</th>
1761
+ <th>Required</th>
1762
+ </tr>
1763
+ </thead>
1764
+ <tbody>
1765
+ <tr>
1766
+ <td>hash</td>
1767
+ <td>hash of the scan</td>
1768
+ <td>Yes</td>
1769
+ </tr>
1770
+ </tbody>
1771
+ </table>
1772
+ <br />
1773
+ <ul>
1774
+ <li>
1775
+ <p><strong>Success Response:</strong></p>
1776
+ <ul>
1777
+ <li>
1778
+ <strong>Code:</strong> <code>200</code><br />
1779
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1780
+ <strong>Content:</strong> <code>JSON Contents</code>
1781
+ </li>
1782
+ </ul>
1783
+ </li>
1784
+ <li>
1785
+ <p><strong>Error Response:</strong></p>
1786
+ <ul>
1787
+ <li>
1788
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
1789
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1790
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
1791
+ </li>
1792
+ </ul>
1793
+ <p>OR</p>
1794
+ <ul>
1795
+ <li>
1796
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
1797
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1798
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
1799
+ </li>
1800
+ </ul>
1801
+ </li>
1802
+ <li>
1803
+ <p><strong>Sample Call:</strong></p>
1804
+ <ul>
1805
+ <li>
1806
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/frida/logs --data "hash=6825bb9fde2fc671322df005976755a1" -H "Authorization:{{ api_key}}"
1807
+ </code></pre>
1808
+ </li>
1809
+ </ul>
1810
+ </li>
1811
+ </ul>
1812
+
1813
+ <hr />
1814
+ <h2><a id="frida-list-scripts-api"></a><strong>Frida List Scripts API</strong></h2>
1815
+ <p>API to list available frida scripts.</p>
1816
+ <ul>
1817
+ <li>
1818
+ <p><strong>URL:</strong> <code>/api/v1/frida/list_scripts</code></p>
1819
+ </li>
1820
+ <li>
1821
+ <p><strong>Method:</strong> <code>GET</code></p>
1822
+ </li>
1823
+ <li>
1824
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
1825
+ </li>
1826
+ </ul>
1827
+ <br />
1828
+ <ul>
1829
+ <li>
1830
+ <p><strong>Success Response:</strong></p>
1831
+ <ul>
1832
+ <li>
1833
+ <strong>Code:</strong> <code>200</code><br />
1834
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1835
+ <strong>Content:</strong> <code>{
1836
+ "status": "ok",
1837
+ "files": [
1838
+ "hook_java_reflection",
1839
+ "jni_hook_by_address",
1840
+ "bypass_flag_secure",
1841
+ "file_trace",
1842
+ "hook_constructor",
1843
+ "jni_trace",
1844
+ "default",
1845
+ "get_android_id",
1846
+ "aes_key",
1847
+ "inputstream_dump",
1848
+ "helper"
1849
+ ]
1850
+ }</code>
1851
+ </li>
1852
+ </ul>
1853
+ </li>
1854
+ <li>
1855
+ <p><strong>Error Response:</strong></p>
1856
+ <ul>
1857
+ <li>
1858
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
1859
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1860
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
1861
+ </li>
1862
+ </ul>
1863
+ <p>OR</p>
1864
+ <ul>
1865
+ <li>
1866
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
1867
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1868
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
1869
+ </li>
1870
+ </ul>
1871
+ </li>
1872
+ <li>
1873
+ <p><strong>Sample Call:</strong></p>
1874
+ <ul>
1875
+ <li>
1876
+ <pre><code>curl --url http://localhost:8000/api/v1/frida/list_scripts -H "Authorization:{{ api_key}}"
1877
+ </code></pre>
1878
+ </li>
1879
+ </ul>
1880
+ </li>
1881
+ </ul>
1882
+
1883
+
1884
+ <hr />
1885
+ <h2><a id="frida-get-script-api"></a><strong>Frida Get Script API</strong></h2>
1886
+ <p>API to generate frida script based on selection.</p>
1887
+ <ul>
1888
+ <li>
1889
+ <p><strong>URL:</strong> <code>/api/v1/frida/get_script</code></p>
1890
+ </li>
1891
+ <li>
1892
+ <p><strong>Method:</strong> <code>POST</code></p>
1893
+ </li>
1894
+ <li>
1895
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
1896
+ </li>
1897
+ <li>
1898
+ <p><strong>Data Params</strong></p>
1899
+ </li>
1900
+ </ul>
1901
+ <table class="table table-striped table-bordered">
1902
+ <thead>
1903
+ <tr>
1904
+ <th>Param Name</th>
1905
+ <th>Param Value</th>
1906
+ <th>Required</th>
1907
+ </tr>
1908
+ </thead>
1909
+ <tbody>
1910
+ <tr>
1911
+ <td>scripts[]</td>
1912
+ <td>name of the script from the output of Frida List Scripts (/api/v1/frida/list_scripts) API.</td>
1913
+ <td>Yes</td>
1914
+ </tr>
1915
+ </tbody>
1916
+ </table>
1917
+ <br />
1918
+ <ul>
1919
+ <li>
1920
+ <p><strong>Success Response:</strong></p>
1921
+ <ul>
1922
+ <li>
1923
+ <strong>Code:</strong> <code>200</code><br />
1924
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1925
+ <strong>Content:</strong> <code>JSON Contents</code>
1926
+ </li>
1927
+ </ul>
1928
+ </li>
1929
+ <li>
1930
+ <p><strong>Error Response:</strong></p>
1931
+ <ul>
1932
+ <li>
1933
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
1934
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1935
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
1936
+ </li>
1937
+ </ul>
1938
+ <p>OR</p>
1939
+ <ul>
1940
+ <li>
1941
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
1942
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1943
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
1944
+ </li>
1945
+ </ul>
1946
+ </li>
1947
+ <li>
1948
+ <p><strong>Sample Call:</strong></p>
1949
+ <ul>
1950
+ <li>
1951
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/frida/get_script --data "scripts[]=hook_java_reflection&amp;scripts[]=jni_hook_by_address&amp;scripts[]=default&amp;scripts[]=get_android_id" -H "Authorization:{{ api_key}}"
1952
+ </code></pre>
1953
+ </li>
1954
+ </ul>
1955
+ </li>
1956
+ </ul>
1957
+
1958
+ <hr />
1959
+ <h2><a id="stop-analysis-api"></a><strong>Stop Dynamic Analysis API</strong></h2>
1960
+ <p>Stop MobSF Dynamic Analyzer. This API must be called to stop dynamic analysis and prior to report generation.</p>
1961
+ <ul>
1962
+ <li>
1963
+ <p><strong>URL:</strong> <code>/api/v1/dynamic/stop_analysis</code></p>
1964
+ </li>
1965
+ <li>
1966
+ <p><strong>Method:</strong> <code>POST</code></p>
1967
+ </li>
1968
+ <li>
1969
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
1970
+ </li>
1971
+ <li>
1972
+ <p><strong>Data Params</strong></p>
1973
+ </li>
1974
+ </ul>
1975
+ <table class="table table-striped table-bordered">
1976
+ <thead>
1977
+ <tr>
1978
+ <th>Param Name</th>
1979
+ <th>Param Value</th>
1980
+ <th>Required</th>
1981
+ </tr>
1982
+ </thead>
1983
+ <tbody>
1984
+ <tr>
1985
+ <td>hash</td>
1986
+ <td>hash of the scan</td>
1987
+ <td>Yes</td>
1988
+ </tr>
1989
+ </tbody>
1990
+ </table>
1991
+ <br />
1992
+ <ul>
1993
+ <li>
1994
+ <p><strong>Success Response:</strong></p>
1995
+ <ul>
1996
+ <li>
1997
+ <strong>Code:</strong> <code>200</code><br />
1998
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
1999
+ <strong>Content:</strong> <code>{
2000
+ "status": "ok"
2001
+ }</code>
2002
+ </li>
2003
+ </ul>
2004
+ </li>
2005
+ <li>
2006
+ <p><strong>Error Response:</strong></p>
2007
+ <ul>
2008
+ <li>
2009
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
2010
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
2011
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
2012
+ </li>
2013
+ </ul>
2014
+ <p>OR</p>
2015
+ <ul>
2016
+ <li>
2017
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
2018
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
2019
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
2020
+ </li>
2021
+ </ul>
2022
+ </li>
2023
+ <li>
2024
+ <p><strong>Sample Call:</strong></p>
2025
+ <ul>
2026
+ <li>
2027
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/dynamic/stop_analysis --data "hash=6825bb9fde2fc671322df005976755a1" -H "Authorization:{{ api_key}}"
2028
+ </code></pre>
2029
+ </li>
2030
+ </ul>
2031
+ </li>
2032
+ </ul>
2033
+
2034
+ <hr />
2035
+ <h2><a id="dynamic-report-json-api"></a><strong>Dynamic Analysis JSON Report API</strong></h2>
2036
+ <p>Generate JSON Report of Dynamic Analysis. Stop Dynamic Analysis (/api/v1/dynamic/stop_analysis) API must be called before calling this API.</p>
2037
+ <ul>
2038
+ <li>
2039
+ <p><strong>URL:</strong> <code>/api/v1/dynamic/report_json</code></p>
2040
+ </li>
2041
+ <li>
2042
+ <p><strong>Method:</strong> <code>POST</code></p>
2043
+ </li>
2044
+ <li>
2045
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
2046
+ </li>
2047
+ <li>
2048
+ <p><strong>Data Params</strong></p>
2049
+ </li>
2050
+ </ul>
2051
+ <table class="table table-striped table-bordered">
2052
+ <thead>
2053
+ <tr>
2054
+ <th>Param Name</th>
2055
+ <th>Param Value</th>
2056
+ <th>Required</th>
2057
+ </tr>
2058
+ </thead>
2059
+ <tbody>
2060
+ <tr>
2061
+ <td>hash</td>
2062
+ <td>hash of the scan</td>
2063
+ <td>Yes</td>
2064
+ </tr>
2065
+ </tbody>
2066
+ </table>
2067
+ <br />
2068
+ <ul>
2069
+ <li>
2070
+ <p><strong>Success Response:</strong></p>
2071
+ <ul>
2072
+ <li>
2073
+ <strong>Code:</strong> <code>200</code><br />
2074
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
2075
+ <strong>Content:</strong> <code>JSON Contents</code>
2076
+ </li>
2077
+ </ul>
2078
+ </li>
2079
+ <li>
2080
+ <p><strong>Error Response:</strong></p>
2081
+ <ul>
2082
+ <li>
2083
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
2084
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
2085
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
2086
+ </li>
2087
+ </ul>
2088
+ <p>OR</p>
2089
+ <ul>
2090
+ <li>
2091
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
2092
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
2093
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
2094
+ </li>
2095
+ </ul>
2096
+ </li>
2097
+ <li>
2098
+ <p><strong>Sample Call:</strong></p>
2099
+ <ul>
2100
+ <li>
2101
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/dynamic/report_json --data "hash=6825bb9fde2fc671322df005976755a1" -H "Authorization:{{ api_key}}"
2102
+ </code></pre>
2103
+ </li>
2104
+ </ul>
2105
+ </li>
2106
+ </ul>
2107
+
2108
+
2109
+ <hr />
2110
+ <h2><a id="dynamic-view-source-api"></a><strong>Dynamic Analysis View Source API</strong></h2>
2111
+ <p>API to view source of files dumped from device after dynamic analysis. Stop Dynamic Analysis (/api/v1/dynamic/stop_analysis) API must be called before calling this API.</p>
2112
+ <ul>
2113
+ <li>
2114
+ <p><strong>URL:</strong> <code>/api/v1/dynamic/view_source</code></p>
2115
+ </li>
2116
+ <li>
2117
+ <p><strong>Method:</strong> <code>POST</code></p>
2118
+ </li>
2119
+ <li>
2120
+ <p><strong>Header:</strong> <code>Authorization:&lt;api_key&gt;</code> <strong>Or</strong> <code>X-Mobsf-Api-Key:&lt;api_key&gt;</code></p>
2121
+ </li>
2122
+ <li>
2123
+ <p><strong>Data Params</strong></p>
2124
+ </li>
2125
+ </ul>
2126
+ <table class="table table-striped table-bordered">
2127
+ <thead>
2128
+ <tr>
2129
+ <th>Param Name</th>
2130
+ <th>Param Value</th>
2131
+ <th>Required</th>
2132
+ </tr>
2133
+ </thead>
2134
+ <tbody>
2135
+ <tr>
2136
+ <td>file</td>
2137
+ <td>relative path of the file</td>
2138
+ <td>Yes</td>
2139
+ </tr>
2140
+ <tr>
2141
+ <td>type</td>
2142
+ <td>xml/db/others</td>
2143
+ <td>Yes</td>
2144
+ </tr>
2145
+ <tr>
2146
+ <td>hash</td>
2147
+ <td>hash of the scan</td>
2148
+ <td>Yes</td>
2149
+ </tr>
2150
+ </tbody>
2151
+ </table>
2152
+ <br />
2153
+ <ul>
2154
+ <li>
2155
+ <p><strong>Success Response:</strong></p>
2156
+ <ul>
2157
+ <li>
2158
+ <strong>Code:</strong> <code>200</code><br />
2159
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
2160
+ <strong>Content:</strong> <code>JSON Contents</code>
2161
+ </li>
2162
+ </ul>
2163
+ </li>
2164
+ <li>
2165
+ <p><strong>Error Response:</strong></p>
2166
+ <ul>
2167
+ <li>
2168
+ <strong>Code:</strong> <code>500 Internal Server Error</code> or <code>405 Method Not Allowed</code> or <code>422 Unprocessable Entity</code> <br />
2169
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
2170
+ <strong>Content:</strong> <code>{&quot;error&quot;: &lt;error message&gt; }</code>
2171
+ </li>
2172
+ </ul>
2173
+ <p>OR</p>
2174
+ <ul>
2175
+ <li>
2176
+ <strong>Code:</strong> <code>401 Unauthorized</code> <br />
2177
+ <strong>Content-Type:</strong> <code>application/json; charset=utf-8</code> <br />
2178
+ <strong>Content:</strong> <code>{&quot;error&quot;: &quot;You are unauthorized to make this request.&quot; }</code>
2179
+ </li>
2180
+ </ul>
2181
+ </li>
2182
+ <li>
2183
+ <p><strong>Sample Call:</strong></p>
2184
+ <ul>
2185
+ <li>
2186
+ <pre><code>curl -X POST --url http://localhost:8000/api/v1/dynamic/view_source --data "file=data/data/org.wikipedia/shared_prefs/org.wikipedia_preferences.xml&amp;hash=6825bb9fde2fc671322df005976755a1&amp;type=xml" -H "Authorization:{{ api_key}}"
2187
+ </code></pre>
2188
+ </li>
2189
+ </ul>
2190
+ </li>
2191
+ </ul>
2192
+
2193
+
2194
+ <!-- end API Docs-->
2195
+ </div>
2196
+ </div>
2197
+ </div>
2198
+ </div>
2199
+ </div>
2200
+ </div>
2201
+ {% endblock %}