mobsf 4.3.2__tar.gz → 4.4.2__tar.gz

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.
Files changed (481) hide show
  1. {mobsf-4.3.2 → mobsf-4.4.2}/PKG-INFO +9 -11
  2. {mobsf-4.3.2 → mobsf-4.4.2}/README.md +1 -1
  3. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/default/debugger_check_bypass.js +19 -15
  4. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/default/root_bypass.js +40 -30
  5. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/default/ssl_pinning_bypass.js +180 -40
  6. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-convert.js +15 -2
  7. mobsf-4.4.2/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-jni-hook-by-address.js +48 -0
  8. mobsf-4.4.2/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-trace-jni.js +51 -0
  9. mobsf-4.4.2/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/hook-logging.js +120 -0
  10. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/stop-app-terminate.js +27 -15
  11. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/trace-file.js +43 -44
  12. mobsf-4.4.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/find-app-classes-methods.js +54 -0
  13. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/find-app-classes.js +9 -7
  14. mobsf-4.4.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/find-specific-method.js +55 -0
  15. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/get-methods.js +10 -8
  16. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/search-class-pattern.js +24 -22
  17. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/default/jailbreak_bypass.js +8 -5
  18. mobsf-4.4.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/crypto.js +167 -0
  19. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/data-dir.js +2 -2
  20. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/keychain.js +13 -6
  21. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/nslog.js +19 -20
  22. mobsf-4.4.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/sqlite.js +26 -0
  23. mobsf-4.4.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-ios10.js +23 -0
  24. mobsf-4.4.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-ios11.js +24 -0
  25. mobsf-4.4.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-ios12.js +58 -0
  26. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-ios13.js +6 -3
  27. mobsf-4.4.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-replace-exported-method.js +40 -0
  28. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/ui-enable-webinspector.js +5 -4
  29. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/ui-view-trace.js +1 -1
  30. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/android/frida_core.py +21 -1
  31. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/android/tests_frida.py +1 -1
  32. mobsf-4.4.2/mobsf/DynamicAnalyzer/views/common/__init__.py +1 -0
  33. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/common/device.py +1 -2
  34. mobsf-4.4.2/mobsf/DynamicAnalyzer/views/common/frida/__init__.py +11 -0
  35. mobsf-4.4.2/mobsf/DynamicAnalyzer/views/common/frida/bridge_loader.py +122 -0
  36. mobsf-4.3.2/mobsf/DynamicAnalyzer/views/common/frida.py → mobsf-4.4.2/mobsf/DynamicAnalyzer/views/common/frida/views.py +15 -27
  37. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/ios/frida_core.py +21 -2
  38. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/ios/tests_frida.py +1 -1
  39. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/forms.py +1 -1
  40. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/init.py +6 -6
  41. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/security.py +38 -2
  42. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/settings.py +7 -2
  43. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/tools_download.py +70 -2
  44. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/urls.py +5 -7
  45. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/utils.py +37 -6
  46. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/views/api/api_android_dynamic_analysis.py +4 -6
  47. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/views/home.py +24 -7
  48. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/forms.py +6 -4
  49. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/apk.py +2 -2
  50. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/icon_analysis.py +0 -1
  51. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/kb/android_manifest_desc.py +2 -2
  52. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/kb/dvm_permissions.py +16 -0
  53. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/playstore.py +13 -0
  54. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/views/view_source.py +1 -1
  55. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/xapk.py +3 -3
  56. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/common/shared_func.py +38 -2
  57. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/binary_analysis.py +14 -11
  58. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/views/view_source.py +1 -1
  59. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/signatures/exodus_trackers +1 -1
  60. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/signatures/maltrail-malware-domains.txt +136540 -2587
  61. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/dynamic_analysis/android/dynamic_analyzer.html +42 -28
  62. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/dynamic_analysis/ios/dynamic_analyzer.html +19 -4
  63. {mobsf-4.3.2 → mobsf-4.4.2}/pyproject.toml +9 -9
  64. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-jni-hook-by-address.js +0 -28
  65. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-trace-jni.js +0 -42
  66. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/hook-logging.js +0 -85
  67. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/find-app-classes-methods.js +0 -52
  68. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/find-specific-method.js +0 -53
  69. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/crypto.js +0 -282
  70. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/sqlite.js +0 -23
  71. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-ios10.js +0 -18
  72. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-ios11.js +0 -19
  73. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-ios12.js +0 -51
  74. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-replace-exported-method.js +0 -24
  75. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSE +0 -0
  76. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/AdminLTE_theme.txt +0 -0
  77. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/AntiEmulator.txt +0 -0
  78. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/FSecureLabs_frida_scripts.txt +0 -0
  79. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/IP2LOCATION LITE DATA.txt +0 -0
  80. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/Rootcloak.txt +0 -0
  81. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/ac-pm_tools.txt +0 -0
  82. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/androguard.txt +0 -0
  83. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/apkinspector.txt +0 -0
  84. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/apksigner.txt +0 -0
  85. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/backsmali.txt +0 -0
  86. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/class-dump-z.txt +0 -0
  87. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/droidmon.txt +0 -0
  88. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/exodus-core.txt +0 -0
  89. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/frida.txt +0 -0
  90. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/ios_binary_analysis_rules.txt +0 -0
  91. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/jadx.txt +0 -0
  92. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/maltrail_blacklist.txt +0 -0
  93. {mobsf-4.3.2 → mobsf-4.4.2}/LICENSES/vd2svg.txt +0 -0
  94. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/__init__.py +0 -0
  95. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/admin.py +0 -0
  96. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/forms.py +0 -0
  97. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/models.py +0 -0
  98. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tests.py +0 -0
  99. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/__init__.py +0 -0
  100. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/apk_patcher.py +0 -0
  101. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/auxiliary/class_trace.js +0 -0
  102. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/auxiliary/get_loaded_classes.js +0 -0
  103. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/auxiliary/get_methods.js +0 -0
  104. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/auxiliary/search_class_pattern.js +0 -0
  105. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/auxiliary/string_catch.js +0 -0
  106. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/auxiliary/string_compare.js +0 -0
  107. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/default/api_monitor.js +0 -0
  108. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/default/dump_clipboard.js +0 -0
  109. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/app-environment.js +0 -0
  110. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/audit-webview.js +0 -0
  111. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/bypass-adb-detection.js +0 -0
  112. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/bypass-emulator-detection.js +0 -0
  113. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/bypass-react-native-emulator-detection.js +0 -0
  114. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/crypto-aes-key.js +0 -0
  115. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/crypto-dump-keystore.js +0 -0
  116. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/crypto-keyguard-credential-intent.js +0 -0
  117. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/crypto-trace-cipher.js +0 -0
  118. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/crypto-trace-keygenparameterspec.js +0 -0
  119. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/crypto-trace-keystore.js +0 -0
  120. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/crypto-trace-secretkeyfactory.js +0 -0
  121. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/default.js +0 -0
  122. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/detect-ssl-pinning.js +0 -0
  123. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/device-android-id.js +0 -0
  124. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/device-environment.js +0 -0
  125. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/dump-inputstream.js +0 -0
  126. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/dump-intent.js +0 -0
  127. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/dump-library-exports.js +0 -0
  128. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/dump-okhttp-calls.js +0 -0
  129. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-android-change-sdk-version.js +0 -0
  130. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-android-spoof-gps.js +0 -0
  131. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-bypass-method.js +0 -0
  132. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-early-java.js +0 -0
  133. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-heap-search.js +0 -0
  134. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/hook-billing.js +0 -0
  135. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/hook-constructor.js +0 -0
  136. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/hook-java-reflection.js +0 -0
  137. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/hook-json.js +0 -0
  138. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/ssl-bypass-flutter.js +0 -0
  139. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/ssl-pinning-bypass.js +0 -0
  140. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/trace-bluetooth.js +0 -0
  141. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/trace-intent.js +0 -0
  142. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/trace-javascript-interface.js +0 -0
  143. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/trace-shared-preference.js +0 -0
  144. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/ui-deeplink-trace.js +0 -0
  145. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/ui-fingerprint-bypass-via-exception-handling.js +0 -0
  146. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/ui-fingerprint-bypass.js +0 -0
  147. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/ui-flag-secure-bypass.js +0 -0
  148. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/ui-webview-enable-debugging.js +0 -0
  149. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/rpc/get-hooks.js +0 -0
  150. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/class-trace.js +0 -0
  151. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/string-capture.js +0 -0
  152. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/string-compare.js +0 -0
  153. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/cookies.js +0 -0
  154. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/file-access.js +0 -0
  155. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/json.js +0 -0
  156. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/network.js +0 -0
  157. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/nsurlcredentialstorage.js +0 -0
  158. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/nsuserdefaults.js +0 -0
  159. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/pasteboard.js +0 -0
  160. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/text-inputs.js +0 -0
  161. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/app-environment.js +0 -0
  162. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-flutter.js +0 -0
  163. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-trustkit.js +0 -0
  164. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/check-keyboard-cache.js +0 -0
  165. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/check-keyboard-thridparty.js +0 -0
  166. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/device-environment.js +0 -0
  167. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/dump-ios-url-scheme.js +0 -0
  168. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/find-all-classes-methods.js +0 -0
  169. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/find-all-classes.js +0 -0
  170. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/flutter-trace-function.js +0 -0
  171. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/get-exports.js +0 -0
  172. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/get-modules.js +0 -0
  173. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-backtrace.js +0 -0
  174. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-get-memory-address-of-class.js +0 -0
  175. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-ios-change-system-version.js +0 -0
  176. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-ios-spoof-gps.js +0 -0
  177. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-memory-hex-dump.js +0 -0
  178. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-method-hooking.js +0 -0
  179. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-read-plist-file.js +0 -0
  180. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-show-modify-function-arguments.js +0 -0
  181. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-show-modify-method-return-value.js +0 -0
  182. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-ssh-commands.js +0 -0
  183. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-view-and-modify-method-registers.js +0 -0
  184. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-view-method-arguments.js +0 -0
  185. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/trace-bluetooth.js +0 -0
  186. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/ui-ios-alert.js +0 -0
  187. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/ui-ios-biometric-bypass.js +0 -0
  188. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/ui-send-url-scheme.js +0 -0
  189. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/ui-trace.js +0 -0
  190. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/ui-webview-trace.js +0 -0
  191. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/rpc/get-app-container.js +0 -0
  192. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/ClipDump.apk +0 -0
  193. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/Xposed.apk +0 -0
  194. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/XposedInstaller_3.1.5.apk +0 -0
  195. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/AndroidBluePill.apk +0 -0
  196. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/Droidmon.apk +0 -0
  197. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/JustTrustMe.apk +0 -0
  198. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/com.devadvance.rootcloak2_v18_c43b61.apk +0 -0
  199. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/hooks.json +0 -0
  200. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/mobi.acpm.proxyon_v1_419b04.apk +0 -0
  201. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/mobi.acpm.sslunpinning_v2_37f44f.apk +0 -0
  202. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/tools/webproxy.py +0 -0
  203. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/__init__.py +0 -0
  204. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/android/__init__.py +0 -0
  205. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/android/analysis.py +0 -0
  206. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/android/dynamic_analyzer.py +0 -0
  207. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/android/environment.py +0 -0
  208. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/android/frida_scripts.py +0 -0
  209. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/android/frida_server_download.py +0 -0
  210. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/android/operations.py +0 -0
  211. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/android/report.py +0 -0
  212. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/android/tests_common.py +0 -0
  213. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/android/tests_tls.py +0 -0
  214. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/android/tests_xposed.py +0 -0
  215. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/common/shared.py +0 -0
  216. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/ios/analysis.py +0 -0
  217. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/ios/corellium_apis.py +0 -0
  218. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/ios/corellium_instance.py +0 -0
  219. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/ios/corellium_ssh.py +0 -0
  220. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/ios/dynamic_analyzer.py +0 -0
  221. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/ios/frida_auxiliary_scripts.py +0 -0
  222. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/DynamicAnalyzer/views/ios/report.py +0 -0
  223. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MalwareAnalyzer/__init__.py +0 -0
  224. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MalwareAnalyzer/admin.py +0 -0
  225. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MalwareAnalyzer/models.py +0 -0
  226. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MalwareAnalyzer/tests.py +0 -0
  227. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MalwareAnalyzer/views/MalwareDomainCheck.py +0 -0
  228. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MalwareAnalyzer/views/Trackers.py +0 -0
  229. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MalwareAnalyzer/views/VirusTotal.py +0 -0
  230. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MalwareAnalyzer/views/__init__.py +0 -0
  231. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MalwareAnalyzer/views/android/apkid.py +0 -0
  232. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MalwareAnalyzer/views/android/behaviour_analysis.py +0 -0
  233. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MalwareAnalyzer/views/android/permissions.py +0 -0
  234. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MalwareAnalyzer/views/android/rules/behaviour_rules.yaml +0 -0
  235. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/__init__.py +0 -0
  236. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/management/commands/clear_tasks.py +0 -0
  237. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/management/commands/create_roles.py +0 -0
  238. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/models.py +0 -0
  239. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/views/__init__.py +0 -0
  240. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/views/api/__init__.py +0 -0
  241. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/views/api/api_ios_dynamic_analysis.py +0 -0
  242. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/views/api/api_middleware.py +0 -0
  243. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/views/api/api_static_analysis.py +0 -0
  244. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/views/apk_downloader.py +0 -0
  245. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/views/authentication.py +0 -0
  246. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/views/authorization.py +0 -0
  247. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/views/helpers.py +0 -0
  248. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/views/saml2.py +0 -0
  249. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/views/scanning.py +0 -0
  250. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/MobSF/wsgi.py +0 -0
  251. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/__init__.py +0 -0
  252. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/admin.py +0 -0
  253. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/models.py +0 -0
  254. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tests.py +0 -0
  255. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/__init__.py +0 -0
  256. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/androguard4/apk.py +0 -0
  257. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/androguard4/apkinspector/extract.py +0 -0
  258. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/androguard4/apkinspector/headers.py +0 -0
  259. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/androguard4/apkinspector/helpers.py +0 -0
  260. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/androguard4/axml.py +0 -0
  261. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/androguard4/resources/public.py +0 -0
  262. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/androguard4/resources/public.xml +0 -0
  263. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/androguard4/types.py +0 -0
  264. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/androguard4/util.py +0 -0
  265. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/apksigner.jar +0 -0
  266. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/apktool_2.10.0.jar +0 -0
  267. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/baksmali-3.0.8-dev-fat.jar +0 -0
  268. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/bundletool-all-1.17.2.jar +0 -0
  269. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/ios/CgbiPngFix/CgbiPngFix.exe +0 -0
  270. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/ios/CgbiPngFix/CgbiPngFix_amd64 +0 -0
  271. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/ios/CgbiPngFix/CgbiPngFix_arm64 +0 -0
  272. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/ios/class-dump +0 -0
  273. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/ios/class-dump-swift +0 -0
  274. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/ios/jtool.ELF64 +0 -0
  275. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/strings.py +0 -0
  276. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/tools/vd2svg-0.4.4.jar +0 -0
  277. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/__init__.py +0 -0
  278. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/__init__.py +0 -0
  279. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/aapt.py +0 -0
  280. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/app.py +0 -0
  281. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/cert_analysis.py +0 -0
  282. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/code_analysis.py +0 -0
  283. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/converter.py +0 -0
  284. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/db_interaction.py +0 -0
  285. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/jar_aar.py +0 -0
  286. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/manifest_analysis.py +0 -0
  287. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/manifest_utils.py +0 -0
  288. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/network_security.py +0 -0
  289. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/rules/android_apis.yaml +0 -0
  290. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/rules/android_niap.yaml +0 -0
  291. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/rules/android_permissions.yaml +0 -0
  292. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/rules/android_rules.yaml +0 -0
  293. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/sbom_analysis.py +0 -0
  294. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/so.py +0 -0
  295. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/static_analyzer.py +0 -0
  296. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/strings.py +0 -0
  297. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/views/find.py +0 -0
  298. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/views/manifest_view.py +0 -0
  299. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/android/views/source_tree.py +0 -0
  300. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/common/__init__.py +0 -0
  301. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/common/a.py +0 -0
  302. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/common/appsec.py +0 -0
  303. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/common/async_task.py +0 -0
  304. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/common/binary/elf.py +0 -0
  305. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/common/binary/lib_analysis.py +0 -0
  306. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/common/binary/macho.py +0 -0
  307. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/common/binary/strings.py +0 -0
  308. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/common/entropy.py +0 -0
  309. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/common/firebase.py +0 -0
  310. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/common/pdf.py +0 -0
  311. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/common/suppression.py +0 -0
  312. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/comparer.py +0 -0
  313. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/__init__.py +0 -0
  314. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/app_transport_security.py +0 -0
  315. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/appstore.py +0 -0
  316. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/binary_rule_matcher.py +0 -0
  317. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/classdump.py +0 -0
  318. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/code_analysis.py +0 -0
  319. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/db_interaction.py +0 -0
  320. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/dylib.py +0 -0
  321. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/file_analysis.py +0 -0
  322. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/icon_analysis.py +0 -0
  323. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/ipa.py +0 -0
  324. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/kb/permission_analysis.py +0 -0
  325. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/plist_analysis.py +0 -0
  326. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/rules/__init__.py +0 -0
  327. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/rules/ios_apis.yaml +0 -0
  328. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/rules/ipa_rules.py +0 -0
  329. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/rules/objective_c_rules.yaml +0 -0
  330. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/rules/swift_rules.yaml +0 -0
  331. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/static_analyzer.py +0 -0
  332. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/ios/strings.py +0 -0
  333. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/sast_engine.py +0 -0
  334. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/windows/__init__.py +0 -0
  335. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/windows/db_interaction.py +0 -0
  336. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/StaticAnalyzer/views/windows/windows.py +0 -0
  337. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/__init__.py +0 -0
  338. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/__main__.py +0 -0
  339. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/install/__init__.py +0 -0
  340. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/install/windows/__init__.py +0 -0
  341. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/install/windows/config.txt +0 -0
  342. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/install/windows/readme.md +0 -0
  343. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/install/windows/rpc_client.py +0 -0
  344. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/install/windows/setup.py +0 -0
  345. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/signatures/IP2LOCATION-LITE-DB5.IPV6.BIN +0 -0
  346. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/signatures/malwaredomainlist +0 -0
  347. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/dashboard/css/adminlte.min.css +0 -0
  348. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/dashboard/css/adminlte.min.css.map +0 -0
  349. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/dashboard/js/adminlte.min.js +0 -0
  350. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/dashboard/js/adminlte.min.js.map +0 -0
  351. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/bootstrap/bootstrap.bundle.min.js +0 -0
  352. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/bootstrap/bootstrap.bundle.min.js.map +0 -0
  353. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/datatables/jquery.dataTables.min.js +0 -0
  354. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/datatables-bs4/dataTables.bootstrap4.min.css +0 -0
  355. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/datatables-bs4/dataTables.bootstrap4.min.js +0 -0
  356. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/css/all.css +0 -0
  357. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/css/all.min.css +0 -0
  358. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/css/brands.css +0 -0
  359. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/css/brands.min.css +0 -0
  360. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/css/fontawesome.css +0 -0
  361. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/css/fontawesome.min.css +0 -0
  362. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/css/regular.css +0 -0
  363. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/css/regular.min.css +0 -0
  364. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/css/solid.css +0 -0
  365. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/css/solid.min.css +0 -0
  366. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/css/svg-with-js.css +0 -0
  367. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/css/svg-with-js.min.css +0 -0
  368. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/css/v4-shims.css +0 -0
  369. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/css/v4-shims.min.css +0 -0
  370. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.eot +0 -0
  371. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.svg +0 -0
  372. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.ttf +0 -0
  373. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.woff +0 -0
  374. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.woff2 +0 -0
  375. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.eot +0 -0
  376. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.svg +0 -0
  377. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.ttf +0 -0
  378. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.woff +0 -0
  379. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.woff2 +0 -0
  380. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.eot +0 -0
  381. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.svg +0 -0
  382. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.ttf +0 -0
  383. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.woff +0 -0
  384. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.woff2 +0 -0
  385. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/jquery-ui.min.js +0 -0
  386. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/jquery.min.js +0 -0
  387. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/overlayScrollbars/css/OverlayScrollbars.min.css +0 -0
  388. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js +0 -0
  389. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/sweetalert2/sweetalert2.min.css +0 -0
  390. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/adminlte/plugins/sweetalert2/sweetalert2.min.js +0 -0
  391. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/amcharts/animated.js +0 -0
  392. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/amcharts/core.js +0 -0
  393. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/amcharts/maps.js +0 -0
  394. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/amcharts/worldIndiaLow.js +0 -0
  395. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/chartjs/Chart.bundle.js +0 -0
  396. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/chartjs/chartjs-gauge.js +0 -0
  397. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/codemirror/codemirror.css +0 -0
  398. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/codemirror/codemirror.js +0 -0
  399. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/codemirror/javascript-lint.js +0 -0
  400. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/codemirror/javascript.js +0 -0
  401. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/codemirror/jshint.js +0 -0
  402. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/codemirror/lint.css +0 -0
  403. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/codemirror/lint.js +0 -0
  404. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/datatables/css/datatables.combined.min.css +0 -0
  405. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/datatables/js/datatables.combined.min.js +0 -0
  406. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/datatables/js/pdfmake.min.js +0 -0
  407. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/datatables/js/pdfmake.min.js.map +0 -0
  408. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/datatables/js/vfs_fonts.js +0 -0
  409. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/enlighterjs/enlighterjs.enlighter.min.css +0 -0
  410. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/enlighterjs/enlighterjs.min.css +0 -0
  411. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/enlighterjs/enlighterjs.min.js +0 -0
  412. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/fonts/Open_Sans/LICENSE.txt +0 -0
  413. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/fonts/Open_Sans/OpenSans-Regular.ttf +0 -0
  414. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/fonts/Oswald/OFL.txt +0 -0
  415. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/fonts/Oswald/Oswald-Regular.ttf +0 -0
  416. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/img/favicon.ico +0 -0
  417. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/img/loading.jpg +0 -0
  418. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/img/mobsf_icon.png +0 -0
  419. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/img/mobsf_logo.png +0 -0
  420. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/img/no_icon.png +0 -0
  421. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/jqueryknob/jquery.knob.min.js +0 -0
  422. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/jsTree/custom.css +0 -0
  423. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/jsTree/jstree.min.js +0 -0
  424. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/jsTree/themes/default/32px.png +0 -0
  425. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/jsTree/themes/default/40px.png +0 -0
  426. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/jsTree/themes/default/content_background.gif +0 -0
  427. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/jsTree/themes/default/dir.gif +0 -0
  428. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/jsTree/themes/default/file.png +0 -0
  429. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/jsTree/themes/default/style.min.css +0 -0
  430. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/jsTree/themes/default/throbber.gif +0 -0
  431. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/landing/css/home.css +0 -0
  432. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/others/css/devices.min.css +0 -0
  433. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/others/css/pdf_report.css +0 -0
  434. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/others/css/spinner.css +0 -0
  435. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/others/css/terminal.css +0 -0
  436. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/others/css/xcode.min.css +0 -0
  437. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/others/js/datatables_init.js +0 -0
  438. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/others/js/suppression.js +0 -0
  439. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/static/others/js/swipe.js +0 -0
  440. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/403.html +0 -0
  441. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/404.html +0 -0
  442. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/500.html +0 -0
  443. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/auth/change_password.html +0 -0
  444. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/auth/login.html +0 -0
  445. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/auth/register.html +0 -0
  446. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/auth/users.html +0 -0
  447. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/base/base_layout.html +0 -0
  448. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/base/list.html +0 -0
  449. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/base/list_href.html +0 -0
  450. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/base/nav.html +0 -0
  451. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/dynamic_analysis/android/dynamic_analysis.html +0 -0
  452. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/dynamic_analysis/android/dynamic_report.html +0 -0
  453. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/dynamic_analysis/android/frida_logs.html +0 -0
  454. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/dynamic_analysis/android/live_api.html +0 -0
  455. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/dynamic_analysis/android/logcat.html +0 -0
  456. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/dynamic_analysis/ios/dynamic_analysis.html +0 -0
  457. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/dynamic_analysis/ios/dynamic_report.html +0 -0
  458. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/dynamic_analysis/ios/system_logs.html +0 -0
  459. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/general/about.html +0 -0
  460. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/general/apidocs.html +0 -0
  461. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/general/donate.html +0 -0
  462. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/general/dynamic.html +0 -0
  463. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/general/error.html +0 -0
  464. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/general/home.html +0 -0
  465. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/general/recent.html +0 -0
  466. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/general/tasks.html +0 -0
  467. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/general/view.html +0 -0
  468. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/general/zip.html +0 -0
  469. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/pdf/android_report.html +0 -0
  470. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/pdf/ios_report.html +0 -0
  471. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/pdf/windows_report.html +0 -0
  472. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/static_analysis/android_binary_analysis.html +0 -0
  473. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/static_analysis/android_source_analysis.html +0 -0
  474. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/static_analysis/appsec_dashboard.html +0 -0
  475. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/static_analysis/compare.html +0 -0
  476. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/static_analysis/ios_binary_analysis.html +0 -0
  477. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/static_analysis/ios_source_analysis.html +0 -0
  478. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/static_analysis/source_tree.html +0 -0
  479. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/static_analysis/treeview_file.html +0 -0
  480. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/static_analysis/treeview_folder.html +0 -0
  481. {mobsf-4.3.2 → mobsf-4.4.2}/mobsf/templates/static_analysis/windows_binary_analysis.html +0 -0
@@ -1,28 +1,27 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mobsf
3
- Version: 4.3.2
3
+ Version: 4.4.2
4
4
  Summary: Mobile Security Framework (MobSF) is an automated, all-in-one mobile application (Android/iOS/Windows) pen-testing, malware analysis and security assessment framework capable of performing static and dynamic analysis.
5
5
  Home-page: https://github.com/MobSF/Mobile-Security-Framework-MobSF
6
6
  License: GPL-3.0-only
7
7
  Keywords: mobsf,mobile security framework,mobile security,security tool,static analysis,dynamic analysis,malware analysis
8
8
  Author: Ajin Abraham
9
9
  Author-email: ajin@opensecurity.in
10
- Requires-Python: >=3.10,<4.0
10
+ Requires-Python: >=3.12,<4.0
11
11
  Classifier: Development Status :: 5 - Production/Stable
12
12
  Classifier: Intended Audience :: Developers
13
13
  Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
14
14
  Classifier: Programming Language :: Python :: 3
15
- Classifier: Programming Language :: Python :: 3.10
16
- Classifier: Programming Language :: Python :: 3.11
17
15
  Classifier: Programming Language :: Python :: 3.12
18
16
  Classifier: Programming Language :: Python :: 3.13
19
17
  Classifier: Topic :: Security
20
18
  Classifier: Topic :: Software Development :: Quality Assurance
21
- Requires-Dist: apkid (>=2.1.5,<3.0.0)
19
+ Requires-Dist: apkid (>=3.0.0,<4.0.0)
22
20
  Requires-Dist: apksigtool (>=0.1.0,<0.2.0)
23
21
  Requires-Dist: arpy (>=2.3.0)
24
22
  Requires-Dist: asn1crypto (>=1.4.0)
25
23
  Requires-Dist: bcrypt (==4.0.1)
24
+ Requires-Dist: bleach (>=6.2.0,<7.0.0)
26
25
  Requires-Dist: bs4 (>=0.0.1)
27
26
  Requires-Dist: colorlog (>=4.7.2)
28
27
  Requires-Dist: defusedxml (>=0.7.1,<0.8.0)
@@ -30,14 +29,14 @@ Requires-Dist: distro (>=1.5.0)
30
29
  Requires-Dist: django (>=3.1.5)
31
30
  Requires-Dist: django-q2 (>=1.7.4,<2.0.0)
32
31
  Requires-Dist: django-ratelimit (>=4.1.0,<5.0.0)
33
- Requires-Dist: frida (>=16.1.4)
32
+ Requires-Dist: frida (>=17.0.0)
33
+ Requires-Dist: frida-tools (>=14.3.0,<15.0.0)
34
34
  Requires-Dist: google-play-scraper (>=0.1.2)
35
35
  Requires-Dist: gunicorn (>=20.0.4) ; sys_platform != "win32"
36
- Requires-Dist: http-tools (>=5.0.0)
36
+ Requires-Dist: http-tools (>=6.0.0)
37
37
  Requires-Dist: ip2location (>=8.10.4,<9.0.0)
38
38
  Requires-Dist: libsast (>=3.1.6,<4.0.0)
39
- Requires-Dist: lief (>=0.15.1,<0.16.0)
40
- Requires-Dist: lxml (>=4.6.2)
39
+ Requires-Dist: lief (>=0.16.6,<0.17.0)
41
40
  Requires-Dist: macholib (>=1.14)
42
41
  Requires-Dist: openstep-parser (>=2.0.1)
43
42
  Requires-Dist: packaging (>=24.2)
@@ -55,7 +54,6 @@ Requires-Dist: tldextract (>=5.1.3)
55
54
  Requires-Dist: tzdata (>=2023.3,<2024.0)
56
55
  Requires-Dist: waitress (>=3.0.1) ; sys_platform == "win32"
57
56
  Requires-Dist: whitenoise (>=6.8.2)
58
- Requires-Dist: xmlsec (==1.3.14)
59
57
  Project-URL: Bug Tracker, https://github.com/MobSF/Mobile-Security-Framework-MobSF/issues
60
58
  Project-URL: Documentation, https://mobsf.github.io/docs/
61
59
  Project-URL: Repository, https://github.com/MobSF/Mobile-Security-Framework-MobSF
@@ -69,7 +67,7 @@ Mobile Security Framework (MobSF) is a security research platform for mobile app
69
67
 
70
68
  Made with ![Love](https://cloud.githubusercontent.com/assets/4301109/16754758/82e3a63c-4813-11e6-9430-6015d98aeaab.png) in India
71
69
 
72
- [![Docker Pulls](https://img.shields.io/docker/pulls/opensecurity/mobile-security-framework-mobsf?style=social)](https://hub.docker.com/r/opensecurity/mobile-security-framework-mobsf/) [![python](https://img.shields.io/badge/python-3.10+-blue.svg?logo=python&labelColor=yellow)](https://www.python.org/downloads/)
70
+ [![Docker Pulls](https://img.shields.io/docker/pulls/opensecurity/mobile-security-framework-mobsf?style=social)](https://hub.docker.com/r/opensecurity/mobile-security-framework-mobsf/) [![python](https://img.shields.io/badge/python-3.12+-blue.svg?logo=python&labelColor=yellow)](https://www.python.org/downloads/)
73
71
  [![PyPI version](https://badge.fury.io/py/mobsf.svg)](https://badge.fury.io/py/mobsf)
74
72
  [![platform](https://img.shields.io/badge/platform-osx%2Flinux%2Fwindows-green.svg)](https://github.com/MobSF/Mobile-Security-Framework-MobSF/)
75
73
  [![License](https://img.shields.io/:license-GPL--3.0--only-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.html)
@@ -6,7 +6,7 @@ Mobile Security Framework (MobSF) is a security research platform for mobile app
6
6
 
7
7
  Made with ![Love](https://cloud.githubusercontent.com/assets/4301109/16754758/82e3a63c-4813-11e6-9430-6015d98aeaab.png) in India
8
8
 
9
- [![Docker Pulls](https://img.shields.io/docker/pulls/opensecurity/mobile-security-framework-mobsf?style=social)](https://hub.docker.com/r/opensecurity/mobile-security-framework-mobsf/) [![python](https://img.shields.io/badge/python-3.10+-blue.svg?logo=python&labelColor=yellow)](https://www.python.org/downloads/)
9
+ [![Docker Pulls](https://img.shields.io/docker/pulls/opensecurity/mobile-security-framework-mobsf?style=social)](https://hub.docker.com/r/opensecurity/mobile-security-framework-mobsf/) [![python](https://img.shields.io/badge/python-3.12+-blue.svg?logo=python&labelColor=yellow)](https://www.python.org/downloads/)
10
10
  [![PyPI version](https://badge.fury.io/py/mobsf.svg)](https://badge.fury.io/py/mobsf)
11
11
  [![platform](https://img.shields.io/badge/platform-osx%2Flinux%2Fwindows-green.svg)](https://github.com/MobSF/Mobile-Security-Framework-MobSF/)
12
12
  [![License](https://img.shields.io/:license-GPL--3.0--only-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.html)
@@ -11,13 +11,16 @@ Java.perform(function () {
11
11
  // Following are based on: https://github.com/apkunpacker/FridaScripts
12
12
  try {
13
13
  /* Bypass Frida Detection Based On Port Number */
14
- Interceptor.attach(Module.findExportByName("libc.so", "connect"), {
14
+ const libc = Process.getModuleByName("libc.so");
15
+ Interceptor.attach(libc.getExportByName("connect"), {
15
16
  onEnter: function(args) {
16
- var memory = Memory.readByteArray(args[1], 64);
17
- var b = new Uint8Array(memory);
18
- if (b[2] == 0x69 && b[3] == 0xa2 && b[4] == 0x7f && b[5] == 0x00 && b[6] == 0x00 && b[7] == 0x01) {
19
- this.frida_detection = true;
20
- }
17
+ try{
18
+ var memory = Memory.readByteArray(args[1], 64);
19
+ var b = new Uint8Array(memory);
20
+ if (b[2] == 0x69 && b[3] == 0xa2 && b[4] == 0x7f && b[5] == 0x00 && b[6] == 0x00 && b[7] == 0x01) {
21
+ this.frida_detection = true;
22
+ }
23
+ } catch(e){}
21
24
  },
22
25
  onLeave: function(retval) {
23
26
  if (this.frida_detection) {
@@ -28,30 +31,31 @@ try {
28
31
  });
29
32
  } catch(e){}
30
33
  try {
31
- Interceptor.attach(Module.findExportByName(null, "connect"), {
34
+ Interceptor.attach(Module.getGlobalExportByName("connect"), {
32
35
  onEnter: function(args) {
33
- var family = Memory.readU16(args[1]);
36
+ var family = args[1].readU16();
34
37
  if (family !== 2) {
35
38
  return
36
39
  }
37
- var port = Memory.readU16(args[1].add(2));
40
+ var port = args[1].add(2).readU16();
38
41
  port = ((port & 0xff) << 8) | (port >> 8);
39
42
  if (port === 27042) {
40
43
  send('[Debugger Check] Frida Port detection bypassed');
41
- Memory.writeU16(args[1].add(2), 0x0101);
44
+ args[1].add(2).writeU16(0x0101);
42
45
  }
43
46
  }
44
47
  });
45
48
  } catch(e){}
46
49
  try {
47
50
  /* Bypass TracerPid Detection Based On Pid Status */
48
- var fgetsPtr = Module.findExportByName("libc.so", "fgets");
51
+ const libc = Process.getModuleByName("libc.so");
52
+ var fgetsPtr = libc.getExportByName("fgets");
49
53
  var fgets = new NativeFunction(fgetsPtr, 'pointer', ['pointer', 'int', 'pointer']);
50
54
  Interceptor.replace(fgetsPtr, new NativeCallback(function(buffer, size, fp) {
51
55
  var retval = fgets(buffer, size, fp);
52
- var bufstr = Memory.readUtf8String(buffer);
56
+ var bufstr = buffer.readUtf8String();
53
57
  if (bufstr.indexOf("TracerPid:") > -1) {
54
- Memory.writeUtf8String(buffer, "TracerPid:\t0");
58
+ buffer.writeUtf8String("TracerPid:\t0");
55
59
  send("[Debugger Check] TracerPID check bypassed");
56
60
  }
57
61
  return retval;
@@ -60,7 +64,7 @@ try {
60
64
 
61
65
  try {
62
66
  /* Bypass Ptrace Checks */
63
- Interceptor.attach(Module.findExportByName(null, "ptrace"), {
67
+ Interceptor.attach(Module.getGlobalExportByName("ptrace"), {
64
68
  onEnter: function(args) {},
65
69
  onLeave: function(retval) {
66
70
  send("[Debugger Check] Ptrace check bypassed");
@@ -71,7 +75,7 @@ try {
71
75
 
72
76
  try {
73
77
  /* Watch Child Process Forking */
74
- var fork = Module.findExportByName(null, "fork")
78
+ var fork = Module.getGlobalExportByName("fork")
75
79
  Interceptor.attach(fork, {
76
80
  onEnter: function(args) {},
77
81
  onLeave: function(retval) {
@@ -205,39 +205,49 @@ Java.performNow(function () {
205
205
 
206
206
  // Native Root Check Bypass
207
207
 
208
- Interceptor.attach(Module.findExportByName("libc.so", "fopen"), {
209
- onEnter: function (args) {
210
- var path = Memory.readCString(args[0]);
211
- path = path.split("/");
212
- var executable = path[path.length - 1];
213
- var shouldFakeReturn = (RootBinaries.indexOf(executable) > -1)
214
- if (shouldFakeReturn) {
215
- Memory.writeUtf8String(args[0], "/notexists");
216
- send("[RootDetection Bypass] native fopen");
217
- }
218
- },
219
- onLeave: function (retval) {
208
+ try {
209
+ const libc = Process.getModuleByName("libc.so");
210
+
211
+ Interceptor.attach(libc.getExportByName("fopen"), {
212
+ onEnter: function (args) {
213
+ try{
214
+ var path = Memory.readCString(args[0]);
215
+ path = path.split("/");
216
+ var executable = path[path.length - 1];
217
+ var shouldFakeReturn = (RootBinaries.indexOf(executable) > -1)
218
+ if (shouldFakeReturn) {
219
+ args[0].writeUtf8String("/notexists");
220
+ send("[RootDetection Bypass] native fopen");
221
+ }
222
+ } catch(e){}
223
+ },
224
+ onLeave: function (retval) {
220
225
 
221
- }
222
- });
223
- Interceptor.attach(Module.findExportByName("libc.so", "system"), {
224
- onEnter: function (args) {
225
- var cmd = Memory.readCString(args[0]);
226
- send("[RootDetection Bypass] SYSTEM CMD: " + cmd);
227
- if (cmd.indexOf("getprop") != -1 || cmd == "mount" || cmd.indexOf("build.prop") != -1 || cmd == "id") {
228
- send("[RootDetection Bypass] native system: " + cmd);
229
- Memory.writeUtf8String(args[0], "grep");
230
- }
231
- if (cmd == "su") {
232
- send("[RootDetection Bypass] native system: " + cmd);
233
- Memory.writeUtf8String(args[0], "justafakecommandthatcannotexistsusingthisshouldthowanexceptionwheneversuiscalled");
234
226
  }
235
- },
236
- onLeave: function (retval) {
237
-
238
- }
227
+ });
228
+
229
+ Interceptor.attach(libc.getExportByName("system"), {
230
+ onEnter: function (args) {
231
+ try{
232
+ var cmd = Memory.readCString(args[0]);
233
+ send("[RootDetection Bypass] SYSTEM CMD: " + cmd);
234
+ if (cmd.indexOf("getprop") != -1 || cmd == "mount" || cmd.indexOf("build.prop") != -1 || cmd == "id") {
235
+ send("[RootDetection Bypass] native system: " + cmd);
236
+ args[0].writeUtf8String("grep");
237
+ }
238
+ if (cmd == "su") {
239
+ send("[RootDetection Bypass] native system: " + cmd);
240
+ args[0].writeUtf8String("justafakecommandthatcannotexistsusingthisshouldthowanexceptionwheneversuiscalled");
241
+ }
242
+ } catch(e){}
243
+ },
244
+ onLeave: function (retval) {
239
245
 
240
- });
246
+ }
247
+ });
248
+ } catch (err) {
249
+ send('[RootDetection Bypass] Error hooking libc.so: ' + err);
250
+ }
241
251
  /*
242
252
 
243
253
  TO IMPLEMENT:
@@ -65,13 +65,154 @@ Java.perform(function() {
65
65
  }
66
66
  try {
67
67
  var CertificatePinner2 = Java.use('okhttp3.CertificatePinner');
68
- CertificatePinner2.check.overload('java.lang.String', 'java.util.List').implementation = function (str) {
69
- send('[SSL Pinning Bypass] okhttp3.CertificatePinner.check() bypassed for ' + str);
68
+
69
+ // Hook all check method overloads
70
+ CertificatePinner2.check.overload('java.lang.String', 'java.util.List').implementation = function (hostname, certificates) {
71
+ send('[SSL Pinning Bypass] okhttp3.CertificatePinner.check(String, List) bypassed for ' + hostname);
70
72
  return;
71
73
  };
74
+
75
+ CertificatePinner2.check.overload('java.lang.String', '[Ljava.security.cert.Certificate;').implementation = function (hostname, certificates) {
76
+ send('[SSL Pinning Bypass] okhttp3.CertificatePinner.check(String, Certificate[]) bypassed for ' + hostname);
77
+ return;
78
+ };
79
+
80
+ // Additional check method overload that might exist
81
+ try {
82
+ CertificatePinner2.check.overload('java.lang.String', 'java.util.List', 'java.lang.String').implementation = function (hostname, certificates, algorithm) {
83
+ send('[SSL Pinning Bypass] okhttp3.CertificatePinner.check(String, List, String) bypassed for ' + hostname);
84
+ return;
85
+ };
86
+ } catch(e) {}
87
+
88
+ // Hook the internal pin checking method
89
+ try {
90
+ CertificatePinner2.check$okhttp.implementation = function (hostname, certificates) {
91
+ send('[SSL Pinning Bypass] okhttp3.CertificatePinner.check$okhttp bypassed for ' + hostname);
92
+ return;
93
+ };
94
+ } catch(e) {}
95
+
72
96
  } catch(err) {
73
97
  send('[SSL Pinning Bypass] okhttp3 CertificatePinner not found');
74
98
  }
99
+
100
+ // Comprehensive OkHttp3 bypass combining all approaches to avoid redeclaration
101
+ try {
102
+ var OkHttpClient = Java.use('okhttp3.OkHttpClient');
103
+ var OkHttpClientBuilder = Java.use('okhttp3.OkHttpClient$Builder');
104
+ var CertificatePinner = Java.use('okhttp3.CertificatePinner');
105
+
106
+ // Create empty certificate pinner
107
+ var EmptyCertificatePinner = CertificatePinner.Builder.$new().build();
108
+
109
+ // Bypass certificate pinner in builder
110
+ OkHttpClientBuilder.certificatePinner.implementation = function(certificatePinner) {
111
+ send('[SSL Pinning Bypass] okhttp3.OkHttpClient.Builder.certificatePinner() bypassed');
112
+ return this;
113
+ };
114
+
115
+ OkHttpClientBuilder.build.implementation = function() {
116
+ var client = this.build();
117
+ try {
118
+ // Try to replace certificate pinner with empty one
119
+ var certificatePinnerField = OkHttpClient.class.getDeclaredField('certificatePinner');
120
+ certificatePinnerField.setAccessible(true);
121
+ certificatePinnerField.set(client, EmptyCertificatePinner);
122
+ send('[SSL Pinning Bypass] okhttp3.OkHttpClient certificate pinner replaced with empty pinner');
123
+ } catch (e) {
124
+ send('[SSL Pinning Bypass] Failed to replace certificate pinner: ' + e);
125
+ }
126
+ return client;
127
+ };
128
+
129
+ // Hook findMatchingPins method if it exists
130
+ try {
131
+ CertificatePinner.findMatchingPins.implementation = function(hostname) {
132
+ send('[SSL Pinning Bypass] okhttp3.CertificatePinner.findMatchingPins() bypassed for ' + hostname);
133
+ var ArrayList = Java.use('java.util.ArrayList');
134
+ return ArrayList.$new(); // Return empty list
135
+ };
136
+ } catch(e) {}
137
+
138
+ // Hook sha256 method if it exists
139
+ try {
140
+ CertificatePinner.sha256Hash.implementation = function(certificate) {
141
+ send('[SSL Pinning Bypass] okhttp3.CertificatePinner.sha256Hash() bypassed');
142
+ // Return a dummy hash that will match
143
+ var ByteString = Java.use('okio.ByteString');
144
+ return ByteString.decodeHex('0000000000000000000000000000000000000000000000000000000000000000');
145
+ };
146
+ } catch(e) {}
147
+
148
+ // More aggressive approach - completely suppress the certificate pinning exception
149
+ try {
150
+ var RealInterceptorChain = Java.use('okhttp3.internal.http.RealInterceptorChain');
151
+ RealInterceptorChain.proceed.overload('okhttp3.Request').implementation = function(request) {
152
+ try {
153
+ return this.proceed(request);
154
+ } catch (e) {
155
+ if (e.toString().includes('Certificate pinning failure')) {
156
+ send('[SSL Pinning Bypass] Certificate pinning failure suppressed for: ' + request.url());
157
+ // Return the original method call but without pinning
158
+ var originalPinner = this.call().client().certificatePinner();
159
+ try {
160
+ // Temporarily replace with empty pinner
161
+ var clientField = this.call().getClass().getDeclaredField('client');
162
+ clientField.setAccessible(true);
163
+ var client = clientField.get(this.call());
164
+
165
+ var pinnerField = client.getClass().getDeclaredField('certificatePinner');
166
+ pinnerField.setAccessible(true);
167
+ pinnerField.set(client, EmptyCertificatePinner);
168
+
169
+ var result = this.proceed(request);
170
+
171
+ // Restore original pinner
172
+ pinnerField.set(client, originalPinner);
173
+ return result;
174
+ } catch (reflectionError) {
175
+ send('[SSL Pinning Bypass] Reflection bypass failed: ' + reflectionError);
176
+ throw e;
177
+ }
178
+ }
179
+ throw e;
180
+ }
181
+ };
182
+ } catch(interceptorErr) {}
183
+
184
+ } catch(err) {
185
+ send('[SSL Pinning Bypass] Comprehensive okhttp3 bypass not available');
186
+ }
187
+
188
+ // Direct bypass for SSLPeerUnverifiedException
189
+ try {
190
+ var SSLPeerUnverifiedException = Java.use('javax.net.ssl.SSLPeerUnverifiedException');
191
+ SSLPeerUnverifiedException.$init.overload('java.lang.String').implementation = function(message) {
192
+ if (message && message.includes('Certificate pinning failure')) {
193
+ send('[SSL Pinning Bypass] SSLPeerUnverifiedException with certificate pinning blocked');
194
+ // Don't throw the exception, just return
195
+ return;
196
+ }
197
+ return this.$init(message);
198
+ };
199
+ } catch(err) {
200
+ send('[SSL Pinning Bypass] SSLPeerUnverifiedException bypass not available');
201
+ }
202
+
203
+ // Additional OkHttp3 bypasses for interceptors and connection specs
204
+ try {
205
+ // Bypass ConnectionSpec TLS versions
206
+ var ConnectionSpec = Java.use('okhttp3.ConnectionSpec');
207
+ ConnectionSpec.isCompatible.implementation = function(sslSocket) {
208
+ send('[SSL Pinning Bypass] okhttp3.ConnectionSpec.isCompatible() bypassed');
209
+ return true;
210
+ };
211
+ } catch(err) {
212
+ send('[SSL Pinning Bypass] okhttp3 ConnectionSpec not found');
213
+ }
214
+
215
+ // Note: RealConnection.connectTls bypass removed to prevent app crashes
75
216
  try {
76
217
  // https://gist.github.com/cubehouse/56797147b5cb22768b500f25d3888a22
77
218
  var dataTheorem = Java.use('com.datatheorem.android.trustkit.pinning.OkHostnameVerifier');
@@ -268,55 +409,54 @@ Java.perform(function() {
268
409
  send("[SSL Pinning Bypass] Appmattus CertificateTransparencyInterceptor not found");
269
410
  }
270
411
  try{
271
- bypassOkHttp3CertificateTransparency();
412
+ bypassCertificateTransparency();
272
413
  } catch (err) {
273
414
  send('[SSL Pinning Bypass] certificatetransparency.CTInterceptorBuilder not found');
274
415
  }
416
+
417
+
275
418
  }, 0);
276
419
 
277
420
 
278
- function bypassOkHttp3CertificateTransparency() {
421
+ function bypassCertificateTransparency() {
279
422
  // https://gist.github.com/m-rey/f2a235123908ca42395b6d3c5fe1128e
280
- var CertificateTransparencyInterceptor = Java.use('com.appmattus.certificatetransparency.internal.verifier.CertificateTransparencyInterceptor');
281
- var OkHttpClientBuilder = Java.use('okhttp3.OkHttpClient$Builder');
282
-
283
- CertificateTransparencyInterceptor.intercept.implementation = function (chain) {
284
- var request = chain.request();
285
- var url = request.url();
286
- var host = url.host();
423
+ try {
424
+ var CertificateTransparencyInterceptor = Java.use('com.appmattus.certificatetransparency.internal.verifier.CertificateTransparencyInterceptor');
287
425
 
288
- // Dynamically access the VerificationResult classes
289
- var VerificationResult = Java.use('com.appmattus.certificatetransparency.VerificationResult');
290
- var VerificationResultSuccessInsecureConnection = Java.use('com.appmattus.certificatetransparency.VerificationResult$Success$InsecureConnection');
291
- var VerificationResultFailureNoCertificates = Java.use('com.appmattus.certificatetransparency.VerificationResult$Failure$NoCertificates');
426
+ CertificateTransparencyInterceptor.intercept.implementation = function (chain) {
427
+ var request = chain.request();
428
+ var url = request.url();
429
+ var host = url.host();
292
430
 
293
- // Create instances of the desired VerificationResult classes
294
- var success = VerificationResultSuccessInsecureConnection.$new(host);
295
- var failureNoCertificates = VerificationResultFailureNoCertificates.$new();
431
+ // Dynamically access the VerificationResult classes
432
+ var VerificationResult = Java.use('com.appmattus.certificatetransparency.VerificationResult');
433
+ var VerificationResultSuccessInsecureConnection = Java.use('com.appmattus.certificatetransparency.VerificationResult$Success$InsecureConnection');
434
+ var VerificationResultFailureNoCertificates = Java.use('com.appmattus.certificatetransparency.VerificationResult$Failure$NoCertificates');
296
435
 
297
- // Bypass certificate transparency verification
298
- var certs = chain.connection().handshake().peerCertificates();
299
- if (certs.length === 0) {
300
- send('[SSL Pinning Bypass] Certificate transparency bypassed.');
301
- return failureNoCertificates;
302
- }
436
+ // Create instances of the desired VerificationResult classes
437
+ var success = VerificationResultSuccessInsecureConnection.$new(host);
438
+ var failureNoCertificates = VerificationResultFailureNoCertificates.$new();
303
439
 
304
- try {
305
- // Proceed with the original request
306
- return chain.proceed(request);
307
- } catch (e) {
308
- // Catch SSLPeerUnverifiedException and return intercepted response
309
- if (e.toString().includes('SSLPeerUnverifiedException')) {
310
- send('[SSL Pinning Bypass] Certificate transparency failed.');
440
+ // Bypass certificate transparency verification
441
+ var certs = chain.connection().handshake().peerCertificates();
442
+ if (certs.length === 0) {
443
+ send('[SSL Pinning Bypass] Certificate transparency bypassed.');
311
444
  return failureNoCertificates;
312
- }
313
- throw e;
314
- }
315
- };
445
+ }
316
446
 
317
- OkHttpClientBuilder.build.implementation = function () {
318
- // Intercept the OkHttpClient creation
319
- var client = this.build();
320
- return client;
321
- };
447
+ try {
448
+ // Proceed with the original request
449
+ return chain.proceed(request);
450
+ } catch (e) {
451
+ // Catch SSLPeerUnverifiedException and return intercepted response
452
+ if (e.toString().includes('SSLPeerUnverifiedException')) {
453
+ send('[SSL Pinning Bypass] Certificate transparency failed.');
454
+ return failureNoCertificates;
455
+ }
456
+ throw e;
457
+ }
458
+ };
459
+ } catch (err) {
460
+ send('[SSL Pinning Bypass] CertificateTransparencyInterceptor not found');
461
+ }
322
462
  }
@@ -11,6 +11,19 @@ function bytes2hex(array) {
11
11
  function jhexdump(array) {
12
12
  var ptr = Memory.alloc(array.length);
13
13
  for (var i = 0; i < array.length; ++i)
14
- Memory.writeS8(ptr.add(i), array[i]);
14
+ ptr.add(i).writeS8(array[i]);
15
15
  send(hexdump(ptr, { offset: 0, length: array.length, header: false, ansi: false }));
16
- }
16
+ }
17
+
18
+ // Helper functions for converting array to C char array pointer
19
+ // Source: https://github.com/interference-security/frida-scripts
20
+
21
+ function arrayToC(array) {
22
+ var cPtr = Memory.alloc(array.length);
23
+ for (var i = 0; i < array.length; i++) {
24
+ cPtr.add(i).writeS8(array[i]);
25
+ }
26
+ return cPtr;
27
+ }
28
+
29
+ // Usage: arrayToC([65, 66, 67, 68, 0]); // "ABCD\0"
@@ -0,0 +1,48 @@
1
+ // https://github.com/iddoeldor/frida-snippets#reveal-native-methods
2
+ // Modified to support Frida 17.0.0+
3
+ // Hook JNI by address
4
+ // Hook native method by module name and method address and print arguments.
5
+ const moduleName = "libGLESv2.so";
6
+ const nativeFuncOffset = 0x1234; // Use `nm -D --demangle libGLESv2.so | grep Class::method` to get this offset
7
+
8
+ try {
9
+ Interceptor.attach(Module.getGlobalExportByName("dlopen"), {
10
+ onEnter(args) {
11
+ this.lib = args[0].readUtf8String();
12
+ send("[dlopen] called with: " + this.lib);
13
+ },
14
+ onLeave(retval) {
15
+ if (!this.lib || !this.lib.endsWith(moduleName)) return;
16
+
17
+ send("[dlopen] loaded target module: " + this.lib + " => " + retval);
18
+
19
+ try {
20
+ const module = Process.getModuleByName(moduleName);
21
+ const hookAddress = module.base.add(nativeFuncOffset);
22
+
23
+ send("[+] Hooking native method at " + hookAddress + " (" + moduleName + "+0x" + nativeFuncOffset.toString(16) + ")");
24
+
25
+ Interceptor.attach(hookAddress, {
26
+ onEnter(args) {
27
+ try {
28
+ send("[-] Hook invoked");
29
+ send(JSON.stringify({
30
+ a1: args[1].toInt32(),
31
+ a2: args[2] && args[2].readPointer() ? args[2].readPointer().readUtf8String() : null,
32
+ a3: Boolean(args[3].toInt32())
33
+ }, null, 2));
34
+ } catch (err) {
35
+ send("[!] Error reading arguments: " + err);
36
+ }
37
+ }
38
+ });
39
+
40
+ } catch (e) {
41
+ send("[!] Error hooking " + moduleName + ": " + e);
42
+ }
43
+ }
44
+ });
45
+
46
+ } catch (e) {
47
+ send("[!] Error hooking dlopen: " + e);
48
+ }
@@ -0,0 +1,51 @@
1
+ /*
2
+ * raptor_frida_android_*.js - Frida snippets for Android
3
+ * Copyright (c) 2017 Marco Ivaldi <raptor@0xdeadbeef.info>
4
+ * Modified to support Frida 17.0.0+
5
+ */
6
+ Java.perform(function () {
7
+ try {
8
+ // Get the libc module and the 'open' function export
9
+ const libc = Process.getModuleByName("libc.so");
10
+ const openPtr = libc.getExportByName("open");
11
+
12
+ // Attach interceptor to libc open()
13
+ Interceptor.attach(openPtr, {
14
+ onEnter: function (args) {
15
+ this.flag = false;
16
+
17
+ try {
18
+ // Read filename argument safely
19
+ const filename = args[0].readCString();
20
+
21
+ // Uncomment and adjust filtering logic as needed
22
+ // if (filename.indexOf("XYZ") === -1 && filename.indexOf("ZYX") === -1) return;
23
+ // if (filename.indexOf("my.interesting.file") !== -1)
24
+
25
+ this.flag = true;
26
+
27
+ if (this.flag) {
28
+ send("\n[open] file name: " + filename);
29
+
30
+ // Print backtrace
31
+ const backtrace = Thread.backtrace(this.context, Backtracer.ACCURATE)
32
+ .map(DebugSymbol.fromAddress)
33
+ .join("\n");
34
+ send("\nBacktrace:\n" + backtrace);
35
+ }
36
+ } catch (e) {
37
+ send("[!] Error in onEnter: " + e);
38
+ }
39
+ },
40
+ onLeave: function (retval) {
41
+ if (this.flag) {
42
+ send("[open] retval: " + retval);
43
+ }
44
+ }
45
+ });
46
+
47
+ send("[✔] Hook installed on libc open()");
48
+ } catch (e) {
49
+ send("[✘] Error hooking libc open: " + e);
50
+ }
51
+ });