Windows可执行文件[.exe]如何从浏览器中启动?

3
我不是在谈论浏览器漏洞,而是真正的应用程序,例如 IjjiNexon,这些应用程序是真实的公司使用的。从他们的网站上,您可以点击“开始游戏”按钮,这将启动位于 c:\ijji\english 或 c\nexon[gamename] 的可执行文件。这些应用程序是真正的桌面应用程序,这意味着它们可以利用文件系统、direct3d 和操作系统(以执行其他应用程序的形式)。这些应用程序也可以通过命令行启动(而不是访问游戏主机的网站)。我认为,如果应用程序创建了一个 ActiveX 对象来调用新进程的创建,那么这是可能的。然而,这些网站能够从多个浏览器(包括 Chrome)启动应用程序,据我所知,Chrome 并没有实现 ActiveX。显然,开发这些应用程序的人使用自己的方法来做到这一点。
从服务列表和当前运行的应用程序列表来看,我没有发现它们正在运行像"gameLaunchingServer.exe"这样的东西,该程序监听某个不常用的端口以等待传入连接[通过iframe - HTTP协议进行访问],并在收到请求后启动一个应用程序... 我很困惑,这件事一直萦绕在我的脑海中。显然,他们没有使用随机浏览器漏洞,否则http://www.[insertMaliciousWebsiteHere].com上的人们早已抓住机会安装各种垃圾软件。无论如何,这听起来很酷,我想知道它是如何工作的。只是出于好奇,呵呵。
4个回答

4
我相信他们在安装时设置了自己的协议处理程序——当浏览器被要求访问一个它不知道如何处理的地址时(例如,一个 steam:// 地址),它会查找所有已安装的协议处理程序以寻找匹配项。
因此,您可以将您的应用程序注册为 myApplication:// 协议处理程序,然后您的网页就可以链接到 myApplication:// 地址并启动您的应用程序。

3

我没有完全找到你所说的按钮,但我认为它只在你安装应用程序后才能使用,是这样吗?

如果是这种情况,该应用程序可能创建了自己的协议,就像Skype、MSN和一些客户端一样。


0

拥有协议是最简单的方式(实现起来非常简单-只需一个简单的注册表键)。

另一种常用的方式是使用扩展或插件。


0

我以为它们是通过插件或类似小程序运行的。

例如,微软的SilverLight。

alt text


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接