我读了一些关于LOBYTE是提取低字节的宏的信息,但我看到的是一些完全奇怪的东西。对我来说,它看起来就像给一个函数设置值-_-我并不支持逆向工程和这样做,因为我没有其他选择了。
所以一些算法逐字节读取文件。在某个地方,它做
fread(&third_block_first_zero_byte, 1u, 1u, hd6_file_ptr);
然后再做
LOBYTE(third_block_first_zero_byte) = 0;
那么... 它到底是干什么的?从一个单字节变量中提取低字节......哎呀......这让我很伤脑筋。
这两行代码是不相关的。
fread(&third_block_first_zero_byte, 1u, 1u, hd6_file_ptr);
在这种情况下,fread函数从一个位于内存中的文件对象流中返回一个单一的元素('hd6_file_ptr'是一个指向该流的指针)。
LOBYTE(third_block_first_zero_byte) = 0;
上面一行只是从当前存储在'third_block_first_zero_byte'变量&中的值中获取低阶Byte,并将其重新赋值为0。
类似的查询 此处