- #include <stdio.h>
- unsigned char Buff[20]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,
- 0x0B,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14 };
- char* FunctionDecode(char* dest,int size, int key)
- {
- char* pdest=dest;
- for (int i=0;i<size;i++)
- {
- *dest^=key;
- dest++;
- }
- return pdest;
- }
- char* FunctionEntry(char* dest,int size, int key)
- {
- char* pdest=dest;
- for (int i=0;i<size;i++)
- {
- *dest^=key;
- dest++;
- }
- return pdest;
- }
- void main()
- {
- // char (*pbuff)[2];
- // pbuff=(char (*)[2])Buff;
- // printf("%d",*(*(pbuff+2)+2)); // 2*2+2 指针指向0x7
- int (*pbuff)[2];
- pbuff=(int (*)[2])Buff;
- printf("%x\n",*(*(pbuff+1)+2)); // 1*8+8 指针指向0x11 ,打印的就应该是0x14131211
- FunctionDecode((char*)Buff,sizeof(Buff),0xff);
- for (int i=0;i<sizeof(Buff);i++)
- {
- printf("%d ",Buff[i]);
- if (i%16==0)
- {
- printf("\n");
- }
- }
- printf("\n**********************************************\n");
- FunctionEntry((char*)Buff,sizeof(Buff),0xff);
- for (int k=0;k<sizeof(Buff);k++)
- {
- printf("%d ",Buff[k]);
- if (k%16==0)
- {
- printf("\n");
- }
- }
- }
复制代码 |