mirror of
https://github.com/ReaJason/MemShellParty.git
synced 2026-09-23 15:31:53 +08:00
feat: support fumadocs
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"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",
|
||||
"staticInitialize": "StaticInitialize",
|
||||
"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}})",
|
||||
"shellTool": "Shell Tool"
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"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": "缩小字节码",
|
||||
"staticInitialize": "静态初始化",
|
||||
"toast.generateError": "生成失败,{{error}}",
|
||||
"toast.generateSuccess": "生成成功",
|
||||
"urlPattern": "请求路径",
|
||||
"usage": "使用指南",
|
||||
"version.updateAvailable": "有可用升级",
|
||||
"version.updateAvailableTooltip": "点击前往 GitHub Release ( v{{currentVersion}} -> v{{latestVersion}})",
|
||||
"shellTool": "内存马工具"
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
import i18n from "i18next";
|
||||
import { initReactI18next } from "react-i18next";
|
||||
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 = () => {
|
||||
if (typeof window === "undefined") {
|
||||
return "zh-CN";
|
||||
}
|
||||
const storedLang = localStorage.getItem("i18nextLng");
|
||||
if (storedLang && ["en", "zh-CN"].includes(storedLang)) {
|
||||
return storedLang;
|
||||
}
|
||||
const browserLang = navigator.language.split("-")[0];
|
||||
return ["en", "zh-CN"].includes(browserLang) ? browserLang : "zh-CN";
|
||||
};
|
||||
|
||||
const fallbackLng = "zh-CN";
|
||||
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,
|
||||
interpolation: {
|
||||
escapeValue: false,
|
||||
},
|
||||
});
|
||||
|
||||
i18n.on("languageChanged", (lng) => {
|
||||
if (typeof window !== "undefined") {
|
||||
localStorage.setItem("i18nextLng", lng);
|
||||
}
|
||||
});
|
||||
|
||||
export default i18n;
|
||||
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"basicInfo.classInfo": "ShellClass",
|
||||
"basicInfo.serverInfo": "TargetServer",
|
||||
"basicInfo.toolInfo": "ShellTool",
|
||||
"buttons.generate": "Generate Shell",
|
||||
"classNameOptions": "ClassNameOptions",
|
||||
"injectorClass": "InjectorClass",
|
||||
"mainConfig.injectorClassName": "Injector ClassName",
|
||||
"mainConfig.randomClassName": "Random Class Name",
|
||||
"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.classNameParseFailed": "Failed to parse class name, please verify the Base64 data",
|
||||
"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",
|
||||
"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",
|
||||
"tips.download-jar": "Download the jar file and upload it to the public network server, so that it can be accessed through the http link to download",
|
||||
"tips.load-jar-with-scriptenginemanager": "Load the jar file with javax.script.ScriptEngineManager to implement injection",
|
||||
"tips.trigger-injector-class-loading": "Trigger the injector class loading with RCE vulnerability"
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"basicInfo.classInfo": "内存马类信息",
|
||||
"basicInfo.serverInfo": "目标服务信息",
|
||||
"basicInfo.toolInfo": "内存马工具信息",
|
||||
"buttons.generate": "生成内存马",
|
||||
"injectorClass": "注入器",
|
||||
"shellClass": "内存马",
|
||||
"classNameOptions": "类名配置项",
|
||||
"mainConfig.injectorClassName": "注入器类名",
|
||||
"mainConfig.randomClassName": "随机类名",
|
||||
"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.classNameParseFailed": "无法解析类名,请检查 Base64 内容",
|
||||
"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": "当前挂载类型必须指定 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": "尝试利用内存马",
|
||||
"tips.download-jar": "下载 jar 包并上传至公网服务器,使其能通过 http 链接访问下载",
|
||||
"tips.load-jar-with-scriptenginemanager": "通过 RCE 漏洞使用 javax.script.ScriptEngineManager 加载 jar 包实现注入",
|
||||
"tips.trigger-injector-class-loading": "通过 RCE 漏洞触发注入器类加载"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"buttons.generate": "Generate Shell",
|
||||
"dnslog.host": "DNSLog Host",
|
||||
"probeContent": "ProbeContent",
|
||||
"probeContent.bytecode": "Bytecode",
|
||||
"probeContent.script": "ScriptEngine",
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"buttons.generate": "生成探测马",
|
||||
"dnslog.host": "DNSLog 地址",
|
||||
"probeContent": "探测内容",
|
||||
"probeContent.bytecode": "字节码执行",
|
||||
"probeContent.script": "脚本引擎执行",
|
||||
"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": "参数名称必填"
|
||||
}
|
||||
Reference in New Issue
Block a user