{"id":30851002,"url":"https://github.com/zreechxnn/edukeylogger","last_synced_at":"2025-10-04T22:39:59.773Z","repository":{"id":307401530,"uuid":"1029380517","full_name":"Zreechxnn/edukeylogger","owner":"Zreechxnn","description":" keylogger with daemon, logging, and CPU stress test (Linux, C++17)","archived":false,"fork":false,"pushed_at":"2025-08-22T10:41:12.000Z","size":218,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-07T06:41:37.711Z","etag":null,"topics":["cpp","cybersecurity","daemon","json-config","keylogger","linux","low-level-programming","security","signal-handling","system-programming","terminal","testing"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Zreechxnn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-31T00:57:45.000Z","updated_at":"2025-08-22T10:41:15.000Z","dependencies_parsed_at":"2025-07-31T04:14:39.379Z","dependency_job_id":"ab91073a-e984-49c1-88a2-f7ce033a42c1","html_url":"https://github.com/Zreechxnn/edukeylogger","commit_stats":null,"previous_names":["zreechxnn/edukeylogger"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Zreechxnn/edukeylogger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zreechxnn%2Fedukeylogger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zreechxnn%2Fedukeylogger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zreechxnn%2Fedukeylogger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zreechxnn%2Fedukeylogger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zreechxnn","download_url":"https://codeload.github.com/Zreechxnn/edukeylogger/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zreechxnn%2Fedukeylogger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278386122,"owners_count":25978109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","cybersecurity","daemon","json-config","keylogger","linux","low-level-programming","security","signal-handling","system-programming","terminal","testing"],"created_at":"2025-09-07T06:41:19.826Z","updated_at":"2025-10-04T22:39:59.735Z","avatar_url":"https://github.com/Zreechxnn.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔥 EduKeylogger - Advanced Educational Keylogger System 🔥\n    \n![License](https://img.shields.io/badge/License-GNU-red)\n![Platform](https://img.shields.io/badge/Platform-Linux-blue)\n![C++](https://img.shields.io/badge/C++-17-yellowgreen)\n![Security](https://img.shields.io/badge/Security-Demonstration-purple)\n\n**EduKeylogger** is an advanced educational keylogger system designed to demonstrate system programming techniques, process defense mechanisms, and CPU stress testing. This project showcases professional-level implementation of Linux OS concepts along with high CPU load simulation for thermal benchmarking.\n\n\u003e ⚠️ **WARNING:** This project is for educational and testing purposes only. Unauthorized use is illegal. The developers are not responsible for any misuse.\n\n---\n\n## 🌟 Key Features\n\n### 🛡️ High-Defense Daemon System\n\n- **Double-Fork Daemonization** \n- **Signal Blocking** for all termination signals\n- **Watchdog Process** with auto-restart\n- **PID-based Lockfile** using `flock()`\n- **Terminal Isolation** via raw mode\n\n### 🔥 CPU Stress Engine\n\n- **Multi-threaded Burner** (8–32 threads)\n- **Big Unicode Processing** (10+ million CJK chars)\n- **Complex Math Operations**\n\n  ```cpp\n  x = sin(x) * cos(x) / tan(x) * sqrt(x);\n  ```\n\n- **Memory-Intensive Swaps** (1000+ per second)\n- **Dynamic Pattern Generation**\n\n### 🔐 Security Mechanisms\n\n- **Password Authentication** via JSON config\n- **Secure File Flag Verification**\n- **Ctrl+E Exit Combo Detection**\n- **Automatic Session Timeout** (60 minutes)\n\n### 📊 Logging System\n\n- **Structured Log Formatting**\n- **Special Key Detection** (\\[ENTER], \\[TAB], \\[BACK])\n- **Timestamp Precision**\n- **Encrypted Log Option** (AES-256-CBC)\n\n---\n\n## 📦 System Requirements\n\n| Component | Minimum           | Recommended            |\n| --------- | ----------------- | ---------------------- |\n| OS        | Linux Kernel 5.4+ | Ubuntu 22.04 LTS       |\n| CPU       | Dual-core 64-bit  | 8-core+ with cooling   |\n| RAM       | 2GB               | 16GB+                  |\n| Storage   | 100MB             | SSD with 1GB+ free     |\n| Compiler  | g++ 9.4.0         | g++ 12.3.0             |\n| Libraries | nlohmann/json     | Boost 1.75+ (optional) |\n\n---\n\n## 🚀 Installation \u0026 Configuration\n\n### Compile from Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/yourusername/edukeylogger.git\ncd edukeylogger\n\n# Install dependencies\nsudo apt update\nsudo apt install g++ build-essential\nsudo apt install g++ libjsoncpp-dev\n\n# Compile with optimization flags\ng++ -O3 -march=native -std=c++17 -o edukeylogger main.cpp -lpthread\n\n# Optional: grant CAP_SYS_ADMIN capability\nsudo setcap cap_sys_admin+ep edukeylogger\n```\n\n\n## 💻 Usage\n\n### Run as Daemon\n\n```bash\nsudo ./edukeylogger\n```\n\n### Monitor Logs\n\n```bash\ntail -f /var/log/edukey.log\n```\n\n### Stop the Program\n\n```bash\n./edukeylogger interactive\nEnter shutdown password: secreet\n[✓] Shutdown command sent. Program will exit within 10 seconds.\n```\n\n### CPU Stress Test Mode\n\n```bash\nSudo ./edukeylogger --stress-test\n```\n\n---\n\n## 🧠 System Architecture\n\n```mermaid\ngraph TD\n    A[Main Process] --\u003e B[Daemonize]\n    B --\u003e C[Create Lockfile]\n    C --\u003e D[Block Signals]\n    D --\u003e E[Fork Watchdog]\n    E --\u003e F[Start CPU Burner]\n    F --\u003e G[Keylogger Main Loop]\n    G --\u003e H{Time Remaining?}\n    H --\u003e|Yes| I[Check Exit Flag]\n    I --\u003e J{Valid Password?}\n    J --\u003e|No| K[Read Input]\n    K --\u003e L[Process Key]\n    L --\u003e M[Write Log]\n    M --\u003e H\n    J --\u003e|Yes| N[Clean Exit]\n    H --\u003e|No| N\n```\n\n---\n\n## 📂 File System Structure\n\n| Path                      | Description            | Permissions |\n| ------------------------- | ---------------------- | ----------- |\n| `/tmp/edu_keylogger.lock` | PID lock file          | `0600`      |\n| `/var/log/edukey.log`     | Encrypted log file     | `0600`      |\n| `/proc/self/exe`          | Watchdog restart path  | -           |\n| `/dev/tty`                | Virtual terminal       | `0666`      |\n| `/tmp/edu_keylogger.exit` | Exit flag via password | `0644`      |\n\n---\n\n## 🧪 Performance Testing\n\n### CPU Load Profile\n\n![CPU Load Profile](https://example.com/cpu_profile.png)\n\n| Parameter        | Value          |\n| ---------------- | -------------- |\n| Thread Count     | Core Count × 8 |\n| Unicode Size     | 10–20 million  |\n| Operations/sec   | \\~5.2×10⁹      |\n| Memory Bandwidth | 48GB/s         |\n| Temp Increase    | +35°C avg      |\n\n### Comparison of CPU Burn Methods\n\n| Method          | CPU Usage | Memory Usage | Effectiveness |\n| --------------- | --------- | ------------ | ------------- |\n| Empty Loops     | 100%      | Minimal      | ★★★☆☆         |\n| Big Unicode     | 100%      | High         | ★★★★☆         |\n| Math Ops        | 100%      | Moderate     | ★★★★★         |\n| **Combination** | **100%**  | **High**     | **★★★★★**     |\n\n---\n\n## ⚠️ Security \u0026 Ethics Notice\n\n1. **FOR YOUR OWN SYSTEM ONLY**\n2. **Do not install without permission**\n3. **May cause hardware overheating**\n4. **Logs may contain sensitive information**\n5. **Use in controlled environments only**\n\n```bash\n# WARNING: The following may damage hardware!\n./edukeylogger --max-stress\n```\n\n---\n\n## 🤝 Contributing\n\nAccepted contributions:\n\n1. Report bugs via GitHub Issues\n2. Submit new features via Pull Request\n3. Documentation improvements\n4. Algorithm optimization\n\nGuidelines:\n\n- Code must pass `clang-tidy` checks\n- Test on at least 2 Linux distributions\n- Fully document any changes\n\n---\n\n## 📜 License\n\n```text\nCopyright (c) 2025\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the “Software”), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzreechxnn%2Fedukeylogger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzreechxnn%2Fedukeylogger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzreechxnn%2Fedukeylogger/lists"}