問題タブ [hotpatching]
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.
assembly - 「movedi、edi」が何をするのか誰もが知っていますか?
mov edi,edi
私には意味がありません、それは何のためですか?
.net - .NET dll のホットパッチ可能なイメージを作成するには?
Windows ホットパッチ機能を使用して、再起動せずに Windows Server OS を更新する機能について読んだことがあります。MSDN によると、単純なスイッチを使用して VC++ プロジェクトのホット パッチを有効にできます。
.NET プロジェクト用の同様のスイッチ/設定はありますか? いいえの場合、外部ツールを使用してそれを行うことは可能ですか?
c++ - ホットパッチ用に関数の最後に N カウントのバイトを追加する
関数の最後に N カウントのバイトを追加することは可能ですか?
私の簡単なアイデアは、次のコードを追加することです。
それを行う他の方法はありますか? (コード、コンパイラ、またはその他の方法で)
関数のホットパッチに必要です。いくつかの IF ステートメントを含む関数があります。関数は 1 秒間に 10 回以上呼び出されます。したがって、パフォーマンスを向上させるには、「そのコードを実行する必要があるか?」などのチェックを減らす必要があります。IF ステートメントのブール値はそれほど頻繁には変更されません (めったにないと思います)。また、コードを実行する必要がない場合は、それを確認する必要がないことも達成したいと考えています。
c++ - ホットパッチ/インライン関数フックのオフセットの計算
http://lastfrag.com/hotpatching-and-inline-hooking-explained/から、
Q1) コードは上位メモリから下位メモリへ、またはその逆に進みますか?
Q2) さらに重要なことは、置換オフセットの計算中に、関数プリアンブルを差し引かなければならないのはなぜですか? オフセットが命令の先頭ではなく末尾から始まるためですか?
完全なコード:
Q3) このコードでは、jmp 命令の相対アドレスが置き換えられています。relAddrSet は元の宛先へのポインターです。to は、新しい宛先へのポインターです。to アドレスの計算がわかりません。元の宛先を functionForHook + opcodeOffset に追加する必要があるのはなぜですか?
javascript - リリース後に長期間有効なページの javascript/css アセットを更新するにはどうすればよいですか?
寿命の長いアプリが複数あるサイトを想定して、本番環境で javascript/css コードをホットスワップするための簡単な戦略はありますか?
一部の Web サイト (たとえば、重要なトラッカー) で、「更新があります。更新してください」というバナーが表示されるのを見てきました。理想的には、ソリューションは開発環境内の liveupdate に似たものになります。そのようなものはまだ存在しますか?
c - フッキング フレームワーク (Detours ライク)
実装が元の実装を呼び出すことを許可しながら、メモリ内の関数を置き換えて独自の実装にリダイレクトできる C ライブラリ/フレームワークを探しています。
これは、おそらく LD_PRELOAD が実行時関数の置き換えに関するほとんどの側面をカバーしているため、Linux-y システムではかなりまれな必要性と思われます。