metasm 1.0.4 → 1.0.6
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 +5 -5
- data/.gitignore +1 -0
- data/Gemfile +3 -3
- data/Rakefile +1 -1
- data/cortex.yaml +17 -0
- data/metasm/cpu/arm64/decode.rb +87 -11
- data/metasm/cpu/arm64/decompile.rb +142 -0
- data/metasm/cpu/arm64/opcodes.rb +53 -23
- data/metasm/cpu/arm64.rb +1 -0
- data/metasm/cpu/dwarf/debug.rb +39 -0
- data/metasm/cpu/dwarf/decode.rb +124 -0
- data/metasm/cpu/dwarf/decompile.rb +212 -0
- data/metasm/cpu/dwarf/encode.rb +49 -0
- data/metasm/cpu/dwarf/main.rb +37 -0
- data/metasm/cpu/dwarf/opcodes.rb +107 -0
- data/metasm/cpu/dwarf.rb +11 -0
- data/metasm/cpu/ia32/debug.rb +8 -0
- data/metasm/cpu/ia32/decode.rb +25 -1
- data/metasm/cpu/ia32/decompile.rb +205 -342
- data/metasm/cpu/mips/decode.rb +1 -1
- data/metasm/cpu/ppc/decode.rb +1 -1
- data/metasm/cpu/sh4/decode.rb +1 -1
- data/metasm/cpu/x86_64/decompile.rb +68 -0
- data/metasm/cpu/x86_64.rb +1 -0
- data/metasm/decode.rb +14 -0
- data/metasm/decompile.rb +51 -27
- data/metasm/disassemble.rb +24 -15
- data/metasm/dynldr.rb +23 -4
- data/metasm/encode.rb +11 -0
- data/metasm/exe_format/elf.rb +60 -2
- data/metasm/exe_format/elf_decode.rb +201 -6
- data/metasm/exe_format/shellcode.rb +39 -0
- data/metasm/gui/dasm_decomp.rb +1 -0
- data/metasm/os/emulator.rb +7 -0
- data/metasm/parse_c.rb +1 -1
- data/metasm.gemspec +1 -2
- data/metasm.rb +1 -1
- data/samples/disassemble-gui.rb +27 -11
- data/samples/disassemble.rb +9 -12
- data/samples/emudbg.rb +1 -1
- data/samples/factorize-headers-elfimports.rb +4 -1
- data/samples/lindebug.rb +16 -2
- data/tests/shellcode.rb +111 -0
- metadata +19 -102
- checksums.yaml.gz.sig +0 -3
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
data/tests/shellcode.rb
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# This file is part of Metasm, the Ruby assembly manipulation suite
|
|
2
|
+
# Copyright (C) 2006-2009 Yoann GUILLOT
|
|
3
|
+
#
|
|
4
|
+
# Licence is LGPL, see LICENCE in the top-level directory
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
require 'test/unit'
|
|
8
|
+
require 'metasm'
|
|
9
|
+
|
|
10
|
+
class TestShellcode < Test::Unit::TestCase
|
|
11
|
+
@@cpu = Metasm::Ia32.new
|
|
12
|
+
|
|
13
|
+
def assert_equal(a, b) super(b, a) end
|
|
14
|
+
|
|
15
|
+
def bin(s)
|
|
16
|
+
if s.respond_to?(:force_encoding)
|
|
17
|
+
s.force_encoding('BINARY')
|
|
18
|
+
else
|
|
19
|
+
s
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def assemble(src)
|
|
24
|
+
Metasm::Shellcode.assemble(@@cpu, src).encode_string
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# ---- define_data ----
|
|
28
|
+
|
|
29
|
+
def test_define_data_basic
|
|
30
|
+
assert_equal(Metasm::Shellcode.define_data("ABCD".b), 'db 0x41, 0x42, 0x43, 0x44')
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test_define_data_empty
|
|
34
|
+
assert_equal(Metasm::Shellcode.define_data("".b), '')
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def test_define_data_nil
|
|
38
|
+
assert_equal(Metasm::Shellcode.define_data(nil), '')
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def test_define_data_full_range
|
|
42
|
+
assert_equal(Metasm::Shellcode.define_data("\x00\x01\x9f\xa0\xff".b),
|
|
43
|
+
'db 0x00, 0x01, 0x9f, 0xa0, 0xff')
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def test_define_data_roundtrip_printable
|
|
47
|
+
src = Metasm::Shellcode.define_data("ABCD".b)
|
|
48
|
+
assert_equal(assemble(src), bin("ABCD"))
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def test_define_data_roundtrip_full_range
|
|
52
|
+
bytes = (0..255).map(&:chr).join.b
|
|
53
|
+
src = Metasm::Shellcode.define_data(bytes)
|
|
54
|
+
assert_equal(assemble(src), bin(bytes))
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# ---- define_cstring ----
|
|
58
|
+
|
|
59
|
+
def test_define_cstring_basic
|
|
60
|
+
assert_equal(Metasm::Shellcode.define_cstring("ABCD".b), 'db "ABCD", 0')
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def test_define_cstring_empty
|
|
64
|
+
assert_equal(Metasm::Shellcode.define_cstring("".b), 'db 0')
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def test_define_cstring_nil
|
|
68
|
+
assert_equal(Metasm::Shellcode.define_cstring(nil), 'db 0')
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def test_define_cstring_escape_quote
|
|
72
|
+
assert_equal(Metasm::Shellcode.define_cstring("a\"b".b), 'db "a\"b", 0')
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def test_define_cstring_escape_backslash
|
|
76
|
+
# input: one backslash; expected output: backslash-backslash inside string literal
|
|
77
|
+
assert_equal(Metasm::Shellcode.define_cstring("a\\b".b), 'db "a\\\\b", 0')
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def test_define_cstring_mixed_printable_and_binary
|
|
81
|
+
assert_equal(Metasm::Shellcode.define_cstring("AB\x05CD".b),
|
|
82
|
+
'db "AB", 0x05, "CD", 0')
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def test_define_cstring_single_high_byte
|
|
86
|
+
assert_equal(Metasm::Shellcode.define_cstring("\xff".b), 'db 0xff, 0')
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def test_define_cstring_roundtrip_printable
|
|
90
|
+
src = Metasm::Shellcode.define_cstring("ABCD".b)
|
|
91
|
+
assert_equal(assemble(src), bin("ABCD\x00"))
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def test_define_cstring_roundtrip_with_binary
|
|
95
|
+
input = "AB\x05CD".b
|
|
96
|
+
src = Metasm::Shellcode.define_cstring(input)
|
|
97
|
+
assert_equal(assemble(src), bin(input + "\x00"))
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def test_define_cstring_roundtrip_escapes
|
|
101
|
+
input = "a\"b\\c".b
|
|
102
|
+
src = Metasm::Shellcode.define_cstring(input)
|
|
103
|
+
assert_equal(assemble(src), bin(input + "\x00"))
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def test_define_cstring_roundtrip_high_byte
|
|
107
|
+
input = "\xff".b
|
|
108
|
+
src = Metasm::Shellcode.define_cstring(input)
|
|
109
|
+
assert_equal(assemble(src), bin(input + "\x00"))
|
|
110
|
+
end
|
|
111
|
+
end
|
metadata
CHANGED
|
@@ -1,109 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: metasm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yoann Guillot
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
|
-
cert_chain:
|
|
11
|
-
-
|
|
12
|
-
-----BEGIN CERTIFICATE-----
|
|
13
|
-
MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G
|
|
14
|
-
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
|
|
15
|
-
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
|
|
16
|
-
MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG
|
|
17
|
-
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
|
|
18
|
-
hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8
|
|
19
|
-
RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT
|
|
20
|
-
gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm
|
|
21
|
-
KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd
|
|
22
|
-
QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ
|
|
23
|
-
XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw
|
|
24
|
-
DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o
|
|
25
|
-
LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU
|
|
26
|
-
RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp
|
|
27
|
-
jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
|
|
28
|
-
6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX
|
|
29
|
-
mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
|
|
30
|
-
Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
|
|
31
|
-
WD9f
|
|
32
|
-
-----END CERTIFICATE-----
|
|
33
|
-
- |
|
|
34
|
-
-----BEGIN CERTIFICATE-----
|
|
35
|
-
MIIElDCCA3ygAwIBAgIOSBtqBybS6D8mAtSCWs0wDQYJKoZIhvcNAQELBQAwTDEg
|
|
36
|
-
MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2Jh
|
|
37
|
-
bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTYwNjE1MDAwMDAwWhcNMjQw
|
|
38
|
-
NjE1MDAwMDAwWjBaMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBu
|
|
39
|
-
di1zYTEwMC4GA1UEAxMnR2xvYmFsU2lnbiBDb2RlU2lnbmluZyBDQSAtIFNIQTI1
|
|
40
|
-
NiAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjYVVI6kfU6/J
|
|
41
|
-
7TbCKbVu2PlC9SGLh/BDoS/AP5fjGEfUlk6Iq8Zj6bZJFYXx2Zt7G/3YSsxtToZA
|
|
42
|
-
F817ukcotdYUQAyG7h5LM/MsVe4hjNq2wf6wTjquUZ+lFOMQ5pPK+vldsZCH7/g1
|
|
43
|
-
LfyiXCbuexWLH9nDoZc1QbMw/XITrZGXOs5ynQYKdTwfmOPLGC+MnwhKkQrZ2TXZ
|
|
44
|
-
g5J2Yl7fg67k1gFOzPM8cGFYNx8U42qgr2v02dJsLBkwXaBvUt/RnMngDdl1EWWW
|
|
45
|
-
2UO0p5A5rkccVMuxlW4l3o7xEhzw127nFE2zGmXWhEpX7gSvYjjFEJtDjlK4Prau
|
|
46
|
-
niyX/4507wIDAQABo4IBZDCCAWAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdJQQWMBQG
|
|
47
|
-
CCsGAQUFBwMDBggrBgEFBQcDCTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQW
|
|
48
|
-
BBQPOueslJF0LZYCc4OtnC5JPxmqVDAfBgNVHSMEGDAWgBSP8Et/qC5FJK5NUPpj
|
|
49
|
-
move4t0bvDA+BggrBgEFBQcBAQQyMDAwLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3Nw
|
|
50
|
-
Mi5nbG9iYWxzaWduLmNvbS9yb290cjMwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDov
|
|
51
|
-
L2NybC5nbG9iYWxzaWduLmNvbS9yb290LXIzLmNybDBjBgNVHSAEXDBaMAsGCSsG
|
|
52
|
-
AQQBoDIBMjAIBgZngQwBBAEwQQYJKwYBBAGgMgFfMDQwMgYIKwYBBQUHAgEWJmh0
|
|
53
|
-
dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMA0GCSqGSIb3DQEB
|
|
54
|
-
CwUAA4IBAQAVhCgM7aHDGYLbYydB18xjfda8zzabz9JdTAKLWBoWCHqxmJl/2DOK
|
|
55
|
-
XJ5iCprqkMLFYwQL6IdYBgAHglnDqJQy2eAUTaDVI+DH3brwaeJKRWUtTUmQeGYy
|
|
56
|
-
DrBowLCIsI7tXAb4XBBIPyNzujtThFKAzfCzFcgRCosFeEZZCNS+t/9L9ZxqTJx2
|
|
57
|
-
ohGFRYzUN+5Q3eEzNKmhHzoL8VZEim+zM9CxjtEMYAfuMsLwJG+/r/uBAXZnxKPo
|
|
58
|
-
4KvcM1Uo42dHPOtqpN+U6fSmwIHRUphRptYCtzzqSu/QumXSN4NTS35nfIxA9gcc
|
|
59
|
-
sK8EBtz4bEaIcpzrTp3DsLlUo7lOl8oU
|
|
60
|
-
-----END CERTIFICATE-----
|
|
61
|
-
- |
|
|
62
|
-
-----BEGIN CERTIFICATE-----
|
|
63
|
-
MIIE5jCCA86gAwIBAgIMKDuO03uv6RWXR1uAMA0GCSqGSIb3DQEBCwUAMFoxCzAJ
|
|
64
|
-
BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTAwLgYDVQQDEydH
|
|
65
|
-
bG9iYWxTaWduIENvZGVTaWduaW5nIENBIC0gU0hBMjU2IC0gRzMwHhcNMTYwOTEz
|
|
66
|
-
MTgxMDIyWhcNMTkxMTExMTUxNTM4WjBgMQswCQYDVQQGEwJVUzEWMBQGA1UECBMN
|
|
67
|
-
TWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRMwEQYDVQQKEwpSYXBpZDcg
|
|
68
|
-
TExDMRMwEQYDVQQDEwpSYXBpZDcgTExDMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
|
69
|
-
MIIBCgKCAQEAl0HeC0FzN1BJ4nQkxsBng3peS9Bdi9rpSGx+g0Ximd+M/7twmund
|
|
70
|
-
bzn2JPbNK/Gp/rq/SytrNSLcUzcbH/0z5Ltyw1/jQsGtRBrns0NZSRXqupQDW5R6
|
|
71
|
-
HFpaIAl3OdsesmIQc/fm0uhh8dkfHVo7UsZO/TeCPoy0uHXTI6aFBPzMMsdz+gf3
|
|
72
|
-
cCCLsnNKQh/T2Q/jwBs3NTPoyza/pPZcvGogKcWCeNihTO5Rn1Fc71sMHSjQsDtn
|
|
73
|
-
1fWGKYGi0qjvZ4lpGM9IFZMTbySKHbPLhhHnBOoV7avGemdky3AEsUeiT+6DY0P1
|
|
74
|
-
IydBy24uVNhGATglME1ttlT4Eme/to0M6wIDAQABo4IBpDCCAaAwDgYDVR0PAQH/
|
|
75
|
-
BAQDAgeAMIGUBggrBgEFBQcBAQSBhzCBhDBIBggrBgEFBQcwAoY8aHR0cDovL3Nl
|
|
76
|
-
Y3VyZS5nbG9iYWxzaWduLmNvbS9jYWNlcnQvZ3Njb2Rlc2lnbnNoYTJnM29jc3Au
|
|
77
|
-
Y3J0MDgGCCsGAQUFBzABhixodHRwOi8vb2NzcDIuZ2xvYmFsc2lnbi5jb20vZ3Nj
|
|
78
|
-
b2Rlc2lnbnNoYTJnMzBWBgNVHSAETzBNMEEGCSsGAQQBoDIBMjA0MDIGCCsGAQUF
|
|
79
|
-
BwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAIBgZn
|
|
80
|
-
gQwBBAEwCQYDVR0TBAIwADA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmds
|
|
81
|
-
b2JhbHNpZ24uY29tL2dzY29kZXNpZ25zaGEyZzMuY3JsMBMGA1UdJQQMMAoGCCsG
|
|
82
|
-
AQUFBwMDMB0GA1UdDgQWBBSm8RBpBC/cK9VmxzO2+RWnacN8CTAfBgNVHSMEGDAW
|
|
83
|
-
gBQPOueslJF0LZYCc4OtnC5JPxmqVDANBgkqhkiG9w0BAQsFAAOCAQEANVO3uYQl
|
|
84
|
-
h8iicbaXE3odrL+kXXmeeNgt4BD3x7GKAVIVixtwBS6pvrshjc1LN0tm3ruiv8oy
|
|
85
|
-
cq4FiEmVUXZejSRvVVtABeWdZWo+lJ8NxCBUEYYmnMrjgFIbGiEbBsg7PGtyeQsA
|
|
86
|
-
5Wbg7Lx889mS1tKfQBcPif8EjpTiXNfMiywmpaMYmvm+yQgzrRLDbjz6JV0Rc5Ga
|
|
87
|
-
WChka+LTPnMtsWJuFM8ka8icMeS28/nAGERdewxWvz+DeAPMORdTJ7aqb6+Y9xuz
|
|
88
|
-
G+Hmcg1v810agasPdoydE0RTVZgEOOMoQ07qu7JFXVWZ9ZQpHT7qJATWL/b2csFG
|
|
89
|
-
8mVuTXnyJOKRJA==
|
|
90
|
-
-----END CERTIFICATE-----
|
|
91
|
-
date: 2019-04-08 00:00:00.000000000 Z
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2026-05-20 00:00:00.000000000 Z
|
|
92
12
|
dependencies:
|
|
93
|
-
- !ruby/object:Gem::Dependency
|
|
94
|
-
name: bundler
|
|
95
|
-
requirement: !ruby/object:Gem::Requirement
|
|
96
|
-
requirements:
|
|
97
|
-
- - "~>"
|
|
98
|
-
- !ruby/object:Gem::Version
|
|
99
|
-
version: '1.7'
|
|
100
|
-
type: :development
|
|
101
|
-
prerelease: false
|
|
102
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
103
|
-
requirements:
|
|
104
|
-
- - "~>"
|
|
105
|
-
- !ruby/object:Gem::Version
|
|
106
|
-
version: '1.7'
|
|
107
13
|
- !ruby/object:Gem::Dependency
|
|
108
14
|
name: rake
|
|
109
15
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -149,6 +55,7 @@ files:
|
|
|
149
55
|
- README
|
|
150
56
|
- Rakefile
|
|
151
57
|
- TODO
|
|
58
|
+
- cortex.yaml
|
|
152
59
|
- doc/code_organisation.txt
|
|
153
60
|
- doc/const_missing.txt
|
|
154
61
|
- doc/core/DynLdr.txt
|
|
@@ -186,6 +93,7 @@ files:
|
|
|
186
93
|
- metasm/cpu/arm64.rb
|
|
187
94
|
- metasm/cpu/arm64/debug.rb
|
|
188
95
|
- metasm/cpu/arm64/decode.rb
|
|
96
|
+
- metasm/cpu/arm64/decompile.rb
|
|
189
97
|
- metasm/cpu/arm64/encode.rb
|
|
190
98
|
- metasm/cpu/arm64/main.rb
|
|
191
99
|
- metasm/cpu/arm64/opcodes.rb
|
|
@@ -205,6 +113,13 @@ files:
|
|
|
205
113
|
- metasm/cpu/dalvik/decode.rb
|
|
206
114
|
- metasm/cpu/dalvik/main.rb
|
|
207
115
|
- metasm/cpu/dalvik/opcodes.rb
|
|
116
|
+
- metasm/cpu/dwarf.rb
|
|
117
|
+
- metasm/cpu/dwarf/debug.rb
|
|
118
|
+
- metasm/cpu/dwarf/decode.rb
|
|
119
|
+
- metasm/cpu/dwarf/decompile.rb
|
|
120
|
+
- metasm/cpu/dwarf/encode.rb
|
|
121
|
+
- metasm/cpu/dwarf/main.rb
|
|
122
|
+
- metasm/cpu/dwarf/opcodes.rb
|
|
208
123
|
- metasm/cpu/ebpf.rb
|
|
209
124
|
- metasm/cpu/ebpf/debug.rb
|
|
210
125
|
- metasm/cpu/ebpf/decode.rb
|
|
@@ -278,6 +193,7 @@ files:
|
|
|
278
193
|
- metasm/cpu/x86_64/compile_c.rb
|
|
279
194
|
- metasm/cpu/x86_64/debug.rb
|
|
280
195
|
- metasm/cpu/x86_64/decode.rb
|
|
196
|
+
- metasm/cpu/x86_64/decompile.rb
|
|
281
197
|
- metasm/cpu/x86_64/encode.rb
|
|
282
198
|
- metasm/cpu/x86_64/main.rb
|
|
283
199
|
- metasm/cpu/x86_64/opcodes.rb
|
|
@@ -455,12 +371,13 @@ files:
|
|
|
455
371
|
- tests/mips.rb
|
|
456
372
|
- tests/parse_c.rb
|
|
457
373
|
- tests/preprocessor.rb
|
|
374
|
+
- tests/shellcode.rb
|
|
458
375
|
- tests/x86_64.rb
|
|
459
376
|
homepage: http://metasm.cr0.org
|
|
460
377
|
licenses:
|
|
461
378
|
- LGPL-2.1
|
|
462
379
|
metadata: {}
|
|
463
|
-
post_install_message:
|
|
380
|
+
post_install_message:
|
|
464
381
|
rdoc_options: []
|
|
465
382
|
require_paths:
|
|
466
383
|
- "."
|
|
@@ -475,9 +392,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
475
392
|
- !ruby/object:Gem::Version
|
|
476
393
|
version: '0'
|
|
477
394
|
requirements: []
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
signing_key:
|
|
395
|
+
rubygems_version: 3.4.19
|
|
396
|
+
signing_key:
|
|
481
397
|
specification_version: 4
|
|
482
398
|
summary: Metasm is a cross-architecture assembler, disassembler, linker, and debugger.
|
|
483
399
|
test_files:
|
|
@@ -493,4 +409,5 @@ test_files:
|
|
|
493
409
|
- tests/mips.rb
|
|
494
410
|
- tests/parse_c.rb
|
|
495
411
|
- tests/preprocessor.rb
|
|
412
|
+
- tests/shellcode.rb
|
|
496
413
|
- tests/x86_64.rb
|
checksums.yaml.gz.sig
DELETED
data.tar.gz.sig
DELETED
|
Binary file
|
metadata.gz.sig
DELETED
|
Binary file
|