博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何将红色区域数据调用解密函数直接打印到输出控制台(例如:crt控制台)...
阅读量:5167 次
发布时间:2019-06-13

本文共 2453 字,大约阅读时间需要 8 分钟。

int main(int argc, char *argv[])

{  

unsigned char data[PACKET_MAX_LEN];

 int data_len = 0;

 int socket_fd = -1; //char test_flag = 0;

 struct sockaddr_in dout;  

unsigned short i = 0;

   char enc_buf[70] = {    

 0x00,0x00,0x2B,0x72,0x31,0x53,0xA6,0x78,0x1B,0xEB,0xFC,0xD0,0xB9,    0xC8,0x82,0x27,0x09,0xC5,0x4E,0x7F,0xA4,0x07,0xA6,0x78,0x1B,0xEB,    0xFC,0xD0,0xB9,0xC8,0x82,0x27,0x09,0xC5,0x4E,0x7F,0xA4,0x07,0x74,    0x8F,0xC5,0x6F,0xBE,0x08,0x36,0x80,0x6F,0x79,0x81,0x32,0x97,0x38,    0x3D,0x6F,0x0A,0x9C,0xDD,0x96,0x2C,0x20,0x43,0x7D,0x0C,0x5D,0x4C,   

 0xA8,0x72,0xE6,0xBD,0x12};

 char enc_buf1[64];     

 server_decrypt(enc_buf,enc_buf1,65); 

  for (i = 0; i < 64; i++) //test  

   printf("%02x ", enc_buf1[i]);

// unsigned char sent_data[PACKET_MAX_LEN];

 //int j;

#if 0 unsigned short xxx;  unsigned char zzz[74] = {

  0x30, 0x6b, 0x00, 0xa8, 0x01, 0x00, 0x6c, 0x23, 0x31, 0x00, 0x30,

  0x30, 0x31, 0x32, 0x33, 0x34, 0x2c, 0x10, 0x00,   0x00, 0x05, 0x80,

0xd9, 0x00};

 xxx = calc_crc(zzz, 22);

 printf("crc %04x\n", xxx);

#endif  /* Initialize sent_apdu_function pointer */

 //init_handler();  

 /* TCP socket server setup */

 tcp_set_port(htons(0x1A85));//6789

 printf("set udp port is 6789!\n");     

    printf ("this is first one\n");

 if (tcp_init())   printf("udp server socket opened!\n");

 int_packet();

 while (1) {   

/* Initialize test board */  

 //init_test_handler();  

 /* TCP process */   

socket_fd = tcp_get_socket();

 

#if 0   decode_apdu_handler(socket_fd, zzz, 74, dout);

  return 1;

#endif  

#if 0  

 data_len = 32;

  printf("------------------start---------------------\n");  

 if (decrypt(data, handle_data, data_len) == 0) {   

 printf("decrypt len = %d\n", data_len);

   printf("unsigned char decrypt_data = {\n");  

  for (j = 0; j < data_len; j++) {  

   if (j != data_len - 1)   

   printf("0x%02x, ", handle_data[j]);   

  else    

  printf("0x%02x};\n", handle_data[j]);

   }  

 } else  

  printf("decrypt error!!!\n");  

 for (j = 0; j < 13; j++) {   

 sent_data[j] = j;   

}   

apdu_sent(socket_fd, sent_data, 13, dout);

  printf("--------------------------------------------\n");  

 return 1;

#endif

  data_len = tcp_receive(socket_fd, data, PACKET_MAX_LEN, 10, &dout);  

 if (data_len > 0) {  

  printf("RX: ");   

 for (i = 0; i < data_len; i++) //test  

   printf("%02x ", data[i]);   

 printf("\n");  

  decode_apdu_handler(socket_fd, data, data_len, dout);  

  //apdu_sent(socket_fd, handle_data, data_len, dout);   

 data_len = 0;  

 }   

usleep(20000);/* 20ms */  

}

 return 0;

}

/**   * @}   */

/******************* (C) COPYRIGHT 2012 THIT *****END OF FILE****/

转载于:https://www.cnblogs.com/dpf-learn/p/6228912.html

你可能感兴趣的文章
Visual Studio自定义模板(二)
查看>>
【Mood-20】滴滤咖啡做法 IT工程师加班必备 更健康的coffee 项目经理加班密鉴
查看>>
读《构建之法-软件工程》第四章有感
查看>>
使用 Printf via SWO/SWV 输出调试信息
查看>>
.net 分布式架构之分布式锁实现(转)
查看>>
吴恩达机器学习笔记 —— 3 线性回归回顾
查看>>
Problem E: Automatic Editing
查看>>
SpringBoot 使用 MyBatis 分页插件 PageHelper 进行分页查询
查看>>
《DSP using MATLAB》Problem 6.17
查看>>
微信公众平台开发实战Java版之如何网页授权获取用户基本信息
查看>>
一周TDD小结
查看>>
sizeof与strlen的用法
查看>>
Linux 下常见目录及其功能
查看>>
开源框架中常用的php函数
查看>>
nginx 的提升多个小文件访问的性能模块
查看>>
set&map
查看>>
集合类总结
查看>>
4.AE中的缩放,书签
查看>>
CVE-2014-6321 && MS14-066 Microsoft Schannel Remote Code Execution Vulnerability Analysis
查看>>
给一次重新选择的机会_您还会选择程序员吗?
查看>>