我希望能够将ruby程序编译为java JAR程序.我查看了JRuby并看到了几个能够eval()ruby代码的Java应用程序示例,但有一个更优雅的解决方案,允许简单地编写ruby中的所有内容,然后直接将批量编译成JAR文件吗?
其背后的总体目标是能够扩展名为Burp Proxy的安全工具.所以我希望能够使用我所有的Ruby测试脚本(显然是组织它们以便它们与Burp扩展器连接)并将我的插件编译成可以由该工具执行的JAR文件.
如果您可以在答案中包含一些示例或指向示例的链接,甚至会更好!
谢谢你的时间.
我将需要编写一个程序,该程序采用人员列表并以有向图形的方式将它们连接在一起.整个项目的GUI方面非常重要.该图必须允许大量的交互.比如选择几个人并隐藏其他人,移动它们.
此外,该软件还需要能够提供其他类型的GUI功能,如多个选项卡,文本框等.
应用程序必须非常高效.同样,它必须能够处理数百个甚至数千个小部件.
因此,我想知道哪些开源库(此时他们编写的编程语言并不重要 - 我只想概述那里的所有好东西)是否允许我开发这样的软件?你会推荐什么?
编辑:请问您还可以链接到教程,解释如何编写可以与生成的图形交互的GUI吗?例如鼠标事件.
我目前正在使用Mongrel开发自定义Web应用程序项目.
我希望Mongrel使用基于正则表达式的定义的Http Handler.例如,每当有人调用http://test/bla1.js或http://test/bla2.js这样的URL时,就会调用相同的Http处理程序来管理请求.
到目前为止我的代码看起来像这样:
http_server = Mongrel::Configurator.new :host => config.get("http_host") do
listener :port => config.get("http_port") do
uri Regexp.escape("/[a-z0-9]+.js"), :handler => BLAH::CustomHandler.new
uri '/ui/public', :handler => Mongrel::DirHandler.new("#{$d}/public/")
uri '/favicon', :handler => Mongrel::Error404Handler.new('')
trap("INT") { stop }
run
end
end
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我试图在这里使用正则表达式而不是字符串:
uri Regexp.escape("/[a-z0-9]+.js"), :handler => BLAH::CustomHandler.new
Run Code Online (Sandbox Code Playgroud)
但这不起作用.有解决方案吗
感谢那.
我有一个生成表单面板的脚本:
var form = new Ext.FormPanel({
id: 'form-exploit-zombie-' + zombie_ip,
formId: 'form-exploit-zombie-' + zombie_ip,
border: false,
labelWidth: 75,
formBind: true,
defaultType: 'textfield',
url: '/ui/modules/exploit/new',
autoHeight: true,
buttons: [{
text: 'Execute exploit',
handler: function () {
var form = Ext.getCmp('form-exploit-zombie-' + zombie_ip);
form.getForm().submit({
waitMsg: 'Running exploit ...',
success: function () {
Ext.beef.msg('Yeh!', 'Exploit sent to the zombie.')
},
failure: function () {
Ext.beef.msg('Ehhh!', 'An error occured while trying to send the exploit.')
}
});
}
}]
});
Run Code Online (Sandbox Code Playgroud)
同样的脚本,然后检索从我的服务器JSON文件定义输入多少个字段的形式应该包含的内容.然后,该脚本将这些字段添加到表单中:
Ext.each(inputs, function(input) { …Run Code Online (Sandbox Code Playgroud) 我只是使用IDA反向设计二进制文件并加载Hex Ray以检查特定功能.generate C源代码包含以下if语句:
LP_ret_GlobalLock_1 = GlobalLock(hMem);
LP_ret_GlobalLock_2 = LP_ret_GlobalLock_1;
...
if ( !LP_ret_GlobalLock_1 || (v9 = *(_DWORD *)(v6 + 4), *(_DWORD *)v6 = LP_ret_GlobalLock_2, v9 < 0) )
Run Code Online (Sandbox Code Playgroud)
我不确定完全理解以下部分:
(v9 = *(_DWORD *)(v6 + 4), *(_DWORD *)v6 = LP_ret_GlobalLock_2, v9 < 0)
Run Code Online (Sandbox Code Playgroud)
v9初始化为v6 + 4; 但是后来v6被修改为指针LP_ret_GlobalLock_2,最后v9检查是否小于0.这是正确的吗?在计算v9时,v6使用了什么值?LP_ret_GlobalLock_2或之前的值?
我正在寻找该代码的替代方案:
expl = eval "BeEF::Modules::Exploits::#{klass.capitalize}.new"
Run Code Online (Sandbox Code Playgroud)
这里的评估是完全不安全的.有没有我可以用来生成动态类而不使用eval的替代方法?就像在,klass总是不同的.所以我的代码保持通用.
谢谢你的时间.
我正在尝试定义一个名为"HTML"的类来扩展 Nokogiri - 它使用模块.
我尝试了以下方法:
require 'nokogiri'
class HTML
include Nokogiri
end
Run Code Online (Sandbox Code Playgroud)
和
require 'nokogiri'
class HTML
extend Nokogiri
end
Run Code Online (Sandbox Code Playgroud)
但到目前为止,类HTML仍然无法继承nokogiri中的所有函数.所以像这样的东西不起作用:
doc = HTML.new
doc.HTML(open('http://www.google.com/search?q=tenderlove'))
Run Code Online (Sandbox Code Playgroud)
用于#的未定义方法`HTML'(NoMethodError)
有谁知道如何设法继承模块的所有方法的类?