friTap 2.2.2__tar.gz → 2.2.4__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.
- {fritap-2.2.2/friTap.egg-info → fritap-2.2.4}/PKG-INFO +2 -2
- {fritap-2.2.2 → fritap-2.2.4}/README.md +1 -1
- {fritap-2.2.2 → fritap-2.2.4}/friTap/about.py +1 -1
- {fritap-2.2.2 → fritap-2.2.4}/friTap/config.py +8 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/friTap.py +26 -11
- {fritap-2.2.2 → fritap-2.2.4}/friTap/fritap_agent.js +190 -6
- {fritap-2.2.2 → fritap-2.2.4}/friTap/legacy/session_manager.py +6 -1
- {fritap-2.2.2 → fritap-2.2.4}/friTap/legacy/ssl_logger_core.py +6 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/app.py +1 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/capture_controller.py +37 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/start_confirm_modal.py +24 -1
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/wizard.py +3 -0
- {fritap-2.2.2 → fritap-2.2.4/friTap.egg-info}/PKG-INFO +2 -2
- {fritap-2.2.2 → fritap-2.2.4}/friTap.egg-info/SOURCES.txt +3 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_frida_backend_spawn.py +17 -0
- fritap-2.2.4/tests/unit/test_spawn_argv_plumbing.py +58 -0
- fritap-2.2.4/tests/unit/test_tui_pairip_safe.py +88 -0
- fritap-2.2.4/tests/unit/test_tui_spawn_argv.py +81 -0
- {fritap-2.2.2 → fritap-2.2.4}/LICENSE +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/MANIFEST.in +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/agent_debugger/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/agent_debugger/adapters/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/agent_debugger/adapters/gdb_adapter.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/agent_debugger/adapters/lldb_adapter.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/agent_debugger/definitions/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/agent_debugger/definitions/base.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/agent_debugger/definitions/ipsec_strongswan.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/agent_debugger/definitions/ssh_openssh.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/agent_debugger/memory.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/agent_debugger/output.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/agent_debugger/registry.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/agent_debugger/runner.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/analysis/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/analysis/credentials.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/analysis/discovery.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/analysis/filtering.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/analysis/ioc.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/analysis/privacy.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/analysis/protobuf_analyzer.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/analysis/registry.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/analysis/reporters.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/android.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/api.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/assets/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/assets/tcpdump_binaries/README.md +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/assets/tcpdump_binaries/tcpdump_arm32_android +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/assets/tcpdump_binaries/tcpdump_arm64_android +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/assets/tcpdump_binaries/tcpdump_x86_64_android +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/assets/tcpdump_binaries/tcpdump_x86_android +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/backends/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/backends/base.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/backends/debugger_script.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/backends/ebpf_backend.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/backends/frida_backend.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/backends/gdb_backend.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/backends/lldb_backend.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/commands/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/commands/analyze.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/commands/install_backend.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/connection_index.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/constants.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/core.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/discovery_base.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/error_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/events.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/filter/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/filter/ast_nodes.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/filter/errors.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/filter/evaluator.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/filter/fields.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/filter/lexer.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/filter/parser.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/filter/pipeline_filter.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/collector.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/decryptors/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/decryptors/base.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/decryptors/registry.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/display.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/http_utils.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/layer_pipeline.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/layer_registry.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/layers.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/models.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/reparse.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/replay.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/stream_buffer.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/tap_format.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/tap_reader.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/flow/tap_writer.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/fritap_utility.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/inspector.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/legacy/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/legacy/cleanup_compat.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/legacy/init_compat.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/legacy/message_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/message_router.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/cli.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/discovery.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/mtproto/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/mtproto/content.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/mtproto/crypto.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/mtproto/decrypt.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/mtproto/e2e/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/mtproto/e2e/decrypt.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/mtproto/e2e/keylog.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/mtproto/e2e/records.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/mtproto/keylog.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/mtproto/reassembly.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/mtproto/records.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/mtproto/transport.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/pcap_to_tap.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/registry.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/offline/tshark.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/base.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/console_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/dedup.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/factory.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/formatters.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/json_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/jsonl_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/key_collector_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/keylog_format.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/keylog_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/keylog_paths.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/live_autodecrypt_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/live_pcapng_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/live_wireshark_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/pcap_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/pcapng_blocks.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/pcapng_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/output/scan_candidate_formatter.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/base.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/bhttp.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/body_processors.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/boundary_scan.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/decompress.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/hexdump.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/http1.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/http2.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/http2_dataframe.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/http3.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/protobuf/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/protobuf/grpc.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/protobuf/processor.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/protobuf/schema.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/protobuf/wire.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/registry.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/trailing.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/varint.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/websocket.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/parsers/websocket_defray.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/patterns/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/patterns/default_patterns.json +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/patterns/loader.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/pcap.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/pcap_utility.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/pipeline.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/plugins/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/plugins/base.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/plugins/custom_protocol.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/plugins/examples/README.md +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/plugins/examples/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/plugins/examples/custom_aes.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/plugins/examples/module_logger_plugin.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/plugins/examples/protobuf_plugin.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/plugins/examples/srtp.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/plugins/examples/stats_plugin.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/plugins/examples/wireguard.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/plugins/js_codegen.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/plugins/legacy_custom_script.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/plugins/loader.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/plugins/script_context.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/plugins/script_plugin.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/protocols/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/protocols/_ext/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/protocols/base.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/protocols/mtproto_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/protocols/mtproto_keylog_spec.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/protocols/registry.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/protocols/ssh_extractor.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/protocols/ssh_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/protocols/telegram_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/protocols/tls_extractor.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/protocols/tls_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/schemas/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/schemas/agent_messages.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/schemas/canonical.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/schemas/host_messages.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/server_manager/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/server_manager/android.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/server_manager/base.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/server_manager/factory.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/server_manager/ios.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/server_manager/linux.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/server_manager/macos.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/server_manager/windows.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/session.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/sinks/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/sinks/base.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/sinks/console.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/sinks/json_sink.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/sinks/keylog.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/sinks/live_pcapng.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/sinks/live_wireshark.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/sinks/pcap.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/sinks/pcapng.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/sinks/tcp_state.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/ssl_logger.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/css/fritap.tcss +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/handlers.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/alert_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/backend_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/base.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/body_processing_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/capture_mode_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/capture_select_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/decrypt_confirm_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/device_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/encapsulated_protocol_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/explorer_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/filter_help_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/filter_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/findings_filter_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/help_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/open_pcap_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/pcap_to_tap_modals.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/process_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/protocol_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/quic_capture_mode_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/quit_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/save_tap_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/server_check_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/spawn_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/target_mode_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/modals/view_mode_modal.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/mode_controller.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/replay_controller.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/screens/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/screens/_parked_main_screen.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/screens/main_screen.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/themes.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/widgets/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/widgets/_parked_transcript.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/widgets/activity_log.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/widgets/analyzer_finding_detail.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/widgets/analyzer_panel.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/widgets/filter_bar.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/widgets/findings_filter_bar.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/widgets/findings_list.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/widgets/flow_detail.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/widgets/flow_list.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/widgets/menu_panel.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/widgets/ohttp_tab.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap/tui/widgets/status_bar.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap.egg-info/dependency_links.txt +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap.egg-info/entry_points.txt +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap.egg-info/requires.txt +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/friTap.egg-info/top_level.txt +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/integrations/wireshark/fritap-extcap +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/integrations/wireshark/install.sh +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/pyproject.toml +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/requirements-minimal.txt +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/requirements.txt +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/setup.cfg +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/setup.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/agent/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/agent/test_compilation.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/conftest.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/fixtures/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/fixtures/mock_objects.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/integration/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/integration/_mtproto_helpers.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/integration/test_mock_ssl_analysis.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/integration/test_offline_mtproto_e2e.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/integration/test_offline_telegram_e2e.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/integration/test_ssh_plaintext.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/_render_helpers.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/output/__init__.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/output/test_factory_keylog_routing.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/output/test_keylog_formatters.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/output/test_keylog_paths.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/output/test_scan_candidate_routing.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_activity_log_dedup.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_analysis_exposure.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_analyze_public_function.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_analyzer_discovery.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_android.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_anti_tamper_loader_hook.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_api_flow_wiring.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_capture_controller_severity.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_codereview_fixes.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_collector_parser_containment.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_collector_tls_and_flush.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_credentials_improved.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_cronet_split_topology.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_discovery_base.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_find_ssl_log_secret_offset.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_finding_filter.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_finding_from_dict.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_flow_completion_lifecycle.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_flow_layers.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_flow_overview_api.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_fritap_dispatch.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_hook_breadcrumb.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_http2_dataframe.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_http2_hpack.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_http3_qpack.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_keylog_active_paths.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_layer_pipeline.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_layer_routing_and_synthetic.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_layers_model.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_layers_serialization.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_layers_view.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_lldb_dispatch.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_logging_setup.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_mtproto_content.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_mtproto_crypto.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_mtproto_decrypt.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_mtproto_dependency_message.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_mtproto_keylog.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_mtproto_layer.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_mtproto_message_tab.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_mtproto_parser_discovery.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_mtproto_reassembly.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_mtproto_transport.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_offline_decryptor_discovery.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_offline_metadata.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_offline_pcap_to_tap.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_offline_quic_metadata.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_offline_tshark_calibration.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_parser_safe_adapter.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_pattern_fallback_gate.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_pattern_loader_schemas.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_patterns_handshake.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_pcap_dsb_defensive.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_pcap_server_port.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_pcap_to_tap_wizard.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_privacy_analyzer.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_protocol_visibility.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_public_api_exports.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_reporter_redaction.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_scrub_doc_markers.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_secret_chat_crypto.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_secret_chat_decrypt.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_secret_chat_keylog.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_session_metadata_stamping.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_ssl_logger.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_tap_enrichment.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_tap_findings_scan_gate.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_tap_writer_rewrite.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_telegram_handler.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_tui_analyzer_panel.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_tui_decrypt_to_flow.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_tui_finding_detail.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_tui_findings_view.py +0 -0
- {fritap-2.2.2 → fritap-2.2.4}/tests/unit/test_webviewchromium_support.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: friTap
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.4
|
|
4
4
|
Summary: Simplifies (SSL/TLS) traffic analysis and key extraction using Frida across major platforms.
|
|
5
5
|
Home-page: https://github.com/fkie-cad/friTap
|
|
6
6
|
Author: Daniel Baier, Julian Lengersdorff, Francois Egner, Max Ufer
|
|
@@ -66,7 +66,7 @@ Dynamic: summary
|
|
|
66
66
|
</div>
|
|
67
67
|
|
|
68
68
|
# friTap
|
|
69
|
-
 [](https://badge.fury.io/py/friTap) [](https://github.com/fkie-cad/friTap/actions/workflows/ci.yml)
|
|
70
70
|
[](https://github.com/fkie-cad/friTap/actions/workflows/lint.yml)
|
|
71
71
|
[](https://github.com/fkie-cad/friTap/actions/workflows/publish.yml)
|
|
72
72
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
</div>
|
|
5
5
|
|
|
6
6
|
# friTap
|
|
7
|
-
 [](https://badge.fury.io/py/friTap) [](https://github.com/fkie-cad/friTap/actions/workflows/ci.yml)
|
|
8
8
|
[](https://github.com/fkie-cad/friTap/actions/workflows/lint.yml)
|
|
9
9
|
[](https://github.com/fkie-cad/friTap/actions/workflows/publish.yml)
|
|
10
10
|
|
|
@@ -158,6 +158,12 @@ class FriTapConfig:
|
|
|
158
158
|
)
|
|
159
159
|
"""
|
|
160
160
|
target: str
|
|
161
|
+
# Original argv tokens for spawn mode (e.g. ["wine", "/p/My Game/app.exe"]).
|
|
162
|
+
# Kept separate from `target` (which stays a single string for attach-by-name
|
|
163
|
+
# / display) so spawn passes the real argv to device.spawn() instead of
|
|
164
|
+
# re-splitting the joined string on spaces — which corrupts paths containing
|
|
165
|
+
# spaces (issue #66 follow-up). None for attach mode / programmatic configs.
|
|
166
|
+
target_argv: Optional[List[str]] = None
|
|
161
167
|
device: DeviceConfig = field(default_factory=DeviceConfig)
|
|
162
168
|
output: OutputConfig = field(default_factory=OutputConfig)
|
|
163
169
|
hooking: HookingConfig = field(default_factory=HookingConfig)
|
|
@@ -209,6 +215,7 @@ class FriTapConfig:
|
|
|
209
215
|
cls,
|
|
210
216
|
app: str,
|
|
211
217
|
pcap_name: Optional[str] = None,
|
|
218
|
+
spawn_argv: Optional[List[str]] = None,
|
|
212
219
|
verbose: bool = False,
|
|
213
220
|
spawn: bool = False,
|
|
214
221
|
keylog: bool | str = False,
|
|
@@ -264,6 +271,7 @@ class FriTapConfig:
|
|
|
264
271
|
"""
|
|
265
272
|
return cls(
|
|
266
273
|
target=app,
|
|
274
|
+
target_argv=spawn_argv,
|
|
267
275
|
device=DeviceConfig(
|
|
268
276
|
mobile=mobile,
|
|
269
277
|
host=host if host else None,
|
|
@@ -294,7 +294,7 @@ Offline (read / analyze .tap):
|
|
|
294
294
|
args.add_argument("--debug-log", metavar="<path>", required=False, default=None, dest="debug_log",
|
|
295
295
|
help="Write the friTap debug log to <path> (default: ./fritap_debug_<ts>_<pid>.log). "
|
|
296
296
|
"Capture session-level errors, warnings, and uncaught exceptions even in non-TUI mode.")
|
|
297
|
-
args.add_argument("-do", "--
|
|
297
|
+
args.add_argument("-do", "--debug-output", required=False, action="store_const", const=True,
|
|
298
298
|
help="Activate the debug output only.")
|
|
299
299
|
args.add_argument("-ar", "--anti_root", required=False, action="store_const", const=True, default=False, help="Activate anti root hooks for Android")
|
|
300
300
|
args.add_argument("-ed", "--enable_default_fd", required=False, action="store_const", const=True, default=False, help="Activate the fallback socket information (127.0.0.1:1234-127.0.0.1:2345) whenever the file descriptor (FD) of the socket cannot be determined")
|
|
@@ -363,8 +363,10 @@ Offline (read / analyze .tap):
|
|
|
363
363
|
help="Catch ALL newly spawned processes without filtering (use with caution)")
|
|
364
364
|
args.add_argument("--enable_child_gating", required=False, action="store_const", const=True,
|
|
365
365
|
help="Intercept child processes spawned by the target application")
|
|
366
|
-
args.add_argument("exec", metavar="<executable/app name/pid>",
|
|
367
|
-
help="executable/app whose SSL calls to log"
|
|
366
|
+
args.add_argument("exec", metavar="<executable/app name/pid>", nargs="+",
|
|
367
|
+
help="executable/app whose SSL calls to log. Accepts a "
|
|
368
|
+
"command with arguments for spawn mode, e.g. "
|
|
369
|
+
"'wine /path/to/application.exe' (issue #66).")
|
|
368
370
|
args.add_argument("--offsets", required=False, metavar="<offsets.json>",
|
|
369
371
|
help="Provide custom offsets for all hooked functions inside a JSON file or a json string containing all offsets. For more details see our example json (offsets_example.json)")
|
|
370
372
|
args.add_argument("--patterns", required=False, metavar="<pattern.json>",
|
|
@@ -506,18 +508,30 @@ Offline (read / analyze .tap):
|
|
|
506
508
|
"By default loopback traffic is filtered out to reduce noise.")
|
|
507
509
|
parsed = parser.parse_args()
|
|
508
510
|
|
|
511
|
+
# The target positional now captures one-or-more tokens (nargs="+") so a
|
|
512
|
+
# spawn command with arguments parses, e.g. `wine /path/app.exe` (issue #66).
|
|
513
|
+
# Keep the original token list as parsed.exec_argv so spawn can pass the real
|
|
514
|
+
# argv to device.spawn() (preserving paths that contain spaces, e.g.
|
|
515
|
+
# ".../Program Files/app.exe"), and collapse parsed.exec to the single
|
|
516
|
+
# space-joined string the rest of friTap expects for attach-by-name/display.
|
|
517
|
+
if isinstance(parsed.exec, list):
|
|
518
|
+
parsed.exec_argv = list(parsed.exec)
|
|
519
|
+
parsed.exec = " ".join(parsed.exec)
|
|
520
|
+
else:
|
|
521
|
+
parsed.exec_argv = None
|
|
522
|
+
|
|
509
523
|
# Configure logging after parsing arguments to respect debug flags
|
|
510
524
|
logger, special_logger = setup_fritap_logging(
|
|
511
|
-
debug=parsed.debug, debug_output=parsed.
|
|
525
|
+
debug=parsed.debug, debug_output=parsed.debug_output
|
|
512
526
|
)
|
|
513
527
|
|
|
514
528
|
# Bring up the debug-log file subsystem when the user asked for one,
|
|
515
|
-
# either explicitly via --debug-log or implicitly via --
|
|
529
|
+
# either explicitly via --debug-log or implicitly via --debug-output.
|
|
516
530
|
# Done immediately after console-logging is configured so init-time
|
|
517
531
|
# errors below this line land in the file. The TUI entry point
|
|
518
532
|
# (run_tui) calls prime_debug_log too — both call sites are idempotent.
|
|
519
533
|
debug_log_path_override = getattr(parsed, "debug_log", None)
|
|
520
|
-
if debug_log_path_override or parsed.
|
|
534
|
+
if debug_log_path_override or parsed.debug_output:
|
|
521
535
|
from .fritap_utility import prime_debug_log
|
|
522
536
|
opened = prime_debug_log(debug_log_path_override)
|
|
523
537
|
if opened:
|
|
@@ -530,7 +544,7 @@ Offline (read / analyze .tap):
|
|
|
530
544
|
logger.info("LSASS hooking is disabled. Proceeding without LSASS.")
|
|
531
545
|
else:
|
|
532
546
|
logger.info("Hooking LSASS process for SSL/TLS traffic decryption.")
|
|
533
|
-
hook_lsass(parsed.pcap, parsed.verbose, parsed.keylog, parsed.live, parsed.debug, parsed.host, parsed.
|
|
547
|
+
hook_lsass(parsed.pcap, parsed.verbose, parsed.keylog, parsed.live, parsed.debug, parsed.host, parsed.debug_output, parsed.enable_default_fd, parsed.patterns, parsed.custom_script, parsed.json)
|
|
534
548
|
atexit.register(cleanup_lsass_hook)
|
|
535
549
|
|
|
536
550
|
install_lsass_hook = False
|
|
@@ -540,7 +554,7 @@ Offline (read / analyze .tap):
|
|
|
540
554
|
app=parsed.exec, verbose=parsed.verbose, spawn=parsed.spawn,
|
|
541
555
|
mobile=parsed.mobile, environment_file=parsed.environment,
|
|
542
556
|
debug_mode=parsed.debug, host=parsed.host, offsets=parsed.offsets,
|
|
543
|
-
debug_output=parsed.
|
|
557
|
+
debug_output=parsed.debug_output, experimental=parsed.experimental,
|
|
544
558
|
anti_root=parsed.anti_root, enable_default_fd=parsed.enable_default_fd,
|
|
545
559
|
patterns=parsed.patterns, custom_hook_script=parsed.custom_script,
|
|
546
560
|
backend=parsed.backend,
|
|
@@ -708,6 +722,7 @@ Offline (read / analyze .tap):
|
|
|
708
722
|
special_logger.info("Press Ctrl+C to stop logging")
|
|
709
723
|
config = FriTapConfig.from_legacy_params(
|
|
710
724
|
app=parsed.exec,
|
|
725
|
+
spawn_argv=getattr(parsed, "exec_argv", None),
|
|
711
726
|
pcap_name=parsed.pcap,
|
|
712
727
|
verbose=parsed.verbose,
|
|
713
728
|
spawn=parsed.spawn,
|
|
@@ -723,7 +738,7 @@ Offline (read / analyze .tap):
|
|
|
723
738
|
socket_trace=parsed.socket_tracing,
|
|
724
739
|
host=parsed.host,
|
|
725
740
|
offsets=parsed.offsets,
|
|
726
|
-
debug_output=parsed.
|
|
741
|
+
debug_output=parsed.debug_output,
|
|
727
742
|
experimental=parsed.experimental,
|
|
728
743
|
anti_root=parsed.anti_root,
|
|
729
744
|
payload_modification=parsed.payload_modification,
|
|
@@ -834,7 +849,7 @@ Offline (read / analyze .tap):
|
|
|
834
849
|
for trace in trace_back
|
|
835
850
|
]
|
|
836
851
|
|
|
837
|
-
if parsed.debug or parsed.
|
|
852
|
+
if parsed.debug or parsed.debug_output:
|
|
838
853
|
if "NotSupportedError" in ex_type.__name__:
|
|
839
854
|
logger.error("Backend error:")
|
|
840
855
|
logger.error("Exception type : %s " % ex_type.__name__)
|
|
@@ -864,7 +879,7 @@ Offline (read / analyze .tap):
|
|
|
864
879
|
finally:
|
|
865
880
|
if 'ssl_log' in locals() and isinstance(ssl_log, SSL_Logger):
|
|
866
881
|
ssl_log.pcap_cleanup(parsed.full_capture,parsed.mobile,parsed.pcap)
|
|
867
|
-
ssl_log.cleanup(parsed.live,parsed.socket_tracing,parsed.full_capture,parsed.debug,parsed.
|
|
882
|
+
ssl_log.cleanup(parsed.live,parsed.socket_tracing,parsed.full_capture,parsed.debug,parsed.debug_output)
|
|
868
883
|
|
|
869
884
|
# only reached when error
|
|
870
885
|
raise Failure
|