ronin-code-asm 1.0.0.beta1 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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') {