我正在尝试使用AS3(空中)登录RDP.考虑到缺乏资源以了解实际过程,我做得很好.
我已经超过了初始发送用户名,收到了服务器的响应,我现在处于初始请求连接状态.
我发送所有数据,当嗅探流量时,我看到netmon正确识别我发送的是什么类型的数据包(t125).我没有被RDP断开连接并且他们发送了一个ack数据包 - 但是我没有收到我期待的响应.
我一直在交叉引用connectoid,这是一个开源的RDP客户端.在连接代码中,我被困在他们编写小端和大端整数混合的地方.
当我看到有限的例子(更像是数据包转储)时,我发现这个过程的连接长度是412,但我bytearray更像是470.
我已经将connectoid方法转换为我认为正确的方法,但是使用endian类型的混合方法,我仍然不确定.
我很抱歉,如果这是乱码,但我正尽力帮助你帮助我.我将附上一些代码,显示我在转换中尝试做的事情.
public function sendMcsData(): void {
trace("Secure.sendMcsData");
var num_channels: int = 2;
//RdpPacket_Localised dataBuffer = new RdpPacket_Localised(512);
var hostlen: int = 2 * "myhostaddress.ath.cx".length;
if (hostlen > 30) {
hostlen = 30;
}
var length: int = 158;
length += 76 + 12 + 4;
length += num_channels * 12 + 8;
dataBuffer.writeShort(5); /* unknown */
dataBuffer.writeShort(0x14);
dataBuffer.writeByte(0x7c); //set 8 is write …Run Code Online (Sandbox Code Playgroud)