mobsf 4.3.2__tar.gz → 4.4.0__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.0}/PKG-INFO +5 -3
  2. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/default/debugger_check_bypass.js +19 -15
  3. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/default/root_bypass.js +40 -30
  4. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/default/ssl_pinning_bypass.js +180 -40
  5. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-convert.js +15 -2
  6. mobsf-4.4.0/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-jni-hook-by-address.js +48 -0
  7. mobsf-4.4.0/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-trace-jni.js +51 -0
  8. mobsf-4.4.0/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/hook-logging.js +120 -0
  9. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/stop-app-terminate.js +27 -15
  10. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/trace-file.js +43 -44
  11. mobsf-4.4.0/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/find-app-classes-methods.js +54 -0
  12. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/find-app-classes.js +9 -7
  13. mobsf-4.4.0/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/find-specific-method.js +55 -0
  14. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/get-methods.js +10 -8
  15. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/search-class-pattern.js +24 -22
  16. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/default/jailbreak_bypass.js +8 -5
  17. mobsf-4.4.0/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/crypto.js +167 -0
  18. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/data-dir.js +2 -2
  19. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/keychain.js +13 -6
  20. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/nslog.js +19 -20
  21. mobsf-4.4.0/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/sqlite.js +26 -0
  22. mobsf-4.4.0/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-ios10.js +23 -0
  23. mobsf-4.4.0/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-ios11.js +24 -0
  24. mobsf-4.4.0/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-ios12.js +58 -0
  25. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-ios13.js +6 -3
  26. mobsf-4.4.0/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-replace-exported-method.js +40 -0
  27. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/ui-enable-webinspector.js +5 -4
  28. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/ui-view-trace.js +1 -1
  29. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/android/frida_core.py +21 -1
  30. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/android/tests_frida.py +1 -1
  31. mobsf-4.4.0/mobsf/DynamicAnalyzer/views/common/__init__.py +1 -0
  32. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/common/device.py +1 -2
  33. mobsf-4.4.0/mobsf/DynamicAnalyzer/views/common/frida/__init__.py +11 -0
  34. mobsf-4.4.0/mobsf/DynamicAnalyzer/views/common/frida/bridge_loader.py +122 -0
  35. mobsf-4.3.2/mobsf/DynamicAnalyzer/views/common/frida.py → mobsf-4.4.0/mobsf/DynamicAnalyzer/views/common/frida/views.py +15 -27
  36. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/ios/frida_core.py +21 -2
  37. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/ios/tests_frida.py +1 -1
  38. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/forms.py +1 -1
  39. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/init.py +6 -6
  40. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/security.py +38 -2
  41. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/settings.py +7 -2
  42. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/tools_download.py +70 -2
  43. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/urls.py +5 -7
  44. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/utils.py +35 -6
  45. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/views/api/api_android_dynamic_analysis.py +4 -6
  46. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/views/home.py +24 -7
  47. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/forms.py +6 -4
  48. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/apk.py +2 -2
  49. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/icon_analysis.py +0 -1
  50. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/kb/android_manifest_desc.py +2 -2
  51. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/playstore.py +13 -0
  52. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/views/view_source.py +1 -1
  53. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/xapk.py +3 -3
  54. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/common/shared_func.py +38 -2
  55. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/binary_analysis.py +14 -11
  56. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/views/view_source.py +1 -1
  57. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/dynamic_analysis/android/dynamic_analyzer.html +42 -28
  58. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/dynamic_analysis/ios/dynamic_analyzer.html +19 -4
  59. {mobsf-4.3.2 → mobsf-4.4.0}/pyproject.toml +5 -3
  60. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-jni-hook-by-address.js +0 -28
  61. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-trace-jni.js +0 -42
  62. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/hook-logging.js +0 -85
  63. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/find-app-classes-methods.js +0 -52
  64. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/find-specific-method.js +0 -53
  65. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/crypto.js +0 -282
  66. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/sqlite.js +0 -23
  67. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-ios10.js +0 -18
  68. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-ios11.js +0 -19
  69. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-ios12.js +0 -51
  70. mobsf-4.3.2/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-replace-exported-method.js +0 -24
  71. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSE +0 -0
  72. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/AdminLTE_theme.txt +0 -0
  73. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/AntiEmulator.txt +0 -0
  74. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/FSecureLabs_frida_scripts.txt +0 -0
  75. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/IP2LOCATION LITE DATA.txt +0 -0
  76. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/Rootcloak.txt +0 -0
  77. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/ac-pm_tools.txt +0 -0
  78. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/androguard.txt +0 -0
  79. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/apkinspector.txt +0 -0
  80. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/apksigner.txt +0 -0
  81. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/backsmali.txt +0 -0
  82. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/class-dump-z.txt +0 -0
  83. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/droidmon.txt +0 -0
  84. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/exodus-core.txt +0 -0
  85. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/frida.txt +0 -0
  86. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/ios_binary_analysis_rules.txt +0 -0
  87. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/jadx.txt +0 -0
  88. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/maltrail_blacklist.txt +0 -0
  89. {mobsf-4.3.2 → mobsf-4.4.0}/LICENSES/vd2svg.txt +0 -0
  90. {mobsf-4.3.2 → mobsf-4.4.0}/README.md +0 -0
  91. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/__init__.py +0 -0
  92. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/admin.py +0 -0
  93. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/forms.py +0 -0
  94. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/models.py +0 -0
  95. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tests.py +0 -0
  96. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/__init__.py +0 -0
  97. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/apk_patcher.py +0 -0
  98. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/auxiliary/class_trace.js +0 -0
  99. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/auxiliary/get_loaded_classes.js +0 -0
  100. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/auxiliary/get_methods.js +0 -0
  101. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/auxiliary/search_class_pattern.js +0 -0
  102. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/auxiliary/string_catch.js +0 -0
  103. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/auxiliary/string_compare.js +0 -0
  104. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/default/api_monitor.js +0 -0
  105. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/default/dump_clipboard.js +0 -0
  106. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/app-environment.js +0 -0
  107. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/audit-webview.js +0 -0
  108. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/bypass-adb-detection.js +0 -0
  109. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/bypass-emulator-detection.js +0 -0
  110. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/bypass-react-native-emulator-detection.js +0 -0
  111. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/crypto-aes-key.js +0 -0
  112. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/crypto-dump-keystore.js +0 -0
  113. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/crypto-keyguard-credential-intent.js +0 -0
  114. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/crypto-trace-cipher.js +0 -0
  115. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/crypto-trace-keygenparameterspec.js +0 -0
  116. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/crypto-trace-keystore.js +0 -0
  117. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/crypto-trace-secretkeyfactory.js +0 -0
  118. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/default.js +0 -0
  119. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/detect-ssl-pinning.js +0 -0
  120. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/device-android-id.js +0 -0
  121. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/device-environment.js +0 -0
  122. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/dump-inputstream.js +0 -0
  123. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/dump-intent.js +0 -0
  124. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/dump-library-exports.js +0 -0
  125. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/dump-okhttp-calls.js +0 -0
  126. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-android-change-sdk-version.js +0 -0
  127. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-android-spoof-gps.js +0 -0
  128. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-bypass-method.js +0 -0
  129. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-early-java.js +0 -0
  130. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/helper-heap-search.js +0 -0
  131. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/hook-billing.js +0 -0
  132. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/hook-constructor.js +0 -0
  133. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/hook-java-reflection.js +0 -0
  134. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/hook-json.js +0 -0
  135. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/ssl-bypass-flutter.js +0 -0
  136. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/ssl-pinning-bypass.js +0 -0
  137. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/trace-bluetooth.js +0 -0
  138. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/trace-intent.js +0 -0
  139. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/trace-javascript-interface.js +0 -0
  140. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/trace-shared-preference.js +0 -0
  141. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/ui-deeplink-trace.js +0 -0
  142. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/ui-fingerprint-bypass-via-exception-handling.js +0 -0
  143. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/ui-fingerprint-bypass.js +0 -0
  144. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/ui-flag-secure-bypass.js +0 -0
  145. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/others/ui-webview-enable-debugging.js +0 -0
  146. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/android/rpc/get-hooks.js +0 -0
  147. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/class-trace.js +0 -0
  148. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/string-capture.js +0 -0
  149. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/auxiliary/string-compare.js +0 -0
  150. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/cookies.js +0 -0
  151. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/file-access.js +0 -0
  152. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/json.js +0 -0
  153. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/network.js +0 -0
  154. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/nsurlcredentialstorage.js +0 -0
  155. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/nsuserdefaults.js +0 -0
  156. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/pasteboard.js +0 -0
  157. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/dump/text-inputs.js +0 -0
  158. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/app-environment.js +0 -0
  159. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-flutter.js +0 -0
  160. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/bypass-ssl-trustkit.js +0 -0
  161. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/check-keyboard-cache.js +0 -0
  162. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/check-keyboard-thridparty.js +0 -0
  163. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/device-environment.js +0 -0
  164. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/dump-ios-url-scheme.js +0 -0
  165. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/find-all-classes-methods.js +0 -0
  166. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/find-all-classes.js +0 -0
  167. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/flutter-trace-function.js +0 -0
  168. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/get-exports.js +0 -0
  169. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/get-modules.js +0 -0
  170. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-backtrace.js +0 -0
  171. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-get-memory-address-of-class.js +0 -0
  172. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-ios-change-system-version.js +0 -0
  173. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-ios-spoof-gps.js +0 -0
  174. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-memory-hex-dump.js +0 -0
  175. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-method-hooking.js +0 -0
  176. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-read-plist-file.js +0 -0
  177. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-show-modify-function-arguments.js +0 -0
  178. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-show-modify-method-return-value.js +0 -0
  179. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-ssh-commands.js +0 -0
  180. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-view-and-modify-method-registers.js +0 -0
  181. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/helper-view-method-arguments.js +0 -0
  182. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/trace-bluetooth.js +0 -0
  183. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/ui-ios-alert.js +0 -0
  184. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/ui-ios-biometric-bypass.js +0 -0
  185. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/ui-send-url-scheme.js +0 -0
  186. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/ui-trace.js +0 -0
  187. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/others/ui-webview-trace.js +0 -0
  188. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/frida_scripts/ios/rpc/get-app-container.js +0 -0
  189. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/ClipDump.apk +0 -0
  190. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/Xposed.apk +0 -0
  191. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/XposedInstaller_3.1.5.apk +0 -0
  192. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/AndroidBluePill.apk +0 -0
  193. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/Droidmon.apk +0 -0
  194. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/JustTrustMe.apk +0 -0
  195. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/com.devadvance.rootcloak2_v18_c43b61.apk +0 -0
  196. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/hooks.json +0 -0
  197. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/mobi.acpm.proxyon_v1_419b04.apk +0 -0
  198. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/mobi.acpm.sslunpinning_v2_37f44f.apk +0 -0
  199. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/tools/webproxy.py +0 -0
  200. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/__init__.py +0 -0
  201. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/android/__init__.py +0 -0
  202. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/android/analysis.py +0 -0
  203. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/android/dynamic_analyzer.py +0 -0
  204. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/android/environment.py +0 -0
  205. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/android/frida_scripts.py +0 -0
  206. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/android/frida_server_download.py +0 -0
  207. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/android/operations.py +0 -0
  208. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/android/report.py +0 -0
  209. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/android/tests_common.py +0 -0
  210. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/android/tests_tls.py +0 -0
  211. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/android/tests_xposed.py +0 -0
  212. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/common/shared.py +0 -0
  213. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/ios/analysis.py +0 -0
  214. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/ios/corellium_apis.py +0 -0
  215. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/ios/corellium_instance.py +0 -0
  216. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/ios/corellium_ssh.py +0 -0
  217. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/ios/dynamic_analyzer.py +0 -0
  218. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/ios/frida_auxiliary_scripts.py +0 -0
  219. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/DynamicAnalyzer/views/ios/report.py +0 -0
  220. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MalwareAnalyzer/__init__.py +0 -0
  221. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MalwareAnalyzer/admin.py +0 -0
  222. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MalwareAnalyzer/models.py +0 -0
  223. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MalwareAnalyzer/tests.py +0 -0
  224. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MalwareAnalyzer/views/MalwareDomainCheck.py +0 -0
  225. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MalwareAnalyzer/views/Trackers.py +0 -0
  226. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MalwareAnalyzer/views/VirusTotal.py +0 -0
  227. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MalwareAnalyzer/views/__init__.py +0 -0
  228. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MalwareAnalyzer/views/android/apkid.py +0 -0
  229. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MalwareAnalyzer/views/android/behaviour_analysis.py +0 -0
  230. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MalwareAnalyzer/views/android/permissions.py +0 -0
  231. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MalwareAnalyzer/views/android/rules/behaviour_rules.yaml +0 -0
  232. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/__init__.py +0 -0
  233. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/management/commands/clear_tasks.py +0 -0
  234. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/management/commands/create_roles.py +0 -0
  235. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/models.py +0 -0
  236. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/views/__init__.py +0 -0
  237. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/views/api/__init__.py +0 -0
  238. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/views/api/api_ios_dynamic_analysis.py +0 -0
  239. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/views/api/api_middleware.py +0 -0
  240. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/views/api/api_static_analysis.py +0 -0
  241. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/views/apk_downloader.py +0 -0
  242. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/views/authentication.py +0 -0
  243. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/views/authorization.py +0 -0
  244. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/views/helpers.py +0 -0
  245. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/views/saml2.py +0 -0
  246. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/views/scanning.py +0 -0
  247. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/MobSF/wsgi.py +0 -0
  248. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/__init__.py +0 -0
  249. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/admin.py +0 -0
  250. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/models.py +0 -0
  251. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tests.py +0 -0
  252. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/__init__.py +0 -0
  253. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/androguard4/apk.py +0 -0
  254. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/androguard4/apkinspector/extract.py +0 -0
  255. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/androguard4/apkinspector/headers.py +0 -0
  256. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/androguard4/apkinspector/helpers.py +0 -0
  257. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/androguard4/axml.py +0 -0
  258. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/androguard4/resources/public.py +0 -0
  259. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/androguard4/resources/public.xml +0 -0
  260. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/androguard4/types.py +0 -0
  261. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/androguard4/util.py +0 -0
  262. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/apksigner.jar +0 -0
  263. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/apktool_2.10.0.jar +0 -0
  264. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/baksmali-3.0.8-dev-fat.jar +0 -0
  265. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/bundletool-all-1.17.2.jar +0 -0
  266. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/ios/CgbiPngFix/CgbiPngFix.exe +0 -0
  267. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/ios/CgbiPngFix/CgbiPngFix_amd64 +0 -0
  268. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/ios/CgbiPngFix/CgbiPngFix_arm64 +0 -0
  269. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/ios/class-dump +0 -0
  270. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/ios/class-dump-swift +0 -0
  271. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/ios/jtool.ELF64 +0 -0
  272. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/strings.py +0 -0
  273. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/tools/vd2svg-0.4.4.jar +0 -0
  274. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/__init__.py +0 -0
  275. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/__init__.py +0 -0
  276. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/aapt.py +0 -0
  277. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/app.py +0 -0
  278. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/cert_analysis.py +0 -0
  279. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/code_analysis.py +0 -0
  280. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/converter.py +0 -0
  281. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/db_interaction.py +0 -0
  282. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/jar_aar.py +0 -0
  283. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/kb/dvm_permissions.py +0 -0
  284. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/manifest_analysis.py +0 -0
  285. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/manifest_utils.py +0 -0
  286. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/network_security.py +0 -0
  287. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/rules/android_apis.yaml +0 -0
  288. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/rules/android_niap.yaml +0 -0
  289. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/rules/android_permissions.yaml +0 -0
  290. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/rules/android_rules.yaml +0 -0
  291. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/sbom_analysis.py +0 -0
  292. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/so.py +0 -0
  293. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/static_analyzer.py +0 -0
  294. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/strings.py +0 -0
  295. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/views/find.py +0 -0
  296. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/views/manifest_view.py +0 -0
  297. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/android/views/source_tree.py +0 -0
  298. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/common/__init__.py +0 -0
  299. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/common/a.py +0 -0
  300. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/common/appsec.py +0 -0
  301. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/common/async_task.py +0 -0
  302. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/common/binary/elf.py +0 -0
  303. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/common/binary/lib_analysis.py +0 -0
  304. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/common/binary/macho.py +0 -0
  305. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/common/binary/strings.py +0 -0
  306. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/common/entropy.py +0 -0
  307. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/common/firebase.py +0 -0
  308. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/common/pdf.py +0 -0
  309. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/common/suppression.py +0 -0
  310. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/comparer.py +0 -0
  311. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/__init__.py +0 -0
  312. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/app_transport_security.py +0 -0
  313. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/appstore.py +0 -0
  314. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/binary_rule_matcher.py +0 -0
  315. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/classdump.py +0 -0
  316. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/code_analysis.py +0 -0
  317. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/db_interaction.py +0 -0
  318. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/dylib.py +0 -0
  319. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/file_analysis.py +0 -0
  320. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/icon_analysis.py +0 -0
  321. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/ipa.py +0 -0
  322. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/kb/permission_analysis.py +0 -0
  323. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/plist_analysis.py +0 -0
  324. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/rules/__init__.py +0 -0
  325. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/rules/ios_apis.yaml +0 -0
  326. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/rules/ipa_rules.py +0 -0
  327. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/rules/objective_c_rules.yaml +0 -0
  328. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/rules/swift_rules.yaml +0 -0
  329. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/static_analyzer.py +0 -0
  330. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/ios/strings.py +0 -0
  331. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/sast_engine.py +0 -0
  332. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/windows/__init__.py +0 -0
  333. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/windows/db_interaction.py +0 -0
  334. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/StaticAnalyzer/views/windows/windows.py +0 -0
  335. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/__init__.py +0 -0
  336. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/__main__.py +0 -0
  337. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/install/__init__.py +0 -0
  338. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/install/windows/__init__.py +0 -0
  339. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/install/windows/config.txt +0 -0
  340. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/install/windows/readme.md +0 -0
  341. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/install/windows/rpc_client.py +0 -0
  342. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/install/windows/setup.py +0 -0
  343. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/signatures/IP2LOCATION-LITE-DB5.IPV6.BIN +0 -0
  344. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/signatures/exodus_trackers +0 -0
  345. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/signatures/maltrail-malware-domains.txt +0 -0
  346. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/signatures/malwaredomainlist +0 -0
  347. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/dashboard/css/adminlte.min.css +0 -0
  348. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/dashboard/css/adminlte.min.css.map +0 -0
  349. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/dashboard/js/adminlte.min.js +0 -0
  350. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/dashboard/js/adminlte.min.js.map +0 -0
  351. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/bootstrap/bootstrap.bundle.min.js +0 -0
  352. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/bootstrap/bootstrap.bundle.min.js.map +0 -0
  353. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/datatables/jquery.dataTables.min.js +0 -0
  354. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/datatables-bs4/dataTables.bootstrap4.min.css +0 -0
  355. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/datatables-bs4/dataTables.bootstrap4.min.js +0 -0
  356. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/css/all.css +0 -0
  357. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/css/all.min.css +0 -0
  358. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/css/brands.css +0 -0
  359. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/css/brands.min.css +0 -0
  360. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/css/fontawesome.css +0 -0
  361. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/css/fontawesome.min.css +0 -0
  362. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/css/regular.css +0 -0
  363. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/css/regular.min.css +0 -0
  364. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/css/solid.css +0 -0
  365. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/css/solid.min.css +0 -0
  366. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/css/svg-with-js.css +0 -0
  367. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/css/svg-with-js.min.css +0 -0
  368. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/css/v4-shims.css +0 -0
  369. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/css/v4-shims.min.css +0 -0
  370. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.eot +0 -0
  371. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.svg +0 -0
  372. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.ttf +0 -0
  373. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.woff +0 -0
  374. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.woff2 +0 -0
  375. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.eot +0 -0
  376. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.svg +0 -0
  377. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.ttf +0 -0
  378. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.woff +0 -0
  379. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.woff2 +0 -0
  380. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.eot +0 -0
  381. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.svg +0 -0
  382. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.ttf +0 -0
  383. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.woff +0 -0
  384. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.woff2 +0 -0
  385. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/jquery-ui.min.js +0 -0
  386. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/jquery.min.js +0 -0
  387. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/overlayScrollbars/css/OverlayScrollbars.min.css +0 -0
  388. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js +0 -0
  389. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/sweetalert2/sweetalert2.min.css +0 -0
  390. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/adminlte/plugins/sweetalert2/sweetalert2.min.js +0 -0
  391. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/amcharts/animated.js +0 -0
  392. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/amcharts/core.js +0 -0
  393. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/amcharts/maps.js +0 -0
  394. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/amcharts/worldIndiaLow.js +0 -0
  395. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/chartjs/Chart.bundle.js +0 -0
  396. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/chartjs/chartjs-gauge.js +0 -0
  397. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/codemirror/codemirror.css +0 -0
  398. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/codemirror/codemirror.js +0 -0
  399. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/codemirror/javascript-lint.js +0 -0
  400. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/codemirror/javascript.js +0 -0
  401. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/codemirror/jshint.js +0 -0
  402. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/codemirror/lint.css +0 -0
  403. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/codemirror/lint.js +0 -0
  404. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/datatables/css/datatables.combined.min.css +0 -0
  405. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/datatables/js/datatables.combined.min.js +0 -0
  406. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/datatables/js/pdfmake.min.js +0 -0
  407. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/datatables/js/pdfmake.min.js.map +0 -0
  408. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/datatables/js/vfs_fonts.js +0 -0
  409. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/enlighterjs/enlighterjs.enlighter.min.css +0 -0
  410. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/enlighterjs/enlighterjs.min.css +0 -0
  411. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/enlighterjs/enlighterjs.min.js +0 -0
  412. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/fonts/Open_Sans/LICENSE.txt +0 -0
  413. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/fonts/Open_Sans/OpenSans-Regular.ttf +0 -0
  414. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/fonts/Oswald/OFL.txt +0 -0
  415. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/fonts/Oswald/Oswald-Regular.ttf +0 -0
  416. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/img/favicon.ico +0 -0
  417. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/img/loading.jpg +0 -0
  418. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/img/mobsf_icon.png +0 -0
  419. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/img/mobsf_logo.png +0 -0
  420. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/img/no_icon.png +0 -0
  421. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/jqueryknob/jquery.knob.min.js +0 -0
  422. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/jsTree/custom.css +0 -0
  423. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/jsTree/jstree.min.js +0 -0
  424. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/jsTree/themes/default/32px.png +0 -0
  425. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/jsTree/themes/default/40px.png +0 -0
  426. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/jsTree/themes/default/content_background.gif +0 -0
  427. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/jsTree/themes/default/dir.gif +0 -0
  428. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/jsTree/themes/default/file.png +0 -0
  429. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/jsTree/themes/default/style.min.css +0 -0
  430. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/jsTree/themes/default/throbber.gif +0 -0
  431. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/landing/css/home.css +0 -0
  432. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/others/css/devices.min.css +0 -0
  433. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/others/css/pdf_report.css +0 -0
  434. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/others/css/spinner.css +0 -0
  435. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/others/css/terminal.css +0 -0
  436. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/others/css/xcode.min.css +0 -0
  437. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/others/js/datatables_init.js +0 -0
  438. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/others/js/suppression.js +0 -0
  439. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/static/others/js/swipe.js +0 -0
  440. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/403.html +0 -0
  441. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/404.html +0 -0
  442. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/500.html +0 -0
  443. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/auth/change_password.html +0 -0
  444. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/auth/login.html +0 -0
  445. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/auth/register.html +0 -0
  446. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/auth/users.html +0 -0
  447. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/base/base_layout.html +0 -0
  448. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/base/list.html +0 -0
  449. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/base/list_href.html +0 -0
  450. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/base/nav.html +0 -0
  451. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/dynamic_analysis/android/dynamic_analysis.html +0 -0
  452. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/dynamic_analysis/android/dynamic_report.html +0 -0
  453. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/dynamic_analysis/android/frida_logs.html +0 -0
  454. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/dynamic_analysis/android/live_api.html +0 -0
  455. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/dynamic_analysis/android/logcat.html +0 -0
  456. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/dynamic_analysis/ios/dynamic_analysis.html +0 -0
  457. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/dynamic_analysis/ios/dynamic_report.html +0 -0
  458. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/dynamic_analysis/ios/system_logs.html +0 -0
  459. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/general/about.html +0 -0
  460. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/general/apidocs.html +0 -0
  461. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/general/donate.html +0 -0
  462. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/general/dynamic.html +0 -0
  463. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/general/error.html +0 -0
  464. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/general/home.html +0 -0
  465. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/general/recent.html +0 -0
  466. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/general/tasks.html +0 -0
  467. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/general/view.html +0 -0
  468. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/general/zip.html +0 -0
  469. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/pdf/android_report.html +0 -0
  470. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/pdf/ios_report.html +0 -0
  471. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/pdf/windows_report.html +0 -0
  472. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/static_analysis/android_binary_analysis.html +0 -0
  473. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/static_analysis/android_source_analysis.html +0 -0
  474. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/static_analysis/appsec_dashboard.html +0 -0
  475. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/static_analysis/compare.html +0 -0
  476. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/static_analysis/ios_binary_analysis.html +0 -0
  477. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/static_analysis/ios_source_analysis.html +0 -0
  478. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/static_analysis/source_tree.html +0 -0
  479. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/static_analysis/treeview_file.html +0 -0
  480. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/static_analysis/treeview_folder.html +0 -0
  481. {mobsf-4.3.2 → mobsf-4.4.0}/mobsf/templates/static_analysis/windows_binary_analysis.html +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mobsf
3
- Version: 4.3.2
3
+ Version: 4.4.0
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
@@ -23,6 +23,7 @@ Requires-Dist: apksigtool (>=0.1.0,<0.2.0)
23
23
  Requires-Dist: arpy (>=2.3.0)
24
24
  Requires-Dist: asn1crypto (>=1.4.0)
25
25
  Requires-Dist: bcrypt (==4.0.1)
26
+ Requires-Dist: bleach (>=6.2.0,<7.0.0)
26
27
  Requires-Dist: bs4 (>=0.0.1)
27
28
  Requires-Dist: colorlog (>=4.7.2)
28
29
  Requires-Dist: defusedxml (>=0.7.1,<0.8.0)
@@ -30,14 +31,15 @@ Requires-Dist: distro (>=1.5.0)
30
31
  Requires-Dist: django (>=3.1.5)
31
32
  Requires-Dist: django-q2 (>=1.7.4,<2.0.0)
32
33
  Requires-Dist: django-ratelimit (>=4.1.0,<5.0.0)
33
- Requires-Dist: frida (>=16.1.4)
34
+ Requires-Dist: frida (>=17.0.0)
35
+ Requires-Dist: frida-tools (>=14.3.0,<15.0.0)
34
36
  Requires-Dist: google-play-scraper (>=0.1.2)
35
37
  Requires-Dist: gunicorn (>=20.0.4) ; sys_platform != "win32"
36
38
  Requires-Dist: http-tools (>=5.0.0)
37
39
  Requires-Dist: ip2location (>=8.10.4,<9.0.0)
38
40
  Requires-Dist: libsast (>=3.1.6,<4.0.0)
39
41
  Requires-Dist: lief (>=0.15.1,<0.16.0)
40
- Requires-Dist: lxml (>=4.6.2)
42
+ Requires-Dist: lxml (==5.3.1)
41
43
  Requires-Dist: macholib (>=1.14)
42
44
  Requires-Dist: openstep-parser (>=2.0.1)
43
45
  Requires-Dist: packaging (>=24.2)
@@ -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
+ });