hook注册表返回特定的值
By
admin
at 2022-07-30 • 0人收藏 • 831人看过
感谢: netfox提供源码
import raw.apiHook;
var thread2 = raw.apiHook(
"advapi32.dll",
"RegQueryValueExW",
"int(addr hKey,ustring name ,INT Reserved ,ptr dwType ,ptr lpData ,INT lpcbData )",
function( hkey,name,Reserved,dwType,lpData,lpcbData ){
if(name == "abc"){
text = string.toUnicode("HFFCICCHGPINHIIDHFGHGQGQHHHXXGID");
//这里的lpData指针得注意的是, 注册表的项必须存在,才会有指针,不然指针为空
if(lpData){
//hook注册表应该注意的地方,这个类型必须给着返回
raw.copy(dwType,{int value=1});
//raw.copy等价于::copyMemory
raw.copy(lpData,text,#text*2);//这里的Unicode编码长度要*2
//::CopyMemory(lpData,text,#text*2);
//这个数据可以修改,可以不改(网上其他语言貌似必须修改)
//raw.copy(lpcbData,{int value=#text});
}
return 0;
}
return owner.callApi(hkey,name,Reserved,dwType,lpData,lpcbData); ;
}
);
thread2.install();登录后方可回帖