|
要件: httpリクエストをシミュレートするとき、リクエストパラメータ、リクエストコンテンツは、いくつかのアルゴリズムコンテンツを含むかもしれません、アルゴリズムは、javascriptで見つけることができます、jsアルゴリズムは、私たちが使用するプログラミング言語(例えば:Javaやc#)に翻訳されている場合、難易度が大きくなります、通常、jsコンテンツは、圧縮され、難読化されているので、jsが直接クラスライブラリに翻訳されている場合、私たちは、クラスライブラリを呼び出すことができます。そこで、jsを直接ライブラリに翻訳して呼び出すことができれば最高だ。
.NETの下でjs関数を実行するためにJurassicを使う https://www.itsvse.com/thread-4303-1-1.html jscを使ってjavascriptをexeプログラムに生成する
test1.jsのコードは以下の通り:
vs 2019 developerコマンドを開き、以下を入力する:
main.exeプログラムを実行してみる。cmdコマンドでプログラムを実行し、それをダブルクリックするだけで、プログラムは以下のように点滅する:
jscを使ってjavascriptからdllライブラリを生成します。
test.jsのコードは以下の通りです:
コマンドは以下の通り:
common.dllクラス・ライブラリを参照する新しい.NET 4コンソール・プロジェクトを作成する。
次に、オブジェクトをインスタンス化し、そのメソッドを呼び出します。コードは以下の通り:
以下はそのイメージです:
生成されたdllのソースコードは、以下のようにILSpyツールで見ることができます:
jsc program file path: C:◆WindowsMicrosoft.NET ◆Framework ◆v4.0.30319 ◆jsc.exe
Parameters:
パラメータ:Microsoft (R) JScript Compiler version 14.00.3752 for Microsoft (R) .NET Frameworkバージョン4.0.30319 著作権 (C) Microsoft Corporation.無断複写・転載を禁じます。
jsc [オプション] <ソース> [[オプション] <ソース>...] ]。
JScript コンパイラのオプション
- 出力ファイル /バイナリ出力ファイル名を指定します。 /t[arget]:exe コンソールアプリケーションを作成します。 /t[arget]:winexe Windowsアプリケーションを作成します。 /t[arget]:library ライブラリアセンブリを作成します。 /platform:<platform> コードを実行できるプラットフォームを制限します; x86、Itanium、x64、またはAny CPU (デフォルト)でなければなりません。
- ファイルを入力します。 /autoref[+|-] インポートされたネームスペースと完全修飾名に基づいてアセンブリを自動的に参照します(デフォルトではオン)。 /lib:<path> 参照を検索する追加のディレクトリを指定します。 /r[eference]:<file list> 指定されたアセンブリファイルのメタデータを参照します。 <ファイルリスト>: <アセンブリ名>[;<アセンブリ名>...]] を指定する。
- リソース /win32res:<ファイル> Win32リソースファイル(.res)を指定します。 /res[ource]:<info> 指定されたリソースを埋め込む <info>: <filename>[,<name>[,public|private]]を指定します。 /linkres[ource]:<info> 指定されたリソースをこのアセンブリにリンクする <info>: <filename>[,<name>[,public|private]] のように指定します。
- コード生成 /debug[+|-] デバッグ情報を送信する。 /fast[+|-]より良いコード生成のために言語関数を無効にします。 /warnaserror[+|-] 警告をエラーとして扱う。 /w[arn]:<level> 警告レベルを設定する (0-4)
- その他 <ファイル名> その他のオプションについては、レスポンス・ファイルをお読みください。 /?ヘルプを表示 /ヘルプを表示する /d[efine]:<symbols> 条件付きコンパイル記号を定義する。 /nologo コンパイラのコピーライト・シンボルを表示しない。 /print[+|-]はprint()関数を提供します。
- 上級者向け /codepage:<id> 指定されたコードページ ID のソース・ファイルを開きます。 /lcid:<id> 指定された LCID をメッセージとデフォルトのコードページに使用します。 /nostdlib[+|-] 標準ライブラリ (mscorlib.dll) をインポートせず、autoref のデフォルトを off に変更します。 /utf8output[+|-] コンパイラの出力を UTF-8 文字エンコーディングで出力する。 /override" または "hide" としてマークされていないメンバーのデフォルト値を指定する。override" または "hide" としてマークされていないメンバーのデフォルト値を指定します。 (終了)
|
前へ:ActivatorUtilitiesを使ったASP.NET Core (III) インスタンスの動的生成次へ:http.serverを使ってPythonでhttpサービスを起動する
|