{"id":25931247,"url":"https://github.com/explodingbottle/sym2map","last_synced_at":"2026-05-05T16:05:58.577Z","repository":{"id":280339310,"uuid":"941497048","full_name":"ExplodingBottle/sym2map","owner":"ExplodingBottle","description":"Debug file conversion tool for converting SYM files to MAP files","archived":false,"fork":false,"pushed_at":"2025-03-02T20:27:51.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T21:25:32.777Z","etag":null,"topics":["command-line-tool","conversion","converter","debugging","debugging-support","documentation","file-formats","legacy","microsoft","reverse-engineering","specifications","symbols","windows"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ExplodingBottle.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}},"created_at":"2025-03-02T12:43:25.000Z","updated_at":"2025-03-02T20:22:52.000Z","dependencies_parsed_at":"2025-03-03T00:15:19.095Z","dependency_job_id":null,"html_url":"https://github.com/ExplodingBottle/sym2map","commit_stats":null,"previous_names":["explodingbottle/sym2map"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExplodingBottle%2Fsym2map","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExplodingBottle%2Fsym2map/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExplodingBottle%2Fsym2map/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExplodingBottle%2Fsym2map/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ExplodingBottle","download_url":"https://codeload.github.com/ExplodingBottle/sym2map/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241758962,"owners_count":20015248,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["command-line-tool","conversion","converter","debugging","debugging-support","documentation","file-formats","legacy","microsoft","reverse-engineering","specifications","symbols","windows"],"created_at":"2025-03-03T23:58:40.118Z","updated_at":"2026-05-05T16:05:58.537Z","avatar_url":"https://github.com/ExplodingBottle.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sym2map conversion tool\n*It is annoying when things don't work. It is even more annoying when it is because of a dumb reason.*\n*But what if you wanted to use a SYM file, a symbol file for debug generated through `MAPSYM`, but it*\n*didn't work because of being too old?*\n\n*You would be very frustrated, having all these golden symbols*\n*stuck in a really old file... Thanksfully, the frustration in this \u003cu\u003every specific case\u003c/u\u003e will no longer*\n*be encountered thanks to __sym2map__ !*\u003cbr\u003e\n\n## What are SYM files?\nSYM files are symbol files that use a binary format made by Microsoft and which was used a long time ago, before being replaced by\nbetter symbol file technologies, such as __DBG__ (a file format that is the same as a PE executable and which contains only symbols)\nor even the well known __PDB__ format (The \u003cu\u003eP\u003c/u\u003erogram \u003cu\u003eD\u003c/u\u003eata\u003cu\u003eB\u003c/u\u003ease file format which is used in MSVC nowadays).\n\nBasically, using SYM files these days is just impossible, unless you download really old tools and run them inside of a virtual machine,\nwhich is not a great idea as these tools will limit you.\n\n## What are MAP files?\nMAP files are some kind of text files which are readable by humans but also by tools. Their role is to explain how is divided the program\nand describe where to find each symbols, or where is the entry point. You should generally find inside a MAP file these informations:\n- Global informations (name of the module, address of the entry point, reallocation address)\n- Informations about the sections (start address, length, name and type)\n- Informations about the symbols (which segment at which offset, which name and which virtual address)\n\n## What is sym2map?\nsym2map is a debug file conversion tool which allows converting an old, dust-taking and unusable SYM file into a *human and computer readable*,\nusable MAP file. You could even use different tools to then convert the MAP file into a recent debug file format.\n\nThe tool is capable of taking as input the symbol file at worst and both the symbol file and the binary file at best.\nIf you only supply the symbols file, you __will only be able to get the segment and offset addresses and the names of the symbols!__\nThe reason for this is that when a SYM file is created by the `MAPSYM` tool, it strips a lot of useful informations.\n\nThis is why you can also supply the binary executable or library (also called the image file in the tool) so you can also \nrecover the address of the entry point, the best reallocation address, the layout of the segments/sections and the virtual\naddresses of the different symbols (which is pretty useful when used to produce a MAP file for Ghidra)\n\n## How to use?\n\n___IMPORTANT NOTE: The program does not support 64-bits image files, as SYM files don't support the x64 architecture.___\n\nThis part comes at the end because it is one of the simplest tools to use: it is a command line tools that doesn't have options.\nYou just have to run the command like this:\n\n`sym2map myfile.sym myfile.map myfile.dll`\n\nWhere `myfile.sym` represents your symbol file, `myfile.map` your output map file and `myfile.dll` your optional image file (it can\nalso be an exe file, the extension doesn't matter. The only thing that matters is that the image file is a PE executable for Windows NT)\nIn the case you don't have an image file, just run the command like this (same pattern as above):\n\n`sym2map myfile.sym myfile.map`\n\n## What is the license of this project?\n\n__This tool is shared under the MIT License that you can check [here](LICENSE).__ But this only covers the code. __The other resources made with this program__\n__(in fact the only resource, the icon) are available under the CC-BY-SA license available [here](CC-LICENSE)__\n(the Icon has been made using GIMP)\n\n## Any specification documentation for the SYM format?\nAll this work has been based on a very nicely made documentation (but certainly not much used) that is available on [the Windows Archeology wiki](https://win-archaeology.fandom.com/wiki/.SYM_Format).\n\nHowever, if you reeally need a precise specification for this file format and with more informations (support for 32-bits segments), please check [the specification documentation included in this repository](SymSpec.md).\n\n## Found a bug, a missing feature?\nDon't hesitate to submit a bug report in the *Issues* section of this repository or even submit *Pull Requests* if you want to contribute\nto this tool.\n\n**Any contribution such as a bug report or a pull request would be greatly appreciated.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexplodingbottle%2Fsym2map","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexplodingbottle%2Fsym2map","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexplodingbottle%2Fsym2map/lists"}