进程启动和隐藏问题(900分了有没人能帮我呀) (300分)

  • 主题发起人 主题发起人 kanny_chen
  • 开始时间 开始时间
K

kanny_chen

Unregistered / Unconfirmed
GUEST, unregistred user!
1.我想做一个控制软件,在WIN98完全启动之前就运行我的程序进行验证,
验证过程完成之前都要处于等待状态,如果验证通过的话,继续启动加载WIN98,否则一至等待或关机

有人说改SHELL=EXPLORER.EXE为SHELL=自己的验证程序
这个我试过了,可是可以但是只能运行自己的验证程序了,不能进入WINDOWS系统,我在
自己的验证程序中运行EXPLORER后它只出来一个资源管理器并没有正常进入WINDOWS系统


2 另外线程隐藏后能不能在msconfig中的"启动"也隐藏掉自己加载的程序?

 
是不是做象“超级保镖”之类的,电脑保护软件?GZ
 
1. 可以修改IO.SYS 中的 AUTOEXEC.BAT的指向。 让你的程序在WIN.COM加载前就执行。
这要写个DOS验证程序。
2.msconfig仅仅是读系统注册表中的 RUN 里的内容。
可以绕过MSCONFIG 。 把自己的程序写成VXD或是DRV .让程序以驱动方式加载运行在
ring 0 就可以了。
 
最好还是改引导区,象PQMAGIC一样。
 
呵呵我菜得很请各位不要笑话

可能我没说清楚,我是想在进入WIN98桌面之前(就象在进入WIN98前需要输入密码一样)
运行我的EXE程序进行验证,如果验证通过则正常进入WIN98,否则一直等待验证或过一
段时间没有验证就关机

TO:王大虾
可以绕过MSCONFIG 。 把自己的程序写成VXD或是DRV .让程序以驱动方式加载运行在
ring 0 就可以了。???不是很明白

 
如果要实现你的目的
好象不能使WIN98不启动,只能在注册表的runserver中加入自己的起动程序,
在程序中禁止Win98的ctrl+alt+del键,并让程序全屏位于最顶端

以上还必须禁止进入安全模式,禁用注册表编辑器等~~~~~~~~
我看还是用win2000或xp好。
 
订阅.
基本上这个很难.
 
这是一个网友的文章 你可以在启动时候运行这个程序 设定只有你的程序可以运行 然后输入了正确的密码后就允许其他的程序运行了
虽然可能还会有很多问题 不过我想这也算是一种解决方案吧 可以再研究一下
在注册表中有一个关键字('Hkey_current_usersoftwaremicrosoftwindowscurrentversionpoliciesexplorerrestrictrun'),
当此关键字存在,且此关键字中有一个二进制数(restrictrun),当把二进制数的值为设置为1时,表明可限制当前用使用权限,
在注册表中还不一关键字('softwaremicrosoftwindowscurrentversionpoliciesexplorerrestrictrun'),此关键字中,存放有字符串值,
字符串的值为授权可以使用的程序名(注、此名字只能是程序名,不能含路径),字符串名字可按数值序列新建,在WIN9X中,你只需要通过
“Regedit.exe”程序添加('softwaremicrosoftwindowscurrentversionpoliciesexplorer')关键字,
然后在添加('softwaremicrosoftwindowscurrentversionpoliciesexplorerrestrictrun')关键字,在此关键字中添加相应的程序名就可以设置WIN9X中应用程序的使用权限。
在Delphi 实现
步骤:
1、新建一个窗口,在窗口中加入一个BUTTON,名字为BUTTON1功能为设置使用在WIN9X程序权限。在BUTTON1click中加入如下代码。
procedure TForm1. BUTTON1 Click(Sender: TObject);
var
myReg:TRegistry;
i:integer;
begin
myreg:=tRegistry.Create ;
myreg.RootKey:=HKEY_CURRENT_USER;

myreg.OpenKey('softwaremicrosoftwindowscurrentversionpoliciesexplorer',true);//如果没有这个关键字则新建并打开。
myreg.writeinteger('restrictrun',1);//把restrictrun的值设置为1。
myreg.OpenKey('softwaremicrosoftwindowscurrentversionpoliciesexplorerrestrictrun',true);
if opendialog1.Execute then
begin
assignfile(right_file, opendialog1.FileName );
reset(right_file);//通过权限文件设置WIN9X使用程序权限。
readln(right_file,s_r);
myreg.WriteString('1',s_r);//写入一个可以使用程序
//

例:myreg.WriteString('1',’winword.exe’)
i:=1;
while not eof(right_file) do
begin
i:=i+1;
readln(right_file,s_r);
myreg.WriteString(inttostr(i),s_r);
end;
i:=i+1;
while myreg.ValueExists(inttostr(i)) do
begin //删除在注册表中添加进的多余的程序。
myreg.DeleteValue(inttostr(i));
i:=i+1;
end;
end;
closefile(right_file);
myreg.CloseKey;

end;
2、可以在窗口(FORM)中加入另一个BUTTON,名字为BUTTON2,功能为取消使用在WIN9X程序权限。在BUTTON2click中加入如下代码。
procedure TForm1.BitBtn2Click(Sender: TObject);
var
myReg:TRegistry;
begin
myreg:=tRegistry.Create ;
myreg.RootKey:=HKEY_CURRENT_USER;
myreg.OpenKey('softwaremicrosoftwindowscurrentversionpoliciesexplorer',true);
myreg.writeinteger('restrictrun',0);
myreg.CloseKey;
end;
 
写ddk吧。
 
一启动运行自己的程序,把桌面的其他东西都隐藏,屏蔽快捷键,行吗?


订阅!

 
见我的文章
用一个驱动将任意进程隐藏的
将自己的程序写成driver很不实现的
因为driver做的东西应用程序不能做
应用程序做的东西driver不能做
 
改SHELL=EXPLORER.EXE为SHELL=自己的验证程序,在自己的验证程序里写上判断条件,决定是否
启动EXPLORER.EXE或是关机等.比较容易.
不想在msconfig里看到启动项,可以在注册表里将你的程序与比explorer.exe启动早的EXE文件
建立关联即可.(许多木马都这么做),至于不能进入安全模式等等其它限制在注册表里也很容易
做到.
 
在你的验证程序里如何正常启动explorer.exe涉及到参数传递的问题.要不然就只能启动
资源管理器了.我已测试通过.
 
哈哈,很热闹,但是我不知道。看看那位高手能够搞定阿。
 
的确很热闹哦!关注!
 
to 热血:
你的文章在哪里?
to rgzy:
难怪,一直就没搞懂还要传递啥子参数的,请问你是如何做的,请明确指点好吗?

想加你为好友,EMAIL?OICQ?
kanny_chen@sohu.com
qq:6239970

TO ALL:
现在只有300,搞定了再补600,谢谢大家捧场
 
用HOOK!!! 嘻!
 
多人接受答案了。
 
后退
顶部