Metasm is a pure ruby lib, and the core (metasm subdir) does not depend on any ruby library (except the metasm/gui, which can use gtk2/qt). So the install is quite simple: LOCAL INSTALLATION: Either modify your RUBYLIB environment variable to include the directory containing metasm.rb e.g. under linux or cygwin: if you downloaded metasm to $HOME/metasm, you should have a file named $HOME/metasm/metasm.rb and need to add "export RUBYLIB=$RUBYLIB:~/metasm" to ~/.bash_profile under windows: Add the path to the directory containing metasm.rb to the environment. This is accessible through: rightclick on 'my computer', tab 'advanced', environment. If a line RUBYLIB exists, add ':/path/to/metasmdir' at the end, otherwise create a new variable 'RUBYLIB' with value '/path/to/metasmdir' SYSTEMWIDE INSTALLATION: You can also copy the metasm.rb and the metasm subdirectory (the one containing ia32.rb and so on) under the ruby library path. e.g. cp -a metasm.rb metasm /usr/local/lib/site_ruby/1.8 (linux) select metasm.rb and metasm ; copy ; goto D:\apps\ruby18\lib\ruby\1.8\ ; paste (replace D:\apps\ruby18 with the directory where you installed ruby) (win) Note that metasm may not work well with rubygems, so disable it if you have the choice. For a global installation, if you intend to use the DynLdr class (eg to call the native windows API), you should also run the metasm/dynldr.rb script on install/update, which will generate an up-to-date dynldr.so binary ruby module. TESTING: Once done, open a new session and type "ruby -r metasm -e 'p Metasm::VERSION'" at a commandline prompt, it should print a single line with a number in it. GUI: If you want to use the graphical interface (dbg/dasm), you need the ruby-gtk2 library. Under linux, use your package manager to install ruby-gtk2 e.g. for debian/ubuntu, type sudo apt-get install libgtk2-ruby Under windows, you'll need to install the GTK2 and the ruby bindings manually. Please follow the instructions at: http://ruby-gnome2.sourceforge.jp/hiki.cgi?Install+Guide+for+Windows To test, try to launch the script metasm/samples/disassemble-gui.rb (double click on it), it should show a program selection window. Type 'c' to start disassembling somewhere, and space to change to graph mode (see the script source for more key bindings)