Skip to content

Repository files navigation

Picklock

A Picklock session: attaching to a process, scanning for a value, and writing to it

Read, write and scan the memory of a running process from any terminal.
Pure Python. It installs on a bare server as easily as on a desktop.

Python PackagePypiLicensePython Version


A terminal client for reading, writing and scanning process memory, on Windows, Linux and macOS.

pip install picklock
picklock

It uses PyMemoryEditor as its only dependency, so it can be used easily anywhere.

Documentation

Full documentation lives at picklock.readthedocs.io — the scan cycle, address expressions, pointer chains, scripting, platform permissions, and every command's arguments.

Quick startAttach to a process, find a value, change it.
ScanningThe first-scan/refine cycle, AOB and regex scans.
Addressesmodule+offset, dereferences, and #N scan rows.
Reading and writingValue types, typed reads and writes, hex views and watches.
PointersPointer scans, and the workflow that makes a path survive a restart.
ScriptingNon-interactive use, exit codes, JSON export.
Command referenceEvery command and flag, generated from the code.
PermissionsWhat each OS wants before it lets you attach.
TroubleshootingScans that find nothing, chains that stop working.

Use help to list Picklock's commands, and help <command> to get more details about one command.

🤝 Contributing

Pull requests, bug reports and feature ideas are very welcome. Read CONTRIBUTING.md for the development setup, test layout and the small set of platform-specific quirks to be aware of.

⭐ Related

Every read, write, scan and pointer walk is performed by PyMemoryEditor, the cross-platform memory library Picklock is built on. If you find Picklock useful, check out that one too — it is what makes any of this work on three operating systems at once.

License

Released under the MIT License — free for personal and commercial use.

About

A terminal client to inspect, modify and search the memory of any running process from anywhere.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - JeanExtreme002/Picklock: A terminal client to inspect, modify and search the memory of any running process from anywhere. · GitHub
Skip to content

Repository files navigation

Picklock

A Picklock session: attaching to a process, scanning for a value, and writing to it

Read, write and scan the memory of a running process from any terminal.
Pure Python. It installs on a bare server as easily as on a desktop.

Python PackagePypiLicensePython Version


A terminal client for reading, writing and scanning process memory, on Windows, Linux and macOS.

pip install picklock
picklock

It uses PyMemoryEditor as its only dependency, so it can be used easily anywhere.

Documentation

Full documentation lives at picklock.readthedocs.io — the scan cycle, address expressions, pointer chains, scripting, platform permissions, and every command's arguments.

Quick startAttach to a process, find a value, change it.
ScanningThe first-scan/refine cycle, AOB and regex scans.
Addressesmodule+offset, dereferences, and #N scan rows.
Reading and writingValue types, typed reads and writes, hex views and watches.
PointersPointer scans, and the workflow that makes a path survive a restart.
ScriptingNon-interactive use, exit codes, JSON export.
Command referenceEvery command and flag, generated from the code.
PermissionsWhat each OS wants before it lets you attach.
TroubleshootingScans that find nothing, chains that stop working.

Use help to list Picklock's commands, and help <command> to get more details about one command.

🤝 Contributing

Pull requests, bug reports and feature ideas are very welcome. Read CONTRIBUTING.md for the development setup, test layout and the small set of platform-specific quirks to be aware of.

⭐ Related

Every read, write, scan and pointer walk is performed by PyMemoryEditor, the cross-platform memory library Picklock is built on. If you find Picklock useful, check out that one too — it is what makes any of this work on three operating systems at once.

License

Released under the MIT License — free for personal and commercial use.

About

A terminal client to inspect, modify and search the memory of any running process from anywhere.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - JeanExtreme002/Picklock: A terminal client to inspect, modify and search the memory of any running process from anywhere. · GitHub
Skip to content

Repository files navigation

Picklock

A Picklock session: attaching to a process, scanning for a value, and writing to it

Read, write and scan the memory of a running process from any terminal.
Pure Python. It installs on a bare server as easily as on a desktop.

Python PackagePypiLicensePython Version


A terminal client for reading, writing and scanning process memory, on Windows, Linux and macOS.

pip install picklock
picklock

It uses PyMemoryEditor as its only dependency, so it can be used easily anywhere.

Documentation

Full documentation lives at picklock.readthedocs.io — the scan cycle, address expressions, pointer chains, scripting, platform permissions, and every command's arguments.

Quick startAttach to a process, find a value, change it.
ScanningThe first-scan/refine cycle, AOB and regex scans.
Addressesmodule+offset, dereferences, and #N scan rows.
Reading and writingValue types, typed reads and writes, hex views and watches.
PointersPointer scans, and the workflow that makes a path survive a restart.
ScriptingNon-interactive use, exit codes, JSON export.
Command referenceEvery command and flag, generated from the code.
PermissionsWhat each OS wants before it lets you attach.
TroubleshootingScans that find nothing, chains that stop working.

Use help to list Picklock's commands, and help <command> to get more details about one command.

🤝 Contributing

Pull requests, bug reports and feature ideas are very welcome. Read CONTRIBUTING.md for the development setup, test layout and the small set of platform-specific quirks to be aware of.

⭐ Related

Every read, write, scan and pointer walk is performed by PyMemoryEditor, the cross-platform memory library Picklock is built on. If you find Picklock useful, check out that one too — it is what makes any of this work on three operating systems at once.

License

Released under the MIT License — free for personal and commercial use.

About

A terminal client to inspect, modify and search the memory of any running process from anywhere.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - JeanExtreme002/Picklock: A terminal client to inspect, modify and search the memory of any running process from anywhere. · GitHub
Skip to content

Repository files navigation

Picklock

A Picklock session: attaching to a process, scanning for a value, and writing to it

Read, write and scan the memory of a running process from any terminal.
Pure Python. It installs on a bare server as easily as on a desktop.

Python PackagePypiLicensePython Version


A terminal client for reading, writing and scanning process memory, on Windows, Linux and macOS.

pip install picklock
picklock

It uses PyMemoryEditor as its only dependency, so it can be used easily anywhere.

Documentation

Full documentation lives at picklock.readthedocs.io — the scan cycle, address expressions, pointer chains, scripting, platform permissions, and every command's arguments.

Quick startAttach to a process, find a value, change it.
ScanningThe first-scan/refine cycle, AOB and regex scans.
Addressesmodule+offset, dereferences, and #N scan rows.
Reading and writingValue types, typed reads and writes, hex views and watches.
PointersPointer scans, and the workflow that makes a path survive a restart.
ScriptingNon-interactive use, exit codes, JSON export.
Command referenceEvery command and flag, generated from the code.
PermissionsWhat each OS wants before it lets you attach.
TroubleshootingScans that find nothing, chains that stop working.

Use help to list Picklock's commands, and help <command> to get more details about one command.

🤝 Contributing

Pull requests, bug reports and feature ideas are very welcome. Read CONTRIBUTING.md for the development setup, test layout and the small set of platform-specific quirks to be aware of.

⭐ Related

Every read, write, scan and pointer walk is performed by PyMemoryEditor, the cross-platform memory library Picklock is built on. If you find Picklock useful, check out that one too — it is what makes any of this work on three operating systems at once.

License

Released under the MIT License — free for personal and commercial use.

About

A terminal client to inspect, modify and search the memory of any running process from anywhere.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - JeanExtreme002/Picklock: A terminal client to inspect, modify and search the memory of any running process from anywhere. · GitHub
Skip to content

Repository files navigation

Picklock

A Picklock session: attaching to a process, scanning for a value, and writing to it

Read, write and scan the memory of a running process from any terminal.
Pure Python. It installs on a bare server as easily as on a desktop.

Python PackagePypiLicensePython Version


A terminal client for reading, writing and scanning process memory, on Windows, Linux and macOS.

pip install picklock
picklock

It uses PyMemoryEditor as its only dependency, so it can be used easily anywhere.

Documentation

Full documentation lives at picklock.readthedocs.io — the scan cycle, address expressions, pointer chains, scripting, platform permissions, and every command's arguments.

Quick startAttach to a process, find a value, change it.
ScanningThe first-scan/refine cycle, AOB and regex scans.
Addressesmodule+offset, dereferences, and #N scan rows.
Reading and writingValue types, typed reads and writes, hex views and watches.
PointersPointer scans, and the workflow that makes a path survive a restart.
ScriptingNon-interactive use, exit codes, JSON export.
Command referenceEvery command and flag, generated from the code.
PermissionsWhat each OS wants before it lets you attach.
TroubleshootingScans that find nothing, chains that stop working.

Use help to list Picklock's commands, and help <command> to get more details about one command.

🤝 Contributing

Pull requests, bug reports and feature ideas are very welcome. Read CONTRIBUTING.md for the development setup, test layout and the small set of platform-specific quirks to be aware of.

⭐ Related

Every read, write, scan and pointer walk is performed by PyMemoryEditor, the cross-platform memory library Picklock is built on. If you find Picklock useful, check out that one too — it is what makes any of this work on three operating systems at once.

License

Released under the MIT License — free for personal and commercial use.

About

A terminal client to inspect, modify and search the memory of any running process from anywhere.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - JeanExtreme002/Picklock: A terminal client to inspect, modify and search the memory of any running process from anywhere. · GitHub
Skip to content

Repository files navigation

Picklock

A Picklock session: attaching to a process, scanning for a value, and writing to it

Read, write and scan the memory of a running process from any terminal.
Pure Python. It installs on a bare server as easily as on a desktop.

Python PackagePypiLicensePython Version


A terminal client for reading, writing and scanning process memory, on Windows, Linux and macOS.

pip install picklock
picklock

It uses PyMemoryEditor as its only dependency, so it can be used easily anywhere.

Documentation

Full documentation lives at picklock.readthedocs.io — the scan cycle, address expressions, pointer chains, scripting, platform permissions, and every command's arguments.

Quick startAttach to a process, find a value, change it.
ScanningThe first-scan/refine cycle, AOB and regex scans.
Addressesmodule+offset, dereferences, and #N scan rows.
Reading and writingValue types, typed reads and writes, hex views and watches.
PointersPointer scans, and the workflow that makes a path survive a restart.
ScriptingNon-interactive use, exit codes, JSON export.
Command referenceEvery command and flag, generated from the code.
PermissionsWhat each OS wants before it lets you attach.
TroubleshootingScans that find nothing, chains that stop working.

Use help to list Picklock's commands, and help <command> to get more details about one command.

🤝 Contributing

Pull requests, bug reports and feature ideas are very welcome. Read CONTRIBUTING.md for the development setup, test layout and the small set of platform-specific quirks to be aware of.

⭐ Related

Every read, write, scan and pointer walk is performed by PyMemoryEditor, the cross-platform memory library Picklock is built on. If you find Picklock useful, check out that one too — it is what makes any of this work on three operating systems at once.

License

Released under the MIT License — free for personal and commercial use.

About

A terminal client to inspect, modify and search the memory of any running process from anywhere.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - JeanExtreme002/Picklock: A terminal client to inspect, modify and search the memory of any running process from anywhere. · GitHub
Skip to content

Repository files navigation

Picklock

A Picklock session: attaching to a process, scanning for a value, and writing to it

Read, write and scan the memory of a running process from any terminal.
Pure Python. It installs on a bare server as easily as on a desktop.

Python PackagePypiLicensePython Version


A terminal client for reading, writing and scanning process memory, on Windows, Linux and macOS.

pip install picklock
picklock

It uses PyMemoryEditor as its only dependency, so it can be used easily anywhere.

Documentation

Full documentation lives at picklock.readthedocs.io — the scan cycle, address expressions, pointer chains, scripting, platform permissions, and every command's arguments.

Quick startAttach to a process, find a value, change it.
ScanningThe first-scan/refine cycle, AOB and regex scans.
Addressesmodule+offset, dereferences, and #N scan rows.
Reading and writingValue types, typed reads and writes, hex views and watches.
PointersPointer scans, and the workflow that makes a path survive a restart.
ScriptingNon-interactive use, exit codes, JSON export.
Command referenceEvery command and flag, generated from the code.
PermissionsWhat each OS wants before it lets you attach.
TroubleshootingScans that find nothing, chains that stop working.

Use help to list Picklock's commands, and help <command> to get more details about one command.

🤝 Contributing

Pull requests, bug reports and feature ideas are very welcome. Read CONTRIBUTING.md for the development setup, test layout and the small set of platform-specific quirks to be aware of.

⭐ Related

Every read, write, scan and pointer walk is performed by PyMemoryEditor, the cross-platform memory library Picklock is built on. If you find Picklock useful, check out that one too — it is what makes any of this work on three operating systems at once.

License

Released under the MIT License — free for personal and commercial use.

About

A terminal client to inspect, modify and search the memory of any running process from anywhere.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - JeanExtreme002/Picklock: A terminal client to inspect, modify and search the memory of any running process from anywhere. · GitHub
Skip to content

Repository files navigation

Picklock

A Picklock session: attaching to a process, scanning for a value, and writing to it

Read, write and scan the memory of a running process from any terminal.
Pure Python. It installs on a bare server as easily as on a desktop.

Python PackagePypiLicensePython Version


A terminal client for reading, writing and scanning process memory, on Windows, Linux and macOS.

pip install picklock
picklock

It uses PyMemoryEditor as its only dependency, so it can be used easily anywhere.

Documentation

Full documentation lives at picklock.readthedocs.io — the scan cycle, address expressions, pointer chains, scripting, platform permissions, and every command's arguments.

Quick startAttach to a process, find a value, change it.
ScanningThe first-scan/refine cycle, AOB and regex scans.
Addressesmodule+offset, dereferences, and #N scan rows.
Reading and writingValue types, typed reads and writes, hex views and watches.
PointersPointer scans, and the workflow that makes a path survive a restart.
ScriptingNon-interactive use, exit codes, JSON export.
Command referenceEvery command and flag, generated from the code.
PermissionsWhat each OS wants before it lets you attach.
TroubleshootingScans that find nothing, chains that stop working.

Use help to list Picklock's commands, and help <command> to get more details about one command.

🤝 Contributing

Pull requests, bug reports and feature ideas are very welcome. Read CONTRIBUTING.md for the development setup, test layout and the small set of platform-specific quirks to be aware of.

⭐ Related

Every read, write, scan and pointer walk is performed by PyMemoryEditor, the cross-platform memory library Picklock is built on. If you find Picklock useful, check out that one too — it is what makes any of this work on three operating systems at once.

License

Released under the MIT License — free for personal and commercial use.

About

A terminal client to inspect, modify and search the memory of any running process from anywhere.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages