chore(i18n): finish translating code comments and scripts to English
CI / Format and clippy (push) Successful in 1m13s
CI / Dependency audit (push) Successful in 13s
CI / Tests (Linux) (push) Successful in 1m35s
Release / Create release (push) Successful in 7s
CI / Check desktop app (Linux) (push) Successful in 3m19s
Release / CLI (linux-aarch64) (push) Successful in 1m3s
Release / CLI (linux-x86_64) (push) Successful in 1m28s
Release / Desktop app (linux-aarch64) (push) Successful in 7m16s
Release / Desktop app (linux-x86_64) (push) Successful in 10m17s
Release / Desktop app (windows) (push) Successful in 4m54s

Completes the English-only standardization for code, comments, scripts
and CI templates (UI/CLI-facing strings stay bilingual pt-BR/en,
untouched). Covers the remaining crates/, apps/gui/ui/ and
apps/gui/src-tauri/ comments, .gitea/ workflow and template comments,
.githooks/ hooks, and the scripts/ source comments for the files
already renamed in a prior commit (check.sh, generate-logo.py,
install-hooks.sh).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VAyr8d7HuAdUGB6aA5xmDD
This commit is contained in:
Lucas RayanandClaude Sonnet 5 committed 2026-10-30 20:44:39 -03:00
1 parent bf059fd0bc
commit 55e19a8e5b
59 files changed
+935 -879

No files matched your search

+13 -13
View File
@@ -1,10 +1,10 @@
#![allow(dead_code)]
//! Helpers de teste de integração: quadros 802.11/EAPOL sintéticos,
//! radiotap e handshakes válidos gerados a partir de uma senha conhecida.
//! Integration-test helpers: synthetic Radiotap/802.11/EAPOL frames and
//! valid 4-way handshakes generated from a known passphrase.
//!
//!
//!
//!
//! Porta a lógica de `crates/sabia-core/src/testutil.rs` (que só existe em
//! `#[cfg(test)]` e por isso não fica visível aqui), usando só a API
//! pública de `sabia_core`.
use sabia_core::crack::{compute_mic, compute_pmkid, compute_ptk, derive_pmk};
use sabia_core::dot11;
@@ -58,11 +58,11 @@ pub fn frame_with_eapol(
f.extend_from_slice(&fc.to_le_bytes());
f.extend_from_slice(&0u16.to_le_bytes());
if from_ap {
f.extend_from_slice(&sta); // addr1 = destino
f.extend_from_slice(&sta); // addr1 = destination
f.extend_from_slice(&ap); // addr2 = BSSID
} else {
f.extend_from_slice(&ap); // addr1 = BSSID
f.extend_from_slice(&sta); // addr2 = origem
f.extend_from_slice(&sta); // addr2 = source
}
f.extend_from_slice(&da);
f.extend_from_slice(&[0u8; 2]);
@@ -160,7 +160,7 @@ pub fn data_frame(
f
}
/// Gera (msg1, msg2) válidas para a senha informada, com MIC correto.
/// Generates a valid `(msg1, msg2)` EAPOL-Key pair with a verified MIC for `passphrase`.
pub fn handshake_frames(
ssid: &str,
password: &str,
@@ -184,8 +184,8 @@ pub fn handshake_frames(
(m1, m2)
}
/// Monta quadros radiotap+802.11 completos (prontos para `ScanTable::ingest`)
/// com o 4-way handshake entre `AP` e `STA` para o SSID/senha dados.
/// Builds complete Radiotap + 802.11 frames (ready for `ScanTable::ingest`)
/// carrying the 4-way handshake between `AP` and `STA` for `ssid`/`passphrase`.
pub fn handshake_radiotap_frames(
ssid: &str,
password: &str,
@@ -198,8 +198,8 @@ pub fn handshake_radiotap_frames(
(radiotap_wrap(&f1, 2437, -40), radiotap_wrap(&f2, 2437, -42))
}
/// Monta um `Handshake` diretamente dos quadros EAPOL, para testes de quebra
/// sem depender do pipeline de captura.
/// Assembles a `Handshake` directly from synthetic EAPOL frames for cracking tests.
///
pub fn synthetic_handshake(
ssid: &str,
bssid: &str,
@@ -233,7 +233,7 @@ pub fn synthetic_handshake(
password: None,
tk: None,
};
// Exercita o parser de MAC do alvo.
// Exercises MAC address parsing.
assert!(dot11::parse_mac(&hs.bssid).is_some());
assert!(dot11::parse_mac(&hs.station).is_some());
hs