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做与运算么?这里既然是数据转化,但怎么才能给逆向转过来呢?
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
最佳答案
- 五星知识达人网友:罪歌
- 2021-12-22 10:32
(*src++) ^ 0xDE 是 逐位 异或
在 运行一次 (*src++) ^ 0xDE 就可以 转换回来了,这是异或运算的特点
在 运行一次 (*src++) ^ 0xDE 就可以 转换回来了,这是异或运算的特点
全部回答
- 1楼网友:woshuo
- 2021-12-22 11:33
把变量data的地址&data强制转换成二重无类型指针。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯