-
-
[旧帖]
[求助]ida pro F5 功能的选择联合体成员问题
0.00雪花
-
发表于:
2015-11-1 21:01
2163
-
[旧帖] [求助]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,。。。。。挨个儿的命名起走。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)