|
12精币
[C++] 纯文本查看 复制代码 extern "C" __declspec(dllexport) void decrypt_fname(char* buf, unsigned __int16 len,unsigned __int32 key) {
char* v2; __int64 result; unsigned int v5; __int64 v6; __int64 v7; int v8;
result = key;
v2 = buf;
v5 = len;
v8 = result;
if (v5) {
v6 = 0;
v7 = v5;
do {
++v2;
result = v6++ & 3;
*(v2 - 1) ^= v5 ^ *((char*)&v8 + result);
--v7;
} while (v7);
}
}
|
decrypt_fname | | | |
buf | 字节集 | | | | len | 短整数型 | | | | key | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | v2 | 字节集 | | | result | 长整数型 | | | v5 | 整数型 | | | v6 | 长整数型 | | | v7 | 长整数型 | | | v8 | 整数型 | | |
result = key v2 = buf v5 = len v8 = result 如果真 (v5 ≠ 0 )v6 = 0 v7 = v5 判断循环首 (v7 ≠ 0 )v2 = v2 + 1 result = 位与 (v6, 3 )v6 = v6 + 1 (v2-1 ) =1 判断循环尾 ()
这是原代码,想要转为易的时候其中*(v2 - 1) ^= v5 ^ *((char*)&v8 + result) 这里的* [color=rgba(0, 0, 0, 0.85)]解引用操作符 在E上应当如何操作呢??
|
|