{"id":16476904,"url":"https://github.com/mnitchev/memvis","last_synced_at":"2026-04-28T16:38:22.781Z","repository":{"id":85101497,"uuid":"397152170","full_name":"mnitchev/memvis","owner":"mnitchev","description":"Process memory visualiser","archived":false,"fork":false,"pushed_at":"2021-08-25T07:46:34.000Z","size":16,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-23T19:03:45.316Z","etag":null,"topics":["linux","memory","proc","python","stack-buffer-overflow","visualizer"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mnitchev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2021-08-17T07:27:57.000Z","updated_at":"2021-12-10T14:12:14.000Z","dependencies_parsed_at":"2023-03-09T18:00:27.702Z","dependency_job_id":null,"html_url":"https://github.com/mnitchev/memvis","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mnitchev/memvis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnitchev%2Fmemvis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnitchev%2Fmemvis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnitchev%2Fmemvis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnitchev%2Fmemvis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mnitchev","download_url":"https://codeload.github.com/mnitchev/memvis/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnitchev%2Fmemvis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32390053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T14:34:11.604Z","status":"ssl_error","status_checked_at":"2026-04-28T14:32:37.009Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["linux","memory","proc","python","stack-buffer-overflow","visualizer"],"created_at":"2024-10-11T12:43:56.865Z","updated_at":"2026-04-28T16:38:22.769Z","avatar_url":"https://github.com/mnitchev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# memvis\n\nMemvis is a Linux process memory visualizer. It will attempt to read all of the\nmemory pages of a process and print the memory data in a table format, where\neach address's data is presented in hex format. If an address' value is an\nascii character, memvis will by default print the ascii character (this can be\nturned off).\n\nThis tool is intended to help with performing a [Stack Buffer\nOverflow](https://en.wikipedia.org/wiki/Stack_buffer_overflow), which is why\nthe stack is opened first by default when running memvis. However all the\nmapped memory regions are read and can be visualized. To learn more about what\nmaps are available and how they are read see\n[/proc/[pid]/maps](https://man7.org/linux/man-pages/man5/proc.5.html) and\n[/proc/[pid]/mem](https://man7.org/linux/man-pages/man5/proc.5.html).\n\n## Installation and running\n\nTo install dependencies run:\n\n```shell\nsudo pip install .\n```\n\nTo run memvis do:\n\n```shell\nsudo memvis [options]\n```\n\n**_NOTE:_** To view another process' memory, root privilleges will be required (hence the sudo).\n\n## Usage\n\n```\nusage: memvis [-h] [-s START_ADDRESS] -p TARGET_PID [-n] [-j WIDTH] [-i HEIGHT] [-b]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -s START_ADDRESS, --start-address START_ADDRESS\n                        Address to start visualizing from. If not set the current stack pointer will be used.\n  -p TARGET_PID, --pid TARGET_PID\n                        The pid of the process.\n  -n, --no-ptrace       If set then the stack pointer will be read from /proc/[pid]/syscall file. If not set the current stack pointer will be used.\n  -j WIDTH, --width WIDTH\n                        Window width.\n  -i HEIGHT, --height HEIGHT\n                        Window height.\n  -b, --print-bytes     If set memvis will not convert bytes to readable asii characters.\n\nc\n```\n\n## Controls\n\n| Button | Function                                                                                     |\n| ------ | -------------------------------------------------------------------------------------------- |\n| Up     | Move address space up one byte (subtract one byte)                                           |\n| Down   | Move address space down one byte (add one byte)                                              |\n| Left   | Previous mapped memory region. Order is determined by `/proc/[pid]/maps`                     |\n| Right  | Next mapped memory region. Order is determined by `/proc/[pid]/maps`                         |\n| j      | Jump to address. When pressed user is prompted to enter an address and hit `Enter` when done |\n| q      | Exit memvis                                                                                  |\n\n## Demo\n\n[![asciicast](https://asciinema.org/a/2kkflprFvhwt5QNrKylCAm0Da.svg)](https://asciinema.org/a/2kkflprFvhwt5QNrKylCAm0Da)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnitchev%2Fmemvis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmnitchev%2Fmemvis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnitchev%2Fmemvis/lists"}