-
-
[求助]想实现注册表的重定位,具体操作时能通过对Object的名字的进行修改实现吗
-
发表于:
2017-10-23 10:15
3119
-
[求助]想实现注册表的重定位,具体操作时能通过对Object的名字的进行修改实现吗
用CmRegisterCallbackEx注册的回调函数。
如
RegNtPreDeleteKey
操作中.能不能通过直接改变第一个Object的Name实现呢,网上只找到了ObQueryNameString得到的好像是一个name的copy,有没有办法直接得到Name的指针进行替换呢,搜了大半天也没搜到Object具体的结构体,ntifs.h中也没找到太多有用的信息。
假如能的话,原来的buffer如果不够大,释放替换成自己的buffer时又应该注意哪些细节呢。
如果不能的话,又应该从哪里进行拦截呢。
一开始想的是直接拦截open和create替换掉completeName 但是这样直接打开root操作就相当于直接copy了一个注册表代价太大了,所以想通过拦截具体的注册表操作来实现,但是具体操作的时候不知道该怎么替换了,有点尴尬。
typedef struct _REG_DELETE_KEY_INFORMATION {
PVOID Object;
PVOID CallContext;
PVOID ObjectContext;
PVOID Reserved;
} REG_DELETE_KEY_INFORMATION, *PREG_DELETE_KEY_INFORMATION;
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)