Wymagania: Gdy symulujemy żądania HTTP, parametry żądań i treść żądań mogą zawierać jakieś algorytmy, algorytm można znaleźć w JavaScript, a jeśli przetłumaczymy algorytm js na używany przez nas język programowania (np. Java, C#), jest to trudniejsze, zwykle zawartość js jest kompresowana i mylona, więc jeśli bezpośrednio przetłumaczymy js na bibliotekę klas do wywołania, jest to bardzo dobre.
Użyj JSC do wygenerowania programu exe w JavaScript
test1.js kod brzmi następująco:
Otwórz polecenie dewelopera VS 2019 i wpisz następujące dane:
Spróbuj uruchomić program main.exe, uruchamiamy program przez komendę cmd, klikamy dwukrotnie bezpośrednio, a program przejdzie obok w następujący sposób:
Użyj JSC do wygenerowania biblioteki dll JavaScript
test.js kod wygląda następująco:
Polecenie brzmi następująco:
Stwórz nowy projekt konsolowy .NET 4, który odwołuje się do biblioteki klas common.dll
Następnie instancjonuj obiekt i wywołaj jego metodę. Kod jest następujący:
Jak pokazano poniżej:
Możesz użyć narzędzia ILSpy, aby zobaczyć wygenerowany kod źródłowy dll, jak pokazano na poniższym rysunku:
jsc program file path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe
Parametr:
Microsoft (R) JScript Compiler wersja 14.00.3752 for Microsoft (R) .NET Framework wersja 4.0.30319 Copyright (C) Microsoft Corporation. Wszelkie prawa zastrzeżone.
JSC [opcje] <源文件> [[opcje] <源文件>...]
Opcje kompilatora JScript
- Plik wyjściowy - /out:<file> Określa nazwę pliku wyjściowego binarnego /t[arget]:exe Stwórz aplikację konsolową (domyślnie) /t[arget]: winexe do tworzenia aplikacji Windows /t[arget]: biblioteka tworzy asembl biblioteki /platform:<platform> Ogranicza platformy, na których ten kod może być uruchamiany; Musi to być x86, Itanium, x64 lub dowolny procesor (domyślna platforma)
- Plik wejściowy - /autoref[+|-] Automatyczne odwołanie do zespołów opartych na zaimportowanych przestrzeniach nazw i w pełni kwalifikowanych nazw (domyślnie włączonych) /lib:<path> Określa dodatkowy katalog, w którym chcesz wyszukiwać referencje /r[eference]:<lista plików> Odniesienia do metadanych z określonego pliku assembly <lista plików>: <nazwa asemblera>[; <nazwa asemble>...]
- Źródło - /win32res:<file> Określa pliki zasobów Win32 (.res) /res[ource]:<info> Osadz określony zasób <info>: <filename>[,<name>[,publiczne|prywatne]] /linkres[ource]:<info> Łączy określony zasób z tym zespołem <info>: <filename>[,<name>[,publiczne|prywatne]]
- Generowanie kodu - /debug[+|-] do wydania komunikatu debugującego /fast[+|-] wyłącza funkcje językowe, aby poprawić generowanie kodu /warnaserror[+|-] traktuje ostrzeżenie jako błąd /w[arn]:<level> Ustaw poziom ostrzegawczy (0-4)
- Różne - @<filename> Aby uzyskać więcej opcji, proszę przeczytaj plik odpowiedzi /? Pokaż pomoc /help shows help /d[efine]:<symbols> Definiuje symbole kompilacji warunkowej /nologo nie wyświetla znaku praw autorskich kompilatora /print[+|-] dostarcza funkcję print()
- Zaawansowane - /codepage:<id> Otwórz plik źródłowy z podanym ID strony kodowej /lcid:<id> Używaj określonego LCID dla wiadomości i domyślnych stron kodowych /nostdlib[+|-] nie importuje standardowej biblioteki (mscorlib.dll) i zmienia domyślne automatyczne ustawienie na wyłączone /utf8output[+|-] generuje wyjście kompilatora w kodowaniu znaków UTF-8 /versionsafe[+|-] określa domyślną wartość dla członków, którzy nie są oznaczoni jako "nadpisują" lub "ukryj" (Koniec)
|