import sqlite3
import zlib

DB_PATH = '/Eden/DATA/asi_memory.db'
KEYWORDS = [b'PayPal', b'10,000', b'Action Required', b'Confirm', b'Unclaimed']

def hunt():
    conn = sqlite3.connect(DB_PATH)
    cur = conn.cursor()
    # Pulling Gen 10 and Gen 11 candidates
    cur.execute('SELECT id, code FROM caps WHERE score > 10')
    
    print("🔎 Searching compressed memory for Whale signatures...")
    for row_id, blob in cur.fetchall():
        try:
            # Decompress zlib blob
            data = zlib.decompress(blob)
            # Check for keywords in the binary data
            if any(key in data for key in KEYWORDS):
                print(f"\n🎯 MATCH FOUND in Node [{row_id}]:")
                print("-" * 50)
                print(data.decode(errors='ignore'))
                print("-" * 50)
        except Exception:
            # Skip rows that aren't compressed or are invalid
            continue
    conn.close()

if __name__ == "__main__":
    hunt()
