問題タブ [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.

0 投票する
2 に答える
6148 参照

assembly - 「movedi、edi」が何をするのか誰もが知っていますか?

mov edi,edi 私には意味がありません、それは何のためですか?

0 投票する
0 に答える
274 参照

.net - .NET dll のホットパッチ可能なイメージを作成するには?

Windows ホットパッチ機能を使用して、再起動せずに Windows Server OS を更新する機能について読んだことがあります。MSDN によると、単純なスイッチを使用して VC++ プロジェクトのホット パッチを有効にできます。

.NET プロジェクト用の同様のスイッチ/設定はありますか? いいえの場合、外部ツールを使用してそれを行うことは可能ですか?

0 投票する
4 に答える
154 参照

c++ - ホットパッチ用に関数の最後に N カウントのバイトを追加する

関数の最後に N カウントのバイトを追加することは可能ですか?

私の簡単なアイデアは、次のコードを追加することです。

それを行う他の方法はありますか? (コード、コンパイラ、またはその他の方法で)

関数のホットパッチに必要です。いくつかの IF ステートメントを含む関数があります。関数は 1 秒間に 10 回以上呼び出されます。したがって、パフォーマンスを向上させるには、「そのコードを実行する必要があるか?」などのチェックを減らす必要があります。IF ステートメントのブール値はそれほど頻繁には変更されません (めったにないと思います)。また、コードを実行する必要がない場合は、それを確認する必要がないことも達成したいと考えています。

0 投票する
3 に答える
1595 参照

c++ - ホットパッチ/インライン関数フックのオフセットの計算

http://lastfrag.com/hotpatching-and-inline-hooking-explained/から、

Q1) コードは上位メモリから下位メモリへ、またはその逆に進みますか?

Q2) さらに重要なことは、置換オフセットの計算中に、関数プリアンブルを差し引かなければならないのはなぜですか? オフセットが命令の先頭ではなく末尾から始まるためですか?

完全なコード:

Q3) このコードでは、jmp 命令の相対アドレスが置き換えられています。relAddrSet は元の宛先へのポインターです。to は、新しい宛先へのポインターです。to アドレスの計算がわかりません。元の宛先を functionForHook + opcodeOffset に追加する必要があるのはなぜですか?

0 投票する
0 に答える
79 参照

javascript - リリース後に長期間有効なページの javascript/css アセットを更新するにはどうすればよいですか?

寿命の長いアプリが複数あるサイトを想定して、本番環境で javascript/css コードをホットスワップするための簡単な戦略はありますか?

一部の Web サイト (たとえば、重要なトラッカー) で、「更新があります。更新してください」というバナーが表示されるのを見てきました。理想的には、ソリューションは開発環境内の liveupdate に似たものになります。そのようなものはまだ存在しますか?

0 投票する
1 に答える
750 参照

c - フッキング フレームワーク (Detours ライク)

実装が元の実装を呼び出すことを許可しながら、メモリ内の関数を置き換えて独自の実装にリダイレクトできる C ライブラリ/フレームワークを探しています。

これは、おそらく LD_PRELOAD が実行時関数の置き換えに関するほとんどの側面をカバーしているため、Linux-y システムではかなりまれな必要性と思われます。