Requisitos: Quando simulamos requisições HTTP, os parâmetros e o conteúdo das requisições podem envolver algum conteúdo do algoritmo, o algoritmo pode ser encontrado em JavaScript; se traduzirmos o algoritmo js para a linguagem de programação que usamos (por exemplo, Java, C#), é mais difícil, geralmente o conteúdo js é comprimido e confuso, então se traduzirmos diretamente js para uma biblioteca de classes para chamarmos, é muito bom.
Use o JSC para gerar o programa exe em JavaScript
test1.js código é o seguinte:
Abra o comando desenvolvedor do VS 2019 e insira o seguinte:
Tente rodar o programa main.exe, executamos o programa pelo comando cmd, clique dois vezes diretamente e o programa passa rapidamente, da seguinte forma:
Use o JSC para gerar uma biblioteca dll de JavaScript
test.js código é o seguinte:
O comando é o seguinte:
Crie um novo projeto de console .NET 4 que faça referência à biblioteca de classes common.dll
Depois, instanciar o objeto e chamar seu método. O código é o seguinte:
Como mostrado abaixo:
Você pode usar a ferramenta ILSpy para visualizar o código-fonte dll gerado, como mostrado na figura abaixo:
Caminho do arquivo do programa jsc: C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe
Parâmetro:
Microsoft (R) JScript Compiler versão 14.00.3752 para Microsoft (R) .NET Framework versão 4.0.30319 Direitos autorais (C) Microsoft Corporation. Todos os direitos reservados.
JSC [opções] <源文件> [[opções] <源文件>...]
Opções do compilador JScript
- Arquivo de Saída - /out:<file> Especifica o nome do arquivo binário de saída /t[arget]:exe Criar aplicativo de console (padrão) /t[arget]: winexe para criar um aplicativo Windows /t[arget]: a biblioteca cria um conjunto de biblioteca /platform:<platform> Restringe as plataformas onde esse código pode ser executado; Deve ser x86, Itanium, x64 ou qualquer CPU (plataforma padrão)
- Arquivo de entrada - /autoref[+|-] Assembleias de referência automática com base em namespaces importados e nomes totalmente qualificados (ativados por padrão) /lib:<path> Especifica o diretório adicional onde você deseja buscar referências /r[eference]:<lista de arquivos> Faz referência a metadados do arquivo de montagem especificado <lista de arquivos>: <nome da assembleia>[; <nome da assembleia>...]
- Fonte - /win32res:<file> Especifica arquivos de recursos Win32 (.res) /res[ource]:<info> Incorporar o recurso especificado <info>: <filename>[,<name>[,público|privado]] /linkres[ource]:<info> Vincula o recurso especificado a este conjunto <info>: <filename>[,<name>[,público|privado]]
- Geração de código - /debug[+|-] para emitir uma mensagem de depuração /fast[+|-] desativa recursos da linguagem para melhorar a geração de código /warnaserror[+|-] trata o aviso como um erro /w[arn]:<level> Defina o nível de alerta (0-4)
- Diversos - @<filename> Para mais opções, por favor leia o arquivo de resposta /? Mostrar ajuda /ajuda mostra ajuda /d[efine]:<symbols> Define símbolos de compilação condicional /nologo não exibe a marca de direitos autorais do compilador /print[+|-] fornece a função print()
- Avançado - /codepage:<id> Abra o arquivo fonte com o ID especificado da página de código /lcid:<id> Use o LCID especificado para mensagens e páginas de código padrão /nostdlib[+|-] não importa a biblioteca padrão (mscorlib.dll) e muda o padrão autoref para desligado /utf8output[+|-] emite saída do compilador na codificação de caracteres UTF-8 /versionsafe[+|-] especifica um valor padrão para membros que não são marcados como "override" ou "hide" (Fim)
|