stephenfewer/grinder

Grinder/Metasm is not working under Ruby 2.0

Closed this issue · 5 comments

Hi,

I installed a grinder node version 0.5-dev on a Windows7 with a 32bit ruby installation. Everything was alright until the debugger server process starts. I use ruby 2.0.0:

                   ______     _           __
                  / ____/____(_)___  ____/ /__  _____
                 / / __/ ___/ / __ \/ __  / _ \/ ___/
                / /_/ / /  / / / / / /_/ /  __/ /
                \____/_/  /_/_/ /_/\__,_/\___/_/

    By Stephen Fewer of Harmony Security (www.harmonysecurity.com)
                                         GRINDER - Version 0.5-Dev

[+G+] Starting at 2013-03-01 19:22:26
[+G+] Using the config file 'config'...
[+G+] Bringing up Grinder node 'G1'...
[+G+] Started the Grinder continue process 1896
[+S+] Starting at 2013-03-01 19:22:27
[+S+] Adding fuzzer 'SimpleExample' to the testcase server
[+S+] Testcase server running on 127.0.0.1:8888
[+G+] Started the Grinder server process 2652
[+G+] Started the Grinder debugger process 2368C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': 1
114: A dynamic link library (DLL) initialization routine failed. - C:/Ruby200/
lib/ruby/2.0.0/metasm/dynldr-windows-ia32-19.so (LoadError)

So i thought it was a metasm error but the following statement runs and gave a '1' as a result:

ruby -r metasm -e 'p Metasm::VERSION'

Do you know why? thanks,

Hi,

Sounds like a Ruby 2.0/Metasm issue, in that the version of Metasm
shipped with grinder, (specifically the dynamic loader dll generated by
metasm) is not compatible with ruby 2.0. (dynldr-windows-ia32-19.so from
your log below)

Metasm can build its own dynldr library[0] so you may have some luck
generating a new one, but your easiest bet is to use Ruby 1.9.7 for now.

When I have a little time I will add in Ruby v2 support for grinder.

Regards,

  • Stephen.

[0] .\grinder\node\lib\metasm\metasm\dynldr.rb

On 01/03/2013 11:34, kernelGadaffi wrote:

Hi,

I installed a grinder node version 0.5-dev on a Windows7 with a 32bit
ruby installation. Everything was alright until the debugger server
process starts. I use ruby 2.0.0:

| ______ _ __
/ /()__ / / _____
/ / **/ **
/ / __ / __ / _ / /
/ /
/ / / / / / / / /
/ / __/ /
****/
/ /
// //,//_/

By Stephen Fewer of Harmony Security (www.harmonysecurity.com)
                                     GRINDER - Version 0.5-Dev

|
|

[+G+] Starting at 2013-03-01 19:22:26
[+G+] Using the config file 'config'...
[+G+] Bringing up Grinder node 'G1'...
[+G+] Started the Grinder continue process 1896
[+S+] Starting at 2013-03-01 19:22:27
[+S+] Adding fuzzer 'SimpleExample' to the testcase server
[+S+] Testcase server running on 127.0.0.1:8888
[+G+] Started the Grinder server process 2652
[+G+] Started the Grinder debugger process
2368C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in
`require': 1
114: A dynamic link library (DLL) initialization routine failed. -
C:/Ruby200/
lib/ruby/2.0.0/metasm/dynldr-windows-ia32-19.so (LoadError)

So i thought it was a metasm error but the following statement runs and
gave a '1' as a result:

ruby -r metasm -e 'p Metasm::VERSION'

Do you know why? thanks,


Reply to this email directly or view it on GitHub
#2.

Thanks Stephen, its working now after i reverted my version of Ruby on win7 to 1.9.3

@stephenfewer it would be great if you just update your installation wiki, because it says install the latest version..

@mtimur Nicely spotted, just edited the Wiki, cheers.

Just to update this ticket, Ruby 2.0 is now supported, closing the ticket.