How to provide variable to irb session

Hello all,

Can anyone tell me how I would go about providing a variable to an irb
session? For example, see the following screenshot from the Metasploit
Meterpreter in irb mode.

http://www.metasploit.com/images/gallery/msf3-meterp-irb.jpg

Does anyone know how they are actually providing the ‘client’ variable
to the irb session?


Thanks!
Bryan

Bryan R. wrote:

Hello all,

Can anyone tell me how I would go about providing a variable to an irb
session? For example, see the following screenshot from the Metasploit
Meterpreter in irb mode.

http://www.metasploit.com/images/gallery/msf3-meterp-irb.jpg

Does anyone know how they are actually providing the ‘client’ variable
to the irb session?


Thanks!
Bryan

You can run your script at Ruby startup by specifying env variables
(Ruby (Al2O3::Cr), scroll to Add to
load path), or you can specify env variable IRBRC pointing to a Ruby
file that will be executed at the start of irb only.

TPR.

A cheaty way:

http://snippets.dzone.com/posts/show/6099

Sweet… thanks!

Bryan R. wrote:

Hello all,

Can anyone tell me how I would go about providing a variable to an irb
session? For example, see the following screenshot from the Metasploit
Meterpreter in irb mode.

http://www.metasploit.com/images/gallery/msf3-meterp-irb.jpg

Does anyone know how they are actually providing the ‘client’ variable
to the irb session?

Is it definitely a variable, not a method?

This post shows how to start an IRb session within the context of an
arbitary object:
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/244139

So you can create your own object class with a “client” method, create
an instance of this object, and start IRb such that “self” is this
object.