Ruby脚本转换成可执行文件
今天无意中看到了一篇关于OCRA工具的介绍,体验了一下,不错的一个工具,
可以很轻松的将ruby脚本转换成exe文件
当然需要安装ocra的gem包, gem install ocra 即可
ocra命令参数
ocra --help ocra [options] script.rb options可取值如下: --dll dllname Include additional DLLs from the Ruby bindir. --no-lzma Disable LZMA compression of the executable. --quiet Suppress output. --help Display this information. --windows Force Windows application (rubyw.exe) --console Force console application (ruby.exe) --no-autoload Don't load/include script.rb's autoloads --icon Replace icon with a custom one --version Display version number
以下是测试过程:
先创建了一个测试脚本test.rb
require 'pathname' require_relative 'hello' path = Pathname.new(File.dirname(__FILE__)).realpath f = File.open("F:\\test.txt","w+") f.puts "test" f.puts path f.close hello "hello world"
为了测试能否将依赖的脚本一并打包,该脚本引用了hello.rb
def hello s puts s end
在命令行中执行
F:\>ocra --console test.rb
=== Loading script to check dependencies
hello world
=== Including 53 encoding support files (3194880 bytes,
DL is deprecated, please use Fiddle
=== Building test.exe
=== Adding user-supplied source files
=== Adding ruby executable ruby.exe
=== Adding detected DLL C:/ruby-2.0.0/bin/zlib1.dll
=== Adding detected DLL C:/ruby-2.0.0/bin/LIBEAY32.dll
=== Adding detected DLL C:/ruby-2.0.0/bin/SSLEAY32.dll
=== Adding detected DLL C:/ruby-2.0.0/bin/libffi-6.dll
=== Adding library files
=== Compressing 9578823 bytes
=== Finished building test.exe (2410533 bytes)
结果:
文件操作正常,打印正常
不过使用path来获取脚本路径,这个会返回一个临时目录
C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ocr18A.tmp/src
所以这个方法应该用不了
path = Pathname.new(File.dirname(__FILE__)).realpath
其他的用法还有待体验。
相关推荐
Ocra,全称为"One-Click Ruby Application",是专门为Ruby开发者设计的一个工具,它允许用户将Ruby源代码打包成独立的可执行文件,使得在没有Ruby环境的Windows系统上也能运行Ruby应用程序。这一特性对于分发和部署...
用于打包ruby代码生成EXE程序,最新的GEM包ocra-1.31.gem
- **可扩展性**:OATH 可以与其他安全措施(如生物识别)结合使用,提供多层次的保护。 **总结** OATH OTP 算法为网络安全提供了强大的保障,尤其是对于需要高安全性的服务,如网上银行、企业内部系统等。HOTP、...
奥克拉主页:: 问题:: 论坛:: 描述OCRA(一键式Ruby应用程序)从Ruby源代码构建Windows可执行文件。 该可执行文件是一个自解压,自运行的可执行文件,其中包含Ruby解释器,您的源代码以及任何其他需要的ruby库或DLL。...
pulseq_assembler.py是一个汇编程序,它使用一个.seq文件,并将OCRA机器代码和数据组合到该文件的规范中。 用法 PSAssembler是根据时序和系统规格进行初始化的对象。 初始化之后,运行PSAssembler.assemble("...
Ruby 代码覆盖率工具 Coco 是一款用于评估 Ruby 代码测试完整性的实用工具。它允许开发者量化他们的测试套件对源代码的覆盖程度,从而确保代码的质量和健壮性。Coco 提供了一种简单的方式来集成到 RSpec 和其他的...
可用来编辑 Windows Installer 数据库文件 (.msi) 文件,合并模块 (.msm) 文件,补丁 (.msp) 文件,内部一致性计算程序 (.cub) 文件和补丁创建属性 (.pcp) 文件。是修改和本地化 Windows Installer 数据库的最佳辅助...
3. **OCRA(One-Time Password Algorithm)**:OCRA 在 RFC 6287 中描述,它是 OATH 的扩展,允许在不同的上下文中使用一次性密码,比如结合了挑战-响应机制。OCRA 实现会包括处理挑战字符串、密钥和时间或计数器的...
本文提出了一种基于拍卖机制的充电桩分配与定价机制(VCG-OCRA),旨在解决充电桩在分配资源给用户时存在的分配不合理、定价无法及时反映市场需求及资源提供商的整体福利较低等问题。该机制首先将充电桩的实际问题...
5. **ocra-1.3.6.gem**:OCRA(One-Click Ruby App)是一个用于将Ruby应用程序打包成独立可执行文件的工具。这在分发Veil的payloads时可能非常有用,因为它们可以被封装成单个文件,无需用户安装额外的环境。 6. **...
rust-oath该库旨在提供RFC规定的HOTP,TOTP和OCRA的实现。 实现:HOTP(RFC 4226)TOTP(RFC 6238)rust-oath该库旨在提供RFC规定的HOTP,TOTP和OCRA的实现。 实现:HOTP(RFC 4226)TOTP(RFC 6238)OCRA(RFC 6287...
ocra.py
该款工具可认保留原始的布局,和gif文件中的文字。友好的用户界面使我们使用起来非常容易,只需简单的几下点击就可完成。更重要的一点是,工具的处理速度非常快。欢迎需要的朋友前来下载吧 功能介绍 提供了友好...
OCRA,全称为“OATH挑战-响应算法”(One-Time Password Algorithm - Challenge-Response),是一种基于时间、事件或硬件令牌的一次性密码生成协议。它扩展了HOTP(基于事件的一次性密码算法)和TOTP(基于时间的一...
Windows / Ocra的批处理编译器(几乎没有用) 科学(Windows) 示例目录 示例zip 这个文件 蓝宝石是: 适用于Windows的独立Ruby,包括用于制作游戏的宝石 模板制造商开始更轻松地使用Ruby / Gosu开发游戏 如果您...
由于提供的压缩包名为 "ocra-master",这可能意味着它是ocra.js项目的主分支或者完整源代码仓库。解压后,我们可以期待找到项目文件结构,包括`package.json`(列出依赖和项目配置)、`index.js`(可能包含主入口...
这是絮状HDL文件,Icarus Verilog测试平台,Verilator仿真框架和Vivado IP核心XML描述的集中存储库。 Flocra使用Xilinx Zynq ZC-7020芯片设计用于STEMlab-122.88器件,但是如果减小了主存储器或FIFO的大小,它将很...
在给定的压缩包文件中,`sbp1_50sc_sp6.exe`可能是一个特定的安装程序制作工具的执行文件,版本号可能是1.50,SP6代表服务包6,这通常意味着这是一个包含之前版本更新和修复的版本。这种类型的文件通常双击运行后会...
OCRA:非灌注脉络膜毛细血管面积计算器 对于稳定版本(OCRA 1.46): https : //github.com/erdosty/OCRA/releases/tag/1.46 对于最新版本(OCRA 1.60): https : //github.com/erdosty/OCRA/releases/tag/1.60 ...
安装在您的composer.json添加"ocramius/ocra-di-compiler": "dev-master" 运行php composer.phar install 通过将OcraDiCompiler添加到modules ,在config/application.config.php启用该modules 或者...