アプリケーションで次の 2 つのことを実行したい (Windows のみ):
- アプリケーションを開始する前に、ユーザーが (ツールを使用して) ネイティブ コードをアプリケーションに挿入できるようにします。
- ユーザーが挿入したこのコードを実行時にメモリから直接実行します。
理想的には、ユーザーがこのコードを簡単に指定できる必要があります。
これを行う方法として、現在検討している 2 つのアイデアがあります。
ユーザーはネイティブ dll をアプリケーションのリソースに埋め込みます。アプリケーションは、この記事の手法を使用して、この dll をメモリから直接ロードします。
ユーザーが指定した .dll メソッドのアセンブリ コードを何らかの方法でアプリケーション リソースにコピーし、この記事で説明されているように、このコードをヒープから実行します。
これを行うためのより良いオプションはありますか? そうでない場合、それらのソリューションで何が問題を引き起こす可能性があるかについて何か考えはありますか?
編集
LoadLibrary*
私が回避しようとしているハードドライブにdllファイルが既に存在する必要があるため、特に呼び出しを使用したくありません。また、分解を難しくしようとしています。
編集
詳細: アプリケーション コードは私の管理下にあり、ネイティブです。アプリケーションがコンパイルされて展開された後に、独自のカスタマイズされた関数を埋め込む方法をユーザーに提供したいだけです。
ユーザーコードには、私が任意の制限を加えることができますが、それは問題ではありません。