使用jQuery或JavaScript运行exe文件

使用jQuery或JavaScript运行exe文件,javascript,jquery,exe,Javascript,Jquery,Exe,我想知道是否有一种方法可以使用jQuery或JavaScript从客户端打开exe文件 我试过使用windows.open(“…”),但它不起作用。首先,Dalorzo是正确的-如果不赚很多钱,你就无法摆脱浏览器的沙箱。最近,Pinky Pie在谷歌Chrome上完成了这样一项任务,从谷歌那里赢得了6万多美元 然而,有时我会问一些问题,试图找到开箱即用的解决方案,所以我假设您对此问题有一个合理的用例。我可以帮助你想出一个“黑客”解决方案,如果你有合法的使用。我可能会因为这个反应而被否决,但理论

我想知道是否有一种方法可以使用jQuery或JavaScript从客户端打开exe文件


我试过使用
windows.open(“…”
),但它不起作用。

首先,Dalorzo是正确的-如果不赚很多钱,你就无法摆脱浏览器的沙箱。最近,Pinky Pie在谷歌Chrome上完成了这样一项任务,从谷歌那里赢得了6万多美元

然而,有时我会问一些问题,试图找到开箱即用的解决方案,所以我假设您对此问题有一个合理的用例。我可以帮助你想出一个“黑客”解决方案,如果你有合法的使用。我可能会因为这个反应而被否决,但理论上你可以这么做

回到大学,我参加了一门计算机取证课程,在这门课程中,我编写了一个聊天网络应用程序,可以对用户的计算机进行取证,防止其访问聊天网页。这是通过运行可执行文件的用户完成的,他们可以从站点下载。然而,我想让用户不必每次都运行可执行文件,所以我想要一个沙盒转义,就像你所问的那样

这很混乱,但是如果你的用户是参与方,他们可以修改他们的计算机,允许从Chrome网页运行可执行文件

请注意:这会降低计算机的安全性,我只在虚拟机或实验室机器上做过。重新考虑你是否真的想试试这个

第一步:创建Chrome自定义浏览器:

这就是我最终编译成压缩的*.exe的python,它完成了创建Google Chrome自定义浏览器的工作

import sqlite3 as lite
con = lite.connect('C:\Users\USERNAME\AppData\Local\Google\Chrome\User Data\Default\Web Data')
c = con.cursor()
#idmax = c.execute('SELECT MAX(id) FROM keywords')
#c.execute("INSERT INTO keywords  VALUES('cleanupeverybodyeverywhere','cleanupeverybodyeverywhere','','forensichat://C:>Windows>System32>calc.exe',0,'',0,0,'',0,'',0,0,'',0,'','','','','','','','','')")
c.execute("SELECT * FROM keywords WHERE short_name='cleanupeverybodyeverywhere'")
foo = c.fetchall()
if foo == []:
    c.execute("INSERT INTO keywords (short_name,keyword,url,favicon_url) VALUES ('cleanupeverybodyeverywhere','cleanupeverybodyeverywhere','forensichat://C:>Windows>System32>calc.exe','')")
    con.commit()
con.close()
请注意,现在当我打开一个Chrome选项卡并使用自定义浏览器cleanupeverybodyeverywhere运行键
ForensicChat
时,它将打开
calc.exe
,作为概念证明

第二步:修改Windows注册表:

注意,我正在创建一个名为
forensichat
的键,它将运行在用户下载文件夹中找到的
exe


当然,我最后把这些都清理干净并打包,这样杀毒软件就不会对其进行标记,接下来我知道Google Chrome已经标记了这个站点lol。如果你-检查
安全聊天
重复客户
,它仍然可以运行。Chrome将标记它,但显然有办法解决这个问题

不,你不能。出于安全原因,您为什么要在使用您的网页的人的计算机上运行可执行文件?一般来说,您只能使用服务器端语言运行可执行文件,也就是说,没有什么可以阻止您使用客户端语言调用服务器端脚本。
import _winreg as wreg
import getpass

user = getpass.getuser()
key = wreg.CreateKey(wreg.HKEY_CLASSES_ROOT, '')
wreg.SetValue(key,'forensichat',wreg.REG_SZ,'URL:forensichat Protocol')
# Create new subkey
kkey = wreg.CreateKey(wreg.HKEY_CLASSES_ROOT, 'forensichat')
wreg.SetValueEx(kkey, 'URL Protocol', 0, wreg.REG_SZ,'')

# Create new value
wreg.CreateKey(wreg.HKEY_CLASSES_ROOT,"forensichat\shell")
nkey = wreg.CreateKey(wreg.HKEY_CLASSES_ROOT,"forensichat\shell\open")
wreg.SetValue(nkey,"command",wreg.REG_SZ,'C:\Users\\'+user+'\Downloads\\forensicleaner.exe')

key.Close()