吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1078|回复: 0
收起左侧

[讨论] C#中闭包陷阱怎么还原。

[复制链接]
秋名山 发表于 2022-5-5 11:05
[C#] 纯文本查看 复制代码
using System.Media;
using System.Net;
using System.Net.Security;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading;
using System.Timers;
using System.Web.Script.Serialization;
using System.Windows.Forms;
using Microsoft.Win32;

// Token: 0x02000059 RID: 89
internal partial class FormMain : Form
{
	// Token: 0x06000312 RID: 786 RVA: 0x00040028 File Offset: 0x0003E228
	private void method_113()
	{
		int num = 0;
		int num2 = 0;
		bool flag = false;
		for (;;)
		{
			Thread.Sleep((num2 <= 0) ? (360000 * (Class11.class13_0.bool_0 ? 10 : 1)) : 60000);
			try
			{
				FormMain.<>c__DisplayClass237_0 CS$<>8__locals1 = new FormMain.<>c__DisplayClass237_0();
				CS$<>8__locals1.formMain_0 = this;
				string value = Class11.class13_0.string_0;
				DateTime dateTime;
				bool flag3;
				bool flag4;
				bool flag2 = Class11.smethod_70().Method_O0I1L8O0(Class11.class13_0.string_0, out value, Class11.class13_0.string_1, Class11.class13_0.dateTime_0, out dateTime, out flag3, Class8.smethod_0(), out CS$<>8__locals1.string_0, out flag4);
				if (!Class11.class13_0.string_0.Equals(value))
				{
					flag2 = false;
					CS$<>8__locals1.string_0 = "非法授权!";
				}
				if (flag4)
				{
					num = 0;
					Class11.class13_0.dateTime_0 = dateTime;
					Class11.class13_0.bool_0 = flag3 || dateTime < DateTime.Now;
					if (flag3)
					{
						Class11.class13_0.int_0 = 0;
					}
				}
				if (!flag2)
				{
					Class11.class13_0.bool_2 = false;
					Class11.class13_0.string_2 = CS$<>8__locals1.string_0;
					base.Invoke(new Action(CS$<>8__locals1.method_0));
				}
				num2 = 0;
				goto IL_217;
			}
			catch (Exception)
			{
				if (!Class11.smethod_9())
				{
					num++;
				}
				else if (Class11.Class14.smethod_0())
				{
					num++;
				}
				else if (num2 % 10 == 0)
				{
					if (Class11.Class14.smethod_1())
					{
						num = 0;
					}
					else
					{
						num++;
					}
				}
				num2++;
				goto IL_217;
			}
			finally
			{
				if (!Class11.class13_0.bool_0)
				{
					DateTime now = DateTime.Now;
					if (num > 0)
					{
						Class11.smethod_5(out now);
						if (now < DateTime.Now)
						{
							now = DateTime.Now;
						}
					}
					if (Class11.class13_0.dateTime_0 < now)
					{
						Class11.class13_0.bool_0 = true;
						Class11.class13_0.int_0 = 0;
					}
				}
				base.Invoke(new Action(this.method_265));
			}
			goto IL_1AF;
			IL_1F1:
			Class11.smethod_42();
			continue;
			IL_1AF:
			if (num > 2)
			{
				flag = true;
				base.Invoke(new Action(this.method_266));
				goto IL_1F1;
			}
			IL_1CA:
			if (flag && num == 0 && !Class11.class13_0.bool_2)
			{
				flag = false;
				base.Invoke(new Action(this.method_267));
				goto IL_1F1;
			}
			goto IL_1F1;
			IL_217:
			if (flag)
			{
				goto IL_1CA;
			}
			goto IL_1AF;
		}
	}
}



我想问的是这种闭包陷阱如何还原。这个类一直找不到<>c__DisplayClass237_0。  有的说是 dnSpy使用的ILSpy无法正常反编译 要用 dotPeek 或者ILspy 。结果还是 没有解决问题

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 08:56

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表