stephenfewer / grinder

Grinder is a system to automate the fuzzing of web browsers and the management of a large number of crashes.
BSD 3-Clause "New" or "Revised" License
415 stars 131 forks source link

Grinder/Metasm is not working under Ruby 2.0 #2

Closed kernelGadaffi closed 10 years ago

kernelGadaffi commented 11 years ago

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,

stephenfewer commented 11 years ago

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,

[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 https://github.com/stephenfewer/grinder/issues/2.

kernelGadaffi commented 11 years ago

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

mtimur commented 11 years ago

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

stephenfewer commented 11 years ago

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

stephenfewer commented 10 years ago

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