200分求 inline api hook隐藏注册表启动项?

hjkto 2012-01-31 09:27:06
个人电脑有个程序需要保持启动,所以求这个代码
实现,隐藏run下指定的启动项,网上看了一些代码,全是c的,求个d的?
网上c代码一般是全部隐藏了,我要隐藏指定的,如a.exe
api hook 用户模式下实现!
...全文
296 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
RLib 2012-02-02
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 hjkto 的回复:]

等的就是你,高手!
[/Quote]
对,同膜拜。
hjkto 2012-02-01
  • 打赏
  • 举报
回复
等的就是你,高手!
Lactoferrin 2012-02-01
  • 打赏
  • 举报
回复


function RegQueryValueExWindex( name1:string):DWORD;
var
buf : array [0..255] of char;
iRes : integer;
hKeyx : HKEY;
dwIndex, dwSize : DWORD;
begin
Result:=Cardinal(-1);
if RegOpenKeyEx(HKEY_LOCAL_MACHINE, 'Software\Microsoft\Windows\CurrentVersion\Run\', 0,
KEY_QUERY_VALUE, hKeyx ) = ERROR_SUCCESS then
begin
dwIndex := 0;
repeat
dwSize := 255;
iRes := RegEnumValue( hKeyx, dwIndex, buf, dwSize ,nil,nil,nil,nil);
if iRes = ERROR_NO_MORE_ITEMS then
break
else if (iRes = ERROR_SUCCESS) or (iRes = ERROR_MORE_DATA) then
begin
if buf=name1 then
begin
Result:=dwIndex;
end;
inc( dwIndex );
end;
until iRes <> ERROR_SUCCESS;
RegCloseKey( hKeyx );
end;


end;


PCardinal(Cardinal(View)+SizeOf(Cardinal)*3)^:=RegQueryValueExWindex('Project1');

function RegEnumValueWCallback(hKey: HKEY; dwIndex: DWORD; lpValueName: PWideChar;
var lpcbValueName: DWORD; lpReserved: Pointer; lpType: PDWORD;
lpData: PByte; lpcbData: PDWORD): Longint; stdcall;
var ObjectName:PWideChar;Length:Cardinal;RunName:UNICODE_STRING;
begin
GetMem(ObjectName,4096);
if ObjectName<>nil then begin

if NtQueryObject(hKey,1,ObjectName,4096,@Length)=0 then begin
RunName.Buffer:='\Registry\MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run'; RunName.Length:=126; RunName.MaximumLength:=126; if RtlCompareUnicodeString(PUNICODE_STRING(ObjectName),@RunName,True)=0 then
if dwIndex>=PCardinal(Cardinal(View)+SizeOf(Cardinal)*3)^ then Inc(dwIndex);
end;
FreeMem(ObjectName);
end;

Result:= RegEnumValueWNext(hKey,dwIndex,lpValueName,lpcbValueName,lpReserved,lpType,lpData,lpcbData);

end;
hjkto 2012-02-01
  • 打赏
  • 举报
回复
网上有c代码,不是驱动实现的
代码跳动 2012-02-01
  • 打赏
  • 举报
回复
这个要驱动才可以实现吧。我这几天一直在折腾隐藏进程呢。
hjkto 2012-02-01
  • 打赏
  • 举报
回复
我对c不懂
只是稍微参考一下
d的hook实在太少
Jekhn 2012-02-01
  • 打赏
  • 举报
回复
这段代码用到的类型,宏函,数都是驱动里面用的,楼主说这个不是驱动实现的?
pathletboy 2012-02-01
  • 打赏
  • 举报
回复
看到ExAllocatePool,就知道你这代码是驱动代码。
蓝色光芒 2012-02-01
  • 打赏
  • 举报
回复
不用驱动,不考虑防火墙拦截,inline HOOK才有效果,这C的代码只是HOOK后的实现函数,inline HOOK部分需要重新写
hjkto 2012-02-01
  • 打赏
  • 举报
回复

核心部分

NTSTATUS ntstatus;
NTSTATUS status=STATUS_SUCCESS;
void *sjm;
ULONG vvb=0;
ULONG asp=100;
UNICODE_STRING zxm,yy;
PKEY_VALUE_BASIC_INFORMATION pvbi =(KEY_VALUE_BASIC_INFORMATION)ExAllocatePool(PagedPool,asp);
RtlInitUnicodeString(&yy,L"zhu");
ntstatus = ZHURUINAN( KeyHandle,Index,KeyValueInformationClass,KeyValueInformation, Length,ResultLength);
if( NT_SUCCESS( ntstatus ))
{
if (KeyValueInformationClass==0)
sjm = ((KEY_VALUE_BASIC_INFORMATION)KeyValueInformation)->Name;
if (sjm="Run")
{
status=ZwQueryValueKey(KeyHandle,&yy,KeyValuePartialInformation,pvbi,asp,&vvb);
if (NT_SUCCESS(status))
{
zxm.Length = zxm.MaximumLength =pvbi->NameLength;
zxm.Buffer = pvbi->Name;
if(wcsstr(zxm.Buffer,L"C:\\a.exe")!=NULL)
{
Index=Index+100;
}
}
}
ntstatus = ZHURUINAN(KeyHandle,Index,KeyValueInformationClass,KeyValueInformation,Length,ResultLength);
}

return ntstatus;


Jekhn 2012-02-01
  • 打赏
  • 举报
回复
有C了,那翻译成D不难吧,不知可否贴出C的代码。
erhan 2012-02-01
  • 打赏
  • 举报
回复
mark
重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!
内容概要:本文围绕三相逆变器模型仿真及软开关技术展开研究,基于Simulink平台构建系统仿真模型,深入分析三相逆变器的工作原理、主电路拓扑结构、空间矢量脉宽调制(SVPWM)控制策略及其动态响应特性。重点研究了软开关技术在三相逆变器中的实现方法,通过优化开关时序与谐振网络设计,有效降低了功率器件的开关损耗,提升了系统转换效率与电磁兼容性能。文中详细仿真了不同负载条件下逆变器输出的电压、电流波形,验证了LCL滤波器对高频谐波的抑制效果,并探讨了闭环控制策略对系统稳定性的提升作用。此外,研究结合工程实际,分析了软开关的实现条件及其对系统可靠性的影响,为高性能逆变电源的设计提供了理论支撑与仿真依据。; 适合人群:电气工程、自动化、电力电子与电力传动等相关专业的高年级本科生、研究生,以及从事新能源发电、电能变换、微电网系统研发的工程技术人员。; 使用场景及目标:①作为高校电力电子技术、现代电源设计等课程的仿真教学案例,辅助学生理解逆变器控制与软开关原理;②为新能源并网逆变器、不间断电源(UPS)、电机驱动系统等工业产品的研发提供仿真验证手段和技术参考;③帮助科研人员掌握Simulink在电力电子系统建模、控制器设计与系统级性能评估中的综合应用能力。; 阅读建议:建议读者结合Simulink软件动手搭建仿真模型,逐步调试PWM发生模块、SVPWM调制单元与LCL滤波环节,重点关注软开关谐振过程的波形特征与控制逻辑的匹配关系,进一步可延伸学习数字锁相环(DPLL)、重复控制、模型预测控制等先进算法的集成应用,全面提升电力电子系统仿真与设计水平。

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧