Skip to content

Releases: koebbe14/Kik-Parser

KikAnalyzer Version 4.4

20 Feb 19:28
a3330d5

Choose a tag to compare

Changelog - KikAnalyzer V4.3 → V4.4

Version 4.4 - Modified default column sizing and added word wrapping to rows to ensure information is not truncated and fully visible

KikAnalyzer Version 4.3

11 Feb 14:42

Choose a tag to compare

Changelog - KikAnalyzer V4.2 → V4.3

Version 4.3 - New Tag and Enhanced Blur Options

Summary

This update adds the "Child Notable/Age Difficult" tag and enhanced blur options. The new tag provides better categorization for age-related content, while the new blur options offer more granular control over media sanitization in exports.

New Features

1. New Default Tag: "Child Notable/Age Difficult"

  • Added "Child Notable/Age Difficult" as a new default/prebuilt tag
  • Tag is automatically available in all tag selection dialogs
  • Tag cannot be removed (protected as a default tag)
  • Tag appears in tag management interfaces with protection from deletion
  • Tag is automatically included in available_tags even when loading from older config files

2. Enhanced Export Blur Options

  • New Option: "Blur Child Notable/Age Difficult-tagged" checkbox in export dialog

    • Allows selective blurring of media tagged with "Child Notable/Age Difficult"
    • Works independently of other blur options
  • New Option: "Blur Media That's Currently Blurred" checkbox in export dialog

    • Blurs media that has been manually blurred in the GUI using the blur button
    • Respects individual media blur states tracked by the application
    • Useful for maintaining blur state consistency between GUI and exports

Changes to Existing Features

Tag System

  • Updated prebuilt_tags list to include: ["Evidence", "CSAM", "Child Notable/Age Difficult", "Of Interest"]
  • Added "Child Notable/Age Difficult" to tag_priorities with priority 2.5 (between CSAM and Evidence)
  • Tag priority order: CSAM (2) → Child Notable/Age Difficult (2.5) → Evidence (3) → Of Interest (1)
  • Updated get_tag_color() method to recognize and apply color to the new tag

Theme and Color Management

  • Added tag_child_notable color to ThemeManager for both light and dark themes
    • Light theme: #ffa500 (Orange)
    • Dark theme: #ffa500 (Orange)
  • Added tag_child_notable to color customization options
  • Updated color label mapping to include "Child Notable/Age Difficult Tag"

Export Functionality

  • Enhanced blur logic in export_messages() to support multiple blur conditions:
    • Blur all media (existing)
    • Blur CSAM-tagged media (existing)
    • Blur Child Notable/Age Difficult-tagged media (new)
    • Blur currently blurred media (new)
  • Blur conditions are evaluated with OR logic - any matching condition will blur the media
  • Updated both image/video blur logic and non-media file handling

HTML Export

  • Added "Child Notable/Age Difficult" to HTML export color legend
  • Added CSS styling for tr.tag-child-notable class in both light and dark modes
  • Updated tag filter dropdown in HTML export to include "Child Notable/Age Difficult"
  • Updated tag class assignment logic to recognize the new tag in priority order
  • Tag appears in exported HTML with proper color coding and filtering support

Help Documentation

  • Updated help dialog to include "Child Notable/Age Difficult" in color legend
  • Updated help text to mention the new tag in pre-built tags list
  • Updated export sanitization help text to describe new blur options
  • Updated tooltips to reference the new tag where applicable

Configuration Management

  • Enhanced load_config() to ensure all prebuilt tags are always included in available_tags
  • Prevents missing tags when loading from older config files
  • Maintains backward compatibility while adding new default tags

Tag Management Dialog

  • Added protection for "Child Notable/Age Difficult" tag in ManageTagsDialog
  • Prevents deletion of the new default tag
  • Shows appropriate warning message when attempting to delete protected tags

Export Options Dialog

  • Reorganized blur options for better clarity:
    • "Blur CSAM-tagged" (renamed from "Blur Only Media Tagged as CSAM")
    • "Blur Child Notable/Age Difficult-tagged" (new)
    • "Blur All" (renamed from "Blur All Media")
    • "Blur Media That's Currently Blurred" (new)
  • Added tooltips for new blur options explaining their functionality

Backward Compatibility

  • ✅ Fully backward compatible with existing config files
  • ✅ Existing tags and settings are preserved
  • ✅ Older exports remain functional
  • ✅ New tag automatically added to existing installations

Migration Notes

  • No manual migration required
  • Application will automatically include new tag on next startup
  • Existing tagged messages continue to work as before
  • New blur options are opt-in (disabled by default)

Bug Fixes

  • Fixed issue where prebuilt tags might not appear if config file was created before tag was added
  • Ensured all default tags are always available regardless of config file state

KikAnalyzer Version 4.2

27 Jan 00:09

Choose a tag to compare

Changelog - KikAnalyzer V4.2

Session Changes Summary

Data Processing & Deduplication

Added support for text-msg-data.csv files containing a "content_id" column

  • Issue: Prior versions of the program will built around text-msg-data.csv files not containing a "content_id" column. Instead, the content_id was obtained from various log .txt files. Recieved media has been identifed in these new versions of the text-msg-data.csv files but not listed in the associated log files
  • Fix: Added support to find, analyze, and parse the text-msg-data.csv file for "content_IDs"
  • Result: Media files are now properly displayed if the records come from either the log files or the .csv files. If the same content_id is found in mulitple records and has the same sender/user/time/date/ip, then the data is aggragated and compiled as one entry

User Interface Improvements

Dialog Window Sizing for Laptop Displays

  • Issue: Initial dialog windows ("Import Kik Data" and "Select Kik Message CSV Files") were too small with hard-to-read text on laptop displays.
  • Fixes:
    • Import Kik Data Dialog:

      • Window size increased from 700x600 to 1200x900 pixels.
      • Label font size increased to 24pt (QFont) and 26px (HTML).
      • Heading font size increased to 31px (HTML).
      • Button font size increased to 22pt with larger padding (18px 31px).
      • Button minimum size increased to 176x55 pixels.
    • Select Kik Message CSV Files Dialog:

      • Window size increased from 900x650 to 1200x900 pixels.
      • Minimum size increased from 880x660 to 1100x800 pixels.
      • All font sizes increased proportionally (labels: 24pt, buttons: 22pt, text edit: 22px).
      • Button sizes and padding increased to match Import dialog.

Automatic Update Checking

  • Feature: Added automatic update checking on application startup.
  • Behavior:
    • Checks for updates automatically 1 second after the main GUI is displayed.
    • Only shows a message if an update is available (same message as manual check).
    • Silently fails if no update is available or if there's an error (no message shown).
    • Manual "Check for updates" button still works as before, showing all messages including "up to date" status.

Border Feature Enhancements

Selection Region Borders

  • Issue: When multiple cells were selected, "Add Border" placed individual borders around each cell instead of one border around the entire selection.
  • Fix:
    • Modified border logic to detect multiple cell selections.
    • When multiple cells are selected, calculates the bounding rectangle and draws a single border around the entire selection region.
    • Single cell selections still work as before (individual cell borders).
    • Selection region borders are stored separately and persist in configuration.

Increased Border Thickness

  • Enhancement: Increased border line thickness from 3px to 5px for better visibility.
  • Applies to: Both individual cell borders and selection region borders.

Technical Details

Data Structures

  • Added selection_borders set to store selection region borders as (min_row, max_row, min_col, max_col) tuples.
  • Enhanced deduplication key to include content_id for more accurate duplicate detection.

Configuration Persistence

  • Selection borders are now saved and loaded with the application configuration.

Files Modified

  • KikAnalyzerV4.1.py - Main application file with all improvements

KikAnalyzer Version 4.1

14 Jan 19:42

Choose a tag to compare

Changelog

Recent Updates

Color Customization System

  • Added: Comprehensive color settings feature allowing users to customize all application colors

    • New "Color Settings" option in View menu
    • Separate tabs for Light Mode and Dark Mode color customization
    • Color picker dialog with preview swatches showing current colors
    • All color changes are persistent and saved to KikParser_config.json
    • "Reset to Default" option to restore original color scheme
    • Color previews update in real-time as colors are changed
  • Added: Custom color support in ThemeManager

    • Extended ThemeManager to support user-defined color overrides
    • Custom colors take precedence over default theme colors
    • Custom colors are preserved when switching between light and dark modes
    • All UI components respect custom color settings
  • Enhanced: HTML Export color integration

    • HTML exports now use current theme colors (including custom colors)
    • Color legend in HTML reports reflects custom color settings
    • Dynamic CSS generation based on active theme and custom colors
    • Both light and dark mode colors are embedded in HTML for theme switching
  • Changed: Default color scheme updated

    • New professional color palette for light mode
    • Improved contrast and readability
    • Updated tag colors to use Bootstrap-inspired professional colors
    • HTML table header color changed from green to medium gray (#6c757d)
  • Improved: Color legend in Help dialog

    • Color legend now displays actual custom colors when applied
    • Removed descriptive text names, showing only color swatches
    • Legend dynamically updates to reflect current color settings

Custom Cell Borders Feature

  • Added: Custom cell border functionality allowing users to highlight individual cells
    • Right-click context menu with "Add Border" and "Remove Border" options
    • Borders are customizable via Color Settings dialog (default: bold red)
    • Borders persist across sessions and are saved in configuration
    • Borders appear in HTML exports with the same styling
    • Supports selecting individual cells or multiple cells (Ctrl+Click)

Cell Selection Improvements

  • Changed: Table selection behavior from row-only to cell-level selection
    • Users can now select individual cells or multiple cells
    • Supports Ctrl+Click for multiple cell selection
    • Shift+Click for range selection
    • Entire rows can still be selected by selecting all cells in the row

Copy Functionality

  • Added: Copy selected cells to clipboard
    • Right-click context menu "Copy" option
    • Ctrl+C keyboard shortcut support
    • Copies cells as tab-separated values (TSV) for easy pasting into Excel/Notepad
    • Maintains row/column structure when copying multiple cells

Save Progress Enhancement

  • Added: Cell borders are now saved and restored with the "Save Progress" feature
    • Cell borders are included in KikParser_progress.json files
    • Borders are automatically restored when loading saved progress
    • Table refreshes to display restored borders

Bug Fixes

  • Fixed: Data loading issue when config file exists on second run

    • Prevented schedule_search() from being called before data is loaded
    • Added check to ensure conversations exist before triggering search
  • Fixed: HTML export border mapping for Message ID field

    • Message ID cells no longer incorrectly inherit borders from Message column
    • Message ID field correctly mapped to -1 (not a table column)
  • Fixed: Label truncation in Export Options Dialog

    • Added CSS styling to prevent QGroupBox title truncation
    • "Export Scope (Select One)", "Sanitize Export", and "Fields to Include" labels now fully visible
    • Improved spacing and layout to prevent checkbox overlap with titles

Color Settings Dialog

  • Added: Comprehensive color settings dialog with organized categories
    • Background Colors: Main, Widget, Alternate, Dialog, Table, Hover, Group Box, Legend
    • Text Colors: Primary, Secondary
    • Border Colors: Border, Cell Border
    • Button Colors: Hover, Background
    • Tag Colors: CSAM, Evidence, Of Interest, Custom
    • Keyword Colors: Keyword Hit
    • Sender Colors: Sender 1, Sender 2
    • Row Colors: Default Row, Alternate Row
    • Scrollable interface with grouped color options
    • Monospace font for hex color codes
    • Improved layout to prevent label truncation

Technical Improvements

  • Added: BorderedCellDelegate class for rendering custom cell borders
  • Added: copy_selected_cells() method for clipboard functionality
  • Added: ColorSettingsDialog class for comprehensive color customization
  • Enhanced: ThemeManager class with custom color support and persistence
  • Enhanced: Progress save/load to include cell borders data
  • Improved: Table refresh mechanisms for border display updates
  • Improved: Dynamic stylesheet generation for all UI components
  • Improved: Configuration persistence for custom colors and cell borders

KikAnalyzer Version 3.32

08 Dec 18:13
b24aee7

Choose a tag to compare

Changelog: Version 3.31 → Version 3.32

Overview

Version 3.32 introduces significant improvements to media thumbnail blur functionality, enhanced context menu capabilities, and various bug fixes and performance optimizations.


🆕 New Features

1. Individual Thumbnail Blur Control

  • Right-click blur on thumbnails: Users can now right-click on any media thumbnail to blur or unblur that specific thumbnail individually
  • Per-thumbnail blur state tracking: Added blurred_thumbnails set to track individually blurred thumbnails by content_id
  • Dual blur logic: Thumbnails are blurred if either:
    • Global blur is enabled (blur_all = True), OR
    • The thumbnail is individually blurred (content_id in blurred_thumbnails)
  • Context menu option: Right-clicking a thumbnail shows "Blur This Media" or "Unblur This Media" based on current state

2. Enhanced Context Menu for Media Column

  • Tag Message from media column: Users can now tag messages directly by right-clicking on the media/thumbnail cell
  • Combined menu options: The media column context menu now includes:
    • Blur/Unblur This Media (individual thumbnail control)
    • Tag Message (tag the message in that row)

3. Improved Context Menu Accessibility

  • Tag from any column: Users can now right-click on any column in a message row to access the "Tag Message" option (previously only worked on the message column)
  • Automatic row selection: If no rows are selected when right-clicking, the right-clicked row is automatically selected for tagging

4. MediaThumbnailDelegate Class

  • New custom delegate: Introduced MediaThumbnailDelegate class extending QStyledItemDelegate for rendering media thumbnails
  • Proper blur rendering: Delegate handles blur effects directly in the paint method using OpenCV
  • Better integration: Delegate properly receives and stores reference to main window for state access

🐛 Bug Fixes

1. Blur Media Button Functionality

  • Fixed: The "Blur Media" button now properly blurs all thumbnails in the main table
  • Previous issue: Blur functionality was non-functional in v3.31
  • Implementation: Replaced non-functional blur code with working implementation using OpenCV's Gaussian blur
  • Method: Uses temporary file approach for reliable image processing (same method as export function)

2. Media Thumbnail Delegate Initialization

  • Fixed: Delegate now properly receives and stores reference to the main window
  • Improvement: Main window reference is passed directly during initialization (MediaThumbnailDelegate(self, main_window=self))
  • Previous issue: Delegate was trying to find main window from top-level widgets, which was unreliable

3. View Update Mechanism

  • Fixed: Table view now properly refreshes when blur state changes
  • Enhancement: Added multiple update methods:
    • dataChanged signal emission for media column
    • viewport().update()
    • repaint()
    • QApplication.processEvents()

4. Status Message Persistence

  • Fixed: "Updating message table..." message now properly clears after table update completes
  • Implementation: Added status message update at end of update_message_table() method
  • Result: Status bar now shows "Displayed {message_count} messages" after update completes

🔧 Technical Improvements

1. New Imports

  • numpy: Added for array operations in blur processing
  • tempfile: Added for temporary file handling in blur implementation
  • QTableView: Added to imports (used with QAbstractTableModel)
  • QStyle: Added to imports for delegate styling

2. Constants Updates

  • SEARCH_DEBOUNCE_MS: Increased from 300ms to 600ms to reduce unnecessary refreshes while typing
  • DATE_DEBOUNCE_MS: New constant added with value 1000ms for date filter changes

3. Blur Implementation

  • Method: Uses OpenCV's cv2.GaussianBlur() with consistent parameters (BLUR_KERNEL_SIZE, BLUR_SIGMA)
  • Approach: Temporary file-based processing for reliability and consistency with export functionality
  • Performance: Efficient per-thumbnail blur state tracking using Python sets
  • Location: Blur logic moved to MediaThumbnailDelegate.paint() method

4. Code Organization

  • Delegate improvements: Enhanced MediaThumbnailDelegate class with better main window reference handling
  • Context menu consolidation: Unified context menu logic for better maintainability
  • State management: Added blurred_thumbnails set to KikAnalyzerGUI.__init__()

📊 Code Statistics

Files Modified

  • Primary file: KikAnalyzerV3.32.py (previously kikanalyzerV3.31.py)
  • Line count: ~5,944 lines (v3.32) vs ~5,037 lines (v3.31)
  • Net change: ~+907 lines

Key Method Changes

  • apply_global_blur(): Completely rewritten to work with QAbstractTableModel
  • show_context_menu(): Enhanced to support media column blur/tag and any-column tagging
  • update_message_table(): Added status message completion
  • MediaThumbnailDelegate.paint(): New method implementing blur rendering

🎯 User Experience Enhancements

1. More Intuitive Workflow

  • Users can now blur specific sensitive thumbnails without affecting others
  • Tagging is accessible from any column, making it faster to tag messages
  • Media column provides both blur and tag options in one convenient menu

2. Flexible Blur Control

  • Global blur: "Blur Media" button blurs/unblurs all thumbnails (works correctly now)
  • Individual blur: Right-click on thumbnail to blur/unblur just that one
  • Persistent states: Individual blur states are preserved when toggling global blur

3. Better Feedback

  • Status messages now properly update to show completion
  • Clear indication when table updates are complete
  • Improved user feedback throughout the application

📝 Detailed Changes

Imports Section

# Added in v3.32:
import numpy as np
import tempfile
# In PyQt5.QtWidgets:
QTableView, QStyle

Constants Section

# Changed in v3.32:
SEARCH_DEBOUNCE_MS = 600  # Was 300 in v3.31

# Added in v3.32:
DATE_DEBOUNCE_MS = 1000

New Class

# Added in v3.32:
class MediaThumbnailDelegate(QStyledItemDelegate):
    """Custom delegate for rendering media thumbnails in the table."""
    # Handles thumbnail rendering, blur effects, and double-click to open

Initialization Changes

# Added in v3.32:
self.blurred_thumbnails = set()  # Track individually blurred thumbnails

Method Changes

apply_global_blur()

  • v3.31: Attempted to iterate through table rows and access cell widgets (didn't work with QAbstractTableModel)
  • v3.32: Emits dataChanged signal and triggers viewport updates for proper refresh

show_context_menu()

  • v3.31: Only worked on message column (column 4)
  • v3.32:
    • Works on any column for tagging
    • Special handling for media column (column 6) with blur and tag options
    • Automatic row selection if none selected

update_message_table()

  • v3.31: Set "Updating message table..." but never cleared it
  • v3.32: Properly clears status message with "Displayed {message_count} messages" at completion

🔄 Migration Notes

For Users

  • No configuration changes required
  • Individual blur states are stored in memory and reset on application restart
  • All existing features remain functional

For Developers

  • Blur functionality now uses MediaThumbnailDelegate instead of cell widgets
  • Context menu logic consolidated in show_context_menu() method
  • Status message management improved throughout

📌 Version Information

  • Previous Version: 3.31
  • Current Version: 3.32
  • Release Focus: Media blur functionality and context menu enhancements

✅ Testing Recommendations

  1. Blur Functionality:

    • Test "Blur Media" button blurs all thumbnails
    • Test right-click blur on individual thumbnails
    • Verify individual blur states persist when toggling global blur
  2. Context Menu:

    • Test tagging from any column
    • Test blur/tag options from media column
    • Verify automatic row selection works
  3. Status Messages:

    • Verify "Updating message table..." clears after update
    • Check status messages update correctly throughout application

📚 Notes

  • The blur functionality uses the same blur parameters as the export feature for consistency
  • Individual blur states are stored in memory and will reset when the application is closed
  • All blur operations work in real-time without requiring table refresh or data reload
  • The implementation maintains backward compatibility with existing data and configurations

KikAnalyzer Version 3.31

02 Dec 14:56
b24aee7

Choose a tag to compare

Kik Conversation Analyzer

A desktop application for analyzing, tagging, and exporting Kik messenger conversation data with advanced filtering, media handling, and reporting capabilities.

Version


📋 Table of Contents


📖 Description

Kik Conversation Analyzer is a comprehensive desktop application designed for forensic analysis, legal review, and investigation of Kik messenger data exports. The tool provides a powerful graphical interface for loading, searching, tagging, and exporting conversation data with support for media files, keyword highlighting, progress tracking, and customizable reporting.

Key Features

  • 📁 Data Import: Load unzipped Kik data folders with automatic CSV parsing
  • 🔍 Advanced Search: Filter messages by content, sender, receiver, timestamp, or keywords
  • 🏷️ Tagging System: Organize messages with customizable tags (CSAM, Evidence, Of Interest, and custom tags)
  • 📊 Statistics: View detailed conversation statistics including message counts and media tallies
  • 🖼️ Media Handling: View images and videos with thumbnail previews and optional blurring for sensitive content
  • 📤 Export Options: Generate professional HTML or CSV reports with customizable fields and sanitization options
  • ⌨️ Hotkey Support: Customizable keyboard shortcuts for efficient workflow
  • 📝 Notes System: Add and search notes for conversations
  • ✅ Progress Tracking: Mark conversations as reviewed to track analysis progress
  • 🔄 Undo/Redo: Full undo/redo support for tagging operations

🎯 Features

Core Functionality

  • Message Loading & Parsing: Automatically loads and parses Kik CSV data files
  • Conversation Management: Organize conversations by participants or groups
  • Real-time Search: Debounced search with support for exact word matching
  • Date Range Filtering: Filter messages by date range
  • Keyword Highlighting: Highlight messages matching custom keyword lists
  • Media Preview: Thumbnail generation for images and videos
  • Media Blurring: Optional blurring of sensitive media content (CSAM-tagged or all media)

Tagging & Organization

  • Pre-built Tags: CSAM, Evidence, Of Interest (with priority-based color coding)
  • Custom Tags: Create and manage custom tag labels
  • Tag Priorities: Automatic color coding based on tag priority
  • Tag Management: Full CRUD operations for tag labels
  • Tagged Message Views: Filter and view all tagged messages

Export & Reporting

  • HTML Export: Professional HTML reports with embedded media and styling
  • CSV Export: Structured CSV files for data analysis
  • Field Selection: Choose which fields to include in exports
  • Sort Options: Sort by conversation or timestamp
  • Sanitization: Blur CSAM-tagged media or all media in HTML exports
  • File Hashes: Automatic MD5 hash generation for exported media files

Advanced Features

  • Hotkey Management: Assign custom keyboard shortcuts to tags
  • Notes System: Add and search notes for conversations
  • Progress Tracking: Save and load review progress
  • Undo/Redo System: 50-action history for tagging operations
  • Statistics Panel: View conversation-specific or global statistics
  • Keyword Lists: Create and manage multiple keyword lists with whole-word matching
  • Logging: Optional file-based logging for debugging

📸 Screenshots

[NOTE]: Screenshots would be added here by the maintainer. Consider including:

  • Main application window with conversation list
  • Message table with tagged messages
  • Export options dialog
  • Statistics panel
  • Media viewer with blur options

💻 Installation

Windows Executable (Recommended)

  1. Download the latest release from the Releases page
  2. Extract the ZIP file
  3. Run KikAnalyzerV3.31.exe (or the latest version)
  4. No additional installation required

From Source

  1. Clone the repository:

    git clone https://github.com/Koebbe14/Kik-Parser.git
    cd Kik-Parser
  2. Install dependencies (see Prerequisites)

  3. Run the application:

    python KikAnalyzerV3.31.py

📦 Prerequisites

For Windows Executable

  • Windows 10 or later
  • No additional software required

For Source Installation

  • Python 3.7 or higher
  • pip (Python package manager)

Python Dependencies

Install required packages using pip:

pip install pandas PyQt5 opencv-python

Or use a requirements file (if provided):

pip install -r requirements.txt

Required Packages:

  • pandas - Data manipulation and CSV handling
  • PyQt5 - GUI framework
  • opencv-python - Image/video processing and blur functionality

Standard Library Modules Used:

  • datetime, os, html, csv, urllib, ssl, webbrowser, logging, collections, json, sys, shutil, hashlib, functools, re

🚀 Usage

Basic Workflow

  1. Launch the Application

    • Double-click the executable or run python KikAnalyzerV3.31.py
  2. Load Kik Data

    • Click "Load New Data" button
    • Select the unzipped Kik data folder (must contain content and logs subfolders)
    • When prompted, select CSV files from the text-msg-data folder
  3. Select a Conversation

    • Use the conversation dropdown to select a conversation or group
    • Messages will appear in the main table
  4. Search and Filter

    • Enter search terms in the search bar
    • Use "Exact Word" checkbox for whole-word matching
    • Use "Search All" to search across all conversations
    • Set date range filters using the date pickers
  5. Tag Messages

    • Select a message in the table
    • Right-click for context menu or use hotkeys (default: Ctrl+1 for CSAM, Ctrl+2 for Evidence, Ctrl+3 for Of Interest)
    • Tags are color-coded in the message table
  6. View Tagged Messages

    • Click "View Tagged" to see all tagged messages
    • Filter by tag type and sort by conversation or timestamp
  7. Export Data

    • Click "Export" button
    • Select export scope (Tagged Messages, Selected Conversation, or All Conversations)
    • Choose format (HTML or CSV)
    • Select fields to include
    • Configure sanitization options if needed
    • Choose output location

Advanced Usage

Managing Keywords

  1. Click "Create Keywords" or "Edit Keywords" button
  2. Create or edit keyword lists
  3. Enable "Whole Word" for exact word matching
  4. Select a keyword list from the dropdown to highlight matching messages
  5. Click "View Keyword Hits" to see all messages matching the selected keyword list

Managing Tags

  1. Click "Manage Tags" button
  2. Add, edit, or remove custom tag labels
  3. Pre-built tags (CSAM, Evidence, Of Interest) cannot be removed but can be customized

Managing Hotkeys

  1. Click "Manage Hotkeys" button
  2. Assign keyboard shortcuts to tags
  3. Default hotkeys:
    • Ctrl+1 - CSAM
    • Ctrl+2 - Evidence
    • Ctrl+3 - Of Interest

Adding Notes

  1. Select a conversation
  2. Click "Manage Notes" button (if available)
  3. Add notes for the conversation
  4. Use search functionality to find conversations with specific notes

Viewing Statistics

  1. Select a conversation
  2. Toggle "Show Stats" button
  3. View statistics for the selected conversation or all conversations
  4. Statistics include message counts, media sent/received, and more

Media Handling

  • View Media: Double-click the "Media" column to open media files
  • Blur Media: Toggle "Blur Media" button to blur all thumbnails in the GUI
  • Export Blurring: Use sanitization options in export dialog to blur media in HTML reports

Progress Tracking

  • Mark as Reviewed: Select a conversation and click "Mark as Reviewed" to track progress
  • Save Progress: Click "Save Progress" to save reviewed conversations and tagged messages
  • Load Progress: Progress is automatically loaded on startup if available

⚙️ Configuration

Configuration File Location

Configuration files are stored in the user's home directory:

  • Windows: C:\Users\<Username>\

Configuration Options

The application automatically saves:

  • Tag definitions (custom tags)
  • Hotkey assignments
  • Keyword lists
  • Logging preferences
  • Window state and preferences

Logging

Logging is disabled by default. To enable:

  1. Open the Help dialog
  2. Check "Enable Logging"
  3. Log file location: %USERPROFILE%\kik_analyzer.log (Windows)

Export Configuration

Export settings are configured per-export via the Export Options dialog:

  • Export Scope: Tagged Messages, Selected Conversation, or All Conversations
  • Format: HTML or CSV
  • Sort By: User/Conversation or Timestamp
  • Fields: Select which fields to include
  • Sanitization: Blur CSAM-tagged media or all media

Reporting Issues

When reporting issues, please include:

  • Application version
  • Operating system and version
  • Steps to reproduce
  • Expected vs. actual behavior
  • Log file (if logging is enabled)
  • Screenshots (if applicable)

📄 License

This software i...

Read more

KikAnalyzer Version 3.18

24 Nov 21:14
b24aee7

Choose a tag to compare

Version 3.18

See change log for details

KikAnalyzer Version 2.1

09 Sep 03:10
d14244c

Choose a tag to compare

Modified exported messages HTML file to be more user friendly

  • sortable by Tag type
  • sortable by conversation
  • added color legend
  • added search table function to HTML

Kik Parser v2.0

18 Aug 19:00
d9f003e

Choose a tag to compare

Update includes:

  • Added IP address and Port info to GUI
  • Fixed issue with .CSV export option not working
  • Moved "Marked as Reviewed" button next to conversation selector dropdown
  • Selecting "Marked as Reviewed" now auto advances to next conversation
  • Selecting "Marked as Reviewed" now add highlighted and bold "[Reviewed]" next to conversation name
  • Added a "Check for updates" feature that is linked to Github repo

KikAnalyzer Version 1.5

12 Aug 17:08
9347cb4

Choose a tag to compare

There is a known bug in the csv export option. Use HTML export option until future update

  • Future version will include: IP address/Port info displayed in GUI, "Mark as Reviewed" button moved next to conversation selector dropdown, Selecting mark as reviewed auto advances to the next conversation