<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: çınar </title>
    <description>The latest articles on DEV Community by çınar  (@prox0959).</description>
    <link>https://dev.to/prox0959</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4143322%2F56fa7846-9905-4d46-b2c1-2b41dcf31a7f.png</url>
      <title>DEV Community: çınar </title>
      <link>https://dev.to/prox0959</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/prox0959"/>
    <language>en</language>
    <item>
      <title>Building 9 Zero-Dependency Cybersecurity &amp; DFIR Tools in Pure Python and Win32 API</title>
      <dc:creator>çınar </dc:creator>
      <pubDate>Fri, 25 Sep 2026 17:25:20 +0000</pubDate>
      <link>https://dev.to/prox0959/building-9-zero-dependency-cybersecurity-dfir-tools-in-pure-python-and-win32-api-i9k</link>
      <guid>https://dev.to/prox0959/building-9-zero-dependency-cybersecurity-dfir-tools-in-pure-python-and-win32-api-i9k</guid>
      <description>&lt;p&gt;Hey DEV community! 👋&lt;/p&gt;

&lt;p&gt;I'm Çınar, a high school student from Turkey studying low-level systems architecture, Windows internals, and Digital Forensics &amp;amp; Incident Response (DFIR).&lt;/p&gt;

&lt;p&gt;When an incident responder plugs a triage USB into a compromised enterprise workstation or an isolated host, they cannot run &lt;code&gt;pip install psutil scapy cryptography&lt;/code&gt;. Furthermore, bundling third-party C-extension wheels across different Windows builds often breaks due to missing Visual C++ Redistributable DLLs.&lt;/p&gt;

&lt;p&gt;Over the past few months, I challenged myself to build &lt;strong&gt;9 open-source security tools&lt;/strong&gt; under one strict engineering rule: &lt;strong&gt;Zero External PyPI Dependencies.&lt;/strong&gt; Everything runs strictly on the Python Standard Library (&lt;code&gt;ctypes&lt;/code&gt;, &lt;code&gt;struct&lt;/code&gt;, &lt;code&gt;winreg&lt;/code&gt;, &lt;code&gt;socket&lt;/code&gt;, &lt;code&gt;sqlite3&lt;/code&gt;, &lt;code&gt;math&lt;/code&gt;) and direct Win32 / NT Kernel API calls.&lt;/p&gt;

&lt;p&gt;Here is the technical breakdown of the suite and how each tool works under the hood!&lt;/p&gt;




&lt;h2&gt;
  
  
  🔍 1. Sub-Second Live Forensics &amp;amp; DFIR
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ⚡ OmniTriage — Live Incident Response Engine
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/prox0959" rel="noopener noreferrer"&gt;
        prox0959
      &lt;/a&gt; / &lt;a href="https://github.com/prox0959/OmniTriage" rel="noopener noreferrer"&gt;
        OmniTriage
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Zero-dependency, sub-second Windows live digital forensics &amp;amp; incident response (DFIR) triage engine for USB responders.
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;In live response, collection order is critical. Calling disk-heavy browsers or registry parsers before capturing active network sockets destroys volatile evidence. &lt;strong&gt;OmniTriage&lt;/strong&gt; enforces the &lt;strong&gt;RFC 3227 Order of Volatility&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tier 1 (Volatile Memory &amp;amp; Network):&lt;/strong&gt; Active TCP/UDP sockets, DNS cache, and running processes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tier 2 (System &amp;amp; Persistence):&lt;/strong&gt; Registry Run keys, ShimCache, and ROT13-decoded UserAssist records.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tier 3 (Disk &amp;amp; Application Artifacts):&lt;/strong&gt; Locked Chromium SQLite history, PowerShell &lt;code&gt;ConsoleHost_history.txt&lt;/code&gt;, and temp staging executables.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of spawning noisy &lt;code&gt;wmic.exe&lt;/code&gt; or &lt;code&gt;tasklist.exe&lt;/code&gt; child processes, OmniTriage calls &lt;code&gt;kernel32.dll&lt;/code&gt; directly via &lt;code&gt;ctypes&lt;/code&gt; (&lt;code&gt;CreateToolhelp32Snapshot&lt;/code&gt;), completing full host triage in &lt;strong&gt;0.88 seconds&lt;/strong&gt; from a 10MB Portable Python USB folder while generating a SHA-256 evidence manifest.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ctypes&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;ctypes&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;wintypes&lt;/span&gt;

&lt;span class="n"&gt;TH32CS_SNAPPROCESS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mh"&gt;0x00000002&lt;/span&gt;

&lt;span class="c1"&gt;# Captures full process tree in &amp;lt;15ms with zero subprocess creation
&lt;/span&gt;&lt;span class="n"&gt;h_snap&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ctypes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;windll&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;kernel32&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;CreateToolhelp32Snapshot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;TH32CS_SNAPPROCESS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  🕵️‍♂️ ShadowTrace — Program Execution Forensics
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/prox0959" rel="noopener noreferrer"&gt;
        prox0959
      &lt;/a&gt; / &lt;a href="https://github.com/prox0959/ShadowTrace" rel="noopener noreferrer"&gt;
        ShadowTrace
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;Even if an attacker deletes an executable after running it, Windows retains execution telemetry in the registry. &lt;strong&gt;ShadowTrace&lt;/strong&gt; decodes ROT13-obfuscated &lt;code&gt;UserAssist&lt;/code&gt; keys (&lt;code&gt;CEBFF5CD...&lt;/code&gt;) and unpacks binary registry structures to recover execution counts, focus duration (ms), and 64-bit &lt;code&gt;FILETIME&lt;/code&gt; timestamps.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔌 GhostUSB — Removable Storage Hardware Forensics
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/prox0959" rel="noopener noreferrer"&gt;
        prox0959
      &lt;/a&gt; / &lt;a href="https://github.com/prox0959/GhostUSB" rel="noopener noreferrer"&gt;
        GhostUSB
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Parses &lt;code&gt;USBSTOR&lt;/code&gt; and &lt;code&gt;USB&lt;/code&gt; registry hives to extract hardware Vendor IDs, Product IDs, firmware revisions, and serial numbers, reconstructing a chronological USB connection timeline for physical exfiltration investigations.&lt;/p&gt;




&lt;h2&gt;
  
  
  🛡️ 2. Windows Internals &amp;amp; Kernel Memory Defense
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🛡️ MemGuard — LSASS Memory Shield &amp;amp; Handle Auditor
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/prox0959" rel="noopener noreferrer"&gt;
        prox0959
      &lt;/a&gt; / &lt;a href="https://github.com/prox0959/MemGuard" rel="noopener noreferrer"&gt;
        MemGuard
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Credential dumpers like Mimikatz and ProcDump require a handle to &lt;code&gt;lsass.exe&lt;/code&gt; with &lt;code&gt;PROCESS_VM_READ (0x0010)&lt;/code&gt; permissions (&lt;code&gt;MITRE T1003.001&lt;/code&gt;).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Queries the NT Kernel Handle Table directly from usermode via &lt;code&gt;ntdll.NtQuerySystemInformation&lt;/code&gt; (&lt;code&gt;SystemExtendedHandleInformation&lt;/code&gt; / Class 64).&lt;/li&gt;
&lt;li&gt;When it catches an unauthorized process holding a read handle to &lt;code&gt;lsass.exe&lt;/code&gt;, it calls &lt;code&gt;ntdll.NtSuspendProcess&lt;/code&gt; to &lt;strong&gt;freeze the attacker process in RAM&lt;/strong&gt; rather than killing it, preserving volatile evidence for the SOC.&lt;/li&gt;
&lt;li&gt;Scans &lt;code&gt;ntdll.dll&lt;/code&gt; export stubs in memory to detect &lt;code&gt;0xE9&lt;/code&gt; inline EDR hooks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📋 CryptoClipGuard — Real-Time Clipboard Hijack Shield
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/prox0959" rel="noopener noreferrer"&gt;
        prox0959
      &lt;/a&gt; / &lt;a href="https://github.com/prox0959/CryptoClipGuard" rel="noopener noreferrer"&gt;
        CryptoClipGuard
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Monitors Windows clipboard state changes via Win32 API to defend against crypto-clipper malware. If a background process silently swaps a copied BTC, ETH, SOL, or USDT wallet address, it immediately rolls back the clipboard to the original address and logs the offending PID.&lt;/p&gt;




&lt;h2&gt;
  
  
  📡 3. Network Defense &amp;amp; Information Theory
&lt;/h2&gt;

&lt;h3&gt;
  
  
  📡 SpectralCovert — Covert Channel &amp;amp; Entropy Leak Detector
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/prox0959" rel="noopener noreferrer"&gt;
        prox0959
      &lt;/a&gt; / &lt;a href="https://github.com/prox0959/SpectralCovert" rel="noopener noreferrer"&gt;
        SpectralCovert
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Enterprise firewalls often permit ICMP Echo (Type 8/0) blindly, which APTs abuse to smuggle data inside ping payloads or packet timing. &lt;strong&gt;SpectralCovert&lt;/strong&gt; uses two mathematical models:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Payload Tunneling via Normalized Shannon Entropy (&lt;code&gt;H(X)&lt;/code&gt;):&lt;/strong&gt; Separates deterministic OS ping padding from AES/XOR encrypted exfiltration streams.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Timing Channels via Sarle's Bimodality Coefficient (&lt;code&gt;BC &amp;gt; 0.555&lt;/code&gt;):&lt;/strong&gt; Analyzes Inter-Packet Delays (IPD) using skewness and kurtosis to detect and automatically decode hidden binary bitstreams in packet jitter.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;math&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;collections&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Counter&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;normalized_shannon_entropy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;bytes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;float&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mf"&gt;0.0&lt;/span&gt;
    &lt;span class="n"&gt;length&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;counts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Counter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;entropy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;length&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log2&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;length&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;counts&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;values&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;entropy&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mf"&gt;8.0&lt;/span&gt;  &lt;span class="c1"&gt;# Normalized to [0.0, 1.0]
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  🌐 ProxNet — Live Network Threat Visualizer &amp;amp; IDS
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/prox0959" rel="noopener noreferrer"&gt;
        prox0959
      &lt;/a&gt; / &lt;a href="https://github.com/prox0959/ProxNet" rel="noopener noreferrer"&gt;
        ProxNet
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;Combines active ARP discovery, OUI vendor lookup, and TTL OS fingerprinting with a live &lt;strong&gt;D3.js force-directed physics graph&lt;/strong&gt; over WebSockets to flag ARP spoofing and exposed management ports (&lt;code&gt;445 SMB&lt;/code&gt;, &lt;code&gt;3389 RDP&lt;/code&gt;).&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 4. AI Security &amp;amp; Behavioral Biometrics
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🤖 PromptSentry — Deterministic AI Prompt Injection Firewall
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/prox0959" rel="noopener noreferrer"&gt;
        prox0959
      &lt;/a&gt; / &lt;a href="https://github.com/prox0959/PromptSentry" rel="noopener noreferrer"&gt;
        PromptSentry
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;A sub-millisecond (~0.18ms) reverse proxy gateway protecting LLMs (&lt;code&gt;OWASP LLM01&lt;/code&gt;). Applies &lt;strong&gt;Unicode NFKC normalization&lt;/strong&gt; to neutralize Cyrillic/Greek homoglyph bypasses, strips invisible zero-width characters (&lt;code&gt;U+200B&lt;/code&gt;), decodes smuggled Base64/Hex payloads, and evaluates structural jailbreak heuristics before token consumption.&lt;/p&gt;

&lt;h3&gt;
  
  
  🧬 KeyDNA — Keystroke Dynamics Biometric Authentication
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/prox0959" rel="noopener noreferrer"&gt;
        prox0959
      &lt;/a&gt; / &lt;a href="https://github.com/prox0959/KeyDNA" rel="noopener noreferrer"&gt;
        KeyDNA
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Captures microsecond keystroke &lt;strong&gt;Dwell Time&lt;/strong&gt; and &lt;strong&gt;Flight Time&lt;/strong&gt; in JavaScript. Even if an attacker steals a plaintext password, KeyDNA blocks login attempts when the typing rhythm deviates from the user's statistical profile.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Full Portfolio &amp;amp; Feedback
&lt;/h2&gt;

&lt;p&gt;All 9 tools are MIT licensed and available on my GitHub profile:&lt;br&gt;
👉 &lt;strong&gt;&lt;a href="https://github.com/prox0959" rel="noopener noreferrer"&gt;github.com/prox0959&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm currently preparing for university admissions in Computer Science (targeting ETH Zurich) and building out my next tool focused on deterministic antivirus false-positive reduction. If you have any feedback on the code, Win32 API implementations, or forensic methodology, I'd love to hear your thoughts in the comments!&lt;/p&gt;

</description>
      <category>python</category>
      <category>security</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
