ronin-code-asm 1.0.0.beta1 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +5 -2
  3. data/.ruby-version +1 -1
  4. data/.yardopts +1 -1
  5. data/ChangeLog.md +7 -2
  6. data/Gemfile +2 -2
  7. data/README.md +66 -5
  8. data/gemspec.yml +3 -3
  9. data/lib/ronin/code/asm/archs/amd64.rb +3 -3
  10. data/lib/ronin/code/asm/archs/x86.rb +6 -6
  11. data/lib/ronin/code/asm/archs.rb +3 -3
  12. data/lib/ronin/code/asm/config.rb +1 -1
  13. data/lib/ronin/code/asm/immediate_operand.rb +1 -1
  14. data/lib/ronin/code/asm/instruction.rb +2 -2
  15. data/lib/ronin/code/asm/memory_operand.rb +2 -2
  16. data/lib/ronin/code/asm/os/freebsd.rb +2 -2
  17. data/lib/ronin/code/asm/os/linux.rb +2 -2
  18. data/lib/ronin/code/asm/os/os.rb +2 -2
  19. data/lib/ronin/code/asm/os.rb +4 -4
  20. data/lib/ronin/code/asm/program.rb +13 -13
  21. data/lib/ronin/code/asm/register.rb +3 -3
  22. data/lib/ronin/code/asm/shellcode.rb +1 -1
  23. data/lib/ronin/code/asm/syntax/att.rb +1 -1
  24. data/lib/ronin/code/asm/syntax/common.rb +1 -1
  25. data/lib/ronin/code/asm/syntax/intel.rb +1 -1
  26. data/lib/ronin/code/asm/syntax.rb +1 -1
  27. data/lib/ronin/code/asm/version.rb +2 -2
  28. data/lib/ronin/code/asm.rb +4 -4
  29. data/ronin-code-asm.gemspec +2 -1
  30. metadata +7 -32
  31. data/spec/asm_spec.rb +0 -14
  32. data/spec/config_spec.rb +0 -10
  33. data/spec/immediate_operand_spec.rb +0 -79
  34. data/spec/instruction_spec.rb +0 -62
  35. data/spec/memory_operand_spec.rb +0 -80
  36. data/spec/os_spec.rb +0 -68
  37. data/spec/program_spec.rb +0 -439
  38. data/spec/register_spec.rb +0 -112
  39. data/spec/shellcode_spec.rb +0 -58
  40. data/spec/spec_helper.rb +0 -7
  41. data/spec/syntax/att_spec.rb +0 -181
  42. data/spec/syntax/common_spec.rb +0 -42
  43. data/spec/syntax/intel_spec.rb +0 -174
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: afdbeb043e51ce8513e7d833b7c8a730ee0488e579bc71c17044137c6b60dbe9
4
- data.tar.gz: 0fb69ebc839c8e1079122e5b962967b094d97fe48955e21ab09896b8f4c65fd3
3
+ metadata.gz: 3c607b6198dafbb61854ad277ee380c3aab8eda4e137d572973e4f416993ff26
4
+ data.tar.gz: 3570c82008d63ad0ee4d43a06cc320168b194ed8fe98ab72b81590432215c0ad
5
5
  SHA512:
6
- metadata.gz: f1dca72988f3754272eb3e43d63292ef8209b94cd472f357c703f5cc695a4361d79d0da51fcd589078177c2a42412fd00a838ed47542a5865c199e05dc086345
7
- data.tar.gz: b4d1e207dd1bf4d47b88cab47423cd35610b66fb1f1580897acad9d961a2dfa9218e29e8a9564f89fe5e31cf8a18ee7d012c4f303e203aca1dc40c174253d14a
6
+ metadata.gz: f6b7401d5e5368fd1caa46b9440b6904670fd036b8f905cba9030a00f75475fe4fa0b2cc2e901466de7db87290b7bd21c90b742370255a1c86da268cd2cb03ce
7
+ data.tar.gz: 8bdb550bab9838456e316ebf94dccc1b03081f6a3471fa5246265efed30cb759e3982d0d3495c6faa4e518d327f409d8e62ebbd74c3d97e0c2c92663e5ef9197
@@ -12,15 +12,18 @@ jobs:
12
12
  - '3.0'
13
13
  - '3.1'
14
14
  - '3.2'
15
- # - jruby
15
+ - '3.3'
16
+ - '3.4'
17
+ - jruby
16
18
  - truffleruby
17
19
  name: Ruby ${{ matrix.ruby }}
18
20
  steps:
19
- - uses: actions/checkout@v2
21
+ - uses: actions/checkout@v4
20
22
  - name: Set up Ruby
21
23
  uses: ruby/setup-ruby@v1
22
24
  with:
23
25
  ruby-version: ${{ matrix.ruby }}
26
+ bundler-cache: true
24
27
  - name: Install dependencies
25
28
  run: |
26
29
  sudo apt update -y && \
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-3.1
1
+ ruby-3.3
data/.yardopts CHANGED
@@ -1 +1 @@
1
- --markup markdown --title 'Ronin ASM Documentation' --protected
1
+ --markup markdown --title 'Ronin::Code::ASM Documentation' --protected
data/ChangeLog.md CHANGED
@@ -1,4 +1,9 @@
1
- ### 1.0.0 / 2023-XX-XX
1
+ ### 1.0.1 / 2025-02-14
2
+
3
+ * Use `require_relative` to improve load times.
4
+ * Documentation improvements.
5
+
6
+ ### 1.0.0 / 2023-02-01
2
7
 
3
8
  * Require `ruby` >= 3.0.0.
4
9
  * Renamed the gem to `ronin-code-asm`.
@@ -17,7 +22,7 @@
17
22
 
18
23
  mov eax, 0x41
19
24
 
20
- * `Ronin::ASM::Program#byte`, `Ronin::ASM::Program#word`,
25
+ * `Ronin::ASM::Program#byte`, `Ronin::ASM::Program#word`,
21
26
  `Ronin::ASM::Program#dword` and `Ronin::ASM::Program#qword` methods can now
22
27
  accept `Ronin::ASM::MemoryOperand`s.
23
28
 
data/Gemfile CHANGED
@@ -20,6 +20,6 @@ group :development do
20
20
  gem 'yard-spellcheck', require: false
21
21
 
22
22
  gem 'dead_end', require: false
23
- gem 'sord', require: false
24
- gem 'stackprof', require: false
23
+ gem 'sord', require: false, platform: :mri
24
+ gem 'stackprof', require: false, platform: :mri
25
25
  end
data/README.md CHANGED
@@ -2,12 +2,12 @@
2
2
 
3
3
  [![CI](https://github.com/ronin-rb/ronin-code-asm/actions/workflows/ruby.yml/badge.svg)](https://github.com/ronin-rb/ronin-asm/actions/workflows/ruby.yml)
4
4
  [![Code Climate](https://codeclimate.com/github/ronin-rb/ronin-code-asm.svg)](https://codeclimate.com/github/ronin-rb/ronin-asm)
5
+ [![Gem Version](https://badge.fury.io/rb/ronin-code-asm.svg)](https://badge.fury.io/rb/ronin-code-asm)
5
6
 
6
7
  * [Source](https://github.com/ronin-rb/ronin-code-asm)
7
8
  * [Issues](https://github.com/ronin-rb/ronin-code-asm/issues)
8
9
  * [Documentation](https://ronin-rb.dev/docs/ronin-code-asm/frames)
9
10
  * [Discord](https://discord.gg/6WAb3PsVX9) |
10
- [Twitter](https://twitter.com/ronin_rb) |
11
11
  [Mastodon](https://infosec.exchange/@ronin_rb)
12
12
 
13
13
  ## Description
@@ -119,7 +119,7 @@ end
119
119
 
120
120
  ### Syscalls
121
121
 
122
- If the `:os` option is specified, then syscall numbers can be looked up via the
122
+ If the `:os` option is specified, then syscall numbers can be looked up via the
123
123
  `syscalls` Hash:
124
124
 
125
125
  ```ruby
@@ -138,15 +138,76 @@ end
138
138
 
139
139
  ## Install
140
140
 
141
+ ### Ubuntu
142
+
143
+ ```shell
144
+ sudo apt install -y yasm
145
+ gem install ronin-code-asm
146
+ ```
147
+
148
+ ### Fedora
149
+
150
+ ```shell
151
+ sudo dnf install -y yasm
152
+ gem install ronin-code-asm
153
+ ```
154
+
155
+ ### OpenSUSE
156
+
157
+ ```shell
158
+ sudo zypper -n in -l yasm
159
+ gem install ronin-code-asm
160
+ ```
161
+
162
+ ### Arch
163
+
141
164
  ```shell
142
- $ gem install ronin-code-asm
165
+ sudo pacman -Sy yasm
166
+ gem install ronin-code-asm
143
167
  ```
144
168
 
169
+ ### macOS
170
+
171
+ ```shell
172
+ brew install yasm
173
+ gem install ronin-code-asm
174
+ ```
175
+
176
+ ### FreeBSD
177
+
178
+ ```shell
179
+ sudo pkg install -y yasm
180
+ gem install ronin-code-asm
181
+ ```
182
+
183
+ ### Gemfile
184
+
185
+ ```ruby
186
+ gem 'ronin-code-asm', '~> 1.0'
187
+ ```
188
+
189
+ ### gemspec
190
+
191
+ ```ruby
192
+ gem.add_dependency 'ronin-code-asm', '~> 1.0'
193
+ ```
194
+
195
+ ## Development
196
+
197
+ 1. [Fork It!](https://github.com/ronin-rb/ronin-code-asm/fork)
198
+ 2. Clone It!
199
+ 3. `cd ronin-code-asm/`
200
+ 4. `bundle install`
201
+ 5. `git checkout -b my_feature`
202
+ 6. Code It!
203
+ 7. `bundle exec rake spec`
204
+ 8. `git push origin my_feature`
205
+
145
206
  ## License
146
207
 
147
208
  ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
148
209
 
149
- Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
210
+ Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
150
211
 
151
212
  ronin-code-asm is free software: you can redistribute it and/or modify
152
213
  it under the terms of the GNU Lesser General Public License as published
@@ -163,4 +224,4 @@ along with ronin-code-asm. If not, see <https://www.gnu.org/licenses/>.
163
224
 
164
225
  [Ruby]: https://www.ruby-lang.org
165
226
  [yasm]: https://yasm.tortall.net/
166
- [ruby-yasm]: https://github.com/sophsec/ruby-yasm#readme
227
+ [ruby-yasm]: https://github.com/postmodern/ruby-yasm#readme
data/gemspec.yml CHANGED
@@ -3,7 +3,7 @@ summary: A Ruby DSL for crafting Assembly programs and Shellcode.
3
3
  description:
4
4
  ronin-code-asm is a Ruby DSL for crafting Assembly programs and shellcode.
5
5
 
6
- license: LGPL-3.0
6
+ license: LGPL-3.0-or-later
7
7
  authors: Postmodern
8
8
  email: postmodern.mod3@gmail.com
9
9
  homepage: https://github.com/ronin-rb/ronin-code-asm#readme
@@ -13,10 +13,10 @@ requirements: yasm >= 0.6.0
13
13
  required_ruby_version: ">= 3.0.0"
14
14
 
15
15
  metadata:
16
- documentation_uri: https://ronin-rb.dev/docs/ronin-code-asm/frames
16
+ documentation_uri: https://ronin-rb.dev/docs/ronin-code-asm
17
17
  source_code_uri: https://github.com/ronin-rb/ronin-code-asm
18
18
  bug_tracker_uri: https://github.com/ronin-rb/ronin-code-asm/issues
19
- changelog_uri: https://github.com/ronin-rb/ronin-code-asm/blob/master/ChangeLog.md
19
+ changelog_uri: https://github.com/ronin-rb/ronin-code-asm/blob/main/ChangeLog.md
20
20
  rubygems_mfa_required: 'true'
21
21
 
22
22
  dependencies:
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,14 +18,14 @@
18
18
  # along with ronin-code-asm. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/code/asm/archs/x86'
21
+ require_relative 'x86'
22
22
 
23
23
  module Ronin
24
24
  module Code
25
25
  module ASM
26
26
  module Archs
27
27
  #
28
- # Contains AMD64 Archtecture information.
28
+ # Contains AMD64 Architecture information.
29
29
  #
30
30
  module AMD64
31
31
  include X86
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,14 +18,14 @@
18
18
  # along with ronin-code-asm. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/code/asm/register'
21
+ require_relative '../register'
22
22
 
23
23
  module Ronin
24
24
  module Code
25
25
  module ASM
26
26
  module Archs
27
27
  #
28
- # Contains X86 Archtecture information.
28
+ # Contains X86 Architecture information.
29
29
  #
30
30
  module X86
31
31
  # Default word size
@@ -133,7 +133,7 @@ module Ronin
133
133
 
134
134
  #
135
135
  # Generates the instruction to set a register.
136
- #
136
+ #
137
137
  # @param [Symbol] name
138
138
  # The name of the register.
139
139
  #
@@ -146,7 +146,7 @@ module Ronin
146
146
 
147
147
  #
148
148
  # Generates the instruction to save a register.
149
- #
149
+ #
150
150
  # @param [Symbol] name
151
151
  # The name of the register.
152
152
  #
@@ -156,7 +156,7 @@ module Ronin
156
156
 
157
157
  #
158
158
  # Generates the instruction to restore a register.
159
- #
159
+ #
160
160
  # @param [Symbol] name
161
161
  # The name of the register.
162
162
  #
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,5 +18,5 @@
18
18
  # along with ronin-code-asm. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/code/asm/archs/x86'
22
- require 'ronin/code/asm/archs/amd64'
21
+ require_relative 'archs/x86'
22
+ require_relative 'archs/amd64'
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,7 +18,7 @@
18
18
  # along with ronin-code-asm. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/code/asm/immediate_operand'
21
+ require_relative 'immediate_operand'
22
22
 
23
23
  module Ronin
24
24
  module Code
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,7 +18,7 @@
18
18
  # along with ronin-code-asm. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/code/asm/register'
21
+ require_relative 'register'
22
22
 
23
23
  module Ronin
24
24
  module Code
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,7 +18,7 @@
18
18
  # along with ronin-code-asm. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/code/asm/config'
21
+ require_relative '../config'
22
22
 
23
23
  module Ronin
24
24
  module Code
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,7 +18,7 @@
18
18
  # along with ronin-code-asm. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/code/asm/config'
21
+ require_relative '../config'
22
22
 
23
23
  module Ronin
24
24
  module Code
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,7 +18,7 @@
18
18
  # along with ronin-code-asm. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/code/asm/config'
21
+ require_relative '../config'
22
22
 
23
23
  require 'yaml'
24
24
 
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,9 +18,9 @@
18
18
  # along with ronin-code-asm. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/code/asm/os/os'
22
- require 'ronin/code/asm/os/freebsd'
23
- require 'ronin/code/asm/os/linux'
21
+ require_relative 'os/os'
22
+ require_relative 'os/freebsd'
23
+ require_relative 'os/linux'
24
24
 
25
25
  module Ronin
26
26
  module Code
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,12 +18,12 @@
18
18
  # along with ronin-code-asm. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/code/asm/archs'
22
- require 'ronin/code/asm/os'
23
- require 'ronin/code/asm/register'
24
- require 'ronin/code/asm/instruction'
25
- require 'ronin/code/asm/immediate_operand'
26
- require 'ronin/code/asm/syntax'
21
+ require_relative 'archs'
22
+ require_relative 'os'
23
+ require_relative 'register'
24
+ require_relative 'instruction'
25
+ require_relative 'immediate_operand'
26
+ require_relative 'syntax'
27
27
 
28
28
  require 'tempfile'
29
29
  require 'yasm/program'
@@ -198,7 +198,7 @@ module Ronin
198
198
  #
199
199
  # Creates an operand of size 1 (byte).
200
200
  #
201
- # @param [MemoryOperand, Integer] op
201
+ # @param [MemoryOperand, Integer] op
202
202
  # The value of the operand.
203
203
  #
204
204
  # @return [MemoryOperand, ImmediateOperand]
@@ -322,7 +322,7 @@ module Ronin
322
322
  # Generic method for popping off the stack.
323
323
  #
324
324
  # @param [Symbol] name
325
- # The name of the reigster.
325
+ # The name of the register.
326
326
  #
327
327
  # @abstract
328
328
  #
@@ -333,7 +333,7 @@ module Ronin
333
333
  # Generic method for clearing a register.
334
334
  #
335
335
  # @param [Symbol] name
336
- # The name of the reigster.
336
+ # The name of the register.
337
337
  #
338
338
  # @abstract
339
339
  #
@@ -344,7 +344,7 @@ module Ronin
344
344
  # Generic method for setting a register.
345
345
  #
346
346
  # @param [Symbol] name
347
- # The name of the reigster.
347
+ # The name of the register.
348
348
  #
349
349
  # @param [Register, ImmediateOperand, Integer] value
350
350
  # The new value for the register.
@@ -358,7 +358,7 @@ module Ronin
358
358
  # Generic method for saving a register.
359
359
  #
360
360
  # @param [Symbol] name
361
- # The name of the reigster.
361
+ # The name of the register.
362
362
  #
363
363
  # @abstract
364
364
  #
@@ -369,7 +369,7 @@ module Ronin
369
369
  # Generic method for loading a register.
370
370
  #
371
371
  # @param [Symbol] name
372
- # The name of the reigster.
372
+ # The name of the register.
373
373
  #
374
374
  # @abstract
375
375
  #
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,7 +18,7 @@
18
18
  # along with ronin-code-asm. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/code/asm/memory_operand'
21
+ require_relative 'memory_operand'
22
22
 
23
23
  module Ronin
24
24
  module Code
@@ -71,7 +71,7 @@ module Ronin
71
71
  end
72
72
 
73
73
  #
74
- # Substracts from the value within the register and dereferences the
74
+ # Subtracts from the value within the register and dereferences the
75
75
  # address.
76
76
  #
77
77
  # @param [Integer] offset
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -22,7 +22,7 @@ module Ronin
22
22
  module Code
23
23
  module ASM
24
24
  # ronin-code-asm version
25
- VERSION = '1.0.0.beta1'
25
+ VERSION = '1.0.1'
26
26
  end
27
27
  end
28
28
  end
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # ronin-code-asm - A Ruby DSL for crafting Assembly programs and shellcode.
4
4
  #
5
- # Copyright (c) 2007-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
5
+ # Copyright (c) 2007-2025 Hal Brodigan (postmodern.mod3 at gmail.com)
6
6
  #
7
7
  # ronin-code-asm is free software: you can redistribute it and/or modify
8
8
  # it under the terms of the GNU Lesser General Public License as published
@@ -18,9 +18,9 @@
18
18
  # along with ronin-code-asm. If not, see <https://www.gnu.org/licenses/>.
19
19
  #
20
20
 
21
- require 'ronin/code/asm/program'
22
- require 'ronin/code/asm/shellcode'
23
- require 'ronin/code/asm/version'
21
+ require_relative 'asm/program'
22
+ require_relative 'asm/shellcode'
23
+ require_relative 'asm/version'
24
24
 
25
25
  module Ronin
26
26
  module Code
@@ -27,6 +27,8 @@ Gem::Specification.new do |gem|
27
27
  gem.files = `git ls-files`.split($/)
28
28
  gem.files = glob[gemspec['files']] if gemspec['files']
29
29
  gem.files += Array(gemspec['generated_files'])
30
+ # exclude test files from the packages gem
31
+ gem.files -= glob[gemspec['test_files'] || 'spec/{**/}*']
30
32
 
31
33
  gem.executables = gemspec.fetch('executables') do
32
34
  glob['bin/*'].map { |path| File.basename(path) }
@@ -34,7 +36,6 @@ Gem::Specification.new do |gem|
34
36
  gem.default_executable = gem.executables.first if Gem::VERSION < '1.7.'
35
37
 
36
38
  gem.extensions = glob[gemspec['extensions'] || 'ext/**/extconf.rb']
37
- gem.test_files = glob[gemspec['test_files'] || 'spec/{**/}*_spec.rb']
38
39
  gem.extra_rdoc_files = glob[gemspec['extra_doc_files'] || '*.{txt,md}']
39
40
 
40
41
  gem.require_paths = Array(gemspec.fetch('require_paths') {