{"record":{"id":"415b60883bbf72cf","repo":"huiyadanli/RevokeMsgPatcher","slug":"not-support","errorCode":"not_support","errorMessage":"不支持的文件：名称 {editor.FileName} 版本 {editor.FileVersion}！","messagePattern":"不支持的文件：名称 (.+?) 版本 (.+?)！","errorType":"error_code","errorClass":"BusinessException","httpStatus":null,"severity":"error","filePath":"RevokeMsgPatcher/Modifier/AppModifier.cs","lineNumber":369,"sourceCode":"                    if (editor.FileCommonModifyInfo != null && editor.FileCommonModifyInfo.ReplacePatterns != null)\n                    {\n                        List<ReplacePattern> replacePatterns = editor.FileCommonModifyInfo.ReplacePatterns;\n                        // 根据需要操作的功能类型（防撤回或者多开等）筛选特征码\n                        if (categories != null && categories.Count > 0)\n                        {\n                            replacePatterns = editor.FileCommonModifyInfo.ReplacePatterns.Where(info => categories.Contains(info.Category)).ToList();\n                        }\n\n                        // 如果能顺利得到 TargetChanges 不报错则可以使用特征替换方式\n                        editor.TargetChanges = ModifyFinder.FindChanges(editor.FilePath, replacePatterns);\n                        continue;\n                    }\n                    else\n                    {\n                        // SHA1不匹配，连版本也不匹配，说明完全不支持\n                        if (matchingVersion == null)\n                        {\n                            throw new BusinessException(\"not_support\", $\"不支持的文件：名称 {editor.FileName} 版本 {editor.FileVersion}！\");\n                        }\n\n                        // SHA1不匹配，但是版本匹配，可能dll已经被其他补丁程序修改过\n                        if (matchingVersion != null)\n                        {\n                            throw new BusinessException(\"maybe_modified\", $\"程序支持此文件版本： {editor.FileName} - {editor.FileVersion}。但是文件校验不通过，请确认是否使用过其他补丁程序！\");\n                        }\n                    }\n                }\n            }\n        }\n\n        /// <summary>\n        /// c.根据补丁信息，安装补丁\n        /// 两种打补丁的方式：精准（指定位置替换）、通用（特征码替换）\n        /// </summary>\n        /// <returns></returns>\n        public bool Patch()","sourceCodeStart":351,"sourceCodeEnd":387,"githubUrl":"https://github.com/huiyadanli/RevokeMsgPatcher/blob/89cbbb3f0cc896d5d092de0199a635c5c39944b6/RevokeMsgPatcher/Modifier/AppModifier.cs#L351-L387","documentation":"The file's SHA1 matched neither SHA1Before nor SHA1After, its version matched no ModifyInfo, and no CommonModifyInfo (feature/signature) applies for the file's version range. AppModifier throws BusinessException('not_support') with the file name and version.","triggerScenarios":"The target DLL is a version for which the patcher has no data at all: neither a precise SHA1 entry nor a signature-based entry in range.","commonSituations":"The app updated to an unsupported version; a wrong/unexpected file was targeted; patch.json is out of date.","solutions":["Update RevokeMsgPatcher to the latest release for newer patch data.","Check the supported version list; downgrade the target app to a supported version if needed.","Confirm the correct install path and that the expected DLL is being targeted."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":"static bool IsBusinessException(Exception e, string code) => e is BusinessException b && b.ErrorCode == code;\n\nstatic bool IsNotSupported(Exception e) => IsBusinessException(e, \"not_support\");","tryCatchPattern":"try\n{\n    modifier.ValidateAndFindModifyInfo(categories);\n}\ncatch (BusinessException ex) when (ex.ErrorCode == \"not_support\")\n{\n    MessageBox.Show($\"不支持的文件版本，请更新本程序或使用受支持的版本。\\n{ex.Message}\");\n}","preventionTips":["Update RevokeMsgPatcher to the latest release for new version coverage.","Check supported versions before patching; downgrade the target app if needed.","Filter by ErrorCode 'not_support' and prompt for an update rather than a silent failure."],"tags":["app-modifier","business-exception","unsupported-version"],"backgroundTag":null,"analyzedSha":"89cbbb3f0cc896d5d092de0199a635c5c39944b6","analyzedAt":"2026-08-13T10:37:37.073Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}