{"id":49901116,"url":"https://github.com/colinsenner/rtti-plugin-x64dbg","last_synced_at":"2026-05-16T06:26:15.095Z","repository":{"id":223575026,"uuid":"760932508","full_name":"colinsenner/rtti-plugin-x64dbg","owner":"colinsenner","description":"x64dbg plugin to display RTTI (Run-time type information) for an object in memory.","archived":false,"fork":false,"pushed_at":"2026-05-16T04:33:53.000Z","size":5851,"stargazers_count":37,"open_issues_count":2,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-05-16T04:39:18.021Z","etag":null,"topics":["debugger","debugging","plugin","reverse-engineering","x64dbg-plugin"],"latest_commit_sha":null,"homepage":"https://x64dbg.com/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/colinsenner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-02-20T23:28:46.000Z","updated_at":"2026-05-16T04:33:57.000Z","dependencies_parsed_at":"2024-02-21T01:01:48.652Z","dependency_job_id":"720fd1c5-12d3-4d18-94fb-6cd5ac80d364","html_url":"https://github.com/colinsenner/rtti-plugin-x64dbg","commit_stats":null,"previous_names":["colinsenner/rtti-plugin-x64dbg"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/colinsenner/rtti-plugin-x64dbg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colinsenner%2Frtti-plugin-x64dbg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colinsenner%2Frtti-plugin-x64dbg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colinsenner%2Frtti-plugin-x64dbg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colinsenner%2Frtti-plugin-x64dbg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/colinsenner","download_url":"https://codeload.github.com/colinsenner/rtti-plugin-x64dbg/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colinsenner%2Frtti-plugin-x64dbg/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33092523,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["debugger","debugging","plugin","reverse-engineering","x64dbg-plugin"],"created_at":"2026-05-16T06:26:13.110Z","updated_at":"2026-05-16T06:26:15.089Z","avatar_url":"https://github.com/colinsenner.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# x64dbg RTTI Plugin\n\n![build](https://github.com/colinsenner/rtti-plugin-x64dbg/actions/workflows/build.yml/badge.svg)\n\nA plugin to quickly retrieve RTTI information (if present) at a memory address.\n\nThere's a wealth of information present in RTTI that's of use when reverse engineering.  This plugin aims to make this information easily available to the user.\n\n## Demo\n\nhttps://github.com/colinsenner/rtti-plugin-x64dbg/assets/13701799/1443cd56-6bc7-4a95-aa60-6eda23b95cac\n\nIn the demo I have an executable (also included in the repo) named `ClassRTTIPluginTest64` and 3 created classes with RTTI information: `ClassA/B/C`. I've set a breakpoint at each class constructor and then used the plugin to retrieve the RTTI information from the memory dump.\n\n## Usage\n\n1. Select an address in the memory dump you suspect is an object with RTTI information. \n2. Right-click the address and select `Rtti-plugin-x64 -\u003e Dump Rtti`.  If the address contains RTTI information, a dialog will appear at the bottom of the screen and also in the `Log` window.\n\n![dump-rtti](resources/dump-rtti.png)\n\n## Installation\n1. Compile the solution in Release mode for x86 and x64.\n2. Copy `Rtti.dp32` from the /bin to your `x64dbg\\release\\x32\\plugins` directory.\n3. Copy `Rtti.dp64` from the /bin to your `x64dbg\\release\\x64\\plugins` directory.\n\n## Tests\nThere is an included project called `ClassRTTIPluginTest`.  You can compile these and use them to test the functionality. On compilation these are copied to the `/bin` directory.\n\nThe tests have breakpoints after the creation of the class, so open the tests in x64dbg, and run until you hit the breakpoint.\n\n1. Open the example binary `ClassRTTIPluginTest64d.exe` in x64dbg.\n2. Run the program until the breakpoint is hit. The instruction will be `lea rcx, ...; call classrttiplugin...`, the call is the constructor for the class.\n3. Step over the call and follow in dump `rax` to get to the class instance. \n4. Right-click the address in the the memory dump and select `Rtti-plugin-x64 -\u003e Dump Rtti`.  If the address contains RTTI information, a dialog will appear at the bottom of the screen and also in the `Log` window.\n\n## Reporting Crashes\n\nIf you find a crash please submit an issue on github or open a pull request.\n\n## References\nThere are references for finding Rtti information included in the `/docs` directory.  Thanks to the authors of the following papers:\n\n* [Reversing C++ by Paul Vincent Sabanal and Mark Vincent Yason](https://www.blackhat.com/presentations/bh-dc-07/Sabanal_Yason/Paper/bh-dc-07-Sabanal_Yason-WP.pdf)\n* [Visual C++ RTTI Inspection](https://blog.quarkslab.com/visual-c-rtti-inspection.html)\n* [Reversing Microsoft Visual C++ Part II: Classes, Methods and RTTI - by Igorsk](http://www.openrce.org/articles/full_view/23)\n* [Recovery of Object Oriented Features from C++ Binaries](https://www.ece.umd.edu/~barua/yoo-APSEC-2014.pdf)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolinsenner%2Frtti-plugin-x64dbg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcolinsenner%2Frtti-plugin-x64dbg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolinsenner%2Frtti-plugin-x64dbg/lists"}