更新:这个问题的答案帮助我在GitHub上编写了开源项目AlicanC的Modern Warfare 2 Tool.您可以看到我如何在MW2Packets.cs中读取这些数据包以及我编写的扩展,以读取Extensions.cs中的大端数据.
我在我的C#应用程序中使用Pcap.Net捕获" 使命召唤:现代战争2"的 UDP数据包.我从图书馆收到了一封.我试图像字符串一样解析它,但是效果不好.byte[]
在byte[]我有一个通用的数据包报头,然后具体到数据包类型,然后约在大堂每个玩家信息的另一头.
一个乐于助人的人为我检查了一些数据包并想出了这些结构:
// Fields are big endian unless specified otherwise.
struct packet_header
{
uint16_t magic;
uint16_t packet_size;
uint32_t unknown1;
uint32_t unknown2;
uint32_t unknown3;
uint32_t unknown4;
uint16_t unknown5;
uint16_t unknown6;
uint32_t unknown7;
uint32_t unknown8;
cstring_t packet_type; // \0 terminated string
};
// Fields are little endian unless specified otherwise.
struct header_partystate //Header for the "partystate" packet type
{
uint32_t unknown1;
uint8_t …Run Code Online (Sandbox Code Playgroud) 当我运行此代码时:
var Test = function() {
return this.stuff;
};
Test.stuff = 'Neat!';
document.write(Test() || 'Not neat.');
Run Code Online (Sandbox Code Playgroud)
为什么我会'不整洁'?为什么我不能使用stuff属性this.stuff?