2010-12-08 200 views
3

我不是在談論瀏覽器漏洞。我正在談論真實公司中使用的真實應用程序,如IjjiNexonWindows可執行文件如何從瀏覽器中啓動[.exe]?

基本上,從他們的網站上,你可以點擊一個「開始遊戲」按鈕,它將分別啓動一個位於c:\ ijji \ english或c \ nexon [gamename]的可執行文件。這些應用程序是真正的桌面應用程序,這意味着它們可以利用文件系統,direct3d和OS [以執行其他應用程序的形式]。應用程序也可以通過命令行啓動[而不是去遊戲主機的網站]。

我覺得如果應用程序創建一個ActiveX對象來調用創建一個新進程,這將是可能的。但是,這些網站能夠從Internet Explorer以外的多個瀏覽器啓動應用程序,包括chrome,據我所知,它並不實現ActiveX。

很顯然,開發這些應用程序的人們使用自己的方式來做到這一點。

從查看服務列表以及當前正在運行的應用程序列表中,我沒有任何跡象表明它們正在運行諸如「gameLaunchingServer.exe」之類的服務,它偵聽某個輸入連接的某個模糊端口[要使用iframe - HTTP協議],並通過啓動一個應用程序來響應...

我很難過,這種感覺有點卡在我的腦海裏。顯然,他們沒有使用一些隨機的瀏覽器漏洞,否則在http:// www。[insertMaliciousWebsiteHere] .com上的用戶就已經有機會安裝隨機垃圾了。無論如何,這似乎很酷,我想知道它是如何工作的。

只是好奇,嘿嘿。

回答

3

我相信他們正在做的就是在安裝時設置自己的協議處理程序 - 當瀏覽器被要求使用不知道如何處理的協議訪問地址(例如,一個蒸汽:/ /地址),它會查看所有安裝的協議處理程序以查找匹配項。

因此,您可以將您的應用程序註冊爲myApplication://協議處理程序,然後您的網頁可以鏈接到myApplication://地址並啓動您的應用程序。

3

我沒有完全找到你正在談論的按鈕,但我認爲它只在你安裝了一次應用程序後才起作用,不是嗎?

在這種情況下,應用程序可能會創建自己的協議,就像Skype,MSN和一羣客戶端一樣。

0

有一個協議是最簡單的方法(並且實現起來非常簡單 - 一個簡單的註冊表鍵)。

另一種使用的方式是擴展或插件。

0

我以爲他們是通過插件或類似applet運行的。

例如,MS Silverlight的

alt text

相關問題