其他分享
首页 > 其他分享> > mt4 mt5协议 跟单

mt4 mt5协议 跟单

作者:互联网

mt4 协议

# exe特征 
const CLIENT_SIZE: u32 = 0x953dbed3;
# 版本号 可设任意平台版本号
const BUILD: u16 = 1353;
# key hash
0 => modify_key_sha256_mt_complex(&data, &result),
1 => modify_key_sha256_mt_login(&result),
2 => modify_key_sha256_mt_type(&result),
3 => modify_key_md5_mt_random(&data, &result),
4 => modify_key_swap_pair(&result),
5 => modify_key_sha1_mt_type(&result),
6 => modify_key_not_even(&result),
7 => modify_key_not_odd(&result),
8 => modify_key_sha256_mt_build(&result),
9 => modify_key_crypt_key(&result),
10 => modify_key_swap_all_bytes(&result),
11 => modify_key_md5_mt_complex(&data, &result),
12 => modify_key_sha256_mt_random(&data, &result),
13 => modify_key_not_bytes(&result),
14 => modify_key_sha1_mt_complex(&data, &result),
15 => modify_key_sha256_mt_session(&result, session),
# mt4 mt5 协议, 策略、跟单定制开发, linux 服务器运行 可托管ny4、ld4机房,控制端可web或windows,mac,linux桌面, v: x_x__7
# md5_mt_complex
 fn modify_key_md5_mt_complex(&self, data: &[u8], hash: &[u8]) -> Vec<u8> {
    let mut result = BytesMut::with_capacity(97);
    result.put_u8(0);
    result.put_slice(b"MTComplex");
    result.put_u8(0);
    result.put_u16_le(self.build);
    result.put_slice(hash);
    result.put_slice(data);
    result.put_u32_le(self.user);
    return crypt::md5(&result[..]);
}
fn modify_key_sha256_mt_login(&self, hash: &[u8]) -> Vec<u8> {
    let mut result = BytesMut::with_capacity(28);
    result.put_u32_le(self.user);
    result.put_slice(hash);
    result.put_slice(b"MTLogin");
    result.put_u8(0);
    return crypt::key_sha256(&result[..]);
}
fn modify_key_sha256_mt_type(hash: &[u8]) -> Vec<u8> {
    let mut result = BytesMut::with_capacity(24);
    result.put_u8(0);
    result.put_slice(hash);
    result.put_slice(b"MTType");
    result.put_u8(0);
    return crypt::key_sha256(&result[..]);
}

标签:跟单,modify,mt4,mt5,mt,result,key,put,sha256
来源: https://www.cnblogs.com/fr5s/p/16518747.html