脚本使用简介:
/********************************************************************************
void tcc_tell_user(long len,const char *fmt,...)
void tcc_init_stochastic()
int tcc_produce_stochastic(int a,int b)
tcc_sscanf
tcc_sprintf
tcc_strcpy
tcc_strcmp
tcc_strstr
tcc_strcat
tcc_memcpy
tcc_memcmp
tcc_memset
tcc_strlen
tcc_malloc
tcc_free
*********************************************************************************/
void get_hex_string(unsigned char *in_dat,int in_len,char *ou_hex)
{
int i; char *t=(char*)tcc_malloc(8); ou_hex[0]=0;
for(i=0;i<in_len;i++)
{
if(i%0x04==0 && i!=0) tcc_strcat(ou_hex," ");
if(i%0x10==0 && i!=0) tcc_strcat(ou_hex,"\n");
tcc_sprintf(t,"X ",in_dat[i]); tcc_strcat(ou_hex,t);
}
tcc_free(t);
}
void msg_init()
{
// tcc_init_stochastic();
}
void *msg_short_connect_form_data(long t,long s,long c,long *len)
{
char *data=(char*)tcc_malloc(128);
*len=128;
*(long*)(data+0x00)=128;
*(long*)(data+0x04)=1;
*(long*)(data+0x08)=0;
*(long*)(data+0x0C)=0;
int n=tcc_produce_stochastic(100,50000);
tcc_sprintf(data+0x10,"hello%d",n);
tcc_strcpy(data+0x20,"123456"); return data;
}
int msg_short_connect_recv_data(long s,long c,void *dat,long len)
{
unsigned char *ou_dat=(unsigned char*)tcc_malloc(5120);
get_hex_string(dat,len,ou_dat);
tcc_tell_user(5120,"s:%d c:%d len:%d\n%s\n\n",s,c,len,ou_dat);
tcc_free(ou_dat); return 1;
}
void *msg_long_connect_form_data(long op,long s,long c,long *len)
{
char *data=(char*)tcc_malloc(128);
*len=128;
*(long*)(data+0x00)=128;
*(long*)(data+0x04)=1;
*(long*)(data+0x08)=0;
*(long*)(data+0x0C)=0;
int n=tcc_produce_stochastic(100,50000);
tcc_sprintf(data+0x10,"hello%d",n);
tcc_strcpy(data+0x20,"123456"); return data;
}
int msg_long_connect_recv_data(long s,long c,void *dat,long len)
{
unsigned char *ou_dat=(unsigned char*)tcc_malloc(5120);
get_hex_string(dat,len,ou_dat);
tcc_tell_user(5120,"s:%d c:%d len:%d\n%s\n\n",s,c,len,ou_dat);
tcc_free(ou_dat); return 1;
}
void msg_free_data(void *arg)
{
tcc_free(arg);
}