ronin-support
Description
ronin-support is a support library for Ronin. ronin-support provides many Core Extensions to Ruby's built-in classes as well as its own Classes/Modules. ronin-support can be used by other Ruby libraries, tools, or scripts.
tl;dr It's like pwntools combined with activesupport.
ronin-support is part of the ronin-rb project, a Ruby toolkit for security research and development.
Features
- Provides user-friendly APIs for:
- Bit-flipping
- Hexdump / unhexdump data.
- Packing/unpacking binary data:
- Encoding data:
- Reading/writing compressed data:
- Reading/writing archive files:
- Cryptography:
- Networking:
- Working with text:
- Adds additional methods to many of Ruby's core classes.
- Small memory footprint (~46Kb).
- Has 96% documentation coverage.
- Has 93% test coverage.
Synopsis
$ irb -r ronin/support
irb(main):001:0> "hello world".base64_encode
=> "aGVsbG8gd29ybGQ=\n"
irb(main):002:0> "aGVsbG8gd29ybGQ=\n".base64_decode
=> "hello world"
Examples
require 'ronin/support'
include Ronin::Support
string = "hello world"
puts string.base64_encode
data = "aGVsbG8gd29ybGQ=\n"
puts data.base64_decode
For more examples of the convenience methods provided by ronin-support, please see the API documentation.
Requirements
- Ruby >= 3.0.0
- chars ~> 0.3, >= 0.3.2
- hexdump ~> 1.0
- combinatorics ~> 0.4
- addressable ~> 2.0
- uri-query_params ~> 0.8
Install
$ gem install ronin-support
Gemfile
gem 'ronin-support', '~> 0.5'
Development
- Fork It!
- Clone It!
cd ronin-support
bundle install
git checkout -b my_feature
- Code It!
bundle exec rake spec
git push origin my_feature
License
Copyright (c) 2006-2024 Hal Brodigan (postmodern.mod3 at gmail.com)
ronin-support is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
ronin-support is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with ronin-support. If not, see https://www.gnu.org/licenses/.