どういうツール 簡易的な仮想環境を作り、アプリケーションの動作を現在の環境から切り離すサンドボックスツールです。 レジストリとCドライブへのアクセスを仮想化することによって、 アプリケーションからシステム環境に影響を与えない様にする アプリケーションを単独で持ち運び可能にする などなどが可能になります。このツール自体はもちろんレジストリを汚しません。 どうやって DLLインジェクションからのIAT書き換えによるWin32 APIのフックにより動作を書き換えています。 IATを経由しない動的呼び出しもLoadLibraryやGetProcAddressを書き換えることで対処しています。 あくまで公開API(※)に渡す値を書き換えているだけで、本質的にディスクアクセスに干渉しているわけではない、 例えばWindows APIが内部で呼び出す様なより低レベルな処理を直接呼ばれた場合などは対処出来
![レジストリを汚さないためのツールを作りました](https://cdn-ak-scissors.b.st-hatena.com/image/square/41382a63ec4cc3a176740e535aad733faefb600d/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgzJUFDJUUzJTgyJUI4JUUzJTgyJUI5JUUzJTgzJTg4JUUzJTgzJUFBJUUzJTgyJTkyJUU2JUIxJTlBJUUzJTgxJTk1JUUzJTgxJUFBJUUzJTgxJTg0JUUzJTgxJTlGJUUzJTgyJTgxJUUzJTgxJUFFJUUzJTgzJTg0JUUzJTgzJUJDJUUzJTgzJUFCJUUzJTgyJTkyJUU0JUJEJTlDJUUzJTgyJThBJUUzJTgxJUJFJUUzJTgxJTk3JUUzJTgxJTlGJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz02OTNlNjZhYTEwYjczNzY2MjQ2MTBlMGZlZDhkYTk4MA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwU2lsaWNhJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz05NTM1MDA0ZGM1ZGU4Y2Q1YTA0NTY2OGQ1MjZlNWQ0OA%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D50f314b525e73f2a7e69c50e0281d382)