one_gadget 2.1.0 → 2.1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/lib/one_gadget/emulators/lambda.rb +3 -3
- data/lib/one_gadget/fetchers/objdump.rb +1 -1
- data/lib/one_gadget/gadget.rb +2 -3
- data/lib/one_gadget/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5ca49762b99002c30608cd2fd4943d32ba487ce0f404352958676484b44d6b29
|
|
4
|
+
data.tar.gz: f40ade7e7c295261394bb5d820918bbdb719e1eb64a20441e4cb5d884fc5f5b5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b92c28c40e01b38fd3475eba6d1e43f1506ce9f7c6b3bfe43d05e364a9b79c824f8bd943922285dab63587311d234345d545667898bed10778079d1e84c7f739
|
|
7
|
+
data.tar.gz: 1588172eed225a3d5c6e49081134d07b8f46f991321fdb53776ca432c12a28fd760bd65b6ba75c06d6ea110cd2ad48607999934eca1b9740cbcabe1055b18dc4
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,22 @@ Notable changes to one_gadget, newest first. The format follows
|
|
|
7
7
|
A change worth a user's attention lands with its entry under *Unreleased*;
|
|
8
8
|
releases are cut by giving that section a version and a date.
|
|
9
9
|
|
|
10
|
+
## v2.1.1 - 2026-09-05
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- The pre-generated gadgets for the libcs the gem does not ship were rebuilt
|
|
15
|
+
([#468]) -- all 883 entries are now current. They dated from 2023 and predate a
|
|
16
|
+
year of emulator work, so a BuildID lookup could report gadgets that no longer
|
|
17
|
+
work and miss ones that do: 10,326 recorded gadgets became 43,410.
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- Looking up a BuildID the gem does not ship no longer advises updating the gem
|
|
22
|
+
([#467]). The gem carries 34 of 883 builds by design, so that advice reached
|
|
23
|
+
almost every remote lookup, and updating would not have added them. It now says
|
|
24
|
+
the build is being fetched.
|
|
25
|
+
|
|
10
26
|
## v2.1.0 - 2026-09-05
|
|
11
27
|
|
|
12
28
|
Two more architectures, and a libc that ships without section headers -- as an
|
|
@@ -347,3 +363,5 @@ test corpus reports has been run under a debugger and seen to spawn a shell.
|
|
|
347
363
|
[#457]: https://github.com/david942j/one_gadget/pull/457
|
|
348
364
|
[#460]: https://github.com/david942j/one_gadget/pull/460
|
|
349
365
|
[#465]: https://github.com/david942j/one_gadget/pull/465
|
|
366
|
+
[#467]: https://github.com/david942j/one_gadget/pull/467
|
|
367
|
+
[#468]: https://github.com/david942j/one_gadget/pull/468
|
|
@@ -12,7 +12,7 @@ module OneGadget
|
|
|
12
12
|
# 4. dereferenced {Lambda}
|
|
13
13
|
class Lambda
|
|
14
14
|
attr_accessor :obj # @return [String, Lambda] The object currently related to.
|
|
15
|
-
attr_accessor :immi # @return [Integer] The
|
|
15
|
+
attr_accessor :immi # @return [Integer] The immediate value currently added.
|
|
16
16
|
attr_accessor :deref_count # @return [Integer] The times of dereference.
|
|
17
17
|
attr_accessor :op # @return [String, nil] The operator applied to {#obj}, for an operation (see {.operation}).
|
|
18
18
|
attr_accessor :rhs # @return [Integer, Lambda, String, nil] The operator's right operand.
|
|
@@ -44,7 +44,7 @@ module OneGadget
|
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
# Implement subtract with +Numeric+.
|
|
47
|
-
# @param [Numeric] other Value to
|
|
47
|
+
# @param [Numeric] other Value to subtract.
|
|
48
48
|
# @return [Lambda] The result.
|
|
49
49
|
def -(other)
|
|
50
50
|
self + -other
|
|
@@ -58,7 +58,7 @@ module OneGadget
|
|
|
58
58
|
|
|
59
59
|
# Decrease dereference count by 1.
|
|
60
60
|
# @return [self]
|
|
61
|
-
# @raise [Error::
|
|
61
|
+
# @raise [Error::InstructionArgumentError] When this object cannot be referenced anymore.
|
|
62
62
|
def ref!
|
|
63
63
|
raise Error::InstructionArgumentError, 'Cannot reference anymore!' if @deref_count <= 0
|
|
64
64
|
|
|
@@ -39,7 +39,7 @@ module OneGadget
|
|
|
39
39
|
@options = options
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
-
# @param [Integer] start The start address to be
|
|
42
|
+
# @param [Integer] start The start address to be dumped from.
|
|
43
43
|
# @param [Integer] stop The end address.
|
|
44
44
|
# @param [Array<String>] extra Options for this range alone, on top of {#extra_options=}.
|
|
45
45
|
# @return [String] The CLI command to be executed.
|
data/lib/one_gadget/gadget.rb
CHANGED
|
@@ -446,8 +446,7 @@ module OneGadget
|
|
|
446
446
|
table = OneGadget::Helper.remote_builds.find { |c| c.include?(build_id) }
|
|
447
447
|
return build_not_found if table.nil? # remote doesn't have this one either.
|
|
448
448
|
|
|
449
|
-
#
|
|
450
|
-
OneGadget::Logger.ask_update(msg: 'The desired one-gadget can be found in lastest version!')
|
|
449
|
+
OneGadget::Logger.info("#{build_id} is not shipped with the gem, fetching it from the repository\n")
|
|
451
450
|
tmp_file = OneGadget::Helper.download_build(table)
|
|
452
451
|
require tmp_file.path
|
|
453
452
|
tmp_file.unlink
|
|
@@ -457,7 +456,7 @@ module OneGadget
|
|
|
457
456
|
# Returns the comments in builds/libc-*-<build_id>*.rb
|
|
458
457
|
# @param [String] build_id
|
|
459
458
|
# Supports give only few starting bytes, but a warning will be shown
|
|
460
|
-
# if multiple
|
|
459
|
+
# if multiple BuildIDs are matched.
|
|
461
460
|
# @return [String?]
|
|
462
461
|
# Lines of comments.
|
|
463
462
|
# @example
|
data/lib/one_gadget/version.rb
CHANGED