-
-
[旧帖]
[求助]ida pro F5 功能的选择联合体成员问题
0.00雪花
-
发表于:
2015-11-1 21:01
2162
-
[旧帖] [求助]ida pro F5 功能的选择联合体成员问题
0.00雪花
IDA pro hexrays 的 F5 功能可以弄成 C 代码,但不能选择联合体的成员。如:
typedef struct _IO_STACK_LOCATION {
UCHAR MajorFunction;
UCHAR MinorFunction;
UCHAR Flags;
UCHAR Control;
union {
struct {
PIO_SECURITY_CONTEXT SecurityContext;
ULONG Options;
USHORT POINTER_ALIGNMENT FileAttributes;
USHORT ShareAccess;
ULONG POINTER_ALIGNMENT EaLength;
} Create;
struct {
ULONG Length;
ULONG POINTER_ALIGNMENT Key;
LARGE_INTEGER ByteOffset;
} Read;
}BBBB;
。。。。。
}IO_STACK_LOCATION ,*PIO_STACK_LOCATION ;
源C代码为:
PIO_STACK_LOCATION irpStack;
X = irpStack->BBBB.Read.ByteOffset;
Y = irpStack->BBBB.Create.Options;
在IDA PRO 的F5只能弄成:
PIO_STACK_LOCATION irpStack;
X = irpStack->BBBB.Create.FileAttributes;
Y = irpStack->BBBB.Create.Options;
这样真的太纠结。
还有一个问题,F5不能合并变量,比如,明知 ntStatus 和 ntStatus1 都是NTSTATUS类型的变量,但不能合成一个ntStatus,只能ntStatus1,ntStatus2,ntStatus3,。。。。。挨个儿的命名起走。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课