禁用了 ie 不过资源管理器还可以上网。(100分)

  • 主题发起人 主题发起人 sunsiz
  • 开始时间 开始时间
S

sunsiz

Unregistered / Unconfirmed
GUEST, unregistred user!
网上看了好多东西,说要hook api 函数才可以做到。我找了一个防火墙源码(psmfirewall)用他的dll做了个测试程序可以了,不过那个dll里面有好多我不需要的东西修改起来也很不方便,修改以后要集成到我的程序我想稳定性和性能都会带来很大的影响。所以如果有人知道更简单些的办法,可以提出来帮帮我!
 
不明白楼主到底要干什么?
 
我的意思是不让资源管理器(explorer.exe)连接互联网。我原来目的是不让用户浏览网页,我已经禁用了ie,不过用资源管理器的地址栏输入一个url同样可以浏览网站了。我就要不让他浏览网站但是其它的干什么都可以。
能帮忙吗?
 
禁用 http 之类的协议啊
 
直接封掉80端口不就行了
 
在网络出口加上端口过滤,访问远程80,8080全部都不允许
 
呵呵,在本地装个代理软件,你禁端口或软件也没用啊。
 
to LSUPER:
我要随时让他禁止,又随时要它恢复。有什么具体的思路吗?
to Corn3,暗夜中独舞:
你能封别人服务器的80端口吗?浏览器不会访问本机的80端口来让我们浏览网页吧!
to boy2002cn:
我也希望这样做,不过用delphi实现有什么思路或实例吗?
to nicai_wgl:
要是用其它软件我不用在这里写这些东西的吧!
 
你可以定时监控用户的输入
只要是带http, ftp之类的开头的
就判断是什么程序
如果是IE 或者资源管理器 那么直接kill这样比较简单
 
不过人家不一定输入http,ftp等字样,如果直接输入网址怎么办?
而且如果是资源管理器直接kill那么整个explorer.exe也就被关闭了,所以不能kill资源管理器。如果能找出唯一表示哪个浏览网页的资源管理器窗口可以关闭它(只关闭该窗口而不是整个资源管理器),不过用资源管理器浏览某个网站,该窗口的标题栏只有该网站的名称没其它的东西就难以区分。
 
用Winpcap吧!虚拟一块网卡,所有数据从你虚拟的网卡走,然后,想干嘛干嘛!
 
to zqw0117:
我不用管其它的只要在本机阻止某一个应用程序(资源管理器)的上网就行了。其它的程序应该可以正常使用网络。
 
我用了在
http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_21729634.html
介绍的方法:
{
You're going to have to do things like :-

HookCode('WS2_32.DLL', 'WSAConnect', @WSAConnectCallBack, @WSAConnectOld);
HookCode('wsock32.dll', 'connect', @ConnectCallBack, @ConnectOld);

and handle each and every function to be able to look at the data.
The call backs are like :-

function connectCallBack(s: TSocket; var name: sockaddr_in; namelen: Integer): Integer; stdcall;
begin
.................
Result := connectOld(s, name, namelen);
end;

function WSAConnectCallBack( const s : TSocket; const name : PSockAddr; const namelen : Integer; lpCallerData,lpCalleeData : LPWSABUF; lpSQOS,lpGQOS : LPQOS ) : Integer; stdcall;
begin
.....
Result := WSAConnectOld(s, PSockAddr, namelen, lpCallerData, lpCalleeData, lpSQOS, lpGQOS);
end;

and so on.
}

可以阻止上网,不过它阻止了所有程序,我怎样才能阻止指定某一个程序呢?
谁有好办法吗?
 
只要包含什么http,ftp,www之类的全部禁用
 
to dunboy_del:
怎么禁用能具体说一下吗?
 
上面说的一样,我用全局钩子可以hook所有程序。不过怎样才能hook其中某一个呢?
谁帮忙解决这个问题呢?[:(]
 
>>可以阻止上网,不过它阻止了所有程序,我怎样才能阻止指定某一个程序呢?
谁有好办法吗?


可以在这个函数里面调用GetModuleNameEx函数,得到当前执行这个函数的exe的文件名,除了你允许的外,其他就禁止。
 
要说说具体原因,控制ie不控制fox?要求不合理!
 
to zqw0117:
调用GetModuleNameEx函数可以得到当前执行这个函数的所有exe的文件名和路径。不过现在的问题是如何对某一个程序实现阻止或允许功能,就这个问题有点困惑。
 
后退
顶部