feat: support i18n namespace

This commit is contained in:
ReaJason
2025-08-13 23:53:40 +08:00
parent 7ce71856d3
commit e1e5a96283
41 changed files with 987 additions and 663 deletions
+37
View File
@@ -0,0 +1,37 @@
{
"about": "About",
"basicInfo": "BasicInfo",
"byPassJavaModule": "Bypass JavaModule",
"cancel": "Cancel",
"copyLabelSuccess": "Copy {{label}} successfully",
"copySuccess": "Copy successfully",
"debug": "Debug Mode",
"download": "Downlaod",
"encryptor": "Encryptor",
"feedback": "Feedback",
"generateResult": "Generate Result",
"generator": "Generator",
"headerName": "HeaderName",
"headerValue": "HeaderValue",
"implementationClass": "ImplementationClass",
"loading": "Loading...",
"mainConfig.title": "Main Config",
"MemShellGenerator": "MemShellGenerator",
"optional": "(Optional)",
"packerConfig.title": "Package Config",
"packerMethod": "Package Method",
"paramName": "ParamName",
"placeholders.input": "Please input",
"placeholders.select": "Please select",
"ProbeShellGenerator": "ProbeShellGenerator",
"quickUsage.title": "Quick Usage",
"server": "Server",
"serverVersion": "Server Version",
"shrink": "Shrink",
"toast.generateError": "Generation failed, {{error}}",
"toast.generateSuccess": "Generation successful",
"urlPattern": "URL Pattern",
"usage": "Usage",
"version.updateAvailable": "Update Available",
"version.updateAvailableTooltip": "Click to Open Github Release Page ( v{{currentVersion}} -> v{{latestVersion}})"
}
+37
View File
@@ -0,0 +1,37 @@
{
"about": "关于",
"basicInfo": "基本信息",
"byPassJavaModule": "绕过 Java 模块限制",
"cancel": "取消",
"copyLabelSuccess": "复制 {{label}} 成功",
"copySuccess": "复制成功",
"debug": "调试模式",
"download": "下载",
"encryptor": "加密器",
"feedback": "反馈",
"generateResult": "生成结果",
"generator": "生成器",
"headerName": "请求头名称",
"headerValue": "请求头值",
"implementationClass": "实现类",
"loading": "加载中...",
"mainConfig.title": "核心配置",
"MemShellGenerator": "内存马生成器",
"optional": "(可选)",
"packerConfig.title": "打包配置",
"packerMethod": "打包方式",
"paramName": "参数名称",
"placeholders.input": "请输入",
"placeholders.select": "请选择",
"ProbeShellGenerator": "探测马生成器",
"quickUsage.title": "快速使用",
"server": "服务类型",
"serverVersion": "服务版本",
"shrink": "缩小字节码",
"toast.generateError": "生成失败,{{error}}",
"toast.generateSuccess": "生成成功",
"urlPattern": "请求路径",
"usage": "使用指南",
"version.updateAvailable": "有可用升级",
"version.updateAvailableTooltip": "点击前往 GitHub Release ( v{{currentVersion}} -> v{{latestVersion}})"
}
-123
View File
@@ -1,123 +0,0 @@
{
"basicInfo.classInfo": "ShellClass",
"basicInfo.serverInfo": "TargetServer",
"basicInfo.toolInfo": "ShellTool",
"buttons.generate": "Generate Shell",
"cancel": "Cancel",
"configs.main-config": "Main Config",
"configs.package-config": "Package Config",
"copyLabelSuccess": "Copy {{label}} successfully",
"copySuccess": "Copy successfully",
"download": "Downlaod",
"errors.generationFailed": "Generation failed, {{error}}",
"feedback": "Feedback",
"generateResult.basicInfo": "Basic Info",
"generateResult.title1": "Generate Result",
"generateResult.title2": "Shell Class",
"generateResult.title3": "Injector Class",
"generateResult.usage": "Usage",
"loading": "Loading...",
"mainConfig.byPassJavaModule": "Bypass Java Module",
"mainConfig.debug": "Debug Mode",
"mainConfig.injectorClassName": "Injector ClassName",
"mainConfig.jre": "Target JRE Version",
"mainConfig.server": "Target Server",
"mainConfig.serverVersion": "Target Server Version",
"mainConfig.shellClassName": "Shell ClassName",
"mainConfig.shellMountType": "Shell Mount Type",
"mainConfig.shellTool": "Shell Tool",
"mainConfig.shrink": "Shrink Bytecode",
"mainConfig.urlPattern": "URL Pattern",
"optional": "(Optional)",
"packageConfig.packer.AgentJar": "AgentJar",
"packageConfig.packer.Aviator": "Aviator",
"packageConfig.packer.BCEL": "BCEL",
"packageConfig.packer.Base64": "Base64",
"packageConfig.packer.BeanShell": "BeanShell",
"packageConfig.packer.EL": "EL",
"packageConfig.packer.Freemarker": "Freemarker",
"packageConfig.packer.Groovy": "Groovy",
"packageConfig.packer.GzipBase64": "GzipBase64",
"packageConfig.packer.Hessian2Deserialize": "Hessian2Deserialize",
"packageConfig.packer.HessianDeserialize": "HessianDeserialize",
"packageConfig.packer.JEXL": "JEXL",
"packageConfig.packer.JSP": "JSP",
"packageConfig.packer.JXPath": "JXPath",
"packageConfig.packer.Jar": "Jar",
"packageConfig.packer.JavaDeserialize": "JavaDeserialize",
"packageConfig.packer.JinJava": "JinJava",
"packageConfig.packer.MVEL": "MVEL",
"packageConfig.packer.OGNL": "OGNL",
"packageConfig.packer.Rhino": "Rhino",
"packageConfig.packer.ScriptEngine": "ScriptEngine",
"packageConfig.packer.SpEL": "SpEL",
"packageConfig.packer.Velocity": "Velocity",
"packageConfig.packer.XxlJob": "XXL-JOB Executor",
"packageConfig.packer.AgentJarWithJDKAttacher": "AgentJarWithJDKAttacher",
"packageConfig.packer.AgentJarWithJREAttacher": "AgentJarWithJREAttacher",
"packageConfig.packer.H2": "H2 JDBC",
"packageConfig.packer.XMLDecoder": "XMLDecoder",
"packageConfig.title": "Package Method",
"placeholders.input": "Please input",
"placeholders.select": "Please select",
"quickUsage.step1": "Select Target Server",
"quickUsage.step2": "Select Shell Tool, Godzilla, Behinder, etc.",
"quickUsage.step3": "Select Shell Mount Type, Filter, Listener, etc.",
"quickUsage.step4": "Select Packing Method",
"quickUsage.step5": "Click Generate Shell",
"quickUsage.title": "Quick Usage",
"shellNotWork.step1": "1. Try to enable the debug mode, regenerate the memory shell and inject it, check the console or log",
"shellNotWork.step2": "2. If an exception stack trace is displayed, or no exception is seen, please take a screenshot of the current generation interface and the exception log, and describe the target environment as much as possible for feedback",
"shellNotWork.title": "Shell Not Work ?",
"shellToolConfig.antSwordPass": "Shell pwd",
"shellToolConfig.behinder": "Behinder",
"shellToolConfig.behinderDefaultEncryptType": "Default",
"shellToolConfig.behinderEncryptType": "Encrypt Type",
"shellToolConfig.behinderPass": "Pass",
"shellToolConfig.behinderScriptType": "Script Type",
"shellToolConfig.command": "Command",
"shellToolConfig.customHeader": "Custom Header",
"shellToolConfig.godzilla": "Godzilla",
"shellToolConfig.godzillaEncryptor": "Encryptor",
"shellToolConfig.godzillaHeader": "Request Config -> Request Header",
"shellToolConfig.godzillaPayload": "Payload",
"shellToolConfig.headerName": "Header Name",
"shellToolConfig.headerValue": "Header Value",
"shellToolConfig.httpHeader": "HTTP -> HTTP HEADERS",
"shellToolConfig.key": "Key",
"shellToolConfig.neoreGeorgHeader": "Custom Header",
"shellToolConfig.neoreGeorgKey": "Connection Key",
"shellToolConfig.paramName": "Param Name",
"shellToolConfig.pass": "Pass",
"shellToolConfig.suo5Header": "AdvanceConfiguration -> Request Header",
"shellToolConfig.base64String": "Shell Class",
"shellToolConfig.encryptor": "Encryptor",
"shellToolConfig.implementationClass": "ImplementationClass",
"success.generated": "Generation successful",
"tips.controllerUrlPattern": "ControllerHandler type requires a specific URL Pattern, e.g., /hello_controller",
"tips.decompileTip": "Decompilation is still under development, so the current only sees the base64 encoding format",
"tips.download-jattach": "Download the Jattach tool",
"tips.execute-command": "Execute the command to inject: /path/to/jattach pid load instrument false /path/to/agent.jar",
"tips.execute-command1": "Execute the command to inject: java -jar /path/to/agent.jar pid",
"tips.get-pid": "Get the process pid of the target jvm (use jps or ps)",
"tips.handlerUrlPattern": "HandlerMethod/HandlerFunction type requires a specific URL Pattern, e.g., /hello_handler",
"tips.jreTip": "Target JRE version, generally speaking, Java 6 is the default version for maximum compatibility, and Java high versions can load low version bytecode.",
"tips.jreTip2": "In specific cases, such as JDK8 being able to use lambda expressions, and JDK9 and above having module restrictions, a specific version is required.",
"tips.agent-move-to-target": "Move MemShellAgent.jar and jattach to target host",
"tips.agent-move-to-target1": "Move MemShellAgent.jar to target host",
"tips.servletUrlPattern": "Servlet type requires a specific URL Pattern, e.g., /hello_servlet",
"tips.specificUrlPattern": "URL Pattern must be specified, e.g., /hello",
"tips.shellBytesEmpty": "Shell bytes is empty, please generate shell first",
"tips.shellToolNotSelected": "Please select a shell tool type first",
"tips.targetServerNotFound": "Target server not found?",
"tips.targetServerRequest": "Request",
"tips.try-to-use-shell": "Try to use the memory shell",
"tips.waitingForGeneration": "// Waiting for generation...",
"tips.customShellClass": "Custom shell class is required, base64 or classfile",
"tips.serverVersion": "serverVersion is required for TongWeb Valve",
"version.updateAvailable": "Update Available",
"version.updateAvailableTooltip": "Click to Open Github Release Page ( v{{currentVersion}} -> v{{latestVersion}})",
"generator": "Generator",
"about": "About",
"classNameOptions": "classNameOptions"
}
+34 -9
View File
@@ -1,28 +1,53 @@
import i18n from "i18next";
import { initReactI18next } from "react-i18next";
import { resources } from "./translations";
import commonEN from "@/i18n/common/en.json";
import commonZH from "@/i18n/common/zh-CN.json";
import memshellEN from "@/i18n/memshell/en.json";
import memshellZH from "@/i18n/memshell/zh-CN.json";
import probeshellEN from "@/i18n/probeshell/en.json";
import probeshellZH from "@/i18n/probeshell/zh-CN.json";
const getStoredLanguage = () => {
const storedLang = localStorage.getItem("i18nextLng");
if (storedLang && ["en", "zh"].includes(storedLang)) {
if (storedLang && ["en", "zh-CN"].includes(storedLang)) {
return storedLang;
}
const browserLang = navigator.language.split("-")[0];
return ["en", "zh"].includes(browserLang) ? browserLang : "en";
return ["en", "zh-CN"].includes(browserLang) ? browserLang : "en";
};
const fallbackLng = "en";
export const ns = [
"default",
"common",
"memshell",
"probeshell",
"errors",
] as const;
export const defaultNS = "default" as const;
const resources = {
"zh-CN": {
common: commonZH,
memshell: memshellZH,
probeshell: probeshellZH,
},
en: {
common: commonEN,
memshell: memshellEN,
probeshell: probeshellEN,
},
};
i18n.use(initReactI18next).init({
ns,
defaultNS,
resources,
lng: getStoredLanguage(),
fallbackLng: "en",
fallbackLng,
interpolation: {
escapeValue: false,
},
detection: {
order: ["localStorage", "navigator"],
},
saveMissing: true,
load: "languageOnly",
});
i18n.on("languageChanged", (lng) => {
+56
View File
@@ -0,0 +1,56 @@
{
"basicInfo.classInfo": "ShellClass",
"basicInfo.serverInfo": "TargetServer",
"basicInfo.toolInfo": "ShellTool",
"buttons.generate": "Generate Shell",
"classNameOptions": "ClassNameOptions",
"injectorClass": "InjectorClass",
"mainConfig.injectorClassName": "Injector ClassName",
"mainConfig.shellClassName": "Shell ClassName",
"mainConfig.shellMountType": "Shell Mount Type",
"mainConfig.shellTool": "ShellTool",
"quickUsage.step1": "Select Target Server",
"quickUsage.step2": "Select Shell Tool, Godzilla, Behinder, etc.",
"quickUsage.step3": "Select Shell Mount Type, Filter, Listener, etc.",
"quickUsage.step4": "Select Packing Method",
"quickUsage.step5": "Click Generate Shell",
"shellClass": "ShellClass",
"shellNotWork.step1": "1. Try to enable the debug mode, regenerate the memory shell and inject it, check the console or log",
"shellNotWork.step2": "2. If an exception stack trace is displayed, or no exception is seen, please take a screenshot of the current generation interface and the exception log, and describe the target environment as much as possible for feedback",
"shellNotWork.title": "Shell Not Work ?",
"shellToolConfig.antSword.pass": "Shell pwd",
"shellToolConfig.behinder": "Behinder",
"shellToolConfig.behinder.header": "Custom Header",
"shellToolConfig.behinder.pass": "Pass",
"shellToolConfig.behinderDefaultEncryptType": "Default",
"shellToolConfig.behinderEncryptType": "Encrypt Type",
"shellToolConfig.behinderScriptType": "Script Type",
"shellToolConfig.command": "Command",
"shellToolConfig.godzilla": "Godzilla",
"shellToolConfig.godzilla.encryptor": "Encryptor",
"shellToolConfig.godzilla.header": "Request Config -> Request Header",
"shellToolConfig.godzilla.key": "Key",
"shellToolConfig.godzilla.pass": "Pass",
"shellToolConfig.godzilla.payload": "Payload",
"shellToolConfig.httpHeader": "HTTP -> HTTP HEADERS",
"shellToolConfig.neoreGeorgHeader": "Custom Header",
"shellToolConfig.neoreGeorgKey": "Connection Key",
"shellToolConfig.suo5Header": "AdvanceConfiguration -> Request Header",
"tips.agent-move-to-target": "Move MemShellAgent.jar and jattach to target host",
"tips.agent-move-to-target1": "Move MemShellAgent.jar to target host",
"tips.controllerUrlPattern": "ControllerHandler type requires a specific URL Pattern, e.g., /hello_controller",
"tips.customShellClass": "Custom shell class is required, base64 or classfile",
"tips.download-jattach": "Download the Jattach tool",
"tips.execute-command": "Execute the command to inject: /path/to/jattach pid load instrument false /path/to/agent.jar",
"tips.execute-command1": "Execute the command to inject: java -jar /path/to/agent.jar pid",
"tips.get-pid": "Get the process pid of the target jvm (use jps or ps)",
"tips.handlerUrlPattern": "HandlerMethod/HandlerFunction type requires a specific URL Pattern, e.g., /hello_handler",
"tips.serverVersion": "serverVersion is required for TongWeb Valve",
"tips.servletUrlPattern": "Servlet type requires a specific URL Pattern, e.g., /hello_servlet",
"tips.shellBytesEmpty": "Shell bytes is empty, please generate shell first",
"tips.shellToolNotSelected": "Please select a shell tool type first",
"tips.specificUrlPattern": "URL Pattern must be specified, e.g., /hello",
"tips.targetServerNotFound": "Target server not found?",
"tips.targetServerRequest": "Request",
"tips.try-to-use-shell": "Try to use the memory shell"
}
+59
View File
@@ -0,0 +1,59 @@
{
"basicInfo.classInfo": "内存马类信息",
"basicInfo.serverInfo": "目标服务信息",
"basicInfo.toolInfo": "内存马工具信息",
"buttons.generate": "生成内存马",
"injectorClass": "注入器",
"shellClass": "内存马",
"classNameOptions": "类名配置项",
"mainConfig.injectorClassName": "注入器类名",
"mainConfig.shellClassName": "内存马类名",
"mainConfig.shellMountType": "内存马挂载类型",
"mainConfig.shellTool": "内存马功能",
"quickUsage.step1": "选择目标服务",
"quickUsage.step2": "选择内存马功能,Godzilla、Behinder 或者其他",
"quickUsage.step3": "选择内存马挂载类型,Filter、Listener 或者其他",
"quickUsage.step4": "选择打包方式",
"quickUsage.step5": "点击生成内存马",
"shellNotWork.step1": "1. 尝试开启调试模式,重新生成并注入,查看控制台或日志",
"shellNotWork.step2": "2. 如果出现异常堆栈信息,或未见异常,请截图当前生成界面以及异常日志,并尽可能描述目标环境进行反馈",
"shellNotWork.title": "利用失败?",
"shellToolConfig.antSword.pass": "连接密码",
"shellToolConfig.behinder": "冰蝎",
"shellToolConfig.behinder.header": "自定义请求头",
"shellToolConfig.behinder.pass": "连接密码",
"shellToolConfig.behinderDefaultEncryptType": "默认",
"shellToolConfig.behinderEncryptType": "加密类型",
"shellToolConfig.behinderScriptType": "脚本类型",
"shellToolConfig.command": "命令回显",
"shellToolConfig.godzilla": "哥斯拉",
"shellToolConfig.godzilla.encryptor": "加密器",
"shellToolConfig.godzilla.header": "请求配置 -> 请求头",
"shellToolConfig.godzilla.key": "密钥",
"shellToolConfig.godzilla.pass": "密码",
"shellToolConfig.godzilla.payload": "有效载荷",
"shellToolConfig.httpHeader": "请求信息 -> HTTP HEADERS",
"shellToolConfig.neoreGeorgHeader": "自定义请求头",
"shellToolConfig.neoreGeorgKey": "连接密钥",
"shellToolConfig.suo5Header": "高级配置 -> 请求头",
"tips.agent-move-to-target": "将 MemShellAgent.jar 和 jattach 移到到目标服务磁盘上",
"tips.agent-move-to-target1": "将 MemShellAgent.jar 移到到目标服务磁盘上",
"tips.controllerUrlPattern": "ControllerHandler 类型的需要填写具体的 URL Pattern,例如 /hello_controller",
"tips.customShellClass": "请输入自定义内存马类,base64 或类文件",
"tips.download-jattach": "下载 Jattach 工具",
"tips.execute-command": "执行命令进行注入:/path/to/jattach pid load instrument false /path/to/agent.jar",
"tips.execute-command1": "执行命令进行注入:java -jar /path/to/agent.jar pid",
"tips.get-pid": "获取目标 jvm 的进程 pid(使用 jps 或 ps",
"tips.handlerUrlPattern": "HandlerMethod/HandlerFunction 类型的需要填写具体的 URL Pattern,例如 /hello_handler",
"tips.serverVersion": "TongWeb Valve 需要指定 serverVersion",
"tips.servletUrlPattern": "Servlet 类型的需要填写具体的 URL Pattern,例如 /hello_servlet",
"tips.shellBytesEmpty": "内存马字节码为空,无法下载,请先生成内存马",
"tips.shellToolNotSelected": "请先选择内存马工具类型",
"tips.specificUrlPattern": "必须指定 URL Pattern,例如 /hello",
"tips.targetServerNotFound": "找不到目标服务?",
"tips.targetServerRequest": "请求适配",
"tips.try-to-use-shell": "尝试利用内存马",
"shellNotWork": {
"title": "利用失败?"
}
}
+18
View File
@@ -0,0 +1,18 @@
{
"buttons.generate": "Generate Shell",
"dnslog.host": "DNSLog Host",
"probeContent": "ProbeContent",
"probeContent.bytecode": "Bytecode",
"probeContent.command": "Command",
"probeContent.jdk": "JDK",
"probeContent.server": "Server",
"probeMethod": "ProbeMethod",
"quickUsage.step1": "Select Probe Method, DNSLog, Response, etc.",
"quickUsage.step2": "Select Probe Content, JDK, Server, etc.",
"quickUsage.step3": "Click Generate Shell",
"shellClassName": "ShellClassName",
"sleepSeconds": "SleepTime (seconds)",
"sleepServer": "SleepServer",
"tips.dnslog.host.required": "DNSLog host required",
"tips.response.reqParamName.required": "ParamName required"
}
+18
View File
@@ -0,0 +1,18 @@
{
"buttons.generate": "生成探测马",
"dnslog.host": "DNSLog 地址",
"probeContent": "探测内容",
"probeContent.bytecode": "自定义字节码执行",
"probeContent.command": "命令执行",
"probeContent.jdk": "JDK 信息",
"probeContent.server": "服务类型",
"probeMethod": "探测方法",
"quickUsage.step1": "选择探测方法,DNSLog、Response 或者其他",
"quickUsage.step2": "选择探测内容,JDK、服务类型 或者其他",
"quickUsage.step3": "点击生成探测马",
"shellClassName": "探测马类名",
"sleepSeconds": "延迟时间(秒)",
"sleepServer": "探测服务",
"tips.dnslog.host.required": "DNSLog 地址必填",
"tips.response.reqParamName.required": "参数名称必填"
}
-10
View File
@@ -1,10 +0,0 @@
import en from "./en.json";
import zh from "./zh-CN.json";
export const resources = {
en: {
translation: en,
},
zh: {
translation: zh,
},
};
-121
View File
@@ -1,121 +0,0 @@
{
"basicInfo.classInfo": "内存马类信息",
"basicInfo.serverInfo": "目标服务信息",
"basicInfo.toolInfo": "内存马工具信息",
"buttons.generate": "生成内存马",
"cancel": "取消",
"configs.main-config": "核心配置",
"configs.package-config": "打包配置",
"copyLabelSuccess": "复制 {{label}} 成功",
"copySuccess": "复制成功",
"download": "下载",
"errors.generationFailed": "生成失败,{{error}}",
"feedback": "反馈",
"generateResult.basicInfo": "基本信息",
"generateResult.title1": "生成结果",
"generateResult.title2": "内存马类",
"generateResult.title3": "注入器类",
"generateResult.usage": "使用方法",
"loading": "加载中...",
"mainConfig.byPassJavaModule": "绕过 Java 模块限制",
"mainConfig.debug": "调试模式",
"mainConfig.injectorClassName": "注入器类名",
"mainConfig.jre": "目标 JRE 版本",
"mainConfig.server": "目标服务",
"mainConfig.serverVersion": "目标服务版本",
"mainConfig.shellClassName": "内存马类名",
"mainConfig.shellMountType": "内存马挂载类型",
"mainConfig.shellTool": "内存马功能",
"mainConfig.shrink": "缩小字节码",
"mainConfig.urlPattern": "请求路径",
"optional": "(可选)",
"packageConfig.packer.AgentJar": "AgentJar",
"packageConfig.packer.Aviator": "Aviator 表达式",
"packageConfig.packer.BCEL": "BCEL",
"packageConfig.packer.Base64": "Base64",
"packageConfig.packer.BeanShell": "BeanShell 表达式",
"packageConfig.packer.EL": "EL 表达式",
"packageConfig.packer.Freemarker": "Freemarker",
"packageConfig.packer.Groovy": "Groovy",
"packageConfig.packer.GzipBase64": "GzipBase64",
"packageConfig.packer.Hessian2Deserialize": "Hessian2 反序列化",
"packageConfig.packer.HessianDeserialize": "Hessian 反序列化",
"packageConfig.packer.JEXL": "JEXL 表达式",
"packageConfig.packer.JSP": "JSP",
"packageConfig.packer.JXPath": "JXPath 表达式",
"packageConfig.packer.Jar": "Jar",
"packageConfig.packer.JavaDeserialize": "Java 反序列化",
"packageConfig.packer.JinJava": "JinJava",
"packageConfig.packer.MVEL": "MVEL 表达式",
"packageConfig.packer.OGNL": "OGNL 表达式",
"packageConfig.packer.Rhino": "Rhino 脚本引擎",
"packageConfig.packer.ScriptEngine": "内置脚本引擎",
"packageConfig.packer.SpEL": "SpEL 表达式",
"packageConfig.packer.Velocity": "Velocity",
"packageConfig.packer.XxlJob": "XXL-JOB Executor",
"packageConfig.packer.AgentJarWithJDKAttacher": "AgentJarWithJDKAttacher",
"packageConfig.packer.AgentJarWithJREAttacher": "AgentJarWithJREAttacher",
"packageConfig.title": "打包方式",
"placeholders.input": "请输入",
"placeholders.select": "请选择",
"quickUsage.step1": "选择目标服务",
"quickUsage.step2": "选择内存马功能,Godzilla、Behinder 或者其他",
"quickUsage.step3": "选择内存马挂载类型,Filter、Listener 或者其他",
"quickUsage.step4": "选择打包方式",
"quickUsage.step5": "点击生成内存马",
"quickUsage.title": "快速使用",
"shellNotWork.step1": "1. 尝试开启调试模式,重新生成内存马并注入,查看控制台或日志",
"shellNotWork.step2": "2. 如果出现异常堆栈信息,或未见异常,请截图当前生成界面以及异常日志,并尽可能描述目标环境进行反馈",
"shellNotWork.title": "内存马利用失败?",
"shellToolConfig.antSwordPass": "连接密码",
"shellToolConfig.behinder": "冰蝎",
"shellToolConfig.behinderDefaultEncryptType": "默认",
"shellToolConfig.behinderEncryptType": "加密类型",
"shellToolConfig.behinderPass": "连接密码",
"shellToolConfig.behinderScriptType": "脚本类型",
"shellToolConfig.command": "命令回显",
"shellToolConfig.customHeader": "自定义请求头",
"shellToolConfig.godzilla": "哥斯拉",
"shellToolConfig.godzillaEncryptor": "加密器",
"shellToolConfig.godzillaHeader": "请求配置 -> 请求头",
"shellToolConfig.godzillaPayload": "有效载荷",
"shellToolConfig.headerName": "请求头键",
"shellToolConfig.headerValue": "请求头值",
"shellToolConfig.httpHeader": "请求信息 -> HTTP HEADERS",
"shellToolConfig.key": "密钥",
"shellToolConfig.neoreGeorgHeader": "自定义请求头",
"shellToolConfig.neoreGeorgKey": "连接密钥",
"shellToolConfig.paramName": "请求参数",
"shellToolConfig.pass": "密码",
"shellToolConfig.suo5Header": "高级配置 -> 请求头",
"shellToolConfig.base64String": "内存马类",
"shellToolConfig.encryptor": "加密器",
"shellToolConfig.implementationClass": "实现类",
"success.generated": "生成成功",
"tips.controllerUrlPattern": "ControllerHandler 类型的需要填写具体的 URL Pattern,例如 /hello_controller",
"tips.decompileTip": "反编译还在开发中,因此当前仅能看到 base64 编码格式",
"tips.download-jattach": "下载 Jattach 工具",
"tips.execute-command": "执行命令进行注入:/path/to/jattach pid load instrument false /path/to/agent.jar",
"tips.execute-command1": "执行命令进行注入:java -jar /path/to/agent.jar pid",
"tips.get-pid": "获取目标 jvm 的进程 pid(使用 jps 或 ps",
"tips.handlerUrlPattern": "HandlerMethod/HandlerFunction 类型的需要填写具体的 URL Pattern,例如 /hello_handler",
"tips.jreTip": "目标 JRE 版本,一般而言为了最大的兼容性,默认 Java 6 即可,Java 高版本能加载低版本的字节码。",
"tips.jreTip2": "特定情况下,例如 JDK8 才能使用 lambda 表达式,JDK9 以上存在模块限制时才需要选择特定的版本。",
"tips.agent-move-to-target": "将 MemShellAgent.jar 和 jattach 移到到目标服务磁盘上",
"tips.agent-move-to-target1": "将 MemShellAgent.jar 移到到目标服务磁盘上",
"tips.servletUrlPattern": "Servlet 类型的需要填写具体的 URL Pattern,例如 /hello_servlet",
"tips.shellBytesEmpty": "内存马字节码为空,无法下载,请先生成内存马",
"tips.shellToolNotSelected": "请先选择内存马工具类型",
"tips.targetServerNotFound": "找不到目标服务?",
"tips.targetServerRequest": "请求适配",
"tips.try-to-use-shell": "尝试利用内存马",
"tips.waitingForGeneration": "// 等待填写参数生成中...",
"tips.customShellClass": "请输入自定义内存马类,base64 或类文件",
"tips.specificUrlPattern": "必须指定 URL Pattern,例如 /hello",
"tips.serverVersion": "TongWeb Valve 需要指定 serverVersion",
"version.updateAvailable": "有可用升级",
"version.updateAvailableTooltip": "点击前往 GitHub Release ( v{{currentVersion}} -> v{{latestVersion}})",
"about": "关于",
"generator": "生成器",
"classNameOptions": "类名配置项"
}