安下载(俺下载):打造放心的绿色安全下载站! 安下载首页|软件分类|最近更新

所在位置: 首页  >  电脑软件  >  编程开发  >  安装制作 > BoxedApp Packer(单文件封装工具) v2018.14
BoxedApp Packer(单文件封装工具)

BoxedApp Packer(单文件封装工具)

 v2018.14
  • 软件大小:9.8 MB
  • 更新日期:2019-07-03 12:08
  • 软件语言:简体中文
  • 软件类别:安装制作
  • 软件授权:免费版
  • 软件官网:
  • 适用平台:WinXP, Win7, Win8, Win10, WinAll
  • 软件厂商:

6
软件评分

本地下载文件大小:9.8 MB

软件介绍 人气软件 下载地址

为您推荐: 编程开发

  BoxedApp Packer是一款功能强大的单文件封装工具,用于将exe文件,DLL,ActiveX和其他文件打包到单个可执行文件中,您可以放置原始exe文件所依赖的所有库,ActiveX控件以及其中的所有类型的文件,软件解决的主要问题是创建不需要安装的应用程序,与此同时,您可以自由选择用于创建应用程序的组件,例如您可以使用任何第三方DLL,任何ActiveX。只需“告诉”BoxedApp Packer应用程序所依赖的文件,它将生成一个自我维护的exe文件,以这种方式生成的可执行文件不会在磁盘上创建临时文件,它不会修改注册表以确保所有嵌入文件都像真实一样运行,嵌入的文件直接提取到内存,而ActiveX / COM库在虚拟注册表中注册。

BoxedApp Packer(单文件封装工具)

软件功能

  直观的布局

  一个非常简单的界面提供了将所有文件打包成可执行文件的所有选项。原始可执行文件的位置和结果可执行文件的位置在应用程序窗口的上部定义。

  在屏幕下方,可以添加原始应用程序所需的所有依赖项。

  BoxedApp Packer提供了添加单个文件和文件夹的选项。该应用程序依赖于“虚拟文件”概念,这意味着该项目在磁盘上不可用,但它可以像运行一样运行。

  定义依赖属性

  只要将新项目添加到树中,系统就会提示用户进行定义对象的实际和虚拟路径的设置,以及创建一个属性页。

  除文件外,BoxedApp Packer还可用于导入注册表项。一组简短的配置选项可以启用与子进程共享的虚拟环境,调试日志可以实现文件系统和注册表中所有更改的虚拟化。

  易于使用可执行文件生成工具

  BoxedApp Packer不应该太难处理,特别是对于更有经验的用户; 但是,即使是熟悉将应用程序打包成可执行文件的不太高级的人也可以轻松使用它,这要归功于随附的文档。

软件特色

  BoxedApp Packer能够支持大型打包文件。

  BoxedApp Packer旨在通过提供将所有必需元素打包到单个可执行文件中的可能性来满足这一需求。元素可以是从库到ActiveX控件或应用程序所需的任何其他文件。

  在系统上安装应用程序不需要太长时间即可完成,用户无需在此过程中投入太多精力。

  将您的程序和第三方依赖项打包在一个可以独立运行的可执行文件中,以获得无缝的安装体验。

  您可以通过添加插件来进一步扩展单个可执行应用程序的功能。

  这些插件使用了一个特殊的API - BoxedApp SDK API - 允许“动态”创建虚拟文件,使用虚拟注册表等等。

  例如,您可以让应用程序在启动时通过网络或通过Internet加载必要的DLL,然后使用该资源,就像在本地硬盘驱动器上实际可用一样。

安装方法

  1、下载并解压软件,双击安装程序进入如下的BoxedApp Packer安装许可协议界面,勾选【I accept the agreement】的选项,点击【next】。

BoxedApp Packer(单文件封装工具)

  2、选择安装位置,默认的安装文件夹为C:\Program Files (x86)\BoxedAppPacker,若需要更改,单击【browse】按钮设置。

BoxedApp Packer(单文件封装工具)

  3、选择开始菜单文件夹,默认为BoxedApp Packer。

BoxedApp Packer(单文件封装工具)

  4、选择附加任务,您可以勾选【Create a desktop icon】的选项创建桌面快捷方式的选项。

BoxedApp Packer(单文件封装工具)

  5、准备安装,点击【install】按钮执行安装操作。

BoxedApp Packer(单文件封装工具)

  6、BoxedApp Packer安装完成后,点击【finish】结束安装,即可直接使用,安装程序自带。

BoxedApp Packer(单文件封装工具)

使用说明

  虚拟过程

  如果可执行文件是虚拟的,则基于该文件创建进程(此类进程称为虚拟进程)需要不同的方法。 要创建虚拟进程,BoxedApp SDK会选择一个合适的exe文件,它可用于创建新进程。 那个exe文件叫做stub exe。 Stub exe由CreateProcess运行,带有CREATE_SUSPENDED标志。 实际的存根exe文件将不会运行。 BoxedApp在创建的进程的上下文中扩展虚拟exe文件的代码,并将控制传递给它。 虚拟进程始终附加到虚拟环境,因为它是从虚拟文件创建的。 对于存根可执行文件,BoxedApp使用Windows系统文件夹中最合适的exe文件。

  共享内存

  所有附加进程都可以访问共享内存,该内存是在内存映射文件的基础上实现的。 它是存储虚拟文件系统和虚拟注册表数据的内存类型。 开发人员可以在共享内存中分配和释放内存块。 BoxedAppSDK_SharedMem_Alloc和BoxedAppSDK_SharedMem_Free函数为这些操作提供了便利。 BoxedAppSDK_SharedMem_Alloc返回指向内存块的处理程序。 要直接访问分配的内存块,请使用函数BoxedAppSDK_SharedMem_Lock,它返回指针。 一旦读取了内存块中的数据,或者修改了块,BoxedApp就会调用函数BoxedAppSDK_SharedMem_Unlock。 此API与winapi函数LocalAlloc / LocalLock / LocalUnlock / LocalFree非常相似。

  虚拟文件系统

  BoxedApp的核心是在所谓的用户模式中拦截对操作系统的调用的机制。 与在内核模式下运行的系统不同,BoxedApp不需要安装驱动程序,因此具有管理员权限。 特别是,BoxedApp拦截了应用程序使用文件系统所做的所有调用。

  BoxedApp引入了虚拟文件的概念 - 一个“文件”,它实际上并不存在于磁盘中,但应用程序的运行就好像“文件”实际存在于那里一样。 例如,应用程序尝试通过发出相应的调用来打开虚拟文件C:\ 1.dll。 BoxedApp获取控件并检查要打开的文件的路径。

  如果路径指向虚拟文件,而不是调用原始文件打开函数,BoxedApp将返回指向虚拟文件的虚拟句柄。

  一组虚拟文件形成虚拟文件系统。

  BoxedApp SDK

  BoxedApp SDK是一个用于模拟文件系统,注册表和其他Windows子系统的开发人员库。

  BoxedApp SDK如下:

  •bxsdk32.dll(用于32位应用程序)和bxsdk64.dll(用于64位应用程序),可以在任何开发环境中使用,例如Visual C ++,VB6,C#,VB.Net,Delphi,Builder C ++。

  •bxsdk32.lib(用于32位应用程序)和bxsdk64.lib(用于64位应用程序),一个用于Visual C ++的静态库(适用于所有版本)。

  •BoxedAppSDK_Static.pas,一个delphi文件,用于使用Delphi或Builder C ++(适用于所有版本)编写的应用程序进行静态链接。

  创建虚拟文件

  可以显式和隐式地创建虚拟文件。显式地,可以使用以下函数创建虚拟文件:

  •BoxedAppSDK_CreateVirtualFile创建一个虚拟文件,其内容位于共享内存中。

  •BoxedAppSDK_CreateVirtualFileBasedOnIStream - 创建一个虚拟文件,其行为由标准接口IStream的实现决定。

  •BoxedAppSDK_CreateVirtualFileBasedOnBuffer - 创建一个虚拟文件,其内容位于内存缓冲区中,在读取和写入时使用。

  •BoxedAppSDK_CreateVirtualDirectory - 创建一个虚拟目录,其内容位于共享内存中。

  隐含地,当“所有更改都是虚拟”模式打开时,可以显示虚拟文件。在此模式下,创建新文件时会创建虚拟文件。如果文件的父目录是使用BoxedAppSDK_CreateCustomVirtualDirectory创建的,则将调用相同的方法在其中创建文件。如果父目录既不是虚拟文件也不是使用BoxedAppSDK_CreateVirtualDirectory创建的文件,那么,根据它是要创建的目录还是常规文件,BoxedApp将使用BoxedAppSDK_CreateVirtualFile或BoxedAppSDK_CreateVirtualDirectory方法。

  使用COM / ActiveX对象而不在注册表中注册它

  COM / ActiveX组件传统上在系统注册表中注册,以允许相应的Windows API函数查找包含组件代码的模块(DLL或EXE)。

  注册时出现的主要问题是缺少用户权限,这是写入注册表所必需的。

  此外,在创建便携式应用程序时,能够在不事先安装的情况下运行应用程序非常重要。

  BoxedApp SDK允许在虚拟注册表中注册COM / ActiveX组件。

  促进这一点的两个功能是:

  •BoxedAppSDK_RegisterCOMLibraryInVirtualRegistry,它注册在虚拟注册表中作为DLL的COM组件库。

  •BoxedAppSDK_RegisterCOMServerInVirtualRegistry,它注册在虚拟注册表中作为EXE组成的COM组件库。

  在调用所需的函数之后,应用程序可以创建COM / ActiveX对象,就像它们实际上已在系统注册表中注册一样。

  从内存加载DLL

  假设第三方组件仅作为DLL提供。 不过,我们需要在输出中获得一个exe文件。 有几个原因:

  •我们可能需要隐瞒使用DLL的事实。

  •或者我们可能需要保护DLL不被黑客篡改。

  使用BoxedApp SDK,开发人员创建一个虚拟文件(例如,使用函数BoxedAppSDK_CreateVirtualFile)并将DLL文件的内容写入该文件。 它可以从任何来源获取数据:Internet,LAN,数据库或应用程序资源。 最后,数据可以即时生成。

  现在,您可以使用LoadLibrary函数下载库,应用程序将运行,就像DLL文件实际存在于磁盘上一样。

  直接从内存启动应用程序

  使用虚拟文件,您可以通过调用创建进程的任何函数来创建基于该文件的进程:CreateProcess,WinExec或ShellExecute。

  BoxedApp SDK拦截进程创建请求。 如果它检测到尝试基于虚拟文件创建进程,则会加载所谓的“存根”可执行文件,根据它创建进程,将虚拟文件的内容写入其中,然后将控制传递给它。 这些过程称为虚拟过程。

人气软件