Search in sources :

Example 51 with ByteBuffer

use of streamer.ByteBuffer in project cloudstack by apache.

the class NtlmState method testGenerateClientSealingKey.

public void testGenerateClientSealingKey() {
    exportedSessionKey = new byte[] { (byte) 0x01, (byte) 0x02, (byte) 0x03, (byte) 0x04, (byte) 0x05, (byte) 0x06, (byte) 0x07, (byte) 0x08, (byte) 0x09, (byte) 0x0a, (byte) 0x0b, (byte) 0x0c, (byte) 0x0d, (byte) 0x0e, (byte) 0x0f, (byte) 0x10 };
    byte[] expected = new byte[] { (byte) 0x58, (byte) 0x19, (byte) 0x44, (byte) 0xc2, (byte) 0x7a, (byte) 0xc6, (byte) 0x34, (byte) 0x45, (byte) 0xe4, (byte) 0xb8, (byte) 0x2b, (byte) 0x55, (byte) 0xb9, (byte) 0x0b, (byte) 0x1f, (byte) 0xb5 };
    byte[] actual = ntlm_generate_client_sealing_key();
    if (!Arrays.equals(expected, actual))
        throw new RuntimeException("Incorrect result.\nExpected:\n" + new ByteBuffer(expected).toPlainHexString() + "\n  actual:\n" + new ByteBuffer(actual).toPlainHexString() + ".");
}
Also used : ByteBuffer(streamer.ByteBuffer)

Example 52 with ByteBuffer

use of streamer.ByteBuffer in project cloudstack by apache.

the class NtlmState method ntlm_construct_authenticate_target_info.

public byte[] ntlm_construct_authenticate_target_info() {
    ByteBuffer buf = new ByteBuffer(4096);
    writeAVPair(buf, MSV_AV_NETBIOS_DOMAIN_NAME, serverNetbiosDomainName);
    writeAVPair(buf, MSV_AV_NETBIOS_COMPUTER_NAME, serverNetbiosComputerName);
    writeAVPair(buf, MSV_AV_DNS_DOMAIN_NAME, serverDnsDomainName);
    writeAVPair(buf, MSV_AV_DNS_COMPUTER_NAME, serverDnsComputerName);
    writeAVPair(buf, MSV_AV_DNS_TREE_NAME, serverDnsTreeName);
    writeAVPair(buf, MSV_AV_TIMESTAMP, serverTimestamp);
    byte[] flags = new byte[] { (byte) MSV_AV_FLAGS_MESSAGE_INTEGRITY_CHECK, 0, 0, 0 };
    writeAVPair(buf, MSV_AV_FLAGS, flags);
    writeAVPair(buf, MSV_AV_CHANNEL_BINDINGS, channelBindingsHash);
    writeAVPair(buf, MSV_AV_TARGET_NAME, servicePrincipalName);
    writeAVPair(buf, MSV_AV_EOL, "");
    // DEBUG: put EOL 4 times, for compatibility with FreeRDP output
    //*DEBUG*/writeAVPair(buf, MSV_AV_EOL, "");
    //*DEBUG*/writeAVPair(buf, MSV_AV_EOL, "");
    //*DEBUG*/writeAVPair(buf, MSV_AV_EOL, "");
    buf.trimAtCursor();
    authenticateTargetInfo = buf.toByteArray();
    buf.unref();
    return authenticateTargetInfo;
}
Also used : ByteBuffer(streamer.ByteBuffer)

Example 53 with ByteBuffer

use of streamer.ByteBuffer in project cloudstack by apache.

the class NtlmState method testNTOWFv1W.

public void testNTOWFv1W() {
    byte[] expected = new byte[] { (byte) 0x25, (byte) 0xf3, (byte) 0x39, (byte) 0xc9, (byte) 0x86, (byte) 0xb5, (byte) 0xc2, (byte) 0x6f, (byte) 0xdc, (byte) 0xab, (byte) 0x91, (byte) 0x34, (byte) 0x93, (byte) 0xa2, (byte) 0x18, (byte) 0x2a };
    byte[] actual = NTOWFv1W("R2Preview!");
    if (!Arrays.equals(expected, actual))
        throw new RuntimeException("Incorrect result.\nExpected:\n" + new ByteBuffer(expected).toPlainHexString() + "\n  actual:\n" + new ByteBuffer(actual).toPlainHexString() + ".");
}
Also used : ByteBuffer(streamer.ByteBuffer)

Example 54 with ByteBuffer

use of streamer.ByteBuffer in project cloudstack by apache.

the class NtlmState method testComputeMessageIntegrityCheck.

public void testComputeMessageIntegrityCheck() {
    exportedSessionKey = new byte[] { (byte) 0x01, (byte) 0x02, (byte) 0x03, (byte) 0x04, (byte) 0x05, (byte) 0x06, (byte) 0x07, (byte) 0x08, (byte) 0x09, (byte) 0x0a, (byte) 0x0b, (byte) 0x0c, (byte) 0x0d, (byte) 0x0e, (byte) 0x0f, (byte) 0x10 };
    negotiateMessage = new byte[] { (byte) 0x4e, (byte) 0x54, (byte) 0x4c, (byte) 0x4d, (byte) 0x53, (byte) 0x53, (byte) 0x50, (byte) 0x00, (byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0xb7, (byte) 0x82, (byte) 0x08, (byte) 0xe2, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x06, (byte) 0x01, (byte) 0xb1, (byte) 0x1d, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x0f };
    challengeMessage = new byte[] { (byte) 0x4e, (byte) 0x54, (byte) 0x4c, (byte) 0x4d, (byte) 0x53, (byte) 0x53, (byte) 0x50, (byte) 0x00, (byte) 0x02, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x1e, (byte) 0x00, (byte) 0x1e, (byte) 0x00, (byte) 0x38, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x35, (byte) 0x82, (byte) 0x8a, (byte) 0xe2, (byte) 0x4a, (byte) 0x25, (byte) 0x50, (byte) 0xa5, (byte) 0x11, (byte) 0x9b, (byte) 0xd6, (byte) 0x16, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x98, (byte) 0x00, (byte) 0x98, (byte) 0x00, (byte) 0x56, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x06, (byte) 0x03, (byte) 0xd7, (byte) 0x24, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x0f, (byte) 0x57, (byte) 0x00, (byte) 0x49, (byte) 0x00, (byte) 0x4e, (byte) 0x00, (byte) 0x2d, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x4f, (byte) 0x00, (byte) 0x34, (byte) 0x00, (byte) 0x31, (byte) 0x00, (byte) 0x39, (byte) 0x00, (byte) 0x42, (byte) 0x00, (byte) 0x32, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x53, (byte) 0x00, (byte) 0x52, (byte) 0x00, (byte) 0x30, (byte) 0x00, (byte) 0x02, (byte) 0x00, (byte) 0x1e, (byte) 0x00, (byte) 0x57, (byte) 0x00, (byte) 0x49, (byte) 0x00, (byte) 0x4e, (byte) 0x00, (byte) 0x2d, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x4f, (byte) 0x00, (byte) 0x34, (byte) 0x00, (byte) 0x31, (byte) 0x00, (byte) 0x39, (byte) 0x00, (byte) 0x42, (byte) 0x00, (byte) 0x32, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x53, (byte) 0x00, (byte) 0x52, (byte) 0x00, (byte) 0x30, (byte) 0x00, (byte) 0x01, (byte) 0x00, (byte) 0x1e, (byte) 0x00, (byte) 0x57, (byte) 0x00, (byte) 0x49, (byte) 0x00, (byte) 0x4e, (byte) 0x00, (byte) 0x2d, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x4f, (byte) 0x00, (byte) 0x34, (byte) 0x00, (byte) 0x31, (byte) 0x00, (byte) 0x39, (byte) 0x00, (byte) 0x42, (byte) 0x00, (byte) 0x32, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x53, (byte) 0x00, (byte) 0x52, (byte) 0x00, (byte) 0x30, (byte) 0x00, (byte) 0x04, (byte) 0x00, (byte) 0x1e, (byte) 0x00, (byte) 0x57, (byte) 0x00, (byte) 0x49, (byte) 0x00, (byte) 0x4e, (byte) 0x00, (byte) 0x2d, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x4f, (byte) 0x00, (byte) 0x34, (byte) 0x00, (byte) 0x31, (byte) 0x00, (byte) 0x39, (byte) 0x00, (byte) 0x42, (byte) 0x00, (byte) 0x32, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x53, (byte) 0x00, (byte) 0x52, (byte) 0x00, (byte) 0x30, (byte) 0x00, (byte) 0x03, (byte) 0x00, (byte) 0x1e, (byte) 0x00, (byte) 0x57, (byte) 0x00, (byte) 0x49, (byte) 0x00, (byte) 0x4e, (byte) 0x00, (byte) 0x2d, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x4f, (byte) 0x00, (byte) 0x34, (byte) 0x00, (byte) 0x31, (byte) 0x00, (byte) 0x39, (byte) 0x00, (byte) 0x42, (byte) 0x00, (byte) 0x32, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x53, (byte) 0x00, (byte) 0x52, (byte) 0x00, (byte) 0x30, (byte) 0x00, (byte) 0x07, (byte) 0x00, (byte) 0x08, (byte) 0x00, (byte) 0xa0, (byte) 0xe8, (byte) 0x85, (byte) 0x2c, (byte) 0xe4, (byte) 0xc9, (byte) 0xce, (byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00 };
    authenticateMessage = new byte[] { (byte) 0x4e, (byte) 0x54, (byte) 0x4c, (byte) 0x4d, (byte) 0x53, (byte) 0x53, (byte) 0x50, (byte) 0x00, (byte) 0x03, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x18, (byte) 0x00, (byte) 0x18, (byte) 0x00, (byte) 0x90, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x16, (byte) 0x01, (byte) 0x16, (byte) 0x01, (byte) 0xa8, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x12, (byte) 0x00, (byte) 0x12, (byte) 0x00, (byte) 0x58, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x1a, (byte) 0x00, (byte) 0x1a, (byte) 0x00, (byte) 0x6a, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x0c, (byte) 0x00, (byte) 0x0c, (byte) 0x00, (byte) 0x84, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x10, (byte) 0x00, (byte) 0x10, (byte) 0x00, (byte) 0xbe, (byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x35, (byte) 0xb2, (byte) 0x88, (byte) 0xe2, (byte) 0x06, (byte) 0x01, (byte) 0xb1, (byte) 0x1d, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x0f, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x77, (byte) 0x00, (byte) 0x6f, (byte) 0x00, (byte) 0x72, (byte) 0x00, (byte) 0x6b, (byte) 0x00, (byte) 0x67, (byte) 0x00, (byte) 0x72, (byte) 0x00, (byte) 0x6f, (byte) 0x00, (byte) 0x75, (byte) 0x00, (byte) 0x70, (byte) 0x00, (byte) 0x41, (byte) 0x00, (byte) 0x64, (byte) 0x00, (byte) 0x6d, (byte) 0x00, (byte) 0x69, (byte) 0x00, (byte) 0x6e, (byte) 0x00, (byte) 0x69, (byte) 0x00, (byte) 0x73, (byte) 0x00, (byte) 0x74, (byte) 0x00, (byte) 0x72, (byte) 0x00, (byte) 0x61, (byte) 0x00, (byte) 0x74, (byte) 0x00, (byte) 0x6f, (byte) 0x00, (byte) 0x72, (byte) 0x00, (byte) 0x61, (byte) 0x00, (byte) 0x70, (byte) 0x00, (byte) 0x6f, (byte) 0x00, (byte) 0x6c, (byte) 0x00, (byte) 0x6c, (byte) 0x00, (byte) 0x6f, (byte) 0x00, (byte) 0x7c, (byte) 0xc0, (byte) 0xfd, (byte) 0x08, (byte) 0xc5, (byte) 0x14, (byte) 0x05, (byte) 0x34, (byte) 0xf3, (byte) 0x12, (byte) 0x9e, (byte) 0x3e, (byte) 0xa3, (byte) 0x09, (byte) 0xbc, (byte) 0xc6, (byte) 0x01, (byte) 0x02, (byte) 0x03, (byte) 0x04, (byte) 0x05, (byte) 0x06, (byte) 0x07, (byte) 0x08, (byte) 0x19, (byte) 0x4b, (byte) 0xeb, (byte) 0xad, (byte) 0xda, (byte) 0x24, (byte) 0xd5, (byte) 0x96, (byte) 0x85, (byte) 0x2e, (byte) 0x24, (byte) 0x94, (byte) 0xd6, (byte) 0x4a, (byte) 0xb8, (byte) 0x5e, (byte) 0x01, (byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0xa0, (byte) 0xe8, (byte) 0x85, (byte) 0x2c, (byte) 0xe4, (byte) 0xc9, (byte) 0xce, (byte) 0x01, (byte) 0x01, (byte) 0x02, (byte) 0x03, (byte) 0x04, (byte) 0x05, (byte) 0x06, (byte) 0x07, (byte) 0x08, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x02, (byte) 0x00, (byte) 0x1e, (byte) 0x00, (byte) 0x57, (byte) 0x00, (byte) 0x49, (byte) 0x00, (byte) 0x4e, (byte) 0x00, (byte) 0x2d, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x4f, (byte) 0x00, (byte) 0x34, (byte) 0x00, (byte) 0x31, (byte) 0x00, (byte) 0x39, (byte) 0x00, (byte) 0x42, (byte) 0x00, (byte) 0x32, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x53, (byte) 0x00, (byte) 0x52, (byte) 0x00, (byte) 0x30, (byte) 0x00, (byte) 0x01, (byte) 0x00, (byte) 0x1e, (byte) 0x00, (byte) 0x57, (byte) 0x00, (byte) 0x49, (byte) 0x00, (byte) 0x4e, (byte) 0x00, (byte) 0x2d, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x4f, (byte) 0x00, (byte) 0x34, (byte) 0x00, (byte) 0x31, (byte) 0x00, (byte) 0x39, (byte) 0x00, (byte) 0x42, (byte) 0x00, (byte) 0x32, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x53, (byte) 0x00, (byte) 0x52, (byte) 0x00, (byte) 0x30, (byte) 0x00, (byte) 0x04, (byte) 0x00, (byte) 0x1e, (byte) 0x00, (byte) 0x57, (byte) 0x00, (byte) 0x49, (byte) 0x00, (byte) 0x4e, (byte) 0x00, (byte) 0x2d, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x4f, (byte) 0x00, (byte) 0x34, (byte) 0x00, (byte) 0x31, (byte) 0x00, (byte) 0x39, (byte) 0x00, (byte) 0x42, (byte) 0x00, (byte) 0x32, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x53, (byte) 0x00, (byte) 0x52, (byte) 0x00, (byte) 0x30, (byte) 0x00, (byte) 0x03, (byte) 0x00, (byte) 0x1e, (byte) 0x00, (byte) 0x57, (byte) 0x00, (byte) 0x49, (byte) 0x00, (byte) 0x4e, (byte) 0x00, (byte) 0x2d, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x4f, (byte) 0x00, (byte) 0x34, (byte) 0x00, (byte) 0x31, (byte) 0x00, (byte) 0x39, (byte) 0x00, (byte) 0x42, (byte) 0x00, (byte) 0x32, (byte) 0x00, (byte) 0x4c, (byte) 0x00, (byte) 0x53, (byte) 0x00, (byte) 0x52, (byte) 0x00, (byte) 0x30, (byte) 0x00, (byte) 0x07, (byte) 0x00, (byte) 0x08, (byte) 0x00, (byte) 0xa0, (byte) 0xe8, (byte) 0x85, (byte) 0x2c, (byte) 0xe4, (byte) 0xc9, (byte) 0xce, (byte) 0x01, (byte) 0x06, (byte) 0x00, (byte) 0x04, (byte) 0x00, (byte) 0x02, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x0a, (byte) 0x00, (byte) 0x10, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x09, (byte) 0x00, (byte) 0x26, (byte) 0x00, (byte) 0x54, (byte) 0x00, (byte) 0x45, (byte) 0x00, (byte) 0x52, (byte) 0x00, (byte) 0x4d, (byte) 0x00, (byte) 0x53, (byte) 0x00, (byte) 0x52, (byte) 0x00, (byte) 0x56, (byte) 0x00, (byte) 0x2f, (byte) 0x00, (byte) 0x31, (byte) 0x00, (byte) 0x39, (byte) 0x00, (byte) 0x32, (byte) 0x00, (byte) 0x2e, (byte) 0x00, (byte) 0x31, (byte) 0x00, (byte) 0x36, (byte) 0x00, (byte) 0x38, (byte) 0x00, (byte) 0x2e, (byte) 0x00, (byte) 0x31, (byte) 0x00, (byte) 0x2e, (byte) 0x00, (byte) 0x33, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0xe4, (byte) 0xe9, (byte) 0xc2, (byte) 0xad, (byte) 0x41, (byte) 0x02, (byte) 0x2f, (byte) 0x3c, (byte) 0xf9, (byte) 0x4c, (byte) 0x72, (byte) 0x84, (byte) 0xc5, (byte) 0x2a, (byte) 0x7c, (byte) 0x6f };
    byte[] expected = new byte[] { (byte) 0xd9, (byte) 0xe9, (byte) 0xbc, (byte) 0x9b, (byte) 0x6f, (byte) 0xa5, (byte) 0xf9, (byte) 0xc8, (byte) 0x70, (byte) 0x16, (byte) 0x10, (byte) 0x20, (byte) 0xf8, (byte) 0xf1, (byte) 0x61, (byte) 0x42 };
    byte[] actual = ntlm_compute_message_integrity_check();
    if (!Arrays.equals(expected, actual))
        throw new RuntimeException("Incorrect result.\nExpected:\n" + new ByteBuffer(expected).toPlainHexString() + "\n  actual:\n" + new ByteBuffer(actual).toPlainHexString() + ".");
}
Also used : ByteBuffer(streamer.ByteBuffer)

Example 55 with ByteBuffer

use of streamer.ByteBuffer in project cloudstack by apache.

the class RLEBitmapDecompression method rleDecompress.

/**
     * Decompress a RLE compressed bitmap and flip decompressed image.
     *
     * @param srcBuf
     *          source buffer containing compressed bitmap
     * @param imageWidth
     *          width of destination image in pixels
     * @param imageHeight
     *          height of destination image in pixels
     * @param colorDepth
     *          bits per pixel
     * @return destination image buffer
     */
public static ByteBuffer rleDecompress(ByteBuffer srcBuf, int imageWidth, int imageHeight, int colorDepth) {
    int bpp = getPixelSize(colorDepth);
    // Decompress image
    ByteBuffer destBuf = new ByteBuffer(new byte[imageWidth * imageHeight * bpp]);
    rleDecompress(srcBuf, destBuf, imageWidth, imageHeight, colorDepth);
    // Flip image
    return flipRawImage(destBuf, imageWidth, imageHeight, bpp);
}
Also used : ByteBuffer(streamer.ByteBuffer) AssertingByteBuffer(streamer.debug.AssertingByteBuffer)

Aggregations

ByteBuffer (streamer.ByteBuffer)110 Element (streamer.Element)12 BaseElement (streamer.BaseElement)9 Pipeline (streamer.Pipeline)7 PipelineImpl (streamer.PipelineImpl)7 TSRequest (rdpclient.ntlmssp.asn1.TSRequest)6 MockSink (streamer.debug.MockSink)5 MockSource (streamer.debug.MockSource)5 BitmapRectangle (common.BitmapRectangle)3 ScreenDescription (common.ScreenDescription)3 SyncLink (streamer.SyncLink)3 AssertingByteBuffer (streamer.debug.AssertingByteBuffer)3 BitmapOrder (common.BitmapOrder)2 KeyOrder (common.KeyOrder)2 MouseOrder (common.MouseOrder)2 NegoItem (rdpclient.ntlmssp.asn1.NegoItem)2 Link (streamer.Link)2 FakeSink (streamer.debug.FakeSink)2 BufferedImageCanvas (common.BufferedImageCanvas)1 CopyRectOrder (common.CopyRectOrder)1