RdpUtils.cs
(开头部分) 7KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
using static Utils.DllUtils;
namespace Utils {
public static class RdpUtils {
private static string Encrypt(string password) {
byte[] bytes = Encoding.Unicode.GetBytes(password);
DATA_BLOB dATA_BLOB = default;
DATA_BLOB dATA_BLOB2 = default;
DATA_BLOB dATA_BLOB3 = default;
dATA_BLOB.cbData = bytes.Length;
dATA_BLOB.pbData = Marshal.AllocHGlobal(bytes.Length);
Marshal.Copy(bytes, 0, dATA_BLOB.pbData, bytes.Length);
dATA_BLOB3.cbData = 0;
dATA_BLOB3.pbData = IntPtr.Zero;
dATA_BLOB2.cbData = 0;
dATA_BLOB2.pbData = IntPtr.Zero;
CRYPTPROTECT_PROMPTSTRUCT cRYPTPROTECT_PROMPTSTRUCT = new CRYPTPROTECT_PROMPTSTRUCT {
cbSize = Marshal.SizeOf(typeof(CRYPTPROTECT_PROMPTSTRUCT)),
dwPromptFlags = 0,
hwndApp = IntPtr.Zero,
szPrompt = null
};
if (CryptProtectData(ref dATA_BLOB, "psw", ref dATA_BLOB3, IntPtr.Zero, ref cRYPTPROTECT_PROMPTSTRUCT, 1, ref dATA_BLOB2)) {
if (IntPtr.Zero != dATA_BLOB.pbData) {
Marshal.FreeHGlobal(dATA_BLOB.pbData);
}
if (IntPtr.Zero != dATA_BLOB3.pbData) {
Marshal.FreeHGlobal(dATA_BLOB3.pbData);
}
byte[] array = new byte[dATA_BLOB2.cbData];
Marshal.Copy(dATA_BLOB2.pbData, array, 0, dATA_BLOB2.cbData);
return BitConverter.ToString(array).Replace("-", string.Empty);
}
return string.Empty;
}
/*
* 创建rdp文件
* filename 要创建的rdp文件名,可以绝对路径,也可以相对路径
* address 服务器地址
* username 用户名
* password 密码
* */
public static void CreateProfile(string filename, string address, string username, string password) {
if (!File.Exists(filename)) {
// 取得该文件的目录,如果文件名为相对路径,且只有文件名,那么路径赋值空格,当为空格的时候,不会对路径进行操作
string directory = filename.IndexOf("\\") > -1 ? filename.Substring(0, filename.LastIndexOf("\\")) : "";
if (!string.IsNullOrEmpty(directory) && !Directory.Exists(directory)) {
Directory.CreateDirectory(directory);
}
using (StreamWriter streamWriter = new StreamWriter(filename, true)) {
streamWriter.WriteLine("allow desktop composition:i:0");
streamWriter.WriteLine("allow font smoothing:i:0");
后面还有 83 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。