{"id":23302374,"url":"https://github.com/lowleveldesign/importando","last_synced_at":"2025-08-22T07:32:19.691Z","repository":{"id":211933522,"uuid":"726478100","full_name":"lowleveldesign/importando","owner":"lowleveldesign","description":"A command line tool to modify PE file imports on process start","archived":false,"fork":false,"pushed_at":"2023-12-17T07:07:57.000Z","size":43,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-28T01:52:22.062Z","etag":null,"topics":["pefile","troubleshooting","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/lowleveldesign.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}},"created_at":"2023-12-02T14:18:40.000Z","updated_at":"2024-01-08T13:29:39.000Z","dependencies_parsed_at":"2023-12-15T18:40:43.880Z","dependency_job_id":null,"html_url":"https://github.com/lowleveldesign/importando","commit_stats":null,"previous_names":["lowleveldesign/importando"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowleveldesign%2Fimportando","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowleveldesign%2Fimportando/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowleveldesign%2Fimportando/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowleveldesign%2Fimportando/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lowleveldesign","download_url":"https://codeload.github.com/lowleveldesign/importando/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230570801,"owners_count":18246735,"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":["pefile","troubleshooting","windows"],"created_at":"2024-12-20T10:28:57.323Z","updated_at":"2024-12-20T10:28:57.823Z","avatar_url":"https://github.com/lowleveldesign.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# importando\n\n![build](https://github.com/lowleveldesign/importando/workflows/build/badge.svg)\n\nImportando (**import and o**verride :smirk:) is a console application that allows you to modify PE image imports on process start.\n\nCommand line options:\n\n```\nimportando [options] \u003cexecutable\u003e [args]\n\nOptions:\n    -i \u003cimport_definition\u003e\n    -i \u003cimport_definition1\u003e:\u003cimport_definition2\u003e\n        Add a new import to the executable or forward an existing import. This option can be specified multiple times.\n    -v\n        Print verbose output.\n    -h, --help\n        Print this help message.\n\nPossible import_definition:\n  dll_name.dll!function_name - import by name\n  dll_name.dll#ordinal - import by ordinal\n\nExamples:\n  importando -i test.dll#1 -i kernelbase.dll!CreateFileW:trace.dll!CreateFileW cmd.exe\n```\n\n## Installation\n\nNo installation is required, [download the binaries](https://github.com/lowleveldesign/importando/releases) and run it.\n\n**The executable is 64-bit, but works with both 64- and 32-bit executables.**\n\n## When to use\n\nYou may use importando to inject a new DLL at a process start (in this mode, it works similarly to [withdll](https://github.com/lowleveldesign/withdll)), but also to fix issues with imports such as the one below:\n\n![entry not found error](docs/err-entry-point-not-found.png)\n\nThe fix would be to add a forward: `importando.exe -i shell32.dll!StrCpyNW:shlwapi.dll!StrCpyNW c:\\temp\\app32.exe`.\n\n## How it works\n\nIf you are interested how importando works, have a look at [this blog post](https://lowleveldesign.wordpress.com/2023/12/18/updating-pe-file-imports-on-process-start/) on my blog.\n\n## How to make the fix persistent\n\nYou may install importando as an **Image File Execution Options debugger** for a given executable, which would modify the process imports table on every application launch. For example:\n\n```\nWindows Registry Editor Version 5.00\n\n[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\app32.exe]\n\"Debugger\"=\"c:\\\\tools\\\\importando.exe -i shell32.dll!StrCpyNW:shlwapi.dll!StrCpyNW\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flowleveldesign%2Fimportando","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flowleveldesign%2Fimportando","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flowleveldesign%2Fimportando/lists"}