Releases: koebbe14/Kik-Parser
KikAnalyzer Version 4.4
KikAnalyzer Version 4.3
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_tagseven 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_tagslist to include:["Evidence", "CSAM", "Child Notable/Age Difficult", "Of Interest"] - Added "Child Notable/Age Difficult" to
tag_prioritieswith 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_notablecolor to ThemeManager for both light and dark themes- Light theme:
#ffa500(Orange) - Dark theme:
#ffa500(Orange)
- Light theme:
- Added
tag_child_notableto 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-notableclass 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 inavailable_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
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_bordersset to store selection region borders as(min_row, max_row, min_col, max_col)tuples. - Enhanced deduplication key to include
content_idfor 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
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.jsonfiles - Borders are automatically restored when loading saved progress
- Table refreshes to display restored borders
- Cell borders are included in
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
- Prevented
-
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:
BorderedCellDelegateclass for rendering custom cell borders - Added:
copy_selected_cells()method for clipboard functionality - Added:
ColorSettingsDialogclass for comprehensive color customization - Enhanced:
ThemeManagerclass 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
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_thumbnailsset to track individually blurred thumbnails bycontent_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)
- Global blur is enabled (
- 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
MediaThumbnailDelegateclass extendingQStyledItemDelegatefor 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:
dataChangedsignal emission for media columnviewport().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
300msto600msto reduce unnecessary refreshes while typing - DATE_DEBOUNCE_MS: New constant added with value
1000msfor 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
MediaThumbnailDelegateclass with better main window reference handling - Context menu consolidation: Unified context menu logic for better maintainability
- State management: Added
blurred_thumbnailsset toKikAnalyzerGUI.__init__()
📊 Code Statistics
Files Modified
- Primary file:
KikAnalyzerV3.32.py(previouslykikanalyzerV3.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 QAbstractTableModelshow_context_menu(): Enhanced to support media column blur/tag and any-column taggingupdate_message_table(): Added status message completionMediaThumbnailDelegate.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, QStyleConstants Section
# Changed in v3.32:
SEARCH_DEBOUNCE_MS = 600 # Was 300 in v3.31
# Added in v3.32:
DATE_DEBOUNCE_MS = 1000New 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 openInitialization Changes
# Added in v3.32:
self.blurred_thumbnails = set() # Track individually blurred thumbnailsMethod Changes
apply_global_blur()
- v3.31: Attempted to iterate through table rows and access cell widgets (didn't work with QAbstractTableModel)
- v3.32: Emits
dataChangedsignal 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
MediaThumbnailDelegateinstead 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
-
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
-
Context Menu:
- Test tagging from any column
- Test blur/tag options from media column
- Verify automatic row selection works
-
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
Kik Conversation Analyzer
A desktop application for analyzing, tagging, and exporting Kik messenger conversation data with advanced filtering, media handling, and reporting capabilities.
📋 Table of Contents
- Description
- Features
- Screenshots
- Installation
- Prerequisites
- Usage
- Configuration
- Examples
- Contributing
- License
- Credits
📖 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)
- Download the latest release from the Releases page
- Extract the ZIP file
- Run
KikAnalyzerV3.31.exe(or the latest version) - No additional installation required
From Source
-
Clone the repository:
git clone https://github.com/Koebbe14/Kik-Parser.git cd Kik-Parser -
Install dependencies (see Prerequisites)
-
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-pythonOr use a requirements file (if provided):
pip install -r requirements.txtRequired Packages:
pandas- Data manipulation and CSV handlingPyQt5- GUI frameworkopencv-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
-
Launch the Application
- Double-click the executable or run
python KikAnalyzerV3.31.py
- Double-click the executable or run
-
Load Kik Data
- Click "Load New Data" button
- Select the unzipped Kik data folder (must contain
contentandlogssubfolders) - When prompted, select CSV files from the
text-msg-datafolder
-
Select a Conversation
- Use the conversation dropdown to select a conversation or group
- Messages will appear in the main table
-
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
-
Tag Messages
- Select a message in the table
- Right-click for context menu or use hotkeys (default:
Ctrl+1for CSAM,Ctrl+2for Evidence,Ctrl+3for Of Interest) - Tags are color-coded in the message table
-
View Tagged Messages
- Click "View Tagged" to see all tagged messages
- Filter by tag type and sort by conversation or timestamp
-
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
- Click "Create Keywords" or "Edit Keywords" button
- Create or edit keyword lists
- Enable "Whole Word" for exact word matching
- Select a keyword list from the dropdown to highlight matching messages
- Click "View Keyword Hits" to see all messages matching the selected keyword list
Managing Tags
- Click "Manage Tags" button
- Add, edit, or remove custom tag labels
- Pre-built tags (CSAM, Evidence, Of Interest) cannot be removed but can be customized
Managing Hotkeys
- Click "Manage Hotkeys" button
- Assign keyboard shortcuts to tags
- Default hotkeys:
Ctrl+1- CSAMCtrl+2- EvidenceCtrl+3- Of Interest
Adding Notes
- Select a conversation
- Click "Manage Notes" button (if available)
- Add notes for the conversation
- Use search functionality to find conversations with specific notes
Viewing Statistics
- Select a conversation
- Toggle "Show Stats" button
- View statistics for the selected conversation or all conversations
- 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:
- Open the Help dialog
- Check "Enable Logging"
- 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...
KikAnalyzer Version 3.18
Version 3.18
See change log for details
KikAnalyzer Version 2.1
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
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
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