問題タブ [resource-dll]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - リソース DLL のハッキングの防止
私は C++/MFC で開発し、すべてのリソースを別の DLL に配置しました。
リソース DLL を改ざんし、名前やグラフィックなどを変えて不正に販売している事例を見てきました。
リソース DLL が変更/ハッキングされるのを防ぐにはどうすればよいですか?
com - Windows SDK のリソース DLL コード サンプルを取得してコンパイルおよび実行するにはどうすればよいですか?
現在、Windows Server 2003 および 2008 でリソース DLL をビルドしようとしています。現在、Windows SDK で提供されているリソース DLL コード サンプルを使用していますが、それらを動作させることができません。
Windows Server 2008 では、Windows 7 SDK クリップブック サーバー サンプルのコンパイルに成功しましたが、クラスター内で適切に動作させることができませんでした。「cluster restype /create /dll」を使用してリソースをリソース タイプとしてクラスタに挿入すると機能しますが、リソースはクリップブック サーバー タイプではなく不明なタイプでリストされます。リソース DLL のコードで定義された型。そのタイプのリソースの作成にも成功しましたが、オンラインにすることはできません。私はいつもエラーが発生します:
システム エラー 5079 が発生しました (0x000013d7)。指定されたノードは、このタイプのリソースをサポートしていません。これは、バージョンが一致していないか、このノードにリソース DLL が存在しないことが原因である可能性があります。
これは、リソースを開始しようとしているノードを含むクラスター内のすべてのノードにリソースがあるという事実にもかかわらずです。
Windows Server 2003 で Platform SDK バージョン 5.2 を使用していますが、ClipBook Server Resource DLL コード サンプルをコンパイルすることさえできません。ファイル cluscfgserver.idl を開けないという MIDL1001 エラーが常に発生します。ファイルの場所のパスをプロジェクトのインクルード パスに追加しました。それはうまくいきませんでした。ファイルのパスをハードコーディングしようとすると、このファイルにリンクしようとしたときにいくつかのリンカー エラーが発生しました。
誰かがこれらの問題のいずれかについて何か知っているなら、私はどんな情報でも感謝します.
visual-studio - リソース dll 内のファイルにアクセスする方法
Visual Studio 2005 で Visual C++ を使用して IE アドオンのリソース DLL を作成しましたが、DLL 内のファイル (html およびアイコン) にアクセスできません。リソース ファイルの有無にかかわらず試してみましたが、まだアクセスできませんでした。リソース dll であるため、/NOENTRY オプションが設定されます。リソースにアクセスするには、「res://C:\Program Files\MyApp\MyDLL.dll/myfile.htm」のようなパスを使用しますが、うまくいかないようです。手順を間違えましたか、それとも何か間違っていることがありますか? 私にお知らせください。
ありがとう、
オリビエ。
visual-c++ - VC ++のリソースからテキストファイルをロードする方法は?
私はVC++でDLLを書いていますが、外部テキストファイルを使用する必要があります。私は今このようなものを持っています:
このファイルをリソースに含めることができることを理解していますか?
「ResourceView」->「AddResource」->「Import」に移動して、テキストファイルを追加しました。テキストファイルを選択し、カスタムリソースタイプを作成しました。
上記のコードと同様に使用するために、このファイルにアクセスするにはどうすればよいですか?Resource.hを持っていますが、どうすればよいですか?リソーステキストファイルも編集できますか?
visual-c++ - この DLL から DLL 内のリソースを変更する方法は?
VC++ と ATL を使用して IE のアドオンを作成しています。これは単純な DLL であり、リソースとして使用するテキスト ファイルがあります。この答えは、これを行うのに役立ちました。
リソースの更新について質問があります。MSDNはそれを行う方法を説明していますが、リソースを含む exe または dll のファイル名を必要とする関数 ( BeginUpdateResource ) があります。
自分の DLLから自分の DLLのリソースを更新することはできますか? そのように簡単に読むことができますが、更新するにはDLLの名前を提供する必要があります。それは必要ですか?
また、DLL へのフル パスを指定しないと、DLL が保存されている場所ではなく、デスクトップ上のファイルが検索されます。なぜこれがこのように振る舞うのかわかりません。
c++ - MFCアプリケーションのプログラミングの前または後に衛星dllを作成する方が良いですか
私はMFCアプリケーションの開発の途中Form
であり、複数の言語で公開する必要があることを知っています。この目標を達成するために、衛星DLLを使用する予定です。ちなみに私はVisualStudio2012を使用しています。
私はいくつかの読書をしましたが、私はまだこの主題に関してかなり新人です。Form
他の言語でを含むサテライトDLLを作成するにForm
は、新しいDLLプロジェクトのリソースファイルにをコピーし、DLLに特定の名前を付け/NOENTRY
、リンカーにオプションを追加してから、を変換する必要がありForm
ます。
重要なのは、Form
近い将来に変更される可能性があるということです(コントロールの移動/削除/追加)。今サテライトDLLを作成する場合、の構造を変更する必要がある場合は、すべてのDLLで同じ変更を行う必要があるのではないかと心配していますForm
。
私の質問は次のとおりです。アプリケーションが完了するまで待ってからサテライトDLLを作成する必要がありますか、それともVSにメカニズムがありますか、それ以外の場合、DLLを1か所で変更できますか?
mfc - 読み込まれた dll リソースからの MFC クエリ読み取り順序 (RTL)?
複数の言語にローカライズした古い MFC アプリがあります。ユーザーが言語を選択できる言語メニューがあります (アプリの再起動が必要です)。アラビア語などの RTL 言語が選択されている場合、メイン ウィンドウ フレーム、および AfxMessageBox などの呼び出しを介してコードで作成されたダイアログは、LTR のままです。アラビア語でウィンドウを実行するシステムで実行した場合でも。ロードされるリソースの種類に基づいて、作成するすべてのウィンドウに WS_EX_LAYOUTRTL ビットを設定したいと考えています。AfxGetResourceHandle から取得したハンドルを使用して、リソースが RTL であるかどうかを照会する方法はありますか? そうでない場合、これを行う別の方法はありますか?
編集:
明確にするために、私の問題は、ロードされたリソースdllがRTLであっても、メインウィンドウフレームとすべての動的ダイアログがLTRレイアウトのままであることです。ユーザーが言語メニューのドロップダウンから言語を選択して設定したレジストリに保存されている 3 文字のコードに基づいて、アプリの initinstance 関数で最初にリソース dll を読み込みます。dll からのすべてのリソースは正常に動作します。メイン フレームと、エラーが発生したときにメッセージ ボックスなどを読み込む一般的なダイアログに問題があるだけです。おそらく、このコード スニペットは、私が探しているものを説明するのに役立ちます。
この方法ではない場合、3 文字の国コードや言語 ID などのロケール情報に基づいて読み上げ順序を決定するために使用できる関数はありますか? Windows7 ビルドでは、次のことができますが、Windows XP をサポートする必要があります :(.
EDIT2:
まだこれを行おうとしています。動作するはずの次のコードがありますが、動作しません。ハンドルを取得しているダイアログのlayoutrtlがtrueに設定されており、3つの項目があることを知っています。次のコードを実行すると、dwextendstyle は 0 で、cdit も 0 ですが、3 である必要があります。AfxGetResourceHandle がアラビア語リソースへのハンドルを返すことを確認しました。
私のリソースファイルでは、アバウトダイアログはこのように定義されていますが、コード内のEXSTYLEを手に入れることができないようです...
ありがとう。
c++ - MFC ダイアログ エディターを使用して、リソースのみの DLL でイベント ハンドラーを追加する
当初、私の MFC プログラムには、2 つの言語のリソースを含む 1 つの .rc ファイルがありました。しかし、今では 2 つの個別のリソースのみの dll プロジェクト (同じソリューション内) に 2 つの .rc ファイルがあり、LoadLibrary() と AfxSetResourceHandle() を使用して言語を動的に選択します (この記事を参照しました)。
うまく機能しているように見えますが、1 つの問題は、リソースのみの dll プロジェクトのダイアログに対して、ダイアログ エディターを適切に使用できないことです。ダイアログは正常に表示されますが、コントロールをダブルクリックしたり、プロパティ メニューを使用してイベント ハンドラーを追加することはできません。同じソリューション内の別々のプロジェクトにあるコードとリソース ファイルを接続する方法はありますか?
編集:
少しアプローチを変えました。別のリソース プロジェクトで新しい RC ファイルを作成する代わりに、それらをメイン プロジェクトで作成し、ビルドから除外しました。そして、それらを別のリソース プロジェクトから参照できるようにしました。
重要なポイントの 1 つは、各 RC ファイルの読み取り専用シンボル ディレクティブ#include "resource.h"
に追加したことです (これを行うには、リソース ビューで RC ファイルを右クリックし、[リソース インクルード] 項目を選択します)。これは、複数の言語のリソースを持つメイン プロジェクトの元の RC ファイルに関連するものです。なぜ追加する必要があるのかわかりませんが、サテライト dll が正常に動作するために必要なようです。"resource.h"
残っている 1 つの問題は、その複数の RC ファイルをどのように維持するかです。リソースを追加するために、元の RC ファイルとその resource.h ファイルを維持する必要がある場合は、最初にリソースを元の RC ファイルに追加してから、それらをすべての言語固有の RC ファイルにコピーする必要があります。これは正しい方法ですか、それとも元の RC ファイルなしで続行できますか?
c# - ac# resource-dll を編集して再コンパイルする方法
新しい言語のサポートを追加するために、リソース ファイルを編集しようとしましたが、次のようになります。
一部の dll デコンパイラでは、リソース ファイルが表示されません (リソース ターナー、PE エクスプローラーなど)。
.Net Reflector で、リソース ファイルが表示されますが、編集できません。
私ができることは、Reflector FileDisassembler
ツールを使用して dll を逆アセンブルすることです。これにより、完全なプロジェクトではないように見える C# sln ファイルが得られます。
しかし、プロジェクトを編集してdllファイルに再コンパイルし、本来あるべき場所に戻すと、dllが無効であるため、エラーが発生します
誰でも私を助けてくれるか、正しい方向を教えてください。
PS 1、明らかに dll 署名プロセスは問題ではありません。この dll は単なるリソース ファイルであり、アプリケーションはランタイムまたはそのようなもので署名するだけなので、それがどのように行われたかについてはよくわかりませんが、これについて心配する必要はないことを読んでください。
PS 2、私がやりたいことは 100% 実行可能です。一部の企業はこの方法を長い間行ってきました。
delphi - Translation Editor で RCDATA リソースをローカライズする方法
いくつかの画像とテキストを RCDATA リソースとして実行可能ファイルに埋め込んでいます。私のプロジェクトにはapp.rc
、この目的のための特別なファイルが含まれています:
後で、を使用してこれらのデータにアクセスしていますTResourceStream
。
このapp.rc
ファイルをローカライズして、リソース dll にインクルードする必要があります。さまざまな言語の RCDATA リソースとしてさまざまなファイルを含める方法が見つかりません。メインの実行可能ファイルには、1 セットのファイル ( text1.rtf
、Images\image1.png
) がリソースとして含まれている必要があります。リソース DLL には、別のバージョンのtext1.rtf
、Images\image1.png
ファイルが含まれている必要があります。