Picklock
Star on GitHub

Getting started

  • Installation
    • Faster scans
    • From source
    • Running it
  • Quick start
    • 1. Open the shell
    • 2. Find the process
    • 3. Scan for a value
    • 4. Refine
    • 5. Write
    • 6. Make it survive a restart
    • Where to go next

User guide

  • User guide
    • Finding and attaching to a process
      • Listing
      • Attaching
      • Detaching
      • Paging
    • Scanning
      • The cycle
      • When you cannot see the number
      • Comparisons are flags
      • Looking at where you are
      • Saying which rows are real
      • Byte patterns and text
      • Cost, and stopping
      • Then what
    • Addresses
      • module+offset
      • Dereferences
      • #N — a row from the last scan
    • Reading and writing
      • Types
      • Reading
      • Writing
      • Hex
      • Watching
      • Allocating
    • Pointers
      • Reading a chain you already know
      • Finding a chain
      • Telling a real path from a coincidence
      • Intersecting several runs
      • Saving and loading
    • Inspecting a target
      • Regions
      • Modules
      • Threads
    • Aliases and settings
      • Settings
      • Aliases
      • Where they live
    • Scripting
      • One command
      • Attaching from the command line
      • A file of commands
      • A pipe
      • Output that behaves
      • Structured output
      • Exit codes
    • How the shell is arranged
    • Finding a command

Reference

  • Command reference
    • Process
      • ps:close
      • ps:info
      • ps:list
      • ps:open
      • ps:threads
    • Memory
      • memory:alloc
      • memory:free
      • memory:hex
      • memory:modules
      • memory:read
      • memory:regions
      • memory:watch
      • memory:write
    • Scanning
      • scan:aob
      • scan:drop
      • scan:keep
      • scan:next
      • scan:regex
      • scan:reset
      • scan:results
      • scan:value
    • Aliases
      • alias:add
      • alias:list
      • alias:remove
    • Configuration
      • config:list
      • config:reset
      • config:set
    • Pointers
      • pointer:deref
      • pointer:diff
      • pointer:load
      • pointer:paths
      • pointer:read
      • pointer:rescan
      • pointer:save
      • pointer:scan
    • The session itself
      • clear
      • exit
      • help
      • source
      • version
  • Permissions
    • Linux
    • Windows
    • macOS
    • Bitness
    • Only what you are allowed to
  • Troubleshooting
    • ps:open is refused
    • A scan finds nothing
    • A scan finds far too much
    • The scan hit the results cap
    • memory:read gives a number I do not recognise
    • A pointer chain stopped working
    • memory:watch shows one line and then nothing
    • memory:regions reports far more memory than Activity Monitor
    • Thread IDs do not match another tool (macOS)
    • Colour codes in a log file
    • Scans are slow
    • Picklock will not start
    • Something else

Project

  • Contributing
    • Development setup
    • Running the test suite
    • Linting and type checking
    • Before you push
    • Project layout
    • Adding a command
    • Submitting changes
    • Reporting bugs
    • Security
  • Security
    • Reporting a Vulnerability
    • Scope
    • Supported versions
  • Funding
  • License
Picklock
  • Search


© Copyright 2026, Jean Loui Bernard Silva de Jesus.

Built with Sphinx using a theme provided by Read the Docs.