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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +5 -2
- data/.ruby-version +1 -1
- data/.yardopts +1 -1
- data/ChangeLog.md +7 -2
- data/Gemfile +2 -2
- data/README.md +66 -5
- data/gemspec.yml +3 -3
- data/lib/ronin/code/asm/archs/amd64.rb +3 -3
- data/lib/ronin/code/asm/archs/x86.rb +6 -6
- data/lib/ronin/code/asm/archs.rb +3 -3
- data/lib/ronin/code/asm/config.rb +1 -1
- data/lib/ronin/code/asm/immediate_operand.rb +1 -1
- data/lib/ronin/code/asm/instruction.rb +2 -2
- data/lib/ronin/code/asm/memory_operand.rb +2 -2
- data/lib/ronin/code/asm/os/freebsd.rb +2 -2
- data/lib/ronin/code/asm/os/linux.rb +2 -2
- data/lib/ronin/code/asm/os/os.rb +2 -2
- data/lib/ronin/code/asm/os.rb +4 -4
- data/lib/ronin/code/asm/program.rb +13 -13
- data/lib/ronin/code/asm/register.rb +3 -3
- data/lib/ronin/code/asm/shellcode.rb +1 -1
- data/lib/ronin/code/asm/syntax/att.rb +1 -1
- data/lib/ronin/code/asm/syntax/common.rb +1 -1
- data/lib/ronin/code/asm/syntax/intel.rb +1 -1
- data/lib/ronin/code/asm/syntax.rb +1 -1
- data/lib/ronin/code/asm/version.rb +2 -2
- data/lib/ronin/code/asm.rb +4 -4
- data/ronin-code-asm.gemspec +2 -1
- metadata +7 -32
- data/spec/asm_spec.rb +0 -14
- data/spec/config_spec.rb +0 -10
- data/spec/immediate_operand_spec.rb +0 -79
- data/spec/instruction_spec.rb +0 -62
- data/spec/memory_operand_spec.rb +0 -80
- data/spec/os_spec.rb +0 -68
- data/spec/program_spec.rb +0 -439
- data/spec/register_spec.rb +0 -112
- data/spec/shellcode_spec.rb +0 -58
- data/spec/spec_helper.rb +0 -7
- data/spec/syntax/att_spec.rb +0 -181
- data/spec/syntax/common_spec.rb +0 -42
- data/spec/syntax/intel_spec.rb +0 -174
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c607b6198dafbb61854ad277ee380c3aab8eda4e137d572973e4f416993ff26
|
4
|
+
data.tar.gz: 3570c82008d63ad0ee4d43a06cc320168b194ed8fe98ab72b81590432215c0ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6b7401d5e5368fd1caa46b9440b6904670fd036b8f905cba9030a00f75475fe4fa0b2cc2e901466de7db87290b7bd21c90b742370255a1c86da268cd2cb03ce
|
7
|
+
data.tar.gz: 8bdb550bab9838456e316ebf94dccc1b03081f6a3471fa5246265efed30cb759e3982d0d3495c6faa4e518d327f409d8e62ebbd74c3d97e0c2c92663e5ef9197
|
data/.github/workflows/ruby.yml
CHANGED
@@ -12,15 +12,18 @@ jobs:
|
|
12
12
|
- '3.0'
|
13
13
|
- '3.1'
|
14
14
|
- '3.2'
|
15
|
-
|
15
|
+
- '3.3'
|
16
|
+
- '3.4'
|
17
|
+
- jruby
|
16
18
|
- truffleruby
|
17
19
|
name: Ruby ${{ matrix.ruby }}
|
18
20
|
steps:
|
19
|
-
- uses: actions/checkout@
|
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
|
+
ruby-3.3
|
data/.yardopts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
--markup markdown --title 'Ronin
|
1
|
+
--markup markdown --title 'Ronin::Code::ASM Documentation' --protected
|
data/ChangeLog.md
CHANGED
@@ -1,4 +1,9 @@
|
|
1
|
-
### 1.0.
|
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
|
[](https://github.com/ronin-rb/ronin-asm/actions/workflows/ruby.yml)
|
4
4
|
[](https://codeclimate.com/github/ronin-rb/ronin-asm)
|
5
|
+
[](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
|
-
|
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-
|
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/
|
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
|
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/
|
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-
|
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
|
-
|
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
|
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-
|
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
|
-
|
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
|
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
|
#
|
data/lib/ronin/code/asm/archs.rb
CHANGED
@@ -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-
|
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
|
-
|
22
|
-
|
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-
|
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-
|
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-
|
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
|
-
|
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-
|
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
|
-
|
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-
|
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
|
-
|
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-
|
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
|
-
|
21
|
+
require_relative '../config'
|
22
22
|
|
23
23
|
module Ronin
|
24
24
|
module Code
|
data/lib/ronin/code/asm/os/os.rb
CHANGED
@@ -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-
|
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
|
-
|
21
|
+
require_relative '../config'
|
22
22
|
|
23
23
|
require 'yaml'
|
24
24
|
|
data/lib/ronin/code/asm/os.rb
CHANGED
@@ -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-
|
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
|
-
|
22
|
-
|
23
|
-
|
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-
|
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
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
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
|
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
|
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
|
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
|
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
|
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-
|
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
|
-
|
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
|
-
#
|
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-
|
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-
|
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-
|
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-
|
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-
|
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-
|
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.
|
25
|
+
VERSION = '1.0.1'
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
data/lib/ronin/code/asm.rb
CHANGED
@@ -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-
|
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
|
-
|
22
|
-
|
23
|
-
|
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
|
data/ronin-code-asm.gemspec
CHANGED
@@ -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') {
|