react-native-dev-guard 0.0.1
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.
- package/LICENSE +21 -0
- package/README.md +85 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.cmake/api/v1/reply/cache-v2-ca87e29d866016c47643.json +1287 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.cmake/api/v1/reply/cmakeFiles-v1-afc39e04c88d618b9499.json +182 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.cmake/api/v1/reply/codemodel-v2-004ad46f03b4d6b2acd6.json +59 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.cmake/api/v1/reply/index-2026-05-15T08-21-19-0083.json +92 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.cmake/api/v1/reply/target-devguard-Debug-8c0ebbb0cdb88d164b64.json +160 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.ninja_deps +0 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/.ninja_log +15 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeCache.txt +391 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/3.18.1-g262b901/CMakeCCompiler.cmake +77 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/3.18.1-g262b901/CMakeCXXCompiler.cmake +89 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/3.18.1-g262b901/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/3.18.1-g262b901/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/3.18.1-g262b901/CMakeSystem.cmake +15 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/CMakeOutput.log +236 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/devguard.dir/devguard-lib.cpp.o +0 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/CMakeFiles/rules.ninja +74 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/additional_project_files.txt +0 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/android_gradle_build.json +40 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/android_gradle_build_mini.json +27 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/build.ninja +154 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/build_file_index.txt +1 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/cmake_install.cmake +54 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/compile_commands.json +12 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/compile_commands.json.bin +0 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/configure_fingerprint.bin +29 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/metadata_generation_command.txt +19 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/prefab_config.json +4 -0
- package/android/.cxx/Debug/4s4f1av3/arm64-v8a/symbol_folder_index.txt +1 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.cmake/api/v1/reply/cache-v2-02400eb6fc4793fa6bf2.json +1287 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.cmake/api/v1/reply/cmakeFiles-v1-d0fc95efa84cbe47849a.json +379 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.cmake/api/v1/reply/codemodel-v2-a7a363de64e45a261589.json +59 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.cmake/api/v1/reply/index-2026-05-15T08-21-21-0243.json +92 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.cmake/api/v1/reply/target-devguard-Debug-53eeaa7145cf9770f3d7.json +160 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.ninja_deps +0 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/.ninja_log +10 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeCache.txt +391 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/3.18.1-g262b901/CMakeCCompiler.cmake +77 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/3.18.1-g262b901/CMakeCXXCompiler.cmake +89 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/3.18.1-g262b901/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/3.18.1-g262b901/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/3.18.1-g262b901/CMakeSystem.cmake +15 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/CMakeOutput.log +240 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/devguard.dir/devguard-lib.cpp.o +0 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/CMakeFiles/rules.ninja +74 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/additional_project_files.txt +0 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/android_gradle_build.json +40 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/android_gradle_build_mini.json +27 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/build.ninja +154 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/build_file_index.txt +1 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/cmake_install.cmake +54 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/compile_commands.json +12 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/compile_commands.json.bin +0 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/configure_fingerprint.bin +29 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/metadata_generation_command.txt +19 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/prefab_config.json +4 -0
- package/android/.cxx/Debug/4s4f1av3/armeabi-v7a/symbol_folder_index.txt +1 -0
- package/android/.cxx/Debug/4s4f1av3/hash_key.txt +26 -0
- package/android/.cxx/Debug/4s4f1av3/x86/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86/.cmake/api/v1/reply/cache-v2-ec883f5c922c646acf2d.json +1287 -0
- package/android/.cxx/Debug/4s4f1av3/x86/.cmake/api/v1/reply/cmakeFiles-v1-028bf03c3b9bd0e609c0.json +379 -0
- package/android/.cxx/Debug/4s4f1av3/x86/.cmake/api/v1/reply/codemodel-v2-6c0215a4bb6e3b0b5223.json +59 -0
- package/android/.cxx/Debug/4s4f1av3/x86/.cmake/api/v1/reply/index-2026-05-15T08-21-22-0722.json +92 -0
- package/android/.cxx/Debug/4s4f1av3/x86/.cmake/api/v1/reply/target-devguard-Debug-2139b18dc63b630666db.json +160 -0
- package/android/.cxx/Debug/4s4f1av3/x86/.ninja_deps +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86/.ninja_log +10 -0
- package/android/.cxx/Debug/4s4f1av3/x86/CMakeCache.txt +391 -0
- package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/3.18.1-g262b901/CMakeCCompiler.cmake +77 -0
- package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/3.18.1-g262b901/CMakeCXXCompiler.cmake +89 -0
- package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/3.18.1-g262b901/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/3.18.1-g262b901/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/3.18.1-g262b901/CMakeSystem.cmake +15 -0
- package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/CMakeOutput.log +230 -0
- package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/devguard.dir/devguard-lib.cpp.o +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86/CMakeFiles/rules.ninja +74 -0
- package/android/.cxx/Debug/4s4f1av3/x86/additional_project_files.txt +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86/android_gradle_build.json +40 -0
- package/android/.cxx/Debug/4s4f1av3/x86/android_gradle_build_mini.json +27 -0
- package/android/.cxx/Debug/4s4f1av3/x86/build.ninja +154 -0
- package/android/.cxx/Debug/4s4f1av3/x86/build_file_index.txt +1 -0
- package/android/.cxx/Debug/4s4f1av3/x86/cmake_install.cmake +54 -0
- package/android/.cxx/Debug/4s4f1av3/x86/compile_commands.json +12 -0
- package/android/.cxx/Debug/4s4f1av3/x86/compile_commands.json.bin +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86/configure_fingerprint.bin +29 -0
- package/android/.cxx/Debug/4s4f1av3/x86/metadata_generation_command.txt +19 -0
- package/android/.cxx/Debug/4s4f1av3/x86/prefab_config.json +4 -0
- package/android/.cxx/Debug/4s4f1av3/x86/symbol_folder_index.txt +1 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/.cmake/api/v1/query/client-agp/cache-v2 +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/.cmake/api/v1/query/client-agp/cmakeFiles-v1 +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/.cmake/api/v1/query/client-agp/codemodel-v2 +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/.cmake/api/v1/reply/cache-v2-7ec870c116aeb770686e.json +1287 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/.cmake/api/v1/reply/cmakeFiles-v1-f2e6a276d8adf420c6b9.json +379 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/.cmake/api/v1/reply/codemodel-v2-a4f2c2fefb1e4261b2d6.json +59 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/.cmake/api/v1/reply/index-2026-05-15T08-21-24-0187.json +92 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/.cmake/api/v1/reply/target-devguard-Debug-077cad881ac8d6864f8f.json +160 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/.ninja_deps +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/.ninja_log +10 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeCache.txt +391 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/3.18.1-g262b901/CMakeCCompiler.cmake +77 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/3.18.1-g262b901/CMakeCXXCompiler.cmake +89 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/3.18.1-g262b901/CMakeDetermineCompilerABI_C.bin +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/3.18.1-g262b901/CMakeDetermineCompilerABI_CXX.bin +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/3.18.1-g262b901/CMakeSystem.cmake +15 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/CMakeOutput.log +230 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/TargetDirectories.txt +3 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/cmake.check_cache +1 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/devguard.dir/devguard-lib.cpp.o +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/CMakeFiles/rules.ninja +74 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/additional_project_files.txt +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/android_gradle_build.json +40 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/android_gradle_build_mini.json +27 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/build.ninja +154 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/build_file_index.txt +1 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/cmake_install.cmake +54 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/compile_commands.json +12 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/compile_commands.json.bin +0 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/configure_fingerprint.bin +29 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/metadata_generation_command.txt +19 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/prefab_config.json +4 -0
- package/android/.cxx/Debug/4s4f1av3/x86_64/symbol_folder_index.txt +1 -0
- package/android/.cxx/tools/debug/arm64-v8a/compile_commands.json +12 -0
- package/android/.cxx/tools/debug/armeabi-v7a/compile_commands.json +12 -0
- package/android/.cxx/tools/debug/x86/compile_commands.json +12 -0
- package/android/.cxx/tools/debug/x86_64/compile_commands.json +12 -0
- package/android/.gradle/8.9/checksums/checksums.lock +0 -0
- package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.9/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/build/.transforms/07ab8b2284230b9b98454cb3baa5db54/results.bin +1 -0
- package/android/build/.transforms/07ab8b2284230b9b98454cb3baa5db54/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/devguard/BuildConfig.dex +0 -0
- package/android/build/.transforms/07ab8b2284230b9b98454cb3baa5db54/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/devguard/DevGuardModule.dex +0 -0
- package/android/build/.transforms/07ab8b2284230b9b98454cb3baa5db54/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/devguard/DevGuardPackage.dex +0 -0
- package/android/build/.transforms/07ab8b2284230b9b98454cb3baa5db54/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
- package/android/build/.transforms/ae351402e6cba75b162136aa850e1ba2/results.bin +1 -0
- package/android/build/.transforms/ae351402e6cba75b162136aa850e1ba2/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/generated/source/buildConfig/debug/com/devguard/BuildConfig.java +10 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +9 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
- package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
- package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/build_command_devguard +4 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/build_model.json +187 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/build_stderr_devguard.txt +0 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/build_stdout_devguard.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/generate_cxx_metadata_111_timing.txt +3 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/generate_cxx_metadata_1463_timing.txt +3 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/generate_cxx_metadata_324_timing.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/generate_cxx_metadata_475_timing.txt +3 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/generate_cxx_metadata_622_timing.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/arm64-v8a/metadata_generation_record.json +41 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/build_command_devguard +4 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/build_model.json +187 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/build_stderr_devguard.txt +0 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/build_stdout_devguard.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/generate_cxx_metadata_111_timing.txt +3 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/generate_cxx_metadata_1459_timing.txt +3 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/generate_cxx_metadata_324_timing.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/generate_cxx_metadata_475_timing.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/generate_cxx_metadata_622_timing.txt +3 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/armeabi-v7a/metadata_generation_record.json +41 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/build_command_devguard +4 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/build_model.json +187 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/build_stderr_devguard.txt +0 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/build_stdout_devguard.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/generate_cxx_metadata_111_timing.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/generate_cxx_metadata_1459_timing.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/generate_cxx_metadata_324_timing.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/generate_cxx_metadata_475_timing.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/generate_cxx_metadata_622_timing.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86/metadata_generation_record.json +41 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/build_command_devguard +4 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/build_model.json +187 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/build_stderr_devguard.txt +0 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/build_stdout_devguard.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/generate_cxx_metadata_111_timing.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/generate_cxx_metadata_1459_timing.txt +3 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/generate_cxx_metadata_324_timing.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/generate_cxx_metadata_475_timing.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/generate_cxx_metadata_622_timing.txt +2 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/logs/x86_64/metadata_generation_record.json +41 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/obj/arm64-v8a/libdevguard.so +0 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/obj/armeabi-v7a/libdevguard.so +0 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/obj/x86/libdevguard.so +0 -0
- package/android/build/intermediates/cxx/Debug/4s4f1av3/obj/x86_64/libdevguard.so +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
- package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
- package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-dev-guard_debug.kotlin_module +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/devguard/BuildConfig.class +0 -0
- package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/arm64-v8a/libdevguard.so +0 -0
- package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/armeabi-v7a/libdevguard.so +0 -0
- package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/x86/libdevguard.so +0 -0
- package/android/build/intermediates/library_jni/debug/copyDebugJniLibsProjectOnly/jni/x86_64/libdevguard.so +0 -0
- package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
- package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +11 -0
- package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +9 -0
- package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/arm64-v8a/libdevguard.so +0 -0
- package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/armeabi-v7a/libdevguard.so +0 -0
- package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/x86/libdevguard.so +0 -0
- package/android/build/intermediates/merged_native_libs/debug/mergeDebugNativeLibs/out/lib/x86_64/libdevguard.so +0 -0
- package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
- package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-native-dev-guard_debug.kotlin_module +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/devguard/BuildConfig.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/devguard/DevGuardModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/devguard/DevGuardPackage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +21 -0
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-dev-guard_debug.kotlin_module +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/devguard/DevGuardModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/devguard/DevGuardPackage.class +0 -0
- package/android/build.gradle +47 -0
- package/android/src/main/AndroidManifest.xml +6 -0
- package/android/src/main/cpp/CMakeLists.txt +25 -0
- package/android/src/main/cpp/devguard-lib.cpp +38 -0
- package/android/src/main/java/com/devguard/DevGuardModule.kt +40 -0
- package/android/src/main/java/com/devguard/DevGuardPackage.kt +16 -0
- package/cpp/devguard_core.c +239 -0
- package/cpp/devguard_core.h +35 -0
- package/ios/DevGuard.h +4 -0
- package/ios/DevGuard.mm +44 -0
- package/lib/components/ContactButton.d.ts +9 -0
- package/lib/components/ContactButton.js +31 -0
- package/lib/components/DiagnosticOverlay.d.ts +9 -0
- package/lib/components/DiagnosticOverlay.js +77 -0
- package/lib/components/LockScreen.d.ts +13 -0
- package/lib/components/LockScreen.js +201 -0
- package/lib/components/SecurityToast.d.ts +7 -0
- package/lib/components/SecurityToast.js +92 -0
- package/lib/index.d.ts +52 -0
- package/lib/index.js +410 -0
- package/lib/services/CacheService.d.ts +10 -0
- package/lib/services/CacheService.js +109 -0
- package/lib/services/DevGuardLogger.d.ts +20 -0
- package/lib/services/DevGuardLogger.js +88 -0
- package/lib/services/DeviceTokenService.d.ts +27 -0
- package/lib/services/DeviceTokenService.js +135 -0
- package/lib/services/GuardEnforcement.d.ts +19 -0
- package/lib/services/GuardEnforcement.js +32 -0
- package/lib/services/HardwareService.d.ts +19 -0
- package/lib/services/HardwareService.js +222 -0
- package/lib/services/RemoteWipeService.d.ts +20 -0
- package/lib/services/RemoteWipeService.js +45 -0
- package/lib/services/UsageLogger.d.ts +17 -0
- package/lib/services/UsageLogger.js +52 -0
- package/package.json +63 -0
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
#include "devguard_core.h"
|
|
2
|
+
#include <string.h>
|
|
3
|
+
#include <stdio.h>
|
|
4
|
+
|
|
5
|
+
// --- SHA256 Implementation ---
|
|
6
|
+
#define SHA256_BLOCK_SIZE 64
|
|
7
|
+
|
|
8
|
+
typedef struct {
|
|
9
|
+
uint8_t data[64];
|
|
10
|
+
uint32_t datalen;
|
|
11
|
+
unsigned long long bitlen;
|
|
12
|
+
uint32_t state[8];
|
|
13
|
+
} SHA256_CTX;
|
|
14
|
+
|
|
15
|
+
#define ROTLEFT(a,b) (((a) << (b)) | ((a) >> (32-(b))))
|
|
16
|
+
#define ROTRIGHT(a,b) (((a) >> (b)) | ((a) << (32-(b))))
|
|
17
|
+
#define CH(x,y,z) (((x) & (y)) ^ (~(x) & (z)))
|
|
18
|
+
#define MAJ(x,y,z) (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z)))
|
|
19
|
+
#define EP0(x) (ROTRIGHT(x,2) ^ ROTRIGHT(x,13) ^ ROTRIGHT(x,22))
|
|
20
|
+
#define EP1(x) (ROTRIGHT(x,6) ^ ROTRIGHT(x,11) ^ ROTRIGHT(x,25))
|
|
21
|
+
#define SIG0(x) (ROTRIGHT(x,7) ^ ROTRIGHT(x,18) ^ ((x) >> 3))
|
|
22
|
+
#define SIG1(x) (ROTRIGHT(x,17) ^ ROTRIGHT(x,19) ^ ((x) >> 10))
|
|
23
|
+
|
|
24
|
+
static const uint32_t k[64] = {
|
|
25
|
+
0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,
|
|
26
|
+
0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,
|
|
27
|
+
0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,
|
|
28
|
+
0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967,
|
|
29
|
+
0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,
|
|
30
|
+
0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,
|
|
31
|
+
0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,
|
|
32
|
+
0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
static void sha256_transform(SHA256_CTX *ctx, const uint8_t data[]) {
|
|
36
|
+
uint32_t a, b, c, d, e, f, g, h, i, j, t1, t2, m[64];
|
|
37
|
+
for (i = 0, j = 0; i < 16; ++i, j += 4)
|
|
38
|
+
m[i] = (data[j] << 24) | (data[j + 1] << 16) | (data[j + 2] << 8) | (data[j + 3]);
|
|
39
|
+
for ( ; i < 64; ++i)
|
|
40
|
+
m[i] = SIG1(m[i - 2]) + m[i - 7] + SIG0(m[i - 15]) + m[i - 16];
|
|
41
|
+
a = ctx->state[0]; b = ctx->state[1]; c = ctx->state[2]; d = ctx->state[3];
|
|
42
|
+
e = ctx->state[4]; f = ctx->state[5]; g = ctx->state[6]; h = ctx->state[7];
|
|
43
|
+
for (i = 0; i < 64; ++i) {
|
|
44
|
+
t1 = h + EP1(e) + CH(e,f,g) + k[i] + m[i];
|
|
45
|
+
t2 = EP0(a) + MAJ(a,b,c);
|
|
46
|
+
h = g; g = f; f = e; e = d + t1;
|
|
47
|
+
d = c; c = b; b = a; a = t1 + t2;
|
|
48
|
+
}
|
|
49
|
+
ctx->state[0] += a; ctx->state[1] += b; ctx->state[2] += c; ctx->state[3] += d;
|
|
50
|
+
ctx->state[4] += e; ctx->state[5] += f; ctx->state[6] += g; ctx->state[7] += h;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
static void sha256_init(SHA256_CTX *ctx) {
|
|
54
|
+
ctx->datalen = 0;
|
|
55
|
+
ctx->bitlen = 0;
|
|
56
|
+
ctx->state[0] = 0x6a09e667; ctx->state[1] = 0xbb67ae85;
|
|
57
|
+
ctx->state[2] = 0x3c6ef372; ctx->state[3] = 0xa54ff53a;
|
|
58
|
+
ctx->state[4] = 0x510e527f; ctx->state[5] = 0x9b05688c;
|
|
59
|
+
ctx->state[6] = 0x1f83d9ab; ctx->state[7] = 0x5be0cd19;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
static void sha256_update(SHA256_CTX *ctx, const uint8_t data[], size_t len) {
|
|
63
|
+
uint32_t i;
|
|
64
|
+
for (i = 0; i < len; ++i) {
|
|
65
|
+
ctx->data[ctx->datalen] = data[i];
|
|
66
|
+
ctx->datalen++;
|
|
67
|
+
if (ctx->datalen == 64) {
|
|
68
|
+
sha256_transform(ctx, ctx->data);
|
|
69
|
+
ctx->bitlen += 512;
|
|
70
|
+
ctx->datalen = 0;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
static void sha256_final(SHA256_CTX *ctx, uint8_t hash[]) {
|
|
76
|
+
uint32_t i;
|
|
77
|
+
i = ctx->datalen;
|
|
78
|
+
if (ctx->datalen < 56) {
|
|
79
|
+
ctx->data[i++] = 0x80;
|
|
80
|
+
while (i < 56) ctx->data[i++] = 0x00;
|
|
81
|
+
} else {
|
|
82
|
+
ctx->data[i++] = 0x80;
|
|
83
|
+
while (i < 64) ctx->data[i++] = 0x00;
|
|
84
|
+
sha256_transform(ctx, ctx->data);
|
|
85
|
+
memset(ctx->data, 0, 56);
|
|
86
|
+
}
|
|
87
|
+
ctx->bitlen += ctx->datalen * 8;
|
|
88
|
+
ctx->data[63] = ctx->bitlen; ctx->data[62] = ctx->bitlen >> 8;
|
|
89
|
+
ctx->data[61] = ctx->bitlen >> 16; ctx->data[60] = ctx->bitlen >> 24;
|
|
90
|
+
ctx->data[59] = ctx->bitlen >> 32; ctx->data[58] = ctx->bitlen >> 40;
|
|
91
|
+
ctx->data[57] = ctx->bitlen >> 48; ctx->data[56] = ctx->bitlen >> 56;
|
|
92
|
+
sha256_transform(ctx, ctx->data);
|
|
93
|
+
for (i = 0; i < 4; ++i) {
|
|
94
|
+
hash[i] = (ctx->state[0] >> (24 - i * 8)) & 0x000000ff;
|
|
95
|
+
hash[i + 4] = (ctx->state[1] >> (24 - i * 8)) & 0x000000ff;
|
|
96
|
+
hash[i + 8] = (ctx->state[2] >> (24 - i * 8)) & 0x000000ff;
|
|
97
|
+
hash[i + 12] = (ctx->state[3] >> (24 - i * 8)) & 0x000000ff;
|
|
98
|
+
hash[i + 16] = (ctx->state[4] >> (24 - i * 8)) & 0x000000ff;
|
|
99
|
+
hash[i + 20] = (ctx->state[5] >> (24 - i * 8)) & 0x000000ff;
|
|
100
|
+
hash[i + 24] = (ctx->state[6] >> (24 - i * 8)) & 0x000000ff;
|
|
101
|
+
hash[i + 28] = (ctx->state[7] >> (24 - i * 8)) & 0x000000ff;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// --- HMAC-SHA256 Implementation ---
|
|
106
|
+
static void hmac_sha256(const uint8_t *key, size_t keylen, const uint8_t *data, size_t datalen, uint8_t *mac) {
|
|
107
|
+
SHA256_CTX ctx;
|
|
108
|
+
uint8_t k_ipad[64];
|
|
109
|
+
uint8_t k_opad[64];
|
|
110
|
+
uint8_t tk[32];
|
|
111
|
+
int i;
|
|
112
|
+
|
|
113
|
+
if (keylen > 64) {
|
|
114
|
+
sha256_init(&ctx);
|
|
115
|
+
sha256_update(&ctx, key, keylen);
|
|
116
|
+
sha256_final(&ctx, tk);
|
|
117
|
+
key = tk;
|
|
118
|
+
keylen = 32;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
memset(k_ipad, 0, sizeof(k_ipad));
|
|
122
|
+
memset(k_opad, 0, sizeof(k_opad));
|
|
123
|
+
memcpy(k_ipad, key, keylen);
|
|
124
|
+
memcpy(k_opad, key, keylen);
|
|
125
|
+
|
|
126
|
+
for (i = 0; i < 64; i++) {
|
|
127
|
+
k_ipad[i] ^= 0x36;
|
|
128
|
+
k_opad[i] ^= 0x5c;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
sha256_init(&ctx);
|
|
132
|
+
sha256_update(&ctx, k_ipad, 64);
|
|
133
|
+
sha256_update(&ctx, data, datalen);
|
|
134
|
+
sha256_final(&ctx, mac);
|
|
135
|
+
|
|
136
|
+
sha256_init(&ctx);
|
|
137
|
+
sha256_update(&ctx, k_opad, 64);
|
|
138
|
+
sha256_update(&ctx, mac, 32);
|
|
139
|
+
sha256_final(&ctx, mac);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// --- FFI Export ---
|
|
143
|
+
|
|
144
|
+
// Multi-layer key reconstruction: secret split into multiple segments,
|
|
145
|
+
// each XOR'd with a different binary mask. No plaintext strings in binary.
|
|
146
|
+
static void _reconstruct_key(char* out) {
|
|
147
|
+
// Segment 1 (8 bytes)
|
|
148
|
+
static const uint8_t _k1[] = {0xe7, 0x1a, 0x6d, 0xa5, 0xe1, 0x37, 0xaa, 0x58};
|
|
149
|
+
static const uint8_t _m1[] = {0xa3, 0x7f, 0x1b, 0xe2, 0x94, 0x56, 0xd8, 0x3c};
|
|
150
|
+
// Segment 2 (8 bytes)
|
|
151
|
+
static const uint8_t _k2[] = {0x02, 0x92, 0xef, 0x54, 0x83, 0x5c, 0xd0, 0x16};
|
|
152
|
+
static const uint8_t _m2[] = {0x5d, 0xc1, 0x8a, 0x37, 0xf6, 0x2e, 0xb5, 0x49};
|
|
153
|
+
// Segment 3 (8 bytes)
|
|
154
|
+
static const uint8_t _k3[] = {0x27, 0xd9, 0x12, 0xcc, 0x16, 0xda, 0x2f, 0xa0};
|
|
155
|
+
static const uint8_t _m3[] = {0x71, 0xe8, 0x4d, 0x9f, 0x63, 0xaa, 0x1c, 0xd2};
|
|
156
|
+
// Segment 4 (7 bytes) - Total 31 bytes so far
|
|
157
|
+
static const uint8_t _k4[] = {0xdb, 0x08, 0x97, 0x65, 0xfa, 0x1a, 0x80};
|
|
158
|
+
static const uint8_t _m4[] = {0x88, 0x3b, 0xf4, 0x17, 0xc9, 0x6e, 0xa1};
|
|
159
|
+
|
|
160
|
+
// NOTE: For 55-character secrets, add segments 5-7 here.
|
|
161
|
+
// Current fallback uses the 31-character master secret.
|
|
162
|
+
|
|
163
|
+
int pos = 0;
|
|
164
|
+
for (int i = 0; i < 8; i++) out[pos++] = (char)(_k1[i] ^ _m1[i]);
|
|
165
|
+
for (int i = 0; i < 8; i++) out[pos++] = (char)(_k2[i] ^ _m2[i]);
|
|
166
|
+
for (int i = 0; i < 8; i++) out[pos++] = (char)(_k3[i] ^ _m3[i]);
|
|
167
|
+
for (int i = 0; i < 7; i++) out[pos++] = (char)(_k4[i] ^ _m4[i]);
|
|
168
|
+
out[pos] = '\0';
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// Token scrambling uses a different multi-byte mask (not the HMAC key)
|
|
172
|
+
static void _token_scramble(const char* input, char* output, size_t len) {
|
|
173
|
+
// Binary-only mask for token XOR (16 bytes, no plaintext)
|
|
174
|
+
static const uint8_t TM[] = {
|
|
175
|
+
0xF1, 0x3A, 0xC7, 0x82, 0x5E, 0xD9, 0x44, 0xAB,
|
|
176
|
+
0x67, 0x1D, 0xB8, 0x93, 0x4F, 0xE6, 0x2C, 0x70
|
|
177
|
+
};
|
|
178
|
+
for (size_t i = 0; i < len; i++) {
|
|
179
|
+
output[i] = input[i] ^ TM[i % 16];
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
DEVGUARD_EXPORT void generate_signature(const char* project_id, long long timestamp, char* output) {
|
|
184
|
+
// Validate project_id length to prevent buffer truncation
|
|
185
|
+
size_t pid_len = strlen(project_id);
|
|
186
|
+
if (pid_len == 0 || pid_len > 200) {
|
|
187
|
+
output[0] = '\0';
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
char secret_key[64];
|
|
192
|
+
_reconstruct_key(secret_key);
|
|
193
|
+
|
|
194
|
+
char payload[512];
|
|
195
|
+
snprintf(payload, sizeof(payload), "%lld:%s", timestamp, project_id);
|
|
196
|
+
|
|
197
|
+
uint8_t mac[32];
|
|
198
|
+
hmac_sha256((const uint8_t*)secret_key, strlen(secret_key), (const uint8_t*)payload, strlen(payload), mac);
|
|
199
|
+
|
|
200
|
+
// Scrub key from stack immediately
|
|
201
|
+
memset(secret_key, 0, sizeof(secret_key));
|
|
202
|
+
|
|
203
|
+
for (int i = 0; i < 32; i++) {
|
|
204
|
+
sprintf(output + (i * 2), "%02x", mac[i]);
|
|
205
|
+
}
|
|
206
|
+
output[64] = '\0';
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
DEVGUARD_EXPORT int verify_response(const char* response_body, const char* signature) {
|
|
210
|
+
char secret_key[64];
|
|
211
|
+
_reconstruct_key(secret_key);
|
|
212
|
+
|
|
213
|
+
uint8_t mac[32];
|
|
214
|
+
hmac_sha256((const uint8_t*)secret_key, strlen(secret_key), (const uint8_t*)response_body, strlen(response_body), mac);
|
|
215
|
+
|
|
216
|
+
// Scrub key from stack immediately
|
|
217
|
+
memset(secret_key, 0, sizeof(secret_key));
|
|
218
|
+
|
|
219
|
+
char expected_sig[65];
|
|
220
|
+
for (int i = 0; i < 32; i++) {
|
|
221
|
+
sprintf(expected_sig + (i * 2), "%02x", mac[i]);
|
|
222
|
+
}
|
|
223
|
+
expected_sig[64] = '\0';
|
|
224
|
+
|
|
225
|
+
return strcmp(expected_sig, signature) == 0;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// Secure token scrambling for in-memory protection
|
|
229
|
+
DEVGUARD_EXPORT void secure_save_token(const char* token, char* output) {
|
|
230
|
+
size_t len = strlen(token);
|
|
231
|
+
_token_scramble(token, output, len);
|
|
232
|
+
output[len] = '\0';
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
DEVGUARD_EXPORT void secure_get_token(const char* scrambled, char* output) {
|
|
236
|
+
size_t len = strlen(scrambled);
|
|
237
|
+
_token_scramble(scrambled, output, len);
|
|
238
|
+
output[len] = '\0';
|
|
239
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#ifndef DEVGUARD_CORE_H
|
|
2
|
+
#define DEVGUARD_CORE_H
|
|
3
|
+
|
|
4
|
+
#include <stdint.h>
|
|
5
|
+
#include <stddef.h>
|
|
6
|
+
|
|
7
|
+
#if _WIN32
|
|
8
|
+
#define DEVGUARD_EXPORT __declspec(dllexport)
|
|
9
|
+
#else
|
|
10
|
+
#define DEVGUARD_EXPORT __attribute__((visibility("default"))) __attribute__((used))
|
|
11
|
+
#endif
|
|
12
|
+
|
|
13
|
+
#ifdef __cplusplus
|
|
14
|
+
extern "C" {
|
|
15
|
+
#endif
|
|
16
|
+
|
|
17
|
+
// Generates an HMAC-SHA256 signature for a given project ID and timestamp.
|
|
18
|
+
// The secret key is embedded inside the compiled binary.
|
|
19
|
+
// output must be a buffer of at least 65 bytes (64 hex characters + null terminator).
|
|
20
|
+
DEVGUARD_EXPORT void generate_signature(const char* project_id, long long timestamp, char* output);
|
|
21
|
+
|
|
22
|
+
// Verifies a server response signature against the response body.
|
|
23
|
+
// Returns 1 if valid, 0 if invalid.
|
|
24
|
+
DEVGUARD_EXPORT int verify_response(const char* response_body, const char* signature);
|
|
25
|
+
|
|
26
|
+
// Secure token scrambling for in-memory protection.
|
|
27
|
+
// output must be a buffer of at least the length of token + 1.
|
|
28
|
+
DEVGUARD_EXPORT void secure_save_token(const char* token, char* output);
|
|
29
|
+
DEVGUARD_EXPORT void secure_get_token(const char* scrambled, char* output);
|
|
30
|
+
|
|
31
|
+
#ifdef __cplusplus
|
|
32
|
+
}
|
|
33
|
+
#endif
|
|
34
|
+
|
|
35
|
+
#endif // DEVGUARD_CORE_H
|
package/ios/DevGuard.h
ADDED
package/ios/DevGuard.mm
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#import "DevGuard.h"
|
|
2
|
+
#import "../cpp/devguard_core.h"
|
|
3
|
+
|
|
4
|
+
@implementation DevGuard
|
|
5
|
+
|
|
6
|
+
RCT_EXPORT_MODULE()
|
|
7
|
+
|
|
8
|
+
RCT_EXPORT_METHOD(generateSignature:(NSString *)projectId
|
|
9
|
+
timestamp:(nonnull NSNumber *)timestamp
|
|
10
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
11
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
12
|
+
{
|
|
13
|
+
@try {
|
|
14
|
+
const char *project_id_c = [projectId UTF8String];
|
|
15
|
+
long long timestamp_val = [timestamp longLongValue];
|
|
16
|
+
|
|
17
|
+
char output[65];
|
|
18
|
+
generate_signature(project_id_c, timestamp_val, output);
|
|
19
|
+
|
|
20
|
+
NSString *result = [NSString stringWithUTF8String:output];
|
|
21
|
+
resolve(result);
|
|
22
|
+
} @catch (NSException *exception) {
|
|
23
|
+
reject(@"DEVGUARD_ERROR", @"Failed to generate signature", nil);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
RCT_EXPORT_METHOD(verifyResponse:(NSString *)responseBody
|
|
28
|
+
signature:(NSString *)signature
|
|
29
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
30
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
31
|
+
{
|
|
32
|
+
@try {
|
|
33
|
+
const char *response_body_c = [responseBody UTF8String];
|
|
34
|
+
const char *signature_c = [signature UTF8String];
|
|
35
|
+
|
|
36
|
+
int isValid = verify_response(response_body_c, signature_c);
|
|
37
|
+
|
|
38
|
+
resolve(@(isValid == 1));
|
|
39
|
+
} @catch (NSException *exception) {
|
|
40
|
+
reject(@"DEVGUARD_ERROR", @"Failed to verify response", nil);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContactButton = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_native_1 = require("react-native");
|
|
6
|
+
const ContactButton = ({ label, onPress, color, icon }) => {
|
|
7
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: [styles.button, { backgroundColor: color }], onPress: onPress, activeOpacity: 0.8, children: (0, jsx_runtime_1.jsxs)(react_native_1.Text, { style: styles.text, children: [icon ? `${icon} ` : '', label] }) }));
|
|
8
|
+
};
|
|
9
|
+
exports.ContactButton = ContactButton;
|
|
10
|
+
const styles = react_native_1.StyleSheet.create({
|
|
11
|
+
button: {
|
|
12
|
+
paddingVertical: 14,
|
|
13
|
+
paddingHorizontal: 24,
|
|
14
|
+
borderRadius: 16,
|
|
15
|
+
width: '100%',
|
|
16
|
+
alignItems: 'center',
|
|
17
|
+
justifyContent: 'center',
|
|
18
|
+
marginVertical: 6,
|
|
19
|
+
shadowColor: '#000',
|
|
20
|
+
shadowOffset: { width: 0, height: 4 },
|
|
21
|
+
shadowOpacity: 0.2,
|
|
22
|
+
shadowRadius: 8,
|
|
23
|
+
elevation: 4,
|
|
24
|
+
},
|
|
25
|
+
text: {
|
|
26
|
+
color: '#FFFFFF',
|
|
27
|
+
fontSize: 16,
|
|
28
|
+
fontWeight: '700',
|
|
29
|
+
letterSpacing: 0.5,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DiagnosticOverlay = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const react_native_1 = require("react-native");
|
|
10
|
+
const crypto_js_1 = __importDefault(require("crypto-js"));
|
|
11
|
+
const DevGuardLogger_1 = require("../services/DevGuardLogger");
|
|
12
|
+
const DiagnosticOverlay = ({ visible, onClose, response, projectId }) => {
|
|
13
|
+
const [passcode, setPasscode] = (0, react_1.useState)('');
|
|
14
|
+
const [isAuthorized, setIsAuthorized] = (0, react_1.useState)(false);
|
|
15
|
+
const [activeTab, setActiveTab] = (0, react_1.useState)('usage');
|
|
16
|
+
const handleUnlock = () => {
|
|
17
|
+
if (!response?.diagnosticPasscodeHash) {
|
|
18
|
+
react_native_1.Alert.alert('Configuration Missing', 'No Diagnostic Passcode is configured in the Control Center. Please set one to enable diagnostics.');
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const hashedInput = crypto_js_1.default.SHA256(passcode).toString();
|
|
22
|
+
if (hashedInput === response.diagnosticPasscodeHash) {
|
|
23
|
+
setIsAuthorized(true);
|
|
24
|
+
DevGuardLogger_1.DevGuardLogger.enableConsoleLogs();
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
react_native_1.Alert.alert('Access Denied', 'Invalid passcode.');
|
|
28
|
+
setPasscode('');
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const clearLogs = async () => {
|
|
32
|
+
await DevGuardLogger_1.DevGuardLogger.clearAll();
|
|
33
|
+
react_native_1.Alert.alert('Logs Cleared', 'All info and error logs have been cleared.');
|
|
34
|
+
};
|
|
35
|
+
const exportLogs = async () => {
|
|
36
|
+
const data = await DevGuardLogger_1.DevGuardLogger.exportErrors();
|
|
37
|
+
// In a real app, we would share this string or write it to a file.
|
|
38
|
+
// For now, we will print it to console (since they are in dev mode if they unlock).
|
|
39
|
+
console.log('Encrypted Error Vault Data:', data);
|
|
40
|
+
react_native_1.Alert.alert('Exported', 'Encrypted logs have been printed to the console.');
|
|
41
|
+
};
|
|
42
|
+
if (!visible)
|
|
43
|
+
return null;
|
|
44
|
+
return ((0, jsx_runtime_1.jsx)(react_native_1.Modal, { visible: visible, animationType: "slide", transparent: false, children: (0, jsx_runtime_1.jsxs)(react_native_1.SafeAreaView, { style: styles.container, children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.header, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.headerTitle, children: "DevGuard Diagnostics" }), (0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { onPress: onClose, style: styles.closeButton, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.closeText, children: "Close" }) })] }), !isAuthorized ? ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.lockContainer, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.lockTitle, children: "Diagnostic Vault" }), (!response?.diagnosticPasscodeHash || response?.diagnosticPasscodeHash === '') ? ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.warningText, children: "No Diagnostic Passcode is configured. Please configure it in the admin portal." })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.lockSubtitle, children: "Enter passcode to view telemetry and logs" }), (0, jsx_runtime_1.jsx)(react_native_1.TextInput, { style: styles.input, secureTextEntry: true, maxLength: 6, keyboardType: "numeric", value: passcode, onChangeText: setPasscode, placeholder: "------", placeholderTextColor: "#666" }), (0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: styles.unlockButton, onPress: handleUnlock, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.unlockText, children: "Unlock" }) })] }))] })) : ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.content, children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.tabContainer, children: [(0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: [styles.tab, activeTab === 'usage' && styles.activeTab], onPress: () => setActiveTab('usage'), children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.tabText, children: "Usage" }) }), (0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: [styles.tab, activeTab === 'vault' && styles.activeTab], onPress: () => setActiveTab('vault'), children: (0, jsx_runtime_1.jsxs)(react_native_1.Text, { style: styles.tabText, children: ["Vault (", DevGuardLogger_1.DevGuardLogger.getErrorCount(), ")"] }) })] }), (0, jsx_runtime_1.jsx)(react_native_1.ScrollView, { style: styles.scrollContent, children: activeTab === 'usage' ? ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.section, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.sectionTitle, children: "Project Info" }), (0, jsx_runtime_1.jsxs)(react_native_1.Text, { style: styles.infoText, children: ["Project ID: ", projectId] }), (0, jsx_runtime_1.jsxs)(react_native_1.Text, { style: styles.infoText, children: ["Status: ", response?.status] }), (0, jsx_runtime_1.jsxs)(react_native_1.Text, { style: styles.infoText, children: ["Remote Command: ", response?.remoteCommand || 'None'] })] })) : ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.section, children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.actionRow, children: [(0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: styles.actionButton, onPress: clearLogs, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.actionText, children: "Clear" }) }), (0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: [styles.actionButton, styles.exportButton], onPress: exportLogs, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.actionText, children: "Export" }) })] }), (0, jsx_runtime_1.jsxs)(react_native_1.Text, { style: styles.sectionTitle, children: ["Error Vault (", DevGuardLogger_1.DevGuardLogger.getErrorCount(), ")"] }), DevGuardLogger_1.DevGuardLogger.getErrorLogs().map((log, i) => ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.logCard, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.logTime, children: log.timestamp }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.logError, children: log.error }), (0, jsx_runtime_1.jsxs)(react_native_1.Text, { style: styles.logContext, children: ["Context: ", log.context] })] }, i))), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.sectionTitle, { marginTop: 20 }], children: "Info Logs" }), DevGuardLogger_1.DevGuardLogger.getInfoLogs().map((log, i) => ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.logCard, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.logTime, children: log.timestamp }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.logError, children: log.error })] }, i)))] })) })] }))] }) }));
|
|
45
|
+
};
|
|
46
|
+
exports.DiagnosticOverlay = DiagnosticOverlay;
|
|
47
|
+
const styles = react_native_1.StyleSheet.create({
|
|
48
|
+
container: { flex: 1, backgroundColor: '#1e1e1e' },
|
|
49
|
+
header: { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center', padding: 16, backgroundColor: '#2d2d2d' },
|
|
50
|
+
headerTitle: { color: '#fff', fontSize: 18, fontWeight: 'bold' },
|
|
51
|
+
closeButton: { padding: 8 },
|
|
52
|
+
closeText: { color: '#ffb300', fontWeight: '600' },
|
|
53
|
+
lockContainer: { flex: 1, justifyContent: 'center', alignItems: 'center', padding: 20 },
|
|
54
|
+
lockTitle: { color: '#fff', fontSize: 24, fontWeight: 'bold', marginBottom: 10 },
|
|
55
|
+
lockSubtitle: { color: '#aaa', fontSize: 14, marginBottom: 20 },
|
|
56
|
+
warningText: { color: '#ff4444', fontSize: 14, textAlign: 'center', marginTop: 10 },
|
|
57
|
+
input: { backgroundColor: '#333', color: '#fff', fontSize: 24, letterSpacing: 10, padding: 15, borderRadius: 10, width: 200, textAlign: 'center', marginBottom: 20 },
|
|
58
|
+
unlockButton: { backgroundColor: '#ffb300', paddingHorizontal: 30, paddingVertical: 12, borderRadius: 8 },
|
|
59
|
+
unlockText: { color: '#000', fontWeight: 'bold', fontSize: 16 },
|
|
60
|
+
content: { flex: 1 },
|
|
61
|
+
tabContainer: { flexDirection: 'row', backgroundColor: '#2d2d2d' },
|
|
62
|
+
tab: { flex: 1, padding: 15, alignItems: 'center' },
|
|
63
|
+
activeTab: { borderBottomWidth: 3, borderBottomColor: '#ffb300' },
|
|
64
|
+
tabText: { color: '#fff', fontWeight: 'bold' },
|
|
65
|
+
scrollContent: { flex: 1, padding: 16 },
|
|
66
|
+
section: { marginBottom: 20 },
|
|
67
|
+
sectionTitle: { color: '#ffb300', fontSize: 16, fontWeight: 'bold', marginBottom: 10 },
|
|
68
|
+
infoText: { color: '#ccc', marginBottom: 5 },
|
|
69
|
+
actionRow: { flexDirection: 'row', justifyContent: 'flex-end', marginBottom: 15 },
|
|
70
|
+
actionButton: { backgroundColor: '#444', paddingHorizontal: 15, paddingVertical: 8, borderRadius: 6, marginLeft: 10 },
|
|
71
|
+
exportButton: { backgroundColor: '#1976d2' },
|
|
72
|
+
actionText: { color: '#fff', fontWeight: 'bold' },
|
|
73
|
+
logCard: { backgroundColor: '#2d2d2d', padding: 12, borderRadius: 8, marginBottom: 10 },
|
|
74
|
+
logTime: { color: '#888', fontSize: 12, marginBottom: 4 },
|
|
75
|
+
logError: { color: '#ff4444', fontSize: 14, fontWeight: '500' },
|
|
76
|
+
logContext: { color: '#aaa', fontSize: 12, marginTop: 4 }
|
|
77
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface LockScreenProps {
|
|
3
|
+
status: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
message?: string;
|
|
6
|
+
contactEmail?: string;
|
|
7
|
+
contactPhone?: string;
|
|
8
|
+
contactWhatsapp?: string;
|
|
9
|
+
allowUnlock?: boolean;
|
|
10
|
+
onUnlock: (key: string) => Promise<boolean>;
|
|
11
|
+
}
|
|
12
|
+
export declare const LockScreen: React.FC<LockScreenProps>;
|
|
13
|
+
export {};
|