永发信息网

void SwitchData(void* SourceData,void* TargetData,int size) { unsigned char* src = (unsigned char*)

答案:2  悬赏:30  手机版
解决时间 2021-12-23 06:13
  • 提问者网友:贪了杯
  • 2021-12-22 08:52
void SwitchData(void* SourceData,void* TargetData,int size)
{
unsigned char* src = (unsigned char*) SourceData;
unsigned char* dest = (unsigned char*) TargetData;
for (int i = 0; i < size; i++)
*(dest++) = (*src++) ^ 0xDE;
}这里代码的意思是数据转化,*(dest++) = (*src++) ^ 0xDE;这句代码的意思是将src和OxDE做与运算么?这里既然是数据转化,但怎么才能给逆向转过来呢?
最佳答案
  • 五星知识达人网友:罪歌
  • 2021-12-22 10:32
(*src++) ^ 0xDE 是 逐位 异或

在 运行一次 (*src++) ^ 0xDE 就可以 转换回来了,这是异或运算的特点
全部回答
  • 1楼网友:woshuo
  • 2021-12-22 11:33
把变量data的地址&data强制转换成二重无类型指针。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯