mirror of
https://github.com/david942j/one_gadget.git
synced 2026-10-11 22:09:54 +00:00
* 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]>
53 lines
2.1 KiB
Ruby
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
|