diff --git a/RevokeMsgPatcher.Assistant/JsonData.cs b/RevokeMsgPatcher.Assistant/JsonData.cs index b9fe1ce..fc7ea57 100644 --- a/RevokeMsgPatcher.Assistant/JsonData.cs +++ b/RevokeMsgPatcher.Assistant/JsonData.cs @@ -15,7 +15,7 @@ namespace RevokeMsgPatcher return new Bag { Apps = AppConfig(), - LatestVersion = "0.5", + LatestVersion = "0.6", Notice = "公告" }; } @@ -32,7 +32,8 @@ namespace RevokeMsgPatcher { { "Wechat" , Wechat() }, { "QQ" , QQ() }, - { "TIM" , TIM() } + { "TIM" , TIM() }, + { "QQLite" , QQLite() } }; } @@ -347,5 +348,73 @@ namespace RevokeMsgPatcher } }; } + + public App QQLite() + { + return new App + { + Name = "QQLite", + FileTargetInfos = new Dictionary + { + { + "IM.dll", + new TargetInfo + { + Name = "IM.dll", + RelativePath = @"Bin\IM.dll" + } + } + }, + FileModifyInfos = new Dictionary> + { + { + "IM.dll", + new List + { + new ModifyInfo + { + Name = "IM.dll", + Version = "7.9.14314.0", + SHA1Before = "2e97d7671963fa148a1beeda6ce4964314310593", + SHA1After = "723c008fb53435ead20fa6f2e951c9a4a8ff46da", + Changes = new List + { + new Change + { + Position = 0x00024505, + Content = new byte[] { 0xEB, 0x02, 0x90, 0x90 } + }, + new Change + { + Position = 0x000248B9, + Content = new byte[] { 0xEB, 0x02, 0x90, 0x90 } + } + } + }, + new ModifyInfo + { + Name = "IM.dll", + Version = "7.9.14308.0", + SHA1Before = "b8a7a873178706b97be11c25f13bcf09e9e578a2", + SHA1After = "c5bf533c7af6996b42d1fb2a0fb3f26dfd52f8bf", + Changes = new List + { + new Change + { + Position = 0x00024505, + Content = new byte[] { 0xEB, 0x02, 0x90, 0x90 } + }, + new Change + { + Position = 0x000248B9, + Content = new byte[] { 0xEB, 0x02, 0x90, 0x90 } + } + } + } + } + } + } + }; + } } } diff --git a/RevokeMsgPatcher/FormMain.Designer.cs b/RevokeMsgPatcher/FormMain.Designer.cs index f200c0b..99c35d8 100644 --- a/RevokeMsgPatcher/FormMain.Designer.cs +++ b/RevokeMsgPatcher/FormMain.Designer.cs @@ -44,6 +44,7 @@ this.rbtTIM = new System.Windows.Forms.RadioButton(); this.label5 = new System.Windows.Forms.Label(); this.panelMask = new System.Windows.Forms.Panel(); + this.rbtQQLite = new System.Windows.Forms.RadioButton(); this.SuspendLayout(); // // lblPathTag @@ -136,9 +137,8 @@ this.lblVersion.AutoSize = true; this.lblVersion.Location = new System.Drawing.Point(83, 61); this.lblVersion.Name = "lblVersion"; - this.lblVersion.Size = new System.Drawing.Size(35, 12); + this.lblVersion.Size = new System.Drawing.Size(0, 12); this.lblVersion.TabIndex = 10; - this.lblVersion.Text = "0.0.1"; // // lblVersionTag // @@ -201,11 +201,22 @@ this.panelMask.TabIndex = 17; this.panelMask.Visible = false; // + // rbtQQLite + // + this.rbtQQLite.AutoSize = true; + this.rbtQQLite.Location = new System.Drawing.Point(235, 7); + this.rbtQQLite.Name = "rbtQQLite"; + this.rbtQQLite.Size = new System.Drawing.Size(71, 16); + this.rbtQQLite.TabIndex = 18; + this.rbtQQLite.Text = "QQ轻聊版"; + this.rbtQQLite.UseVisualStyleBackColor = true; + // // FormMain // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(490, 110); + this.Controls.Add(this.rbtQQLite); this.Controls.Add(this.lblUpdatePachJson); this.Controls.Add(this.panelMask); this.Controls.Add(this.lblVersion); @@ -248,6 +259,7 @@ private System.Windows.Forms.RadioButton rbtTIM; private System.Windows.Forms.Label label5; private System.Windows.Forms.Panel panelMask; + private System.Windows.Forms.RadioButton rbtQQLite; } } diff --git a/RevokeMsgPatcher/FormMain.cs b/RevokeMsgPatcher/FormMain.cs index 41931e4..6bb0004 100644 --- a/RevokeMsgPatcher/FormMain.cs +++ b/RevokeMsgPatcher/FormMain.cs @@ -19,6 +19,7 @@ namespace RevokeMsgPatcher private WechatModifier wechatModifier = null; private QQModifier qqModifier = null; private TIMModifier timModifier = null; + private QQLiteModifier qqLiteModifier = null; private string thisVersion; private bool needUpdate = false; @@ -35,10 +36,12 @@ namespace RevokeMsgPatcher wechatModifier = new WechatModifier(bag.Apps["Wechat"]); qqModifier = new QQModifier(bag.Apps["QQ"]); timModifier = new TIMModifier(bag.Apps["TIM"]); + qqLiteModifier = new QQLiteModifier(bag.Apps["QQLite"]); rbtWechat.Tag = wechatModifier; rbtQQ.Tag = qqModifier; rbtTIM.Tag = timModifier; + rbtQQLite.Tag = qqLiteModifier; // 默认微信 rbtWechat.Enabled = true; @@ -68,11 +71,12 @@ namespace RevokeMsgPatcher { // 自动获取应用安装路径 txtPath.Text = modifier.FindInstallPath(); - lblVersion.Text = modifier.GetVersion(); + btnRestore.Enabled = false; // 显示是否能够备份还原 if (!string.IsNullOrEmpty(txtPath.Text)) { modifier.InitEditors(txtPath.Text); + lblVersion.Text = modifier.GetVersion(); btnRestore.Enabled = modifier.BackupExists(); } } @@ -169,6 +173,14 @@ namespace RevokeMsgPatcher else { txtPath.Text = dialog.SelectedPath; + btnRestore.Enabled = false; + // 显示是否能够备份还原 + if (!string.IsNullOrEmpty(txtPath.Text)) + { + modifier.InitEditors(txtPath.Text); + lblVersion.Text = modifier.GetVersion(); + btnRestore.Enabled = modifier.BackupExists(); + } } } } @@ -214,6 +226,7 @@ namespace RevokeMsgPatcher wechatModifier.Config = bag.Apps["Wechat"]; qqModifier.Config = bag.Apps["QQ"]; timModifier.Config = bag.Apps["TIM"]; + qqLiteModifier.Config = bag.Apps["QQLite"]; if (Convert.ToDecimal(bag.LatestVersion) > Convert.ToDecimal(thisVersion)) { @@ -266,6 +279,7 @@ namespace RevokeMsgPatcher tips += "支持以下版本" + Environment.NewLine; tips += " ➯ 微信:" + wechatModifier.Config.GetSupportVersionStr() + Environment.NewLine; tips += " ➯ QQ:" + qqModifier.Config.GetSupportVersionStr() + Environment.NewLine; + tips += " ➯ QQ轻聊版:" + qqLiteModifier.Config.GetSupportVersionStr() + Environment.NewLine; tips += " ➯ TIM:" + timModifier.Config.GetSupportVersionStr() + Environment.NewLine; DialogResult dr = MessageBox.Show(tips, "当前支持防撤回的版本", MessageBoxButtons.OKCancel); @@ -292,14 +306,20 @@ namespace RevokeMsgPatcher { modifier = (TIMModifier)rbtTIM.Tag; } + else if (rbtQQLite.Checked) + { + modifier = (QQLiteModifier)rbtQQLite.Tag; + } txtPath.Text = modifier.FindInstallPath(); - lblVersion.Text = modifier.GetVersion(); ga.RequestPageView($"{GetCheckedRadioButtonNameEn()}/{lblVersion.Text}/switch", "切换标签页"); EnableAllButton(true); + lblVersion.Text = ""; + btnRestore.Enabled = false; // 显示是否能够备份还原 if (!string.IsNullOrEmpty(txtPath.Text)) { modifier.InitEditors(txtPath.Text); + lblVersion.Text = modifier.GetVersion(); btnRestore.Enabled = modifier.BackupExists(); } } @@ -318,6 +338,10 @@ namespace RevokeMsgPatcher { return "tim"; } + else if (rbtQQLite.Checked) + { + return "qqlite"; + } return "none"; } diff --git a/RevokeMsgPatcher/Modifier/QQLiteModifier.cs b/RevokeMsgPatcher/Modifier/QQLiteModifier.cs new file mode 100644 index 0000000..45af711 --- /dev/null +++ b/RevokeMsgPatcher/Modifier/QQLiteModifier.cs @@ -0,0 +1,56 @@ +using RevokeMsgPatcher.Model; +using RevokeMsgPatcher.Utils; + +namespace RevokeMsgPatcher.Modifier +{ + class QQLiteModifier : AppModifier + { + public QQLiteModifier(App config) + { + this.config = config; + } + + /// + /// 自动寻找获取微信安装路径 + /// + /// + public override string FindInstallPath() + { + string installPath = PathUtil.FindInstallPathFromRegistry("QQLite"); + if (!IsAllFilesExist(installPath)) + { + foreach (string defaultPath in PathUtil.GetDefaultInstallPaths(@"Tencent\QQLite")) + { + if (IsAllFilesExist(defaultPath)) + { + return defaultPath; + } + } + } + else + { + return installPath; + } + return null; + } + + /// + /// 获取整个APP的当前版本 + /// + /// + public override string GetVersion() + { + if (editors != null && editors.Count > 0) + { + foreach (FileHexEditor editor in editors) + { + if (editor.FileName == "IM.dll") + { + return editor.FileVersion; + } + } + } + return ""; + } + } +} diff --git a/RevokeMsgPatcher/Modifier/QQModifier.cs b/RevokeMsgPatcher/Modifier/QQModifier.cs index fccf67c..e52dde8 100644 --- a/RevokeMsgPatcher/Modifier/QQModifier.cs +++ b/RevokeMsgPatcher/Modifier/QQModifier.cs @@ -16,7 +16,7 @@ namespace RevokeMsgPatcher.Modifier /// public override string FindInstallPath() { - string installPath = PathUtil.FindInstallPathFromRegistry("{052CFB79-9D62-42E3-8A15-DE66C2C97C3E} "); + string installPath = PathUtil.FindInstallPathFromRegistry("{052CFB79-9D62-42E3-8A15-DE66C2C97C3E}"); if (!IsAllFilesExist(installPath)) { foreach (string defaultPath in PathUtil.GetDefaultInstallPaths(@"Tencent\QQ")) diff --git a/RevokeMsgPatcher/Properties/Resources.resx b/RevokeMsgPatcher/Properties/Resources.resx index 53a7762..2275e3e 100644 --- a/RevokeMsgPatcher/Properties/Resources.resx +++ b/RevokeMsgPatcher/Properties/Resources.resx @@ -118,6 +118,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - {"Apps":{"Wechat":{"Name":"Wechat","FileTargetInfos":{"WeChatWin.dll":{"Name":"WeChatWin.dll","RelativePath":"WeChatWin.dll","Memo":null}},"FileModifyInfos":{"WeChatWin.dll":[{"Name":"WeChatWin.dll","Version":"2.7.1.85","SHA1Before":"de0df4e138b72460450f66c029e33f4510f5e2df","SHA1After":"fbd35720aaff3cdcfd3ff18ea503dc06450e5c99","Changes":[{"Position":2499465,"Content":[235]},{"Position":7952000,"Content":[195]}]},{"Name":"WeChatWin.dll","Version":"2.7.1.82","SHA1Before":"20e111a18872bf6c7148a897c11da26c1ec95520","SHA1After":"1e0741d325ca6b1cd2402b829a3d13a2524af617","Changes":[{"Position":2499465,"Content":[235]},{"Position":7951952,"Content":[195]}]},{"Name":"WeChatWin.dll","Version":"2.7.1.74","SHA1Before":"b1eaf7edc074a88be5d0f89230436cc2084d24d2","SHA1After":"eb3d74ccd87a09059a005f4972861898fc3de463","Changes":[{"Position":2499465,"Content":[235]},{"Position":7951696,"Content":[195]}]},{"Name":"WeChatWin.dll","Version":"2.7.1.65","SHA1Before":"8346b97d264725da924d240c6eb77df3e693385e","SHA1After":"42bab2c9c79ef4f2088c00ea6d817973e14a5e6e","Changes":[{"Position":2495545,"Content":[235]}]},{"Name":"WeChatWin.dll","Version":"2.7.1.59","SHA1Before":"df954d403edaca89cd5394927a325a0023e93281","SHA1After":"6aa22460c91bb5c5e2f0ec1af99b8a5f6d4318c0","Changes":[{"Position":2496073,"Content":[235]}]},{"Name":"WeChatWin.dll","Version":"2.7.1.43","SHA1Before":"39cd9e09e1a3eac09e6808749bff525c9e3216ce","SHA1After":"7b829f1ff0217e346a80f9510fdd7634ddd49445","Changes":[{"Position":2494169,"Content":[235]}]},{"Name":"WeChatWin.dll","Version":"2.7.0.70","SHA1Before":"3b0601864aff3c1d792f812ad1ca05f02aa761e3","SHA1After":"1e8734d32b0a8c12758e30f99c77f729991fb071","Changes":[{"Position":2475657,"Content":[235]}]},{"Name":"WeChatWin.dll","Version":"2.7.0.65","SHA1Before":"063c2e05a0df1bdb8987c2d978d93499bd2052ba","SHA1After":"5ed4c09a4f18643b967f063a824d7e65d0567f8a","Changes":[{"Position":2475449,"Content":[117]}]},{"Name":"WeChatWin.dll","Version":"2.6.8.68","SHA1Before":"2e9417f4276b12fe32ca7b4fee49272a4a2af334","SHA1After":"699602ee3cbb9ae5714f6e6ebc658c875a6c66e6","Changes":[{"Position":2454006,"Content":[116]}]},{"Name":"WeChatWin.dll","Version":"2.6.8.65","SHA1Before":"e01f6855a96c12c30808960903ed199a33e4952c","SHA1After":"d9120569cfd0433aebea107d7b90805cbbac7518","Changes":[{"Position":2454265,"Content":[117]}]},{"Name":"WeChatWin.dll","Version":"2.6.8.52","SHA1Before":"88131302f664df6a657c9ca49d152da536fe5729","SHA1After":"8d1454b73831644181e962c1fa0ea4e2da4124a3","Changes":[{"Position":2453049,"Content":[117]}]},{"Name":"WeChatWin.dll","Version":"2.6.8.51","SHA1Before":"d0a5517b1292a751501b00b4b1f0702db2d9fc30","SHA1After":"53e7b1525d49bf2c3250a8131ff0ba2510779b78","Changes":[{"Position":2452614,"Content":[116]}]},{"Name":"WeChatWin.dll","Version":"2.6.8.37","SHA1Before":"7e01f8b04a158a4a50bc5a6e67c2fb8b02233170","SHA1After":"a1895004415fe9bcd7e690bd6e482b833b515599","Changes":[{"Position":2452614,"Content":[116]}]},{"Name":"WeChatWin.dll","Version":"2.6.7.57","SHA1Before":"80a91aaf941bcb1c24a7d672838ac73e9ebb2e40","SHA1After":"a0d3f9a45a835f97aef7fe0872387d8cfb5c25a4","Changes":[{"Position":2433413,"Content":[116]}]},{"Name":"WeChatWin.dll","Version":"2.6.7.40","SHA1Before":"04bd0cb28df6630b518f42a3f9c2caa4a9359fbc","SHA1After":"13c91cf1d4609959771fd137b9a86a5ca365e1b6","Changes":[{"Position":2432934,"Content":[116]}]},{"Name":"WeChatWin.dll","Version":"2.6.7.32","SHA1Before":"a02519c1007ee6723947c262c720d63c619f633e","SHA1After":"f3007471ca8734c29783c25f0bb49949a783a44","Changes":[{"Position":2432806,"Content":[116]}]},{"Name":"WeChatWin.dll","Version":"2.6.6.28","SHA1Before":"0b19cb17a62c3ea0efce0fb675a1d3b17845cba3","SHA1After":"260948656725446b818ea668273ceff02ddfb44d","Changes":[{"Position":2401678,"Content":[116]}]}]}},"QQ":{"Name":"QQ","FileTargetInfos":{"IM.dll":{"Name":"IM.dll","RelativePath":"Bin\\IM.dll","Memo":null}},"FileModifyInfos":{"IM.dll":[{"Name":"IM.dll","Version":"9.2.0.26389","SHA1Before":"6f8855fb80acfa456f8f69989fe949308fe4d154","SHA1After":"f6b8e05a178b9b10ba17c597fa0a44b7a2a966a8","Changes":[{"Position":356808,"Content":[235,9,144,144,144]},{"Position":357349,"Content":[235,9,144,144,144]},{"Position":357781,"Content":[235,8,144,144,144,144]}]},{"Name":"IM.dll","Version":"9.1.9.26361","SHA1Before":"022d3433d13d07a354c38816f61cb0b7ac60d3fd","SHA1After":"873a57c1fb51cdd099c8cb7108b5ab5cb4459557","Changes":[{"Position":354270,"Content":[235,9,144,144,144]},{"Position":354811,"Content":[235,9,144,144,144]},{"Position":355243,"Content":[235,8,144,144,144,144]}]},{"Name":"IM.dll","Version":"9.1.9.26346","SHA1Before":"895eb70f707b8222e6460c91492b1281e525059b","SHA1After":"0bb83990e2b5b5f23b7b43249941ff638201af54","Changes":[{"Position":354270,"Content":[235,9,144,144,144]},{"Position":354811,"Content":[235,9,144,144,144]},{"Position":355243,"Content":[235,8,144,144,144,144]}]},{"Name":"IM.dll","Version":"9.1.8.26211","SHA1Before":"a950d3cf5e8925f7775624271105ef78d9c5cb57","SHA1After":"dffc1cb87b91e6467e13c935611f2f7fd76b9a8d","Changes":[{"Position":337135,"Content":[235,9,144,144,144]},{"Position":337676,"Content":[235,9,144,144,144]},{"Position":338108,"Content":[235,8,144,144,144,144]}]},{"Name":"IM.dll","Version":"9.1.7.25980","SHA1Before":"c6632339fbe675312a70ae4620e70699c258cd36","SHA1After":"e9ddc5cc681950796fc8fe4c55f580428c890b51","Changes":[{"Position":327839,"Content":[235,9,144,144,144]},{"Position":328380,"Content":[235,9,144,144,144]},{"Position":328812,"Content":[235,8,144,144,144,144]}]}]}},"TIM":{"Name":"TIM","FileTargetInfos":{"IM.dll":{"Name":"IM.dll","RelativePath":"Bin\\IM.dll","Memo":null}},"FileModifyInfos":{"IM.dll":[{"Name":"IM.dll","Version":"2.3.2.21173","SHA1Before":"ecf3e69f3fb100ffe2fee095ffded591b9781024","SHA1After":"0514d1304e7ac46b4d33386ec3313888f5ae7171","Changes":[{"Position":317322,"Content":[235,9,144,144,144]},{"Position":317863,"Content":[235,9,144,144,144]},{"Position":318295,"Content":[235,8,144,144,144,144]}]}]}}},"LatestVersion":"0.5","Notice":"公告"} + {"Apps":{"Wechat":{"Name":"Wechat","FileTargetInfos":{"WeChatWin.dll":{"Name":"WeChatWin.dll","RelativePath":"WeChatWin.dll","Memo":null}},"FileModifyInfos":{"WeChatWin.dll":[{"Name":"WeChatWin.dll","Version":"2.7.1.85","SHA1Before":"de0df4e138b72460450f66c029e33f4510f5e2df","SHA1After":"fbd35720aaff3cdcfd3ff18ea503dc06450e5c99","Changes":[{"Position":2499465,"Content":[235]},{"Position":7952000,"Content":[195]}]},{"Name":"WeChatWin.dll","Version":"2.7.1.82","SHA1Before":"20e111a18872bf6c7148a897c11da26c1ec95520","SHA1After":"1e0741d325ca6b1cd2402b829a3d13a2524af617","Changes":[{"Position":2499465,"Content":[235]},{"Position":7951952,"Content":[195]}]},{"Name":"WeChatWin.dll","Version":"2.7.1.74","SHA1Before":"b1eaf7edc074a88be5d0f89230436cc2084d24d2","SHA1After":"eb3d74ccd87a09059a005f4972861898fc3de463","Changes":[{"Position":2499465,"Content":[235]},{"Position":7951696,"Content":[195]}]},{"Name":"WeChatWin.dll","Version":"2.7.1.65","SHA1Before":"8346b97d264725da924d240c6eb77df3e693385e","SHA1After":"42bab2c9c79ef4f2088c00ea6d817973e14a5e6e","Changes":[{"Position":2495545,"Content":[235]}]},{"Name":"WeChatWin.dll","Version":"2.7.1.59","SHA1Before":"df954d403edaca89cd5394927a325a0023e93281","SHA1After":"6aa22460c91bb5c5e2f0ec1af99b8a5f6d4318c0","Changes":[{"Position":2496073,"Content":[235]}]},{"Name":"WeChatWin.dll","Version":"2.7.1.43","SHA1Before":"39cd9e09e1a3eac09e6808749bff525c9e3216ce","SHA1After":"7b829f1ff0217e346a80f9510fdd7634ddd49445","Changes":[{"Position":2494169,"Content":[235]}]},{"Name":"WeChatWin.dll","Version":"2.7.0.70","SHA1Before":"3b0601864aff3c1d792f812ad1ca05f02aa761e3","SHA1After":"1e8734d32b0a8c12758e30f99c77f729991fb071","Changes":[{"Position":2475657,"Content":[235]}]},{"Name":"WeChatWin.dll","Version":"2.7.0.65","SHA1Before":"063c2e05a0df1bdb8987c2d978d93499bd2052ba","SHA1After":"5ed4c09a4f18643b967f063a824d7e65d0567f8a","Changes":[{"Position":2475449,"Content":[117]}]},{"Name":"WeChatWin.dll","Version":"2.6.8.68","SHA1Before":"2e9417f4276b12fe32ca7b4fee49272a4a2af334","SHA1After":"699602ee3cbb9ae5714f6e6ebc658c875a6c66e6","Changes":[{"Position":2454006,"Content":[116]}]},{"Name":"WeChatWin.dll","Version":"2.6.8.65","SHA1Before":"e01f6855a96c12c30808960903ed199a33e4952c","SHA1After":"d9120569cfd0433aebea107d7b90805cbbac7518","Changes":[{"Position":2454265,"Content":[117]}]},{"Name":"WeChatWin.dll","Version":"2.6.8.52","SHA1Before":"88131302f664df6a657c9ca49d152da536fe5729","SHA1After":"8d1454b73831644181e962c1fa0ea4e2da4124a3","Changes":[{"Position":2453049,"Content":[117]}]},{"Name":"WeChatWin.dll","Version":"2.6.8.51","SHA1Before":"d0a5517b1292a751501b00b4b1f0702db2d9fc30","SHA1After":"53e7b1525d49bf2c3250a8131ff0ba2510779b78","Changes":[{"Position":2452614,"Content":[116]}]},{"Name":"WeChatWin.dll","Version":"2.6.8.37","SHA1Before":"7e01f8b04a158a4a50bc5a6e67c2fb8b02233170","SHA1After":"a1895004415fe9bcd7e690bd6e482b833b515599","Changes":[{"Position":2452614,"Content":[116]}]},{"Name":"WeChatWin.dll","Version":"2.6.7.57","SHA1Before":"80a91aaf941bcb1c24a7d672838ac73e9ebb2e40","SHA1After":"a0d3f9a45a835f97aef7fe0872387d8cfb5c25a4","Changes":[{"Position":2433413,"Content":[116]}]},{"Name":"WeChatWin.dll","Version":"2.6.7.40","SHA1Before":"04bd0cb28df6630b518f42a3f9c2caa4a9359fbc","SHA1After":"13c91cf1d4609959771fd137b9a86a5ca365e1b6","Changes":[{"Position":2432934,"Content":[116]}]},{"Name":"WeChatWin.dll","Version":"2.6.7.32","SHA1Before":"a02519c1007ee6723947c262c720d63c619f633e","SHA1After":"f3007471ca8734c29783c25f0bb49949a783a44","Changes":[{"Position":2432806,"Content":[116]}]},{"Name":"WeChatWin.dll","Version":"2.6.6.28","SHA1Before":"0b19cb17a62c3ea0efce0fb675a1d3b17845cba3","SHA1After":"260948656725446b818ea668273ceff02ddfb44d","Changes":[{"Position":2401678,"Content":[116]}]}]}},"QQ":{"Name":"QQ","FileTargetInfos":{"IM.dll":{"Name":"IM.dll","RelativePath":"Bin\\IM.dll","Memo":null}},"FileModifyInfos":{"IM.dll":[{"Name":"IM.dll","Version":"9.2.0.26389","SHA1Before":"6f8855fb80acfa456f8f69989fe949308fe4d154","SHA1After":"f6b8e05a178b9b10ba17c597fa0a44b7a2a966a8","Changes":[{"Position":356808,"Content":[235,9,144,144,144]},{"Position":357349,"Content":[235,9,144,144,144]},{"Position":357781,"Content":[235,8,144,144,144,144]}]},{"Name":"IM.dll","Version":"9.1.9.26361","SHA1Before":"022d3433d13d07a354c38816f61cb0b7ac60d3fd","SHA1After":"873a57c1fb51cdd099c8cb7108b5ab5cb4459557","Changes":[{"Position":354270,"Content":[235,9,144,144,144]},{"Position":354811,"Content":[235,9,144,144,144]},{"Position":355243,"Content":[235,8,144,144,144,144]}]},{"Name":"IM.dll","Version":"9.1.9.26346","SHA1Before":"895eb70f707b8222e6460c91492b1281e525059b","SHA1After":"0bb83990e2b5b5f23b7b43249941ff638201af54","Changes":[{"Position":354270,"Content":[235,9,144,144,144]},{"Position":354811,"Content":[235,9,144,144,144]},{"Position":355243,"Content":[235,8,144,144,144,144]}]},{"Name":"IM.dll","Version":"9.1.8.26211","SHA1Before":"a950d3cf5e8925f7775624271105ef78d9c5cb57","SHA1After":"dffc1cb87b91e6467e13c935611f2f7fd76b9a8d","Changes":[{"Position":337135,"Content":[235,9,144,144,144]},{"Position":337676,"Content":[235,9,144,144,144]},{"Position":338108,"Content":[235,8,144,144,144,144]}]},{"Name":"IM.dll","Version":"9.1.7.25980","SHA1Before":"c6632339fbe675312a70ae4620e70699c258cd36","SHA1After":"e9ddc5cc681950796fc8fe4c55f580428c890b51","Changes":[{"Position":327839,"Content":[235,9,144,144,144]},{"Position":328380,"Content":[235,9,144,144,144]},{"Position":328812,"Content":[235,8,144,144,144,144]}]}]}},"TIM":{"Name":"TIM","FileTargetInfos":{"IM.dll":{"Name":"IM.dll","RelativePath":"Bin\\IM.dll","Memo":null}},"FileModifyInfos":{"IM.dll":[{"Name":"IM.dll","Version":"2.3.2.21173","SHA1Before":"ecf3e69f3fb100ffe2fee095ffded591b9781024","SHA1After":"0514d1304e7ac46b4d33386ec3313888f5ae7171","Changes":[{"Position":317322,"Content":[235,9,144,144,144]},{"Position":317863,"Content":[235,9,144,144,144]},{"Position":318295,"Content":[235,8,144,144,144,144]}]}]}},"QQLite":{"Name":"QQLite","FileTargetInfos":{"IM.dll":{"Name":"IM.dll","RelativePath":"Bin\\IM.dll","Memo":null}},"FileModifyInfos":{"IM.dll":[{"Name":"IM.dll","Version":"7.9.14314.0","SHA1Before":"2e97d7671963fa148a1beeda6ce4964314310593","SHA1After":"723c008fb53435ead20fa6f2e951c9a4a8ff46da","Changes":[{"Position":148741,"Content":[235,2,144,144]},{"Position":149689,"Content":[235,2,144,144]}]},{"Name":"IM.dll","Version":"7.9.14308.0","SHA1Before":"b8a7a873178706b97be11c25f13bcf09e9e578a2","SHA1After":"c5bf533c7af6996b42d1fb2a0fb3f26dfd52f8bf","Changes":[{"Position":148741,"Content":[235,2,144,144]},{"Position":149689,"Content":[235,2,144,144]}]}]}}},"LatestVersion":"0.6","Notice":"公告"} \ No newline at end of file diff --git a/RevokeMsgPatcher/RevokeMsgPatcher.csproj b/RevokeMsgPatcher/RevokeMsgPatcher.csproj index 7e2e330..561f33e 100644 --- a/RevokeMsgPatcher/RevokeMsgPatcher.csproj +++ b/RevokeMsgPatcher/RevokeMsgPatcher.csproj @@ -64,6 +64,7 @@ +