易语言rdp加解密源码
系统结构:RDP加密,RDP解密,Ansi转Unicode,指针到文本_Unicode版,Unicode转Ansi,CryptProtectData,CryptUnprotectData,lstrcpyn_字节,LocalFree,sprintf,sscanf,lstrcpyn_文本,GlobalAlloc,GlobalFree,lstrlenW,RtlMoveMemory,WideCharToMultiByte,MultiByteToWideChar,
======窗口程序集_启动窗口
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |------ _编辑框1_内容被改变
| |
| |------ _编辑框2_内容被改变
| |
| |
======功能程序集
| |
| |------ RDP加密
| |
| |------ RDP解密
| |
| |------ Ansi转Unicode
| |
| |------ 指针到文本_Unicode版
| |
| |------ Unicode转Ansi
| |
| |
======调用的Dll
| |
| |---[dll]------ CryptProtectData
| |
| |---[dll]------ CryptUnprotectData
| |
| |---[dll]------ lstrcpyn_字节
| |
| |---[dll]------ LocalFree
| |
| |---[dll]------ sprintf
| |
| |---[dll]------ sscanf
| |
| |---[dll]------ lstrcpyn_文本
| |
| |---[dll]------ GlobalAlloc
| |
| |---[dll]------ GlobalFree
| |
| |---[dll]------ lstrlenW
| |
| |---[dll]------ RtlMoveMemory
| |
| |---[dll]------ WideCharToMultiByte
| |
| |---[dll]------ MultiByteToWideChar
调用的DLL命令:
.DLL命令 CryptProtectData, 逻辑型, "Crypt32.dll", "CryptProtectData", , ,加密
.参数 pDataIn, DATA_BLOB, , 含有要加密的明文指针 指向一个DATA_BLOB型数据结构
.参数 szDataDescr, 字节集, , 描述字符串,将随密码一起被加密到密文中,在“CryptUnprotectData()”之后是可以读出来的。
.参数 pOptionalEntropy, 整数型, , 无用指针 设为0
.参数 pvReserved, 整数型, , 保留供将来使用,必须设置为null
.参数 pPromptStruct, 整数型, , 必须设置为null因为cryptprotect_promptstruct结构不使用。
.参数 dwFlags, 整数型, , 标志
.参数 pDataOut, DATA_BLOB, , 指针到该接收加密的数据的DATA_BLOB结构。如果DATA_BLOB的pbData成员设置为NULL,函数分配内存的加密数据。如果pbData不等于NULL,则函数使用在DATA_BLOB的cbData指定的缓冲区。当你想要的功能使用指定的缓冲区,您必须验证结构被初始化。经过初始化DATA_BLOB可能会导致意想不到的结果。当您使用DATA_BLOB结构已经完成,通过调用LocalFree函数释放其pbData成员。
.DLL命令 CryptUnprotectData, 逻辑型, "Crypt32.dll", "CryptUnprotectData", , ,解密
.参数 pDataIn, DATA_BLOB, , 指针到一个保存加密的数据的BLOB(加密)结构中。该DATA_BLOB结构的cbData成员持有pbData成员(包含进行加密的文本)的字节串的长度
.参数 ppszDataDescr, 整数型, 传址, 可选。指针到经加密的数据的可读字符串描述。其实指向就是“CryptProtectData”中的第二个参数“szDataDescr”的数据 可以取出的。
.参数 pOptionalEntropy, 整数型, , 无用指针 设为0
.参数 pvReserved, 整数型, , 保留供将来使用,必须设置为null
.参数 pPromptStruct, 整数型, , 必须设置为null因为cryptprotect_promptstruct结构不使用。
.参数 dwFlags, 整数型, , 标志
.参数 pDataOut, DATA_BLOB, , 指向一个DATA_BLOB结构,其中存储功能解密数据。 pDataOut的cbData和pbData成员应该被设置为0。
.DLL命令 lstrcpyn_字节, 整数型, "kernel32.dll", "lstrcpyn", , ,
.参数 lpString1, 字节集, , out
.参数 lpString2, 整数型, , in
.参数 iMaxLength, 整数型, , in
.DLL命令 LocalFree, 整数型, "kernel32", "LocalFree", , ,
.参数 hMem, 整数型
.DLL命令 sprintf, 整数型, "crtdll.dll", "@sprintf", , 字符串格式化命令,主要功能是把格式化的数据写入某个字符串中(第一个参数) 返回值:字符串长度
.参数 buffer, 文本型, , 指向将要写入的字符串的缓冲区
.参数 format, 文本型, , 格式化字符串
.参数 argument, 字节型, , 可选参数,可以是任何类型的数据
.DLL命令 sscanf, 整数型, "crtdll.dll", "@sscanf", , sscanf会从buffer里读进数据,依照format的格式将数据写入到argument里。
.参数 buffer, 文本型, , 存储的数据
.参数 format, 文本型, , 格式控制字符串
.参数 argument, 字节集, , 写到内容的字符串 结果将写到这里提供变量里
.DLL命令 lstrcpyn_文本, 整数型, "kernel32.dll", "lstrcpyn", , ,
.参数 lpString1, 文本型, , out
.参数 lpString2, 整数型, , in
.参数 iMaxLength, 整数型, , in
.DLL命令 GlobalAlloc, 整数型, "kernel32.dll", "GlobalAlloc", , ,
.参数 uFlags, 整数型
.参数 dwBytes, 整数型
.DLL命令 GlobalFree, 整数型, "kernel32", "GlobalFree", , ,
.参数 hMem, 整数型
.DLL命令 lstrlenW, 整数型, "kernel32.dll", "lstrlenW", , ,
.参数 lpString, 整数型
.DLL命令 RtlMoveMemory, 整数型, "kernel32", "RtlMoveMemory", , ,
.参数 Destination, 字节型, 传址 数组
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 WideCharToMultiByte, 整数型, "Kernel32.dll", "WideCharToMultiByte", , ,
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpWideCharStr, 字节集
.参数 cchWideChar, 整数型
.参数 lpMultiByteStr, 文本型
.参数 cchMultiByte, 整数型
.参数 lpDefaultChar, 整数型
.参数 pfUsedDefaultChar, 逻辑型
.DLL命令 MultiByteToWideChar, 整数型, "Kernel32.dll", "MultiByteToWideChar", , ,
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpMultiByteStr, 整数型
.参数 cchMultiByte, 整数型
.参数 lpWideCharStr, 整数型
.参数 cchWideChar, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。