Files
one_gadget/one_gadget.gemspec
david942jandClaude Opus 5 d027510519 Readme doc badge (#471)
* Point the docs badge and gemspec at rubydoc.info/gems

Also drop the Inline docs (inch-ci) badge.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>

* Pin the gemspec documentation_uri to the released version

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>

* Pin the gemspec changelog_uri to the release tag

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>

---------

Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
2026-09-06 16:47:53 +00:00

53 lines
2.1 KiB
Ruby

# frozen_string_literal: true
lib = File.expand_path('lib', __dir__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'date'
require 'one_gadget/version'
Gem::Specification.new do |s|
s.name = 'one_gadget'
s.version = OneGadget::VERSION
s.summary = 'one_gadget'
s.description = <<-EOS
When playing ctf pwn challenges we usually needs the one-gadget of execve('/bin/sh', NULL, NULL).
This gem provides such gadget finder, no need to use IDA-pro every time like a fool :p.
Typing `one_gadget /path/to/libc` in terminal and having fun!
EOS
s.license = 'MIT'
s.authors = ['david942j']
s.email = ['[email protected]']
# The gem carries gadgets for a curated set of libcs (see tasks/builds/refresh.rake);
# every other build file stays in the repository, where a remote lookup finds it.
shipped = File.readlines(File.expand_path('shipped_builds', __dir__), chomp: true)
s.files = Dir['lib/**/*.rb'].grep_v(%r{\Alib/one_gadget/builds/}) +
shipped.map { |name| "lib/one_gadget/builds/#{name}.rb" } +
Dir['bin/*'] + %w[README.md CHANGELOG.md]
s.homepage = 'https://github.com/david942j/one_gadget'
s.executables = ['one_gadget']
s.metadata = {
'bug_tracker_uri' => 'https://github.com/david942j/one_gadget/issues',
'changelog_uri' => "https://github.com/david942j/one_gadget/blob/v#{OneGadget::VERSION}/CHANGELOG.md",
'documentation_uri' => "https://www.rubydoc.info/gems/one_gadget/#{OneGadget::VERSION}",
'homepage_uri' => 'https://github.com/david942j/one_gadget',
'source_code_uri' => 'https://github.com/david942j/one_gadget',
'rubygems_mfa_required' => 'true'
}
s.required_ruby_version = '>= 3.3'
s.add_dependency 'elftools', '>= 2.2.0', '< 3.0.0'
s.add_dependency 'logger'
s.add_development_dependency 'rake', '~> 13.0'
s.add_development_dependency 'rspec', '~> 3.7'
s.add_development_dependency 'rubocop', '~> 1.0'
s.add_development_dependency 'simplecov', '~> 1.0'
s.add_development_dependency 'yard', '~> 0.9'
end