問題タブ [opcode]
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.
security - アセンブリ:セマンティックNOPとは何ですか?
アセンブリの「セマンティックNOP」とは何でしょうか。
php - PHPオペコードがハードディスクにキャッシュされていますか?
PHPで開発されたWebサイトがあります。オペコードキャッシュを使用しています。
しかし、eAcceleratorやAPCのようなオペコードキャッシュはRAMにキャッシュされているため、RAMが多すぎます。
だから私はPHPオペコードをハードディスクにキャッシュするプロジェクトやテクニックを探しています。
本当にありがとう
(私のウェブサイトはお金を生み出していないので、私はもっと安い解決策を考えています)
php - PHP/Apache でオペコードをキャッシュする最も簡単な方法は何ですか?
パフォーマンスを向上させるためにオペコード キャッシングを使用することを考えていました
PHP/Apache でオペコードをキャッシュする最も簡単な方法は何ですか? パフォーマンスの改善点は何ですか?
xDebug について読みましたが、他にオプションがあるかどうか疑問に思っていました。
emulation - CPU のオペコード サイクル カウントの決定
さまざまなマシンの CPU オペコード サイクル カウントを取得するには、どこに行けばよいのだろうと思っていました。私が話していることの例は、このリンクで見ることができます:
https://web.archive.org/web/20150217051448/http://www.obelisk.demon.co.uk/6502/reference.html
MAME ソース コード、特に src\emu\cpu を調べると、ほとんどの CPU モデルが同様の方法でサイクル カウントを追跡していることがわかります。私の質問は、この情報をどこで取得するか、または利用できない場合はリバース エンジニアリングを行うかということです。「公式」の ASM プログラマーズ ガイドにサイクル カウント情報が含まれているのを見たことがありません。私の最初の推測では、小さなプログラムが実際のハードウェアのブート ROM にスローされ、RDTSC と同等のオペコードが含まれている場合、次のようなことが行われます。
しかし、そのようなサポートが利用できなかったらどうしますか? 古いハードウェアの場合、MAME チームは ROM と散在するドキュメント以外にはアクセスできません。
assembly - Intelマシンコードからアセンブリコードへの質問
専門家、インテルx86のmachineCode / assemblyCode変換はsingleSideまたはbothSideですか?
つまり、assemblyCode--->machineCodeとmachineCode--->assemblyCodeの両方が使用可能です。
x86のmachineCodeはサイズ(1〜15バイト)が異なり、オペコードは(1〜3バイト)が異なるため、1つのオペコードが1バイトまたは2バイトまたは3バイトであるかどうかを判断する方法は?
x86命令のプレフィックスの例は見つかりませんでした。ここに1バイトのプレフィックスがある場合、プレフィックスまたはオペコードであるかどうかを判断する方法は?
確かに、assemblyCode ---> machineCode、ニーモニック+ oprand [w / b]のIDは、特定のMappingTableをマップすることにより、応答machineCodeが何であるかを判別できます。
ただし、プロセスが逆の場合:
{bbbbbbbb、bbbbbbbb、bbbbbbbb、//命令1 bbbbbbbb、bbbbbbbb、bbbbbbbb、bbbbbbbb、bbbbbbbb、bbbbbbbb、//命令2 bbbbbbbb、bbbbbbbb//命令3}
----> {bbbbbbbb、bbbbbbbb、bbbbbbbb、bbbbbbbb、bbbbbbbb、bbbbbbbb、bbbbbbbb、bbbbbbbb、bbbbbbbb、bbbbbbbb、bbbbbbbb}
1つの命令の長さ(サイズ)を決定するための重要なビットまたはバイトがどれであるかわかりません。
誰かがそれを決定する方法を教えてくれますか?(オペコードのサイズ、プレフィックスの例)助けてくれてありがとう。
php - PHP をオペコードにコンパイルして本番環境で実行する方法は?
opcode
注、これは最近の facebook のヒップホップ プロジェクトではなく、に変換したいだけですc/c++
。
まだ解決策はありますか?
デモは常に最高です!
php - 低ディスクI/O用にPHPrequire_onceを最適化しますか?
Q1) CMSを設計していますが(そうではありません!)、キャッシングが優先されています。文字通りすべてがキャッシュされます。DB行、DB IDクエリ、構成データ、処理済みデータ、コンパイル済みテンプレート。現在、2層のキャッシュがあります。
1つは、apc、eaccelerator、xcache、memcachedなどのオペコードキャッシュまたはメモリキャッシュです。そこにエントリが見つからない場合は、セカンダリスローキャッシュで検索されます。つまり、phpインクルードです。
オペコードキャッシュは、var_exportされたデータの配列を含むphpファイルに対してrequire_onceを実行するよりも実際に高速ですか?私の開発ボックス(XAMPPの5.3)が前述のプログラムのいずれかをインストールするとエラーをスローし続けるため、私のテストは決定的ではありません。
Q2) CMSには、すべてのファイルをロードするのではなく、オンデマンドで自動ロードされる多数のヘルパークラスがあります。ほとんどの場合、それぞれに前に要件があるため、自動読み込みを実行する必要はありませんが、これは問題ではありません。ページスクリプトには最大50/60のヘルパーファイルを含めることができるため、サイトにプレッシャーがかかると、これが発生するすべてのI/Oのためにサイトが座屈するだろうと感じています。私が提案しようとしていることの必要性を排除する出力キャッシュが配置されていること、そしてまたオペコードキャッシュがこの意味をなさないことを今のところ無視してください。私がやろうとしたのは、スクリプトの実行に必要なすべてのヘルパーファイルを1つのファイルに結合することです。これは達成可能であり、うまく機能しますが、技術的に同じコードが使用されている場合でも、メモリ使用量が大幅に増加するという副作用があります。
これについてどう思いますか?
interface - OPCでのインターフェースIOPCServer、IOPCDataItem、IOPCGroupの役割は何ですか(プロセス制御用のOLE)
私は現在、OPC (プロセス制御用の OLE) の初心者です。OPC の IOPCServer、IOPCDataItem、IOPCGroup インターフェイスについて知りたいです。それらは何に使用され、OPC クライアントと OPC サーバーに関してどのような役割を果たし、これらのインターフェイスはどのようなメソッドとプロパティを含んでいますか? 上記の質問に対する回答を教えていただけますか、または上記のトピックに関する知識を得ることができるリンクを教えていただけますか?
c# - メソッド呼び出しは EXE ファイルのどこにありますか?
序章
LIDNUG の .NET コード保護http://secureteam.net/lidnug_recording/Untitled.swf (特に 46:30 から 57:30 まで) に関するこのビデオを見た後、MessageBox.Show への呼び出しをEXE を作成しました。
私の「TrialApp.exe」の唯一のロジックは次のとおりです。
リリース構成でコンパイル: http://rapidshare.com/files/392503054/TrialApp.exe.html
電話を見つけるために私がすること
WinDBG でアプリケーションを実行し、メッセージ ボックスが表示されたら中断します。
次を使用して CLR スタックを取得します!clrstack
。
MethodDesc 構造体を取得します (Form1_Load のアドレスを使用)!ip2md 002701f0
このメソッドの IL をダンプします (MethodDesc による)!dumpil 001762f8
したがって、ビデオで言及されているように、への呼び出しShow
はメソッド実装の先頭から 5 バイトです。
ここで、CFFExplorer を (ビデオのように) 開き、Form1_Load メソッドの RVA を取得します00002083
。
この後、Address Converter (再び CFF Explorer) に移動し、offset に移動し00002083
ます。そこには次のものがあります。
ビデオでは、最初の 12 バイトはメソッド ヘッダー用であると言及されているため、スキップします
実装の先頭から 5 バイトは、メソッド呼び出しのオペコード (28) である必要があります。残念ながら、そこにはありません。
質問:
- 私は何を間違っていますか?
- ファイルのその位置にメソッド呼び出しがないのはなぜですか? それとも、ビデオにいくつかの情報が欠けているかもしれません...
- あのビデオの男はなぜコールを 9 つのゼロに置き換えたのですか?
reflection.emit - Reflectio.emit で変数を格納する System.AccessViolationException
空き時間にreflection.emitでコンパイラを構築していて、理解できない問題に遭遇しました。
ちょっとしたコンテキストですが、いくつかの型を持つランタイムがあり、そのうちの 1 つは Float2 です。これは、2 つの float 値 (X と Y) を持つ単純なベクター構造体です。値を入れ替えることができるプロパティをいくつか作成しました (hlsl 風)。たとえば、新しい Float2(1.0f, 2.0f) がある場合、(new Float2(1.0f, 2.0f)).YX のようなものを作成すると、Float2(2.0f, 1.0f) が取得されます。 '私の言語でこのタイプを使用しており、現在このケースをテストしています (言語の細かい詳細は省略されています):
新しい呼び出しで float2(1.0, 2.0) を変換し、.yx で Float2 型のプロパティ YX にアクセスしています。
問題は、「System.AccessViolationException : 保護されたメモリの読み取りまたは書き込みを試みました。これは、多くの場合、他のメモリが破損していることを示しています。」というメッセージが表示されることです。このようなものを作成すると、理由がわかりません。
すべてがうまくいきます。
私が生成しているILコードは次のとおりです(問題は「L_0014:stloc.0」で発生すると思いますが、なぜ発生するのかわかりません):
検証の結果:
[IL]: エラー: [オフセット 0x0000000F] [値 'Bifrost.Psl.Compiler.Runtime.Float2' が見つかりました][値 'Bifrost.Psl.Compiler.Runtime.Float2' の予想されるアドレス] スタックに予期しない型があります。