HTTP_QUERY_CONNECTION has the value 23 and
HTTP_QUERY_FLAG_REQUEST_HEADERS has the value 0x80000000
我想将值为0x80000023的代码更改为/>
#1 楼
对的,这是可能的。枚举必须设置为“位域”类型,并且位掩码必须正确设置。将光标放在枚举名称上(在“枚举”视图中),然后按Ctrl-N;在出现的对话框的左下角,有一个名为“位域”的复选框。如果所有值都是独立的,则每个值的位掩码就是值本身;如果存在包含枚举值的子字段,则这些子字段必须具有相同的掩码。我不知道HttpQueryInfo()的确切详细信息,所以我在枚举部分使用了0xFFFF的掩码,并假定高16位是独立的标志。您需要的是这样的东西:
HTTP_QUERY_FLAG_REQUEST_HEADERS value 0x80000000 mask 0x80000000
HTTP_QUERY_CONTENT_TYPE value 1 mask 0x0000FFFF
...
HTTP_QUERY_CONNECTION value 23 mask 0x0000FFFF
HTTP_QUERY_ACCEPT value 24 mask 0x0000FFFF
...
但是,修改现有的枚举可能非常困难。如果存在需要屏蔽的值(“ blah is阻碍”或某些此类腐烂),则无法将枚举切换为“ bitfield”,但是如果枚举未设置为“ bitfield”,则IDA不允许您设置枚举成员的面具。最好从头开始建立一个新的枚举。
评论
小注释,如果您的枚举包含的成员为零,则IDA会抱怨无法将枚举转换为位域。
– mrexodia
18年7月20日在13:08