package com.example.drcom;

public class mkopkt {
	public static byte[] dr_mkopkt(byte[] salt, String ipaddr, String usr, String pwd, String mac) throws Exception{
		String ip = ipaddr;    //MainActivity.ipaddr;
		String[] ip_foo = ip.split("\\.");
		
		byte[] username = new byte[36];
		byte[] mxm = new byte[6];
		
		int account_length = usr.length() + 20;
		byte[] ctea = {0x06, 0x01, 0x00, (byte) account_length};
		
		byte[] md5_foo_10 = {0x06, 0x01};
		byte[] md5_foo_1 = ByteMerge.byteMerger(md5_foo_10, salt);
		byte[] md5_foo = ByteMerge.byteMerger(md5_foo_1, pwd.getBytes());
		byte[] md5a = ByteMD5.MD5_lite(md5_foo);
		username = usr.getBytes();
		for(int i=usr.length();i<35;i++){
			username[i] = 0x00;
		}
		byte[] fm = {0x00, 0x03};
		byte[] mac_addr = HexStr2ByteArr.hexStr2ByteArr(mac);
		for(int i=0;i<6;i++){
			mxm[i] = (byte) (mac_addr[i] ^ md5a[i]);
		}
		byte[] drco = {0x44, 0x72, 0x63, 0x6f};
		byte[] svr_ip = {0x0a, 0x64, 0x3d, 0x03};
		byte[] unknow_1 = {(byte) 0xe7, 0x17};
		byte[] usr_ip = new byte[4];
		for(int ip_i=0;ip_i<ip_foo.length;ip_i++){
			usr_ip[ip_i] = (byte) Integer.parseInt(ip_foo[ip_i]);
			
		}
		byte[] unknow_2 = {0x01, (byte) 0xc7};
		
		byte[] data_1 = ByteMerge.byteMerger(ctea, md5a);
		byte[] data_2 = ByteMerge.byteMerger(data_1, username);
		byte[] data_3 = ByteMerge.byteMerger(data_2, fm);
		byte[] data_4 = ByteMerge.byteMerger(data_3, mxm);
		byte[] data_5 = ByteMerge.byteMerger(data_4, drco);
		byte[] data_6 = ByteMerge.byteMerger(data_5, svr_ip);
		byte[] data_7 = ByteMerge.byteMerger(data_6, unknow_1);
		byte[] data_8 = ByteMerge.byteMerger(data_7, usr_ip);
		byte[] data = ByteMerge.byteMerger(data_8, unknow_2);
		
		return data;
	}
}

@@ -137,16 +137,33 @@
 ring mac
+, byte%5B%5D authinfo
 ) throws
@@ -641,24 +641,30 @@
 foo);%0A%09%09
-username
+byte%5B%5D account
  = usr.g
@@ -674,16 +674,91 @@
 ytes();%0A
+%09%09for(int i=0;i%3Cusr.length();i++)%7B%0A%09%09%09username%5Bi%5D = account%5Bi%5D;%0A%09%09%09%0A%09%09%7D%0A%09%09%0A
 %09%09for(in
@@ -972,134 +972,8 @@
 %09%09%7D%0A
-%09%09byte%5B%5D drco = %7B0x44, 0x72, 0x63, 0x6f%7D;%0A%09%09byte%5B%5D svr_ip = %7B0x0a, 0x64, 0x3d, 0x03%7D;%0A%09%09byte%5B%5D unknow_1 = %7B(byte) 0xe7, 0x17%7D;
 %0A%09%09b
@@ -1108,54 +1108,9 @@
 ;%0A%09%09
-%09%0A%09%09%7D%0A%09%09byte%5B%5D unknow_2 = %7B0x01, (byte) 0xc7%7D;
+%7D
 %0A%09%09%0A
@@ -1337,18 +1337,16 @@
 e%5B%5D data
-_5
  = ByteM
@@ -1373,243 +1373,53 @@
 _4, 
-drco);%0A%09%09byte%5B%5D data_6 = ByteMerge.byteMerger(data_5, svr_ip);%0A%09%09byte%5B%5D data_7 = ByteMerge.byteMerger(data_6, unknow_1);%0A%09%09byte%5B%5D data_8 = ByteMerge.byteMerger(data_7, usr_ip);%0A%09%09byte%5B%5D data = ByteMerge.byteMerger(data_8, unknow_2);%0A%09%09
+authinfo);%0A%09%09System.out.println(data.length);
 %0A%09%09r

Update mkopkt.java