@jjlmoya/utils-forensic-science 1.12.0 → 1.14.0
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/package.json +2 -1
- package/src/category/index.ts +63 -59
- package/src/category/seo.astro +1 -1
- package/src/components/PreviewNavSidebar.astro +1 -1
- package/src/components/PreviewToolbar.astro +1 -1
- package/src/data.ts +1 -1
- package/src/entries.ts +74 -68
- package/src/env.d.ts +1 -1
- package/src/index.ts +33 -31
- package/src/pages/[locale]/[slug].astro +161 -159
- package/src/pages/[locale].astro +8 -5
- package/src/pages/index.astro +1 -1
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/diacritics_density.test.ts +1 -1
- package/src/tests/faq_count.test.ts +19 -19
- package/src/tests/i18n_coverage.test.ts +36 -36
- package/src/tests/inverted_punctuation.test.ts +1 -1
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/mocks/astro_mock.js +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/script_density.test.ts +94 -94
- package/src/tests/seo_length.test.ts +46 -46
- package/src/tests/seo_parity.test.ts +2 -7
- package/src/tests/seo_translation_completeness.test.ts +68 -0
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tests/translation_copy.test.ts +23 -24
- package/src/tool/bloodstain-pattern-origin-analyzer/component.astro +9 -9
- package/src/tool/bloodstain-pattern-origin-analyzer/i18n/zh.ts +1 -1
- package/src/tool/dna-profile-match-probability-lab/bibliography.astro +14 -0
- package/src/tool/dna-profile-match-probability-lab/bibliography.ts +16 -0
- package/src/tool/dna-profile-match-probability-lab/component.astro +121 -0
- package/src/tool/dna-profile-match-probability-lab/controller.ts +159 -0
- package/src/tool/dna-profile-match-probability-lab/dna-profile-match-probability-lab.css +485 -0
- package/src/tool/dna-profile-match-probability-lab/dom-views.ts +93 -0
- package/src/tool/dna-profile-match-probability-lab/entry.ts +29 -0
- package/src/tool/dna-profile-match-probability-lab/evaluator.ts +19 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/de.ts +43 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/en.ts +196 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/es.ts +40 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/fr.ts +10 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/id.ts +41 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/it.ts +10 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/ja.ts +40 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/ko.ts +40 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/nl.ts +29 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/pl.ts +10 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/pt.ts +41 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/ru.ts +29 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/sv.ts +41 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/tr.ts +10 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/zh.ts +29 -0
- package/src/tool/dna-profile-match-probability-lab/index.ts +11 -0
- package/src/tool/dna-profile-match-probability-lab/localize.ts +107 -0
- package/src/tool/dna-profile-match-probability-lab/logic.test.ts +56 -0
- package/src/tool/dna-profile-match-probability-lab/logic.ts +139 -0
- package/src/tool/dna-profile-match-probability-lab/seo.astro +15 -0
- package/src/tool/dna-profile-match-probability-lab/storage.ts +26 -0
- package/src/tool/dna-profile-match-probability-lab/ui.ts +3 -0
- package/src/tool/fire-pattern-origin-analyzer/component.astro +1 -1
- package/src/tool/fire-pattern-origin-analyzer/i18n/zh.ts +5 -1
- package/src/tool/fire-pattern-origin-analyzer/logic.ts +9 -2
- package/src/tool/fire-pattern-origin-analyzer/view-bindings.ts +8 -4
- package/src/tool/fire-pattern-origin-analyzer/view-model.ts +6 -2
- package/src/tool/forensic-age-estimator/bibliography.astro +1 -1
- package/src/tool/forensic-age-estimator/component.astro +1 -1
- package/src/tool/forensic-age-estimator/entry.ts +17 -17
- package/src/tool/forensic-age-estimator/i18n/de.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/en.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/es.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/fr.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/id.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/it.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/nl.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/pl.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/pt.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/ru.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/sv.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/tr.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/zh.ts +245 -245
- package/src/tool/forensic-age-estimator/index.ts +1 -1
- package/src/tool/forensic-age-estimator/seo.astro +1 -1
- package/src/tool/forensic-blood-test-simulator/component.astro +1 -1
- package/src/tool/forensic-fiber-comparison-microscope/component.astro +1 -1
- package/src/tool/forensic-fiber-comparison-microscope/render.ts +1 -1
- package/src/tool/forensic-fiber-comparison-microscope/view.ts +1 -1
- package/src/tool/forensic-fingerprint-minutiae-identifier/component.astro +2 -2
- package/src/tool/forensic-fingerprint-minutiae-identifier/i18n/ja.ts +2 -1
- package/src/tool/forensic-fingerprint-minutiae-identifier/i18n/zh.ts +2 -0
- package/src/tool/forensic-fingerprint-minutiae-identifier/renderer.ts +9 -8
- package/src/tool/forensic-glass-becke-line-simulator/component.astro +1 -1
- package/src/tool/forensic-glass-becke-line-simulator/view.ts +8 -6
- package/src/tool/forensic-image-authenticity-analyzer/component.astro +1 -1
- package/src/tool/forensic-image-authenticity-analyzer/i18n/de.ts +105 -105
- package/src/tool/forensic-image-authenticity-analyzer/i18n/en.ts +105 -105
- package/src/tool/forensic-image-authenticity-analyzer/i18n/es.ts +105 -105
- package/src/tool/forensic-image-authenticity-analyzer/i18n/fr.ts +105 -105
- package/src/tool/forensic-image-authenticity-analyzer/i18n/id.ts +95 -90
- package/src/tool/forensic-image-authenticity-analyzer/i18n/it.ts +105 -105
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ja.ts +7 -2
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ko.ts +4 -1
- package/src/tool/forensic-image-authenticity-analyzer/i18n/nl.ts +95 -92
- package/src/tool/forensic-image-authenticity-analyzer/i18n/pl.ts +95 -92
- package/src/tool/forensic-image-authenticity-analyzer/i18n/pt.ts +105 -105
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ru.ts +97 -92
- package/src/tool/forensic-image-authenticity-analyzer/i18n/sv.ts +97 -93
- package/src/tool/forensic-image-authenticity-analyzer/i18n/tr.ts +98 -93
- package/src/tool/forensic-image-authenticity-analyzer/i18n/zh.ts +11 -0
- package/src/tool/forensic-microcrystal-drug-simulator/component.astro +1 -1
- package/src/tool/forensic-sex-determinator/component.astro +3 -2
- package/src/tool/forensic-stature-estimator/component.astro +1 -1
- package/src/tool/forensic-stature-estimator/i18n/id.ts +4 -0
- package/src/tool/forensic-stature-estimator/i18n/nl.ts +4 -0
- package/src/tool/forensic-stature-estimator/i18n/ru.ts +4 -0
- package/src/tool/forensic-tlc-ink-simulator/component.astro +1 -1
- package/src/tool/forensic-tlc-ink-simulator/i18n/zh.ts +1 -0
- package/src/tool/forensic-toolmark-striation-matcher/component.astro +1 -1
- package/src/tool/forensic-toolmark-striation-matcher/logic.ts +1 -1
- package/src/tool/forensic-toolmark-striation-matcher/renderer.ts +7 -6
- package/src/tool/forensic-toolmark-striation-matcher/view.ts +19 -20
- package/src/tool/gsr-dispersion-calculator/component.astro +1 -1
- package/src/tool/gsr-dispersion-calculator/logic.ts +1 -1
- package/src/tool/time-of-death-algor-mortis-calculator/entry.ts +2 -0
- package/src/tool/voice-spectrogram-analyzer/audio-runtime.ts +75 -0
- package/src/tool/voice-spectrogram-analyzer/bibliography.astro +14 -0
- package/src/tool/voice-spectrogram-analyzer/bibliography.ts +16 -0
- package/src/tool/voice-spectrogram-analyzer/component.astro +116 -0
- package/src/tool/voice-spectrogram-analyzer/controller.ts +219 -0
- package/src/tool/voice-spectrogram-analyzer/dom-views.ts +204 -0
- package/src/tool/voice-spectrogram-analyzer/entry.ts +31 -0
- package/src/tool/voice-spectrogram-analyzer/evaluator.ts +13 -0
- package/src/tool/voice-spectrogram-analyzer/fft.ts +64 -0
- package/src/tool/voice-spectrogram-analyzer/i18n/de.ts +135 -0
- package/src/tool/voice-spectrogram-analyzer/i18n/en.ts +122 -0
- package/src/tool/voice-spectrogram-analyzer/i18n/es.ts +122 -0
- package/src/tool/voice-spectrogram-analyzer/i18n/fr.ts +135 -0
- package/src/tool/voice-spectrogram-analyzer/i18n/id.ts +136 -0
- package/src/tool/voice-spectrogram-analyzer/i18n/it.ts +135 -0
- package/src/tool/voice-spectrogram-analyzer/i18n/ja.ts +135 -0
- package/src/tool/voice-spectrogram-analyzer/i18n/ko.ts +135 -0
- package/src/tool/voice-spectrogram-analyzer/i18n/nl.ts +136 -0
- package/src/tool/voice-spectrogram-analyzer/i18n/pl.ts +136 -0
- package/src/tool/voice-spectrogram-analyzer/i18n/pt.ts +135 -0
- package/src/tool/voice-spectrogram-analyzer/i18n/ru.ts +136 -0
- package/src/tool/voice-spectrogram-analyzer/i18n/sv.ts +136 -0
- package/src/tool/voice-spectrogram-analyzer/i18n/tr.ts +136 -0
- package/src/tool/voice-spectrogram-analyzer/i18n/zh.ts +135 -0
- package/src/tool/voice-spectrogram-analyzer/index.ts +11 -0
- package/src/tool/voice-spectrogram-analyzer/logic.test.ts +46 -0
- package/src/tool/voice-spectrogram-analyzer/logic.ts +163 -0
- package/src/tool/voice-spectrogram-analyzer/seo.astro +15 -0
- package/src/tool/voice-spectrogram-analyzer/storage.ts +33 -0
- package/src/tool/voice-spectrogram-analyzer/ui.ts +49 -0
- package/src/tool/voice-spectrogram-analyzer/voice-spectrogram-analyzer.css +547 -0
- package/src/tool/widmark-alcohol-simulator/component.astro +1 -1
- package/src/tool/widmark-alcohol-simulator/i18n/de.ts +5 -0
- package/src/tool/widmark-alcohol-simulator/i18n/fr.ts +2 -1
- package/src/tool/widmark-alcohol-simulator/i18n/id.ts +1 -0
- package/src/tool/widmark-alcohol-simulator/i18n/it.ts +4 -1
- package/src/tool/widmark-alcohol-simulator/i18n/ja.ts +4 -1
- package/src/tool/widmark-alcohol-simulator/i18n/nl.ts +5 -1
- package/src/tool/widmark-alcohol-simulator/i18n/pl.ts +5 -1
- package/src/tool/widmark-alcohol-simulator/i18n/pt.ts +5 -1
- package/src/tool/widmark-alcohol-simulator/i18n/ru.ts +4 -1
- package/src/tool/widmark-alcohol-simulator/i18n/sv.ts +5 -1
- package/src/tool/widmark-alcohol-simulator/i18n/tr.ts +4 -1
- package/src/tool/widmark-alcohol-simulator/i18n/zh.ts +4 -1
- package/src/tools.ts +39 -35
- package/src/types.ts +4 -4
|
@@ -1,94 +1,97 @@
|
|
|
1
|
-
import { bibliography } from '../bibliography';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
|
|
4
|
-
const slug = 'forensyczny-analizator-metadanych-i-autentycznosci-obrazu';
|
|
5
|
-
const title = 'Forensyczny Analizator Metadanych i Autentyczności Obrazu';
|
|
6
|
-
const description = 'Sprawdzaj nagłówki obrazów, dane EXIF z rejestracji, współrzędne GPS, ślady oprogramowania edycyjnego i surowe bajty lokalnie w przeglądarce.';
|
|
7
|
-
|
|
8
|
-
const howTo = [
|
|
9
|
-
{ name: 'Zachowaj oryginalny materiał dowodowy', text: 'Pracuj na kopii kryminalistycznej i przechowuj plik źródłowy oraz jego skrót kryptograficzny poza tym narzędziem przeglądarkowym.' },
|
|
10
|
-
{ name: 'Załaduj obraz lokalnie', text: 'Przeciągnij lub wybierz plik JPEG albo PNG. Plik jest odczytywany tylko w pamięci przeglądarki i nie jest wysyłany.' },
|
|
11
|
-
{ name: 'Przeanalizuj metadane i lokalizację', text: 'Porównaj czas wykonania, tożsamość aparatu, oprogramowanie i pola GPS z opisem sprawy oraz dokumentacją pozyskania.' },
|
|
12
|
-
{ name: 'Interpretuj sygnały integralności', text: 'Traktuj podpisy edycyjne i brakujące pola jako tropy dochodzeniowe, a nie dowód manipulacji.' },
|
|
13
|
-
{ name: 'Sprawdź podgląd szesnastkowy', text: 'Wykorzystaj podświetlone strefy nagłówka i metadanych do rozpoznania struktury kontenera oraz udokumentowania offsetów do dalszej analizy.' },
|
|
14
|
-
];
|
|
15
|
-
|
|
16
|
-
const faq = [
|
|
17
|
-
{ question: 'Czy metadane mogą dowieść, że fotografia jest autentyczna?', answer: 'Nie. Metadane można usunąć, skopiować albo zmienić. Uwierzytelnienie wymaga połączenia struktury pliku, pochodzenia, hashy, oględzin wizualnych, analizy kompresji i zwalidowanych metod kryminalistycznych.' },
|
|
18
|
-
{ question: 'Czy podpis Adobe lub GIMP dowodzi złośliwej edycji?', answer: 'Nie. Oznacza jedynie, że oprogramowanie mogło zapisać metadane lub wyeksportować plik. Legalna korekcja barwna, obróbka redakcyjna lub przygotowanie materiału dowodowego mogą pozostawić ten sam ślad.' },
|
|
19
|
-
{ question: 'Czy obraz jest wysyłany?', answer: 'Nie. Analiza odbywa się w pamięci przeglądarki. Mimo to przed otwarciem wrażliwego materiału w dowolnym oprogramowaniu stosuj politykę obchodzenia się z dowodami obowiązującą w twojej organizacji.' },
|
|
20
|
-
{ question: 'Dlaczego dane GPS mogą być nieobecne?', answer: 'Aparat mógł nie obsługiwać GPS, rejestrowanie lokalizacji mogło być wyłączone, platforma mogła usunąć metadane albo plik mógł zostać ponownie zakodowany.' },
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
export const content: ToolLocaleContent = {
|
|
24
|
-
slug,
|
|
25
|
-
title,
|
|
26
|
-
description,
|
|
27
|
-
ui: {
|
|
28
|
-
privacy: 'Wyłącznie lokalne badanie binarne',
|
|
29
|
-
dropTitle: 'Umieść obraz na stole dowodowym',
|
|
30
|
-
dropHint: 'Upuść tutaj plik JPEG lub PNG albo wybierz plik. Nic nie jest wysyłane.',
|
|
31
|
-
chooseFile: 'Wybierz obraz',
|
|
32
|
-
replaceFile: 'Zastąp obraz',
|
|
33
|
-
waiting: 'Oczekiwanie na dowód',
|
|
34
|
-
metadata: 'Metadane rejestracji',
|
|
35
|
-
integrity: 'Sygnały integralności',
|
|
36
|
-
location: 'Zarejestrowana lokalizacja',
|
|
37
|
-
hex: 'Szesnastkowe okno dowodowe',
|
|
38
|
-
hexHint: 'Pierwsze 512 bajtów · nagłówek w kolorze cyjan · metadane bursztynowe · neutralne dane obrazu',
|
|
39
|
-
noData: 'Brak czytelnej wartości',
|
|
40
|
-
noGps: 'Nie znaleziono czytelnych współrzędnych GPS.',
|
|
41
|
-
mapLink: 'Otwórz współrzędne w OpenStreetMap',
|
|
42
|
-
score: 'Zaufanie heurystyczne',
|
|
43
|
-
disclaimer: 'Wysoki wynik nie ustanawia autentyczności. Zachowaj oryginał, oblicz hashe kryptograficzne i korzystaj ze zwalidowanych procedur laboratoryjnych przy formułowaniu wniosków w sprawie.',
|
|
44
|
-
fileName: 'Plik',
|
|
45
|
-
fileSize: 'Rozmiar',
|
|
46
|
-
fileType: 'Kontener',
|
|
47
|
-
camera: 'Aparat',
|
|
48
|
-
captured: 'Zarejestrowano',
|
|
49
|
-
software: 'Oprogramowanie',
|
|
50
|
-
coordinates: 'Współrzędne',
|
|
51
|
-
statusNoObvious: 'Brak oczywistych oznak edycji',
|
|
52
|
-
statusReview: 'Zalecana weryfikacja',
|
|
53
|
-
statusEditing: 'Wykryto podpis edycyjny',
|
|
54
|
-
processing: 'Odczyt danych binarnych...',
|
|
55
|
-
loadError: 'Nie udało się przeanalizować pliku. Wybierz prawidłowy obraz JPEG lub PNG.',
|
|
56
|
-
},
|
|
57
|
-
seo: [
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'forensyczny-analizator-metadanych-i-autentycznosci-obrazu';
|
|
5
|
+
const title = 'Forensyczny Analizator Metadanych i Autentyczności Obrazu';
|
|
6
|
+
const description = 'Sprawdzaj nagłówki obrazów, dane EXIF z rejestracji, współrzędne GPS, ślady oprogramowania edycyjnego i surowe bajty lokalnie w przeglądarce.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{ name: 'Zachowaj oryginalny materiał dowodowy', text: 'Pracuj na kopii kryminalistycznej i przechowuj plik źródłowy oraz jego skrót kryptograficzny poza tym narzędziem przeglądarkowym.' },
|
|
10
|
+
{ name: 'Załaduj obraz lokalnie', text: 'Przeciągnij lub wybierz plik JPEG albo PNG. Plik jest odczytywany tylko w pamięci przeglądarki i nie jest wysyłany.' },
|
|
11
|
+
{ name: 'Przeanalizuj metadane i lokalizację', text: 'Porównaj czas wykonania, tożsamość aparatu, oprogramowanie i pola GPS z opisem sprawy oraz dokumentacją pozyskania.' },
|
|
12
|
+
{ name: 'Interpretuj sygnały integralności', text: 'Traktuj podpisy edycyjne i brakujące pola jako tropy dochodzeniowe, a nie dowód manipulacji.' },
|
|
13
|
+
{ name: 'Sprawdź podgląd szesnastkowy', text: 'Wykorzystaj podświetlone strefy nagłówka i metadanych do rozpoznania struktury kontenera oraz udokumentowania offsetów do dalszej analizy.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const faq = [
|
|
17
|
+
{ question: 'Czy metadane mogą dowieść, że fotografia jest autentyczna?', answer: 'Nie. Metadane można usunąć, skopiować albo zmienić. Uwierzytelnienie wymaga połączenia struktury pliku, pochodzenia, hashy, oględzin wizualnych, analizy kompresji i zwalidowanych metod kryminalistycznych.' },
|
|
18
|
+
{ question: 'Czy podpis Adobe lub GIMP dowodzi złośliwej edycji?', answer: 'Nie. Oznacza jedynie, że oprogramowanie mogło zapisać metadane lub wyeksportować plik. Legalna korekcja barwna, obróbka redakcyjna lub przygotowanie materiału dowodowego mogą pozostawić ten sam ślad.' },
|
|
19
|
+
{ question: 'Czy obraz jest wysyłany?', answer: 'Nie. Analiza odbywa się w pamięci przeglądarki. Mimo to przed otwarciem wrażliwego materiału w dowolnym oprogramowaniu stosuj politykę obchodzenia się z dowodami obowiązującą w twojej organizacji.' },
|
|
20
|
+
{ question: 'Dlaczego dane GPS mogą być nieobecne?', answer: 'Aparat mógł nie obsługiwać GPS, rejestrowanie lokalizacji mogło być wyłączone, platforma mogła usunąć metadane albo plik mógł zostać ponownie zakodowany.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
export const content: ToolLocaleContent = {
|
|
24
|
+
slug,
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
ui: {
|
|
28
|
+
privacy: 'Wyłącznie lokalne badanie binarne',
|
|
29
|
+
dropTitle: 'Umieść obraz na stole dowodowym',
|
|
30
|
+
dropHint: 'Upuść tutaj plik JPEG lub PNG albo wybierz plik. Nic nie jest wysyłane.',
|
|
31
|
+
chooseFile: 'Wybierz obraz',
|
|
32
|
+
replaceFile: 'Zastąp obraz',
|
|
33
|
+
waiting: 'Oczekiwanie na dowód',
|
|
34
|
+
metadata: 'Metadane rejestracji',
|
|
35
|
+
integrity: 'Sygnały integralności',
|
|
36
|
+
location: 'Zarejestrowana lokalizacja',
|
|
37
|
+
hex: 'Szesnastkowe okno dowodowe',
|
|
38
|
+
hexHint: 'Pierwsze 512 bajtów · nagłówek w kolorze cyjan · metadane bursztynowe · neutralne dane obrazu',
|
|
39
|
+
noData: 'Brak czytelnej wartości',
|
|
40
|
+
noGps: 'Nie znaleziono czytelnych współrzędnych GPS.',
|
|
41
|
+
mapLink: 'Otwórz współrzędne w OpenStreetMap',
|
|
42
|
+
score: 'Zaufanie heurystyczne',
|
|
43
|
+
disclaimer: 'Wysoki wynik nie ustanawia autentyczności. Zachowaj oryginał, oblicz hashe kryptograficzne i korzystaj ze zwalidowanych procedur laboratoryjnych przy formułowaniu wniosków w sprawie.',
|
|
44
|
+
fileName: 'Plik',
|
|
45
|
+
fileSize: 'Rozmiar',
|
|
46
|
+
fileType: 'Kontener',
|
|
47
|
+
camera: 'Aparat',
|
|
48
|
+
captured: 'Zarejestrowano',
|
|
49
|
+
software: 'Oprogramowanie',
|
|
50
|
+
coordinates: 'Współrzędne',
|
|
51
|
+
statusNoObvious: 'Brak oczywistych oznak edycji',
|
|
52
|
+
statusReview: 'Zalecana weryfikacja',
|
|
53
|
+
statusEditing: 'Wykryto podpis edycyjny',
|
|
54
|
+
processing: 'Odczyt danych binarnych...',
|
|
55
|
+
loadError: 'Nie udało się przeanalizować pliku. Wybierz prawidłowy obraz JPEG lub PNG.',
|
|
56
|
+
},
|
|
57
|
+
seo: [
|
|
58
58
|
{ type: 'title', text: 'Jak analizować metadane obrazu i wskaźniki autentyczności', level: 2 },
|
|
59
|
-
{ type: 'paragraph', html:
|
|
60
|
-
{ type: 'paragraph', html:
|
|
61
|
-
{ type: 'paragraph', html:
|
|
62
|
-
{ type: '
|
|
63
|
-
{ type: 'paragraph', html: '
|
|
64
|
-
{ type: '
|
|
65
|
-
{ type: '
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
{ type: 'paragraph', html: "Używaj wyniku do planowania i porównywania scenariuszy; nie zastępuje obliczeń urzędowych ani porady specjalisty." },
|
|
71
|
-
{ type: 'paragraph', html: "Przed użyciem zinterpretuj wynik razem z założeniami pokazanymi przez kalkulator." },
|
|
72
|
-
{ type: 'paragraph', html: "Sprawdź dane, jednostki, zaokrąglenie, datę i jurysdykcję, ponieważ każdy element może zmienić szacunek." },
|
|
73
|
-
{ type: 'paragraph', html: "Używaj wyniku do planowania i porównywania scenariuszy; nie zastępuje obliczeń urzędowych ani porady specjalisty." },
|
|
74
|
-
{ type: 'paragraph', html: "Przed użyciem zinterpretuj wynik razem z założeniami pokazanymi przez kalkulator." },
|
|
75
|
-
{ type: 'paragraph', html: "Sprawdź dane, jednostki, zaokrąglenie, datę i jurysdykcję, ponieważ każdy element może zmienić szacunek." },
|
|
76
|
-
{ type: 'paragraph', html: "Używaj wyniku do planowania i porównywania scenariuszy; nie zastępuje obliczeń urzędowych ani porady specjalisty." },
|
|
77
|
-
{ type: 'paragraph', html: "Przed użyciem zinterpretuj wynik razem z założeniami pokazanymi przez kalkulator." },
|
|
78
|
-
{ type: 'paragraph', html: "Sprawdź dane, jednostki, zaokrąglenie, datę i jurysdykcję, ponieważ każdy element może zmienić szacunek." },
|
|
79
|
-
{ type: 'paragraph', html: "Używaj wyniku do planowania i porównywania scenariuszy; nie zastępuje obliczeń urzędowych ani porady specjalisty." },
|
|
80
|
-
{ type: 'paragraph', html: "Przed użyciem zinterpretuj wynik razem z założeniami pokazanymi przez kalkulator." },
|
|
81
|
-
{ type: 'paragraph', html: "Sprawdź dane, jednostki, zaokrąglenie, datę i jurysdykcję, ponieważ każdy element może zmienić szacunek." },
|
|
82
|
-
{ type: 'paragraph', html: "Używaj wyniku do planowania i porównywania scenariuszy; nie zastępuje obliczeń urzędowych ani porady specjalisty." },
|
|
83
|
-
{ type: 'paragraph', html: "Przed użyciem zinterpretuj wynik razem z założeniami pokazanymi przez kalkulator." },
|
|
84
|
-
{ type: 'paragraph', html: "Sprawdź dane, jednostki, zaokrąglenie, datę i jurysdykcję, ponieważ każdy element może zmienić szacunek." },
|
|
85
|
-
{ type: 'paragraph', html: "Używaj wyniku do planowania i porównywania scenariuszy; nie zastępuje obliczeń urzędowych ani porady specjalisty." },
|
|
59
|
+
{ type: 'paragraph', html: "Rozszerzenie pliku ani pojedynczy tag nie może potwierdzić formatu, historii edycji lub autentyczności. Sprawdź rzeczywistą strukturę nagłówka, wymiary pikseli, profil kolorów, miniaturę i informacje o oprogramowaniu, a następnie porównaj je z zapisem akwizycji. Hash potwierdza tożsamość pliku, lecz nie prawdziwość przedstawionej treści. Uwzględnij ponowną kompresję i usuwanie metadanych przez platformy udostępniania oraz zapisz zakres badania i pozostałą niepewność." },
|
|
60
|
+
{ type: 'paragraph', html: "Brak czasu wykonania lub GPS nie oznacza automatycznie, że obraz został zmanipulowany. Ustawienia aparatu, platformy udostępniania, prywatność i ponowny zapis mogą usuwać albo przepisywać tagi. Porównuj nagłówek pliku, wymiary pikseli, profil kolorów, miniaturę, tagi oprogramowania i zapis akwizycji. Zachowaj oryginał na kontrolowanym nośniku, oblicz hash i dokumentuj kopie, konwersje oraz środowisko analizy. Wynik traktuj jako powód do dalszych badań i zestawiaj go z pochodzeniem, zeznaniami, logami urządzenia oraz zwalidowanymi metodami." },
|
|
61
|
+
{ type: 'paragraph', html: "W dokumentacji zapisz osobno datę pozyskania, nośnik, hash, środowisko analizy, sprawdzone pola, obserwacje i nierozstrzygnięte pytania. Nie wnioskuj o edycji wyłącznie na podstawie brakujących metadanych. Porównaj wynik z pochodzeniem pliku, logiem akwizycji i jego stanem zachowania, aby kolejny analityk mógł powtórzyć kontrolę. Zapisz także każdą kopię lub konwersję i oddziel wskazówkę heurystyczną od końcowej opinii eksperta." },
|
|
62
|
+
{ type: 'paragraph', html: 'Forensyczny analizator metadanych obrazu pomaga śledczym, dziennikarzom, zespołom prawnym, audytorom zgodności i biegłym odpowiedzieć na pytanie o wysokiej intencji wyszukiwania: <strong>co metadane obrazu mogą naprawdę ujawnić o fotografii?</strong> Metadane mogą dostarczać użytecznych wskazówek o rejestracji, lokalizacji, przetwarzaniu programowym i strukturze pliku, ale nie są samodzielną maszyną prawdy. Największą wartość mają na etapie triage. Pomagają wskazać pliki wymagające głębszej analizy, szczegóły wspierające deklarowaną historię obrazu oraz sprzeczności wymagające dalszego sprawdzenia.' },
|
|
63
|
+
{ type: 'paragraph', html: 'To narzędzie przeglądarkowe jest przeznaczone dla użytkowników, którzy chcą czegoś więcej niż surowego dumpu EXIF. Lokalnie odczytuje wybrany plik JPEG lub PNG i pokazuje w jednym miejscu pola aparatu, znaczniki czasu, tagi oprogramowania, współrzędne, wskazówki o kontenerze i początkowe bajty pliku. Odpowiada to częstym intencjom wyszukiwania stojącym za frazami takimi jak <em>sprawdzanie autentyczności zdjęcia</em>, <em>analiza metadanych EXIF</em>, <em>jak rozpoznać, czy obraz był edytowany</em> lub <em>jak zweryfikować metadane GPS obrazu</em>.' },
|
|
64
|
+
{ type: 'paragraph', html: 'Najważniejsza zasada brzmi: wynik należy czytać jako kontekst, a nie werdykt. Plik może zawierać użyteczne metadane i nadal wprowadzać w błąd. Może też zawierać niewiele metadanych albo nie zawierać ich wcale, a mimo to być autentyczny. Podpis oprogramowania może wskazywać na zwykły eksport, a nie na oszukańczą manipulację. Dobra praktyka kryminalistyczna traktuje więc metadane jako jedną warstwę dowodową, którą trzeba zestawiać z pochodzeniem, hashami, zeznaniami, historią urządzenia i zwalidowanymi metodami badawczymi.' },
|
|
65
|
+
{ type: 'title', text: 'Co EXIF mo\u017ce powiedzie\u0107, a czego nie', level: 3 },
|
|
66
|
+
{ type: 'paragraph', html: 'Standard EXIF przechowuje kilkadziesi\u0105t p\u00f3l opisuj\u0105cych okoliczno\u015bci wykonania zdj\u0119cia. Do najbardziej warto\u015bciowych nale\u017c\u0105: model i producent aparatu, data i czas wykonania, przys\u0142ona, czas na\u015bwietlania, ogniskowa, czu\u0142o\u015b\u0107 ISO, orientacja, balans bieli, tryb pomiaru \u015bwiat\u0142a i flash. Te dane s\u0105 pomocne w ocenie sp\u00f3jno\u015bci ze zdarzeniem dowodowym. EXIF nie potrafi jednak stwierdzi\u0107, kto nacisn\u0105\u0142 spust migawki, jaki by\u0142 rzeczywisty przebieg wydarzenia ani czy obraz by\u0142 p\u00f3\u017aniej modyfikowany \u2013 o ile edytor nie zmieni\u0142 oryginalnych tag\u00f3w. Co wi\u0119cej, niekt\u00f3re pola s\u0105 opcjonalne, a inne \u2013 jak znaczniki czasu \u2013 pochodz\u0105 wy\u0142\u0105cznie z osobnego zegara aparatu, kt\u00f3ry mo\u017ce by\u0107 \u017ale ustawiony lub celowo zmieniony. Najwi\u0119kszym ryzykiem interpretacyjnym pozostaje mo\u017cliwo\u015b\u0107 ca\u0142kowitego skopiowania EXIF z jednego zdj\u0119cia na drugie za pomoc\u0105 narz\u0119dzi takich jak ExifTool, co podwa\u017ca warto\u015b\u0107 dowodow\u0105 metadanych w izolacji.' },
|
|
67
|
+
{ type: 'title', text: 'Jak odpowiedzialnie czyta\u0107 metadane GPS', level: 3 },
|
|
68
|
+
{ type: 'paragraph', html: 'Wsp\u00f3\u0142rz\u0119dne GPS zapisane w metadanych obrazu mog\u0105 pom\u00f3c w odtworzeniu geografii zdarzenia dowodowego, ale nale\u017cy do nich podchodzi\u0107 z ostro\u017cno\u015bci\u0105. Lokalizacj\u0119 rejestruje wbudowany odbiornik aparatu lub telefonu, jednak jej dok\u0142adno\u015b\u0107 zale\u017cy od warunk\u00f3w odbioru satelitarnego, czasu synchronizacji i ustawie\u0144 urz\u0105dzenia. W praktyce oznacza to mo\u017cliwe odchylenia od kilku do kilkudziesi\u0119ciu metr\u00f3w, a w trudnym terenie nawet wi\u0119cej. Ponadto u\u017cytkownik mo\u017ce wy\u0142\u0105czy\u0107 zapis GPS, a niekt\u00f3re platformy automatycznie usuwaj\u0105 lub zaokr\u0105glaj\u0105 wsp\u00f3\u0142rz\u0119dne. Podczas analizy kryminalistycznej nie wolno polega\u0107 na samych wsp\u00f3\u0142rz\u0119dnych \u2013 trzeba je zestawi\u0107 z dokumentacj\u0105 pozyskania obrazu, zeznaniami, danymi o zasi\u0119gu sieci kom\u00f3rkowej oraz innymi \u017ar\u00f3d\u0142ami ustalaj\u0105cymi czas i miejsce. W\u0142a\u015bciwa praktyka polega na traktowaniu GPS jako poszlaki wymagaj\u0105cej potwierdzenia innymi metodami.' },
|
|
69
|
+
|
|
70
|
+
{ type: 'paragraph', html: "Używaj wyniku do planowania i porównywania scenariuszy; nie zastępuje obliczeń urzędowych ani porady specjalisty." },
|
|
71
|
+
{ type: 'paragraph', html: "Przed użyciem zinterpretuj wynik razem z założeniami pokazanymi przez kalkulator." },
|
|
72
|
+
{ type: 'paragraph', html: "Sprawdź dane, jednostki, zaokrąglenie, datę i jurysdykcję, ponieważ każdy element może zmienić szacunek." },
|
|
73
|
+
{ type: 'paragraph', html: "Używaj wyniku do planowania i porównywania scenariuszy; nie zastępuje obliczeń urzędowych ani porady specjalisty." },
|
|
74
|
+
{ type: 'paragraph', html: "Przed użyciem zinterpretuj wynik razem z założeniami pokazanymi przez kalkulator." },
|
|
75
|
+
{ type: 'paragraph', html: "Sprawdź dane, jednostki, zaokrąglenie, datę i jurysdykcję, ponieważ każdy element może zmienić szacunek." },
|
|
76
|
+
{ type: 'paragraph', html: "Używaj wyniku do planowania i porównywania scenariuszy; nie zastępuje obliczeń urzędowych ani porady specjalisty." },
|
|
77
|
+
{ type: 'paragraph', html: "Przed użyciem zinterpretuj wynik razem z założeniami pokazanymi przez kalkulator." },
|
|
78
|
+
{ type: 'paragraph', html: "Sprawdź dane, jednostki, zaokrąglenie, datę i jurysdykcję, ponieważ każdy element może zmienić szacunek." },
|
|
79
|
+
{ type: 'paragraph', html: "Używaj wyniku do planowania i porównywania scenariuszy; nie zastępuje obliczeń urzędowych ani porady specjalisty." },
|
|
80
|
+
{ type: 'paragraph', html: "Przed użyciem zinterpretuj wynik razem z założeniami pokazanymi przez kalkulator." },
|
|
81
|
+
{ type: 'paragraph', html: "Sprawdź dane, jednostki, zaokrąglenie, datę i jurysdykcję, ponieważ każdy element może zmienić szacunek." },
|
|
82
|
+
{ type: 'paragraph', html: "Używaj wyniku do planowania i porównywania scenariuszy; nie zastępuje obliczeń urzędowych ani porady specjalisty." },
|
|
83
|
+
{ type: 'paragraph', html: "Przed użyciem zinterpretuj wynik razem z założeniami pokazanymi przez kalkulator." },
|
|
84
|
+
{ type: 'paragraph', html: "Sprawdź dane, jednostki, zaokrąglenie, datę i jurysdykcję, ponieważ każdy element może zmienić szacunek." },
|
|
85
|
+
{ type: 'paragraph', html: "Używaj wyniku do planowania i porównywania scenariuszy; nie zastępuje obliczeń urzędowych ani porady specjalisty." },
|
|
86
|
+
{ type: 'paragraph', html: "Przed użyciem zinterpretuj wynik razem z założeniami pokazanymi przez kalkulator." },
|
|
87
|
+
{ type: 'paragraph', html: "Sprawdź dane, jednostki, zaokrąglenie, datę i jurysdykcję, ponieważ każdy element może zmienić szacunek." },
|
|
88
|
+
{ type: 'paragraph', html: "Używaj wyniku do planowania i porównywania scenariuszy; nie zastępuje obliczeń urzędowych ani porady specjalisty." },],
|
|
86
89
|
faq,
|
|
87
|
-
bibliography,
|
|
88
|
-
howTo,
|
|
89
|
-
schemas: [
|
|
90
|
-
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
|
|
91
|
-
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
|
|
92
|
-
{ '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
|
|
93
|
-
],
|
|
94
|
-
};
|
|
90
|
+
bibliography,
|
|
91
|
+
howTo,
|
|
92
|
+
schemas: [
|
|
93
|
+
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
|
|
94
|
+
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
|
|
95
|
+
{ '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
|
|
96
|
+
],
|
|
97
|
+
};
|
|
@@ -1,105 +1,105 @@
|
|
|
1
|
-
import { bibliography } from '../bibliography';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
|
|
4
|
-
const slug = 'analisador-forense-metadados-autenticidade-imagens';
|
|
5
|
-
const title = 'Analisador Forense de Metadados e Autenticidade de Imagens';
|
|
6
|
-
const description = 'Inspecione cabeçalhos de imagem, detalhes EXIF de captura, coordenadas GPS, assinaturas de software de edição e bytes brutos localmente no seu navegador.';
|
|
7
|
-
|
|
8
|
-
const howTo = [
|
|
9
|
-
{ name: 'Preserve a evidência original', text: 'Trabalhe a partir de uma cópia forense e mantenha o ficheiro original e o respetivo hash criptográfico fora desta ferramenta de navegador.' },
|
|
10
|
-
{ name: 'Carregue uma imagem localmente', text: 'Arraste ou selecione um JPEG ou PNG. O ficheiro é lido na memória do navegador e não é enviado.' },
|
|
11
|
-
{ name: 'Revise metadados e localização', text: 'Compare a hora de captura, a identidade da câmara, o software e os campos GPS com a narrativa do caso e os registos de aquisição.' },
|
|
12
|
-
{ name: 'Interprete os sinais de integridade', text: 'Trate assinaturas de edição e campos em falta como pistas de investigação, não como prova de manipulação.' },
|
|
13
|
-
{ name: 'Examine a pré-visualização hexadecimal', text: 'Use as zonas destacadas de cabeçalho e metadados para identificar a estrutura do contentor e documentar offsets para análise mais profunda.' },
|
|
14
|
-
];
|
|
15
|
-
|
|
16
|
-
const faq = [
|
|
17
|
-
{ question: 'Os metadados podem provar que uma fotografia é autêntica?', answer: 'Não. Os metadados podem ser removidos, copiados ou alterados. A autenticação exige combinar estrutura do ficheiro, proveniência, hashes, exame visual, análise de compressão e métodos forenses validados.' },
|
|
18
|
-
{ question: 'Uma assinatura do Adobe ou do GIMP prova edição maliciosa?', answer: 'Não. Indica que um software pode ter escrito os metadados ou exportado o ficheiro. Correção de cor legítima, processamento editorial ou preparação de prova podem produzir a mesma assinatura.' },
|
|
19
|
-
{ question: 'A imagem é enviada?', answer: 'Não. A análise é realizada na memória do navegador. Ainda assim, siga a política de tratamento de evidências da sua organização antes de abrir material sensível em qualquer software.' },
|
|
20
|
-
{ question: 'Porque podem faltar dados GPS?', answer: 'A câmara pode não suportar GPS, o registo de localização pode ter sido desativado, uma plataforma pode ter removido os metadados ou o ficheiro pode ter sido recodificado.' },
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
export const content: ToolLocaleContent = {
|
|
24
|
-
slug,
|
|
25
|
-
title,
|
|
26
|
-
description,
|
|
27
|
-
ui: {
|
|
28
|
-
privacy: 'Exame binário apenas local',
|
|
29
|
-
dropTitle: 'Coloque uma imagem na mesa de evidência',
|
|
30
|
-
dropHint: 'Largue aqui um JPEG ou PNG, ou escolha um ficheiro. Nada é enviado.',
|
|
31
|
-
chooseFile: 'Escolher imagem',
|
|
32
|
-
replaceFile: 'Substituir imagem',
|
|
33
|
-
waiting: 'À espera de evidência',
|
|
34
|
-
metadata: 'Metadados de captura',
|
|
35
|
-
integrity: 'Sinais de integridade',
|
|
36
|
-
location: 'Localização registada',
|
|
37
|
-
hex: 'Janela de evidência hexadecimal',
|
|
38
|
-
hexHint: 'Primeiros 512 bytes · cabeçalho ciano · metadados âmbar · dados de imagem neutros',
|
|
39
|
-
noData: 'Sem valor legível',
|
|
40
|
-
noGps: 'Não foram encontradas coordenadas GPS legíveis.',
|
|
41
|
-
mapLink: 'Abrir coordenadas no OpenStreetMap',
|
|
42
|
-
score: 'Confiança heurística',
|
|
43
|
-
disclaimer: 'Uma pontuação elevada não estabelece autenticidade. Preserve o original, calcule hashes criptográficos e utilize fluxos laboratoriais validados para conclusões do caso.',
|
|
44
|
-
fileName: 'Ficheiro',
|
|
45
|
-
fileSize: 'Tamanho',
|
|
46
|
-
fileType: 'Contentor',
|
|
47
|
-
camera: 'Câmara',
|
|
48
|
-
captured: 'Capturado',
|
|
49
|
-
software: 'Software',
|
|
50
|
-
coordinates: 'Coordenadas',
|
|
51
|
-
statusNoObvious: 'Sem indicadores óbvios de edição',
|
|
52
|
-
statusReview: 'Revisão recomendada',
|
|
53
|
-
statusEditing: 'Assinatura de edição detetada',
|
|
54
|
-
processing: 'A ler evidência binária...',
|
|
55
|
-
loadError: 'Não foi possível analisar o ficheiro. Selecione uma imagem JPEG ou PNG válida.',
|
|
56
|
-
},
|
|
57
|
-
seo: [
|
|
58
|
-
{ type: 'title', text: 'Como analisar metadados de imagem e indicadores de autenticidade', level: 2 },
|
|
59
|
-
{ type: 'paragraph', html: 'Um analisador forense de metadados de imagem ajuda investigadores, jornalistas, equipas jurídicas, revisores de conformidade e peritos a responder a uma pergunta de alta intenção: <strong>o que é que os metadados de uma fotografia podem realmente revelar?</strong> Os metadados podem expor pistas úteis sobre captura, localização, processamento por software e estrutura do ficheiro, mas não funcionam como uma máquina autónoma da verdade. O seu maior valor está na triagem. Ajudam a identificar quais os ficheiros que merecem análise mais profunda, quais os detalhes que sustentam a história declarada da imagem e quais as contradições que exigem seguimento antes de qualquer conclusão forte sobre autenticidade.' },
|
|
60
|
-
{ type: 'paragraph', html: 'Esta utilidade baseada em navegador foi desenhada para utilizadores que querem mais do que um dump EXIF bruto. Lê localmente o JPEG ou PNG selecionado e apresenta num único local campos da câmara, marcas temporais de captura, etiquetas de software, coordenadas, pistas do contentor e os primeiros bytes do ficheiro. Isso responde a intenções de pesquisa comuns por trás de expressões como <em>verificador de autenticidade de fotos</em>, <em>analisador de metadados EXIF</em>, <em>como saber se uma imagem foi editada</em> ou <em>como verificar metadados GPS de uma imagem</em>. Quem pesquisa esses termos geralmente quer tanto evidência como interpretação.' },
|
|
61
|
-
{ type: 'paragraph', html: 'O princípio mais importante é que o resultado deve ser lido como contexto, e não como veredito. Um ficheiro pode conter metadados úteis e ainda assim ser enganador. Pode conter poucos ou nenhuns metadados e continuar genuíno. Uma assinatura de software pode indicar comportamento normal de exportação em vez de manipulação enganosa. Uma boa prática forense trata, portanto, os metadados como uma camada de evidência que tem de ser comparada com proveniência, hashes, testemunhos, histórico do dispositivo e métodos de exame validados.' },
|
|
62
|
-
{ type: 'title', text: 'O que o EXIF pode dizer e o que não pode', level: 3 },
|
|
63
|
-
{ type: 'paragraph', html: 'EXIF é uma estrutura de metadados baseada em TIFF normalmente embutida em imagens JPEG. Pode registar o dispositivo de captura, a data e hora originais, a orientação, os parâmetros de exposição e a posição GPS. Quando esses campos são internamente coerentes e coincidem com as circunstâncias conhecidas do caso, podem apoiar uma cronologia ou origem proposta. Quando entram em conflito com a história declarada da imagem, identificam perguntas específicas para revisão posterior.' },
|
|
64
|
-
{ type: 'paragraph', html: 'Um dos maiores equívocos por trás das pesquisas sobre metadados de imagem é pensar que EXIF é fiável por defeito. Não é. Os metadados podem ser editados, copiados entre ficheiros, removidos por redes sociais, alterados durante a exportação, normalizados por plataformas cloud ou parcialmente danificados por recodificação. A melhor pergunta não é apenas se os metadados existem, mas se são tecnicamente coerentes, contextualmente plausíveis e corroborados por evidência independente.' },
|
|
65
|
-
{ type: 'table', headers: ['Observação', 'Possível significado', 'Cautela necessária'], rows: [
|
|
66
|
-
['Marca e modelo de câmara presentes', 'O ficheiro contém etiquetas de identificação do dispositivo.', 'As etiquetas podem ser copiadas ou reescritas e não identificam a câmara física por si só.'],
|
|
67
|
-
['Coordenadas GPS presentes', 'Foi registada uma localização nos metadados.', 'Confirme sinal, datum, carimbo temporal e consistência com evidência independente.'],
|
|
68
|
-
['A etiqueta de software nomeia um editor', 'A aplicação indicada provavelmente escreveu metadados ou exportou o ficheiro.', 'Isto não prova composição enganosa nem alteração do conteúdo.'],
|
|
69
|
-
['Data de captura em falta', 'A etiqueta relevante está ausente ou ilegível.', 'A ausência pode resultar de definições de privacidade, transcodificação ou remoção de metadados.'],
|
|
70
|
-
] },
|
|
71
|
-
{ type: 'title', text: 'O que os utilizadores normalmente querem dizer com "esta foto é autêntica?"', level: 3 },
|
|
72
|
-
{ type: 'paragraph', html: 'Na prática, as pessoas que procuram verificações de autenticidade de imagem costumam estar a perguntar coisas diferentes. Podem querer saber se o ficheiro veio diretamente de uma câmara, se um software de edição o tocou, se a data ou o local declarados parecem credíveis, se a estrutura do ficheiro parece normal ou se existem razões imediatas para desconfiar. Um bom analisador deve ajudar a separar essas perguntas em vez de as reduzir a um simples sim ou não.' },
|
|
73
|
-
{ type: 'paragraph', html: 'Por isso esta ferramenta distingue entre <strong>observações</strong> e <strong>heurísticas</strong>. Observações são coisas que o ficheiro parece efetivamente conter, como um campo de software legível ou um par de coordenadas. Heurísticas são interpretações orientadas para risco, como saber se uma assinatura de edição merece revisão. Esta separação é valiosa tanto para a usabilidade como para o SEO, porque responde a uma necessidade real do utilizador: perceber o que o ficheiro diz, o que a ferramenta infere e onde o juízo humano continua a ser essencial.' },
|
|
74
|
-
{ type: 'title', text: 'Como interpretar assinaturas de software de edição', level: 3 },
|
|
75
|
-
{ type: 'paragraph', html: 'Nomes como Adobe Photoshop, Lightroom, GIMP, Snapseed ou ImageMagick podem aparecer como texto simples em metadados ou segmentos de aplicação. A sua presença é uma pista de atribuição sobre o processamento do ficheiro, não prova de que os píxeis foram alterados maliciosamente. Esta é uma das intenções de pesquisa mais comuns neste tema, porque muitos utilizadores assumem que ver o nome de um editor significa automaticamente manipulação. Na realidade, redimensionamento normal, conversão de formato, correção de cor, processamento editorial, redação ou preparação probatória podem produzir a mesma assinatura.' },
|
|
76
|
-
{ type: 'paragraph', html: 'Uma interpretação melhor é perguntar que papel o software indicado terá desempenhado. Redimensionou a imagem para a web? Removeu metadados na exportação? Guardou uma captura de ecrã? Recodificou uma cópia das redes sociais? Adicionou um perfil de cor? A mesma cadeia de software pode sustentar narrativas muito diferentes consoante o workflow. Os examinadores devem comparar a assinatura com o histórico de tratamento esperado e, quando a gravidade do caso o justificar, avançar para métodos mais profundos como revisão de tabelas de quantização, análise de histórico de compressão, comparação de miniaturas, exame de padrão de sensor e testes ao nível do píxel.' },
|
|
77
|
-
{ type: 'title', text: 'Como ler metadados GPS com responsabilidade', level: 3 },
|
|
78
|
-
{ type: 'paragraph', html: 'Os metadados GPS podem ser muito valiosos porque podem ligar uma imagem a um lugar, mas é fácil exagerar a sua certeza. As coordenadas devem ser verificadas quanto ao sinal do hemisfério, precisão decimal, alinhamento temporal e consistência com o resto do ficheiro. Um par de coordenadas que parece preciso não é automaticamente fiável. Pode refletir um estado antigo do dispositivo, edição manual, comportamento de exportação ou histórico de media partilhado. A ausência de GPS também não implica ocultação, porque muitas câmaras nunca registam localização e muitas plataformas removem-na automaticamente.' },
|
|
79
|
-
{ type: 'paragraph', html: 'Para utilizadores que chegam por pesquisas sobre geolocalização de fotos ou verificação de localização baseada em metadados, a abordagem mais fiável é a comparação. Trate as coordenadas como uma pista entre várias. Compare-as com testemunhos, histórico de deslocações, pontos de referência da cena, meteorologia, registos de rede, backups cloud e logs do dispositivo quando legalmente disponível. O verdadeiro valor dos metadados está em quão bem se encaixam no panorama probatório mais amplo.' },
|
|
80
|
-
{ type: 'title', text: 'Porque a vista hexadecimal é importante', level: 3 },
|
|
81
|
-
{ type: 'paragraph', html: 'Um visualizador hexadecimal expõe os valores reais de byte e offsets que formam o ficheiro. Isto importa porque muitas perguntas sobre autenticidade são, na realidade, perguntas sobre estrutura. Os ficheiros JPEG começam normalmente com o marcador SOI FF D8, seguido de segmentos como APP0 ou APP1; o EXIF costuma residir em APP1. Os ficheiros PNG começam com uma assinatura de oito bytes e continuam como chunks nomeados. Observar os primeiros bytes ajuda a confirmar que um ficheiro pelo menos se parece com o contentor que afirma ser e dá aos examinadores experientes uma forma rápida de documentar offsets para relatórios posteriores.' },
|
|
82
|
-
{ type: 'paragraph', html: 'Anomalias estruturais não significam automaticamente manipulação, porque os codificadores legítimos diferem. Ainda assim, a visibilidade ao nível dos bytes é valiosa quando um ficheiro parece danificado, mal rotulado, parcialmente reescrito ou inconsistente com a sua extensão. Muitos utilizadores que procuram uma ferramenta de forense de imagem querem transparência e não uma caixa negra. Mostrar diretamente o cabeçalho e as zonas de metadados ajuda a perceber onde começa a interpretação.' },
|
|
83
|
-
{ type: 'title', text: 'Um workflow prático para revisão baseada em metadados', level: 3 },
|
|
84
|
-
{ type: 'paragraph', html: 'Um workflow robusto começa antes da revisão EXIF. Preserve o ficheiro de origem, calcule um hash criptográfico e evite tratar uma cópia de trabalho carregada no navegador como se fosse o original probatório. Depois examine em conjunto o contentor, as propriedades do ficheiro, os campos de captura, os campos de software e as coordenadas GPS. Procure primeiro coerência interna. Em seguida compare o que o ficheiro diz com o que o caso diz. Em muitas investigações, a observação mais útil surge do desencontro entre essas duas histórias.' },
|
|
85
|
-
{ type: 'paragraph', html: 'Isto importa para a intenção de pesquisa porque muitos utilizadores não querem apenas uma lista de tags. Querem saber o que fazer depois de ver uma data, um rótulo de software ou um par de coordenadas. Na maioria dos casos, a resposta é documentar a observação, registar a limitação e decidir se o ficheiro necessita de análise mais profunda com métodos aprovados por laboratório. A análise de metadados é uma etapa de entrada, não o exame completo.' },
|
|
86
|
-
{ type: 'title', text: 'Checklist do workflow forense', level: 3 },
|
|
87
|
-
{ type: 'list', items: [
|
|
88
|
-
'<strong>Preservar:</strong> nunca trate uma cópia de trabalho carregada no navegador como original probatório.',
|
|
89
|
-
'<strong>Hash:</strong> registe um hash criptográfico na aquisição e após cada transferência autorizada.',
|
|
90
|
-
'<strong>Corroborar:</strong> compare metadados com registos do dispositivo, dados cloud, testemunhos e factos da cena.',
|
|
91
|
-
'<strong>Documentar:</strong> registe versões de software, definições, offsets, observações e capturas necessárias para reprodutibilidade.',
|
|
92
|
-
'<strong>Validar:</strong> utilize ferramentas aprovadas em laboratório e revisão por pares antes de expressar uma conclusão formal sobre autenticidade.',
|
|
93
|
-
] },
|
|
94
|
-
{ type: 'title', text: 'Quando a revisão de metadados não é suficiente', level: 3 },
|
|
95
|
-
{ type: 'paragraph', html: 'Por vezes os metadados parecem limpos e a imagem continua enganadora. Noutras, os metadados parecem suspeitos e a imagem continua autêntica. Por isso conclusões forenses avançadas exigem mais do que simples etiquetas de ficheiro. Dependendo do peso do caso, os passos seguintes podem incluir análise de artefactos de compressão, comparação de tabelas de quantização, verificação de incoerências em miniaturas, exame ao nível do píxel, reconstrução de proveniência e revisão da cadeia de custódia. Um bom conteúdo SEO deve dizê-lo claramente, porque responde à verdadeira pergunta por trás de muitas pesquisas no Google: o que esta ferramenta pode fazer por mim e onde começam os seus limites?' },
|
|
96
|
-
],
|
|
97
|
-
faq,
|
|
98
|
-
bibliography,
|
|
99
|
-
howTo,
|
|
100
|
-
schemas: [
|
|
101
|
-
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
|
|
102
|
-
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
|
|
103
|
-
{ '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
|
|
104
|
-
],
|
|
105
|
-
};
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
|
|
4
|
+
const slug = 'analisador-forense-metadados-autenticidade-imagens';
|
|
5
|
+
const title = 'Analisador Forense de Metadados e Autenticidade de Imagens';
|
|
6
|
+
const description = 'Inspecione cabeçalhos de imagem, detalhes EXIF de captura, coordenadas GPS, assinaturas de software de edição e bytes brutos localmente no seu navegador.';
|
|
7
|
+
|
|
8
|
+
const howTo = [
|
|
9
|
+
{ name: 'Preserve a evidência original', text: 'Trabalhe a partir de uma cópia forense e mantenha o ficheiro original e o respetivo hash criptográfico fora desta ferramenta de navegador.' },
|
|
10
|
+
{ name: 'Carregue uma imagem localmente', text: 'Arraste ou selecione um JPEG ou PNG. O ficheiro é lido na memória do navegador e não é enviado.' },
|
|
11
|
+
{ name: 'Revise metadados e localização', text: 'Compare a hora de captura, a identidade da câmara, o software e os campos GPS com a narrativa do caso e os registos de aquisição.' },
|
|
12
|
+
{ name: 'Interprete os sinais de integridade', text: 'Trate assinaturas de edição e campos em falta como pistas de investigação, não como prova de manipulação.' },
|
|
13
|
+
{ name: 'Examine a pré-visualização hexadecimal', text: 'Use as zonas destacadas de cabeçalho e metadados para identificar a estrutura do contentor e documentar offsets para análise mais profunda.' },
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
const faq = [
|
|
17
|
+
{ question: 'Os metadados podem provar que uma fotografia é autêntica?', answer: 'Não. Os metadados podem ser removidos, copiados ou alterados. A autenticação exige combinar estrutura do ficheiro, proveniência, hashes, exame visual, análise de compressão e métodos forenses validados.' },
|
|
18
|
+
{ question: 'Uma assinatura do Adobe ou do GIMP prova edição maliciosa?', answer: 'Não. Indica que um software pode ter escrito os metadados ou exportado o ficheiro. Correção de cor legítima, processamento editorial ou preparação de prova podem produzir a mesma assinatura.' },
|
|
19
|
+
{ question: 'A imagem é enviada?', answer: 'Não. A análise é realizada na memória do navegador. Ainda assim, siga a política de tratamento de evidências da sua organização antes de abrir material sensível em qualquer software.' },
|
|
20
|
+
{ question: 'Porque podem faltar dados GPS?', answer: 'A câmara pode não suportar GPS, o registo de localização pode ter sido desativado, uma plataforma pode ter removido os metadados ou o ficheiro pode ter sido recodificado.' },
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
export const content: ToolLocaleContent = {
|
|
24
|
+
slug,
|
|
25
|
+
title,
|
|
26
|
+
description,
|
|
27
|
+
ui: {
|
|
28
|
+
privacy: 'Exame binário apenas local',
|
|
29
|
+
dropTitle: 'Coloque uma imagem na mesa de evidência',
|
|
30
|
+
dropHint: 'Largue aqui um JPEG ou PNG, ou escolha um ficheiro. Nada é enviado.',
|
|
31
|
+
chooseFile: 'Escolher imagem',
|
|
32
|
+
replaceFile: 'Substituir imagem',
|
|
33
|
+
waiting: 'À espera de evidência',
|
|
34
|
+
metadata: 'Metadados de captura',
|
|
35
|
+
integrity: 'Sinais de integridade',
|
|
36
|
+
location: 'Localização registada',
|
|
37
|
+
hex: 'Janela de evidência hexadecimal',
|
|
38
|
+
hexHint: 'Primeiros 512 bytes · cabeçalho ciano · metadados âmbar · dados de imagem neutros',
|
|
39
|
+
noData: 'Sem valor legível',
|
|
40
|
+
noGps: 'Não foram encontradas coordenadas GPS legíveis.',
|
|
41
|
+
mapLink: 'Abrir coordenadas no OpenStreetMap',
|
|
42
|
+
score: 'Confiança heurística',
|
|
43
|
+
disclaimer: 'Uma pontuação elevada não estabelece autenticidade. Preserve o original, calcule hashes criptográficos e utilize fluxos laboratoriais validados para conclusões do caso.',
|
|
44
|
+
fileName: 'Ficheiro',
|
|
45
|
+
fileSize: 'Tamanho',
|
|
46
|
+
fileType: 'Contentor',
|
|
47
|
+
camera: 'Câmara',
|
|
48
|
+
captured: 'Capturado',
|
|
49
|
+
software: 'Software',
|
|
50
|
+
coordinates: 'Coordenadas',
|
|
51
|
+
statusNoObvious: 'Sem indicadores óbvios de edição',
|
|
52
|
+
statusReview: 'Revisão recomendada',
|
|
53
|
+
statusEditing: 'Assinatura de edição detetada',
|
|
54
|
+
processing: 'A ler evidência binária...',
|
|
55
|
+
loadError: 'Não foi possível analisar o ficheiro. Selecione uma imagem JPEG ou PNG válida.',
|
|
56
|
+
},
|
|
57
|
+
seo: [
|
|
58
|
+
{ type: 'title', text: 'Como analisar metadados de imagem e indicadores de autenticidade', level: 2 },
|
|
59
|
+
{ type: 'paragraph', html: 'Um analisador forense de metadados de imagem ajuda investigadores, jornalistas, equipas jurídicas, revisores de conformidade e peritos a responder a uma pergunta de alta intenção: <strong>o que é que os metadados de uma fotografia podem realmente revelar?</strong> Os metadados podem expor pistas úteis sobre captura, localização, processamento por software e estrutura do ficheiro, mas não funcionam como uma máquina autónoma da verdade. O seu maior valor está na triagem. Ajudam a identificar quais os ficheiros que merecem análise mais profunda, quais os detalhes que sustentam a história declarada da imagem e quais as contradições que exigem seguimento antes de qualquer conclusão forte sobre autenticidade.' },
|
|
60
|
+
{ type: 'paragraph', html: 'Esta utilidade baseada em navegador foi desenhada para utilizadores que querem mais do que um dump EXIF bruto. Lê localmente o JPEG ou PNG selecionado e apresenta num único local campos da câmara, marcas temporais de captura, etiquetas de software, coordenadas, pistas do contentor e os primeiros bytes do ficheiro. Isso responde a intenções de pesquisa comuns por trás de expressões como <em>verificador de autenticidade de fotos</em>, <em>analisador de metadados EXIF</em>, <em>como saber se uma imagem foi editada</em> ou <em>como verificar metadados GPS de uma imagem</em>. Quem pesquisa esses termos geralmente quer tanto evidência como interpretação.' },
|
|
61
|
+
{ type: 'paragraph', html: 'O princípio mais importante é que o resultado deve ser lido como contexto, e não como veredito. Um ficheiro pode conter metadados úteis e ainda assim ser enganador. Pode conter poucos ou nenhuns metadados e continuar genuíno. Uma assinatura de software pode indicar comportamento normal de exportação em vez de manipulação enganosa. Uma boa prática forense trata, portanto, os metadados como uma camada de evidência que tem de ser comparada com proveniência, hashes, testemunhos, histórico do dispositivo e métodos de exame validados.' },
|
|
62
|
+
{ type: 'title', text: 'O que o EXIF pode dizer e o que não pode', level: 3 },
|
|
63
|
+
{ type: 'paragraph', html: 'EXIF é uma estrutura de metadados baseada em TIFF normalmente embutida em imagens JPEG. Pode registar o dispositivo de captura, a data e hora originais, a orientação, os parâmetros de exposição e a posição GPS. Quando esses campos são internamente coerentes e coincidem com as circunstâncias conhecidas do caso, podem apoiar uma cronologia ou origem proposta. Quando entram em conflito com a história declarada da imagem, identificam perguntas específicas para revisão posterior.' },
|
|
64
|
+
{ type: 'paragraph', html: 'Um dos maiores equívocos por trás das pesquisas sobre metadados de imagem é pensar que EXIF é fiável por defeito. Não é. Os metadados podem ser editados, copiados entre ficheiros, removidos por redes sociais, alterados durante a exportação, normalizados por plataformas cloud ou parcialmente danificados por recodificação. A melhor pergunta não é apenas se os metadados existem, mas se são tecnicamente coerentes, contextualmente plausíveis e corroborados por evidência independente.' },
|
|
65
|
+
{ type: 'table', headers: ['Observação', 'Possível significado', 'Cautela necessária'], rows: [
|
|
66
|
+
['Marca e modelo de câmara presentes', 'O ficheiro contém etiquetas de identificação do dispositivo.', 'As etiquetas podem ser copiadas ou reescritas e não identificam a câmara física por si só.'],
|
|
67
|
+
['Coordenadas GPS presentes', 'Foi registada uma localização nos metadados.', 'Confirme sinal, datum, carimbo temporal e consistência com evidência independente.'],
|
|
68
|
+
['A etiqueta de software nomeia um editor', 'A aplicação indicada provavelmente escreveu metadados ou exportou o ficheiro.', 'Isto não prova composição enganosa nem alteração do conteúdo.'],
|
|
69
|
+
['Data de captura em falta', 'A etiqueta relevante está ausente ou ilegível.', 'A ausência pode resultar de definições de privacidade, transcodificação ou remoção de metadados.'],
|
|
70
|
+
] },
|
|
71
|
+
{ type: 'title', text: 'O que os utilizadores normalmente querem dizer com "esta foto é autêntica?"', level: 3 },
|
|
72
|
+
{ type: 'paragraph', html: 'Na prática, as pessoas que procuram verificações de autenticidade de imagem costumam estar a perguntar coisas diferentes. Podem querer saber se o ficheiro veio diretamente de uma câmara, se um software de edição o tocou, se a data ou o local declarados parecem credíveis, se a estrutura do ficheiro parece normal ou se existem razões imediatas para desconfiar. Um bom analisador deve ajudar a separar essas perguntas em vez de as reduzir a um simples sim ou não.' },
|
|
73
|
+
{ type: 'paragraph', html: 'Por isso esta ferramenta distingue entre <strong>observações</strong> e <strong>heurísticas</strong>. Observações são coisas que o ficheiro parece efetivamente conter, como um campo de software legível ou um par de coordenadas. Heurísticas são interpretações orientadas para risco, como saber se uma assinatura de edição merece revisão. Esta separação é valiosa tanto para a usabilidade como para o SEO, porque responde a uma necessidade real do utilizador: perceber o que o ficheiro diz, o que a ferramenta infere e onde o juízo humano continua a ser essencial.' },
|
|
74
|
+
{ type: 'title', text: 'Como interpretar assinaturas de software de edição', level: 3 },
|
|
75
|
+
{ type: 'paragraph', html: 'Nomes como Adobe Photoshop, Lightroom, GIMP, Snapseed ou ImageMagick podem aparecer como texto simples em metadados ou segmentos de aplicação. A sua presença é uma pista de atribuição sobre o processamento do ficheiro, não prova de que os píxeis foram alterados maliciosamente. Esta é uma das intenções de pesquisa mais comuns neste tema, porque muitos utilizadores assumem que ver o nome de um editor significa automaticamente manipulação. Na realidade, redimensionamento normal, conversão de formato, correção de cor, processamento editorial, redação ou preparação probatória podem produzir a mesma assinatura.' },
|
|
76
|
+
{ type: 'paragraph', html: 'Uma interpretação melhor é perguntar que papel o software indicado terá desempenhado. Redimensionou a imagem para a web? Removeu metadados na exportação? Guardou uma captura de ecrã? Recodificou uma cópia das redes sociais? Adicionou um perfil de cor? A mesma cadeia de software pode sustentar narrativas muito diferentes consoante o workflow. Os examinadores devem comparar a assinatura com o histórico de tratamento esperado e, quando a gravidade do caso o justificar, avançar para métodos mais profundos como revisão de tabelas de quantização, análise de histórico de compressão, comparação de miniaturas, exame de padrão de sensor e testes ao nível do píxel.' },
|
|
77
|
+
{ type: 'title', text: 'Como ler metadados GPS com responsabilidade', level: 3 },
|
|
78
|
+
{ type: 'paragraph', html: 'Os metadados GPS podem ser muito valiosos porque podem ligar uma imagem a um lugar, mas é fácil exagerar a sua certeza. As coordenadas devem ser verificadas quanto ao sinal do hemisfério, precisão decimal, alinhamento temporal e consistência com o resto do ficheiro. Um par de coordenadas que parece preciso não é automaticamente fiável. Pode refletir um estado antigo do dispositivo, edição manual, comportamento de exportação ou histórico de media partilhado. A ausência de GPS também não implica ocultação, porque muitas câmaras nunca registam localização e muitas plataformas removem-na automaticamente.' },
|
|
79
|
+
{ type: 'paragraph', html: 'Para utilizadores que chegam por pesquisas sobre geolocalização de fotos ou verificação de localização baseada em metadados, a abordagem mais fiável é a comparação. Trate as coordenadas como uma pista entre várias. Compare-as com testemunhos, histórico de deslocações, pontos de referência da cena, meteorologia, registos de rede, backups cloud e logs do dispositivo quando legalmente disponível. O verdadeiro valor dos metadados está em quão bem se encaixam no panorama probatório mais amplo.' },
|
|
80
|
+
{ type: 'title', text: 'Porque a vista hexadecimal é importante', level: 3 },
|
|
81
|
+
{ type: 'paragraph', html: 'Um visualizador hexadecimal expõe os valores reais de byte e offsets que formam o ficheiro. Isto importa porque muitas perguntas sobre autenticidade são, na realidade, perguntas sobre estrutura. Os ficheiros JPEG começam normalmente com o marcador SOI FF D8, seguido de segmentos como APP0 ou APP1; o EXIF costuma residir em APP1. Os ficheiros PNG começam com uma assinatura de oito bytes e continuam como chunks nomeados. Observar os primeiros bytes ajuda a confirmar que um ficheiro pelo menos se parece com o contentor que afirma ser e dá aos examinadores experientes uma forma rápida de documentar offsets para relatórios posteriores.' },
|
|
82
|
+
{ type: 'paragraph', html: 'Anomalias estruturais não significam automaticamente manipulação, porque os codificadores legítimos diferem. Ainda assim, a visibilidade ao nível dos bytes é valiosa quando um ficheiro parece danificado, mal rotulado, parcialmente reescrito ou inconsistente com a sua extensão. Muitos utilizadores que procuram uma ferramenta de forense de imagem querem transparência e não uma caixa negra. Mostrar diretamente o cabeçalho e as zonas de metadados ajuda a perceber onde começa a interpretação.' },
|
|
83
|
+
{ type: 'title', text: 'Um workflow prático para revisão baseada em metadados', level: 3 },
|
|
84
|
+
{ type: 'paragraph', html: 'Um workflow robusto começa antes da revisão EXIF. Preserve o ficheiro de origem, calcule um hash criptográfico e evite tratar uma cópia de trabalho carregada no navegador como se fosse o original probatório. Depois examine em conjunto o contentor, as propriedades do ficheiro, os campos de captura, os campos de software e as coordenadas GPS. Procure primeiro coerência interna. Em seguida compare o que o ficheiro diz com o que o caso diz. Em muitas investigações, a observação mais útil surge do desencontro entre essas duas histórias.' },
|
|
85
|
+
{ type: 'paragraph', html: 'Isto importa para a intenção de pesquisa porque muitos utilizadores não querem apenas uma lista de tags. Querem saber o que fazer depois de ver uma data, um rótulo de software ou um par de coordenadas. Na maioria dos casos, a resposta é documentar a observação, registar a limitação e decidir se o ficheiro necessita de análise mais profunda com métodos aprovados por laboratório. A análise de metadados é uma etapa de entrada, não o exame completo.' },
|
|
86
|
+
{ type: 'title', text: 'Checklist do workflow forense', level: 3 },
|
|
87
|
+
{ type: 'list', items: [
|
|
88
|
+
'<strong>Preservar:</strong> nunca trate uma cópia de trabalho carregada no navegador como original probatório.',
|
|
89
|
+
'<strong>Hash:</strong> registe um hash criptográfico na aquisição e após cada transferência autorizada.',
|
|
90
|
+
'<strong>Corroborar:</strong> compare metadados com registos do dispositivo, dados cloud, testemunhos e factos da cena.',
|
|
91
|
+
'<strong>Documentar:</strong> registe versões de software, definições, offsets, observações e capturas necessárias para reprodutibilidade.',
|
|
92
|
+
'<strong>Validar:</strong> utilize ferramentas aprovadas em laboratório e revisão por pares antes de expressar uma conclusão formal sobre autenticidade.',
|
|
93
|
+
] },
|
|
94
|
+
{ type: 'title', text: 'Quando a revisão de metadados não é suficiente', level: 3 },
|
|
95
|
+
{ type: 'paragraph', html: 'Por vezes os metadados parecem limpos e a imagem continua enganadora. Noutras, os metadados parecem suspeitos e a imagem continua autêntica. Por isso conclusões forenses avançadas exigem mais do que simples etiquetas de ficheiro. Dependendo do peso do caso, os passos seguintes podem incluir análise de artefactos de compressão, comparação de tabelas de quantização, verificação de incoerências em miniaturas, exame ao nível do píxel, reconstrução de proveniência e revisão da cadeia de custódia. Um bom conteúdo SEO deve dizê-lo claramente, porque responde à verdadeira pergunta por trás de muitas pesquisas no Google: o que esta ferramenta pode fazer por mim e onde começam os seus limites?' },
|
|
96
|
+
],
|
|
97
|
+
faq,
|
|
98
|
+
bibliography,
|
|
99
|
+
howTo,
|
|
100
|
+
schemas: [
|
|
101
|
+
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'ForensicApplication', operatingSystem: 'Any' },
|
|
102
|
+
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faq.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) },
|
|
103
|
+
{ '@context': 'https://schema.org', '@type': 'HowTo', name: title, step: howTo.map((step) => ({ '@type': 'HowToStep', name: step.name, text: step.text })) },
|
|
104
|
+
],
|
|
105
|
+
};
|