【去除控制】對學生機房管理助手6.8 密碼破解的分析

                                                                   本文僅以學習交流爲目的,請勿用於非法用途

自從去除控制破解掉了機房助手6.1的密碼策略後,那個作者更換了加密策略,並對軟件加殼保護

今天來分析一下新的加密算法

同6.1 相比 6.8

1 依舊是過時的DES加密

2 更換了密鑰爲rebootpc,偏移量syserror

3 對寫入註冊表的數據做了一些裝飾

4 增加了對去除控制,我的arp欺騙程序,用於6.1破解密碼的regworkshop

的屏蔽(很愚蠢的匹配窗口名的辦法)以圖爲證

關鍵算法

	public static object smethod_2()
		{
			string text = null;
			int num = 0;
			try
			{
				ProjectData.ClearProjectError();
				string text2 = "reboot";
				string text3 = "sys";
				object objectValue = RuntimeHelpers.GetObjectValue(Interaction.CreateObject("wscript.shell", ""));
				object obj = RuntimeHelpers.GetObjectValue(NewLateBinding.LateGet(objectValue, null, "regread", new object[]
				{
					"HKEY_LOCAL_MACHINE\\software\\pd"
				}, null, null, null));
				int num2 = 1;
				do
				{
					Conversions.ToString(Operators.ConcatenateObject(obj, "2"));
					num2++;
				}
				while (num2 <= 3);
				obj = RuntimeHelpers.GetObjectValue(NewLateBinding.LateGet(objectValue, null, "regread", new object[]
				{
					"HKEY_LOCAL_MACHINE\\software\\360m"
				}, null, null, null));
				object objectValue2 = RuntimeHelpers.GetObjectValue(obj);
				text2 += "pc";
				int num3 = 1;
				do
				{
					Conversions.ToString(Operators.ConcatenateObject(obj, "1"));
					num3++;
				}
				while (num3 <= 3);
				obj = Strings.Mid(Conversions.ToString(obj), 2);
				int num4 = 1;
				do
				{
					Conversions.ToString(Operators.ConcatenateObject(obj, "2"));
					num4++;
				}
				while (num4 <= 3);
				text3 += "error";
				if (Information.Err().Number == 0)
				{
					text = CryptoHelper.smethod_1(Conversions.ToString(obj), text2, text3);
				}
				else
				{
					text = "";
				}
				CryptoHelper.Decrypt(Conversions.ToString(objectValue2), "20200101", "xsjfglzs");
			}
			catch (Exception)
			{
			}
			string text4 = text;
			if (num != 0)
			{
				ProjectData.ClearProjectError();
			}
			MessageBox.Show(Conversions.ToString(text4));
			return text4;
		}
public static string Decrypt(string string_0, string string_1, string string_2)
		{
			DESCryptoServiceProvider descryptoServiceProvider = new DESCryptoServiceProvider();
			descryptoServiceProvider.Key = Encoding.UTF8.GetBytes(string_1);
			descryptoServiceProvider.IV = Encoding.UTF8.GetBytes(string_2);
			byte[] buffer = Convert.FromBase64String(string_0);
			MemoryStream stream = new MemoryStream(buffer);
			CryptoStream stream2 = new CryptoStream(stream, descryptoServiceProvider.CreateDecryptor(), CryptoStreamMode.Read);
			StreamReader streamReader = new StreamReader(stream2);
			return streamReader.ReadToEnd();
		}

可以看出核心算法並未有較大的改變

可以參考我對6.1的分析 https://blog.csdn.net/qq_37485351/article/details/93291748

 

這是修改版的設置,在原密碼欄中隨意輸入,按保存設置,忽視退出安全軟件提示(按是),會自動彈出一個消息框,那就是密碼

下載地址 https://www.lanzous.com/b05fzlri

 

當然註冊表解密也行

把360m項拿出來,去掉前面的a就是真正的加密碼了,一樣的在線解密

ok

我們的目的旨在幫助有能力的學生學到更多的知識,而不是侷限於老師所講的,當然我們還是希望薄弱的同學好好聽課。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章