metasm 1.0.3 → 1.0.4
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
- checksums.yaml.gz.sig +3 -0
- data.tar.gz.sig +0 -0
- data/Gemfile +3 -2
- data/metasm.gemspec +3 -2
- data/metasm.rb +4 -1
- data/metasm/compile_c.rb +2 -2
- data/metasm/cpu/arc/decode.rb +0 -21
- data/metasm/cpu/arc/main.rb +4 -4
- data/metasm/cpu/arm/decode.rb +1 -5
- data/metasm/cpu/arm/main.rb +3 -3
- data/metasm/cpu/arm64/decode.rb +2 -6
- data/metasm/cpu/arm64/main.rb +5 -5
- data/metasm/cpu/bpf/decode.rb +3 -35
- data/metasm/cpu/bpf/main.rb +5 -5
- data/metasm/cpu/bpf/render.rb +1 -12
- data/metasm/cpu/cy16/decode.rb +0 -6
- data/metasm/cpu/cy16/main.rb +3 -3
- data/metasm/cpu/cy16/render.rb +0 -11
- data/metasm/cpu/dalvik/decode.rb +4 -26
- data/metasm/cpu/dalvik/main.rb +20 -2
- data/metasm/cpu/dalvik/opcodes.rb +3 -2
- data/metasm/cpu/{mips/compile_c.rb → ebpf.rb} +5 -2
- data/metasm/cpu/ebpf/debug.rb +61 -0
- data/metasm/cpu/ebpf/decode.rb +142 -0
- data/metasm/cpu/ebpf/main.rb +58 -0
- data/metasm/cpu/ebpf/opcodes.rb +97 -0
- data/metasm/cpu/ebpf/render.rb +36 -0
- data/metasm/cpu/ia32/debug.rb +39 -1
- data/metasm/cpu/ia32/decode.rb +111 -90
- data/metasm/cpu/ia32/decompile.rb +45 -37
- data/metasm/cpu/ia32/main.rb +10 -0
- data/metasm/cpu/ia32/parse.rb +6 -0
- data/metasm/cpu/mcs51/decode.rb +1 -1
- data/metasm/cpu/mcs51/main.rb +11 -0
- data/metasm/cpu/mips/decode.rb +8 -18
- data/metasm/cpu/mips/main.rb +3 -3
- data/metasm/cpu/mips/opcodes.rb +1 -1
- data/metasm/cpu/msp430/decode.rb +2 -6
- data/metasm/cpu/msp430/main.rb +3 -3
- data/metasm/cpu/openrisc.rb +11 -0
- data/metasm/cpu/openrisc/debug.rb +106 -0
- data/metasm/cpu/openrisc/decode.rb +182 -0
- data/metasm/cpu/openrisc/decompile.rb +350 -0
- data/metasm/cpu/openrisc/main.rb +70 -0
- data/metasm/cpu/openrisc/opcodes.rb +109 -0
- data/metasm/cpu/openrisc/render.rb +37 -0
- data/metasm/cpu/ppc/decode.rb +0 -25
- data/metasm/cpu/ppc/main.rb +6 -6
- data/metasm/cpu/ppc/opcodes.rb +3 -4
- data/metasm/cpu/python/decode.rb +0 -20
- data/metasm/cpu/python/main.rb +1 -1
- data/metasm/cpu/sh4/decode.rb +2 -6
- data/metasm/cpu/sh4/main.rb +25 -23
- data/metasm/cpu/st20/decode.rb +0 -7
- data/metasm/cpu/webasm.rb +11 -0
- data/metasm/cpu/webasm/debug.rb +31 -0
- data/metasm/cpu/webasm/decode.rb +321 -0
- data/metasm/cpu/webasm/decompile.rb +386 -0
- data/metasm/cpu/webasm/encode.rb +104 -0
- data/metasm/cpu/webasm/main.rb +81 -0
- data/metasm/cpu/webasm/opcodes.rb +214 -0
- data/metasm/cpu/x86_64/compile_c.rb +13 -9
- data/metasm/cpu/x86_64/parse.rb +1 -1
- data/metasm/cpu/z80/decode.rb +0 -27
- data/metasm/cpu/z80/main.rb +3 -3
- data/metasm/cpu/z80/render.rb +0 -11
- data/metasm/debug.rb +43 -8
- data/metasm/decode.rb +62 -14
- data/metasm/decompile.rb +793 -466
- data/metasm/disassemble.rb +188 -131
- data/metasm/disassemble_api.rb +30 -17
- data/metasm/dynldr.rb +2 -2
- data/metasm/encode.rb +8 -2
- data/metasm/exe_format/autoexe.rb +2 -0
- data/metasm/exe_format/coff.rb +21 -3
- data/metasm/exe_format/coff_decode.rb +12 -0
- data/metasm/exe_format/coff_encode.rb +6 -3
- data/metasm/exe_format/dex.rb +13 -3
- data/metasm/exe_format/elf.rb +12 -2
- data/metasm/exe_format/elf_decode.rb +59 -1
- data/metasm/exe_format/main.rb +2 -0
- data/metasm/exe_format/mz.rb +1 -0
- data/metasm/exe_format/pe.rb +25 -3
- data/metasm/exe_format/wasm.rb +402 -0
- data/metasm/gui/dasm_decomp.rb +171 -95
- data/metasm/gui/dasm_graph.rb +61 -2
- data/metasm/gui/dasm_hex.rb +2 -2
- data/metasm/gui/dasm_main.rb +45 -19
- data/metasm/gui/debug.rb +13 -4
- data/metasm/gui/gtk.rb +12 -4
- data/metasm/main.rb +108 -103
- data/metasm/os/emulator.rb +175 -0
- data/metasm/os/main.rb +11 -6
- data/metasm/parse.rb +23 -12
- data/metasm/parse_c.rb +189 -135
- data/metasm/preprocessor.rb +16 -1
- data/misc/openrisc-parser.rb +79 -0
- data/samples/dasm-plugins/scanxrefs.rb +6 -4
- data/samples/dasm-plugins/selfmodify.rb +8 -8
- data/samples/dbg-plugins/trace_func.rb +1 -1
- data/samples/disassemble-gui.rb +14 -3
- data/samples/emubios.rb +251 -0
- data/samples/emudbg.rb +127 -0
- data/samples/lindebug.rb +79 -78
- data/samples/metasm-shell.rb +8 -8
- data/tests/all.rb +1 -1
- data/tests/expression.rb +2 -0
- data/tests/graph_layout.rb +1 -1
- data/tests/ia32.rb +1 -0
- data/tests/mips.rb +1 -1
- data/tests/preprocessor.rb +18 -0
- metadata +124 -6
- metadata.gz.sig +0 -0
data/samples/metasm-shell.rb
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
#
|
|
5
5
|
# Licence is LGPL, see LICENCE in the top-level directory
|
|
6
6
|
|
|
7
|
-
# modifies the standard ruby class String to add #
|
|
7
|
+
# modifies the standard ruby class String to add #asm_decode and #asm_encode methods
|
|
8
8
|
# they will respectively disassemble binary data / assemble asm source
|
|
9
9
|
# the default CPU is x86 32bits, change it using eg String.cpu = Metasm::MIPS.new(:big) (mips bigendian)
|
|
10
10
|
#
|
|
@@ -31,14 +31,14 @@ class String
|
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
# encodes the current string as a Shellcode, returns the resulting EncodedData
|
|
34
|
-
def
|
|
34
|
+
def asm_encode_edata
|
|
35
35
|
Metasm::Shellcode.assemble(@@cpu, self).encode.encoded
|
|
36
36
|
end
|
|
37
37
|
|
|
38
38
|
# encodes the current string as a Shellcode, returns the resulting binary String
|
|
39
39
|
# outputs warnings on unresolved relocations
|
|
40
|
-
def
|
|
41
|
-
ed =
|
|
40
|
+
def asm_encode
|
|
41
|
+
ed = asm_encode_edata
|
|
42
42
|
if not ed.reloc.empty?
|
|
43
43
|
puts 'W: encoded string has unresolved relocations: ' + ed.reloc.map { |o, r| r.target.inspect }.join(', ')
|
|
44
44
|
end
|
|
@@ -48,7 +48,7 @@ class String
|
|
|
48
48
|
|
|
49
49
|
# decodes the current string as a Shellcode, with specified base address
|
|
50
50
|
# returns the resulting Disassembler
|
|
51
|
-
def
|
|
51
|
+
def asm_decode_blocks(base_addr=0, eip=base_addr)
|
|
52
52
|
sc = Metasm::Shellcode.decode(self, @@cpu)
|
|
53
53
|
sc.base_addr = base_addr
|
|
54
54
|
sc.disassemble(eip)
|
|
@@ -56,8 +56,8 @@ class String
|
|
|
56
56
|
|
|
57
57
|
# decodes the current string as a Shellcode, with specified base address
|
|
58
58
|
# returns the asm source equivallent
|
|
59
|
-
def
|
|
60
|
-
|
|
59
|
+
def asm_decode(base_addr=0, eip=base_addr)
|
|
60
|
+
asm_decode_blocks(base_addr, eip).to_s
|
|
61
61
|
end
|
|
62
62
|
end
|
|
63
63
|
|
|
@@ -86,7 +86,7 @@ def asm
|
|
|
86
86
|
begin
|
|
87
87
|
data = line.gsub(';', "\n")
|
|
88
88
|
next if data.strip.empty?
|
|
89
|
-
e_data = data.
|
|
89
|
+
e_data = data.asm_encode
|
|
90
90
|
puts '"' + e_data.unpack('C*').map { |c| '\\x%02x' % c }.join + '"'
|
|
91
91
|
rescue Metasm::Exception => e
|
|
92
92
|
puts "Error: #{e.class} #{e.message}"
|
data/tests/all.rb
CHANGED
data/tests/expression.rb
CHANGED
|
@@ -15,6 +15,8 @@ class TestExpression < Test::Unit::TestCase
|
|
|
15
15
|
|
|
16
16
|
def test_numeric
|
|
17
17
|
assert_equal(5, E[4, :+, 1].reduce)
|
|
18
|
+
assert_equal(4, E[5].reduce { |e| e == 5 ? 4 : e })
|
|
19
|
+
assert_equal(5, E[5].reduce) # test the previous lambda does not linger around
|
|
18
20
|
end
|
|
19
21
|
|
|
20
22
|
def test_reduce
|
data/tests/graph_layout.rb
CHANGED
data/tests/ia32.rb
CHANGED
|
@@ -29,6 +29,7 @@ class TestIa32 < Test::Unit::TestCase
|
|
|
29
29
|
assert_equal(assemble("push eax"), bin("\x50"))
|
|
30
30
|
assert_equal(assemble("push 2"), bin("\x6a\x02"))
|
|
31
31
|
assert_equal(assemble("push 142"), bin("\x68\x8e\0\0\0"))
|
|
32
|
+
assert_equal(assemble("cmp al, 'a'"), bin("\x3c\x61"))
|
|
32
33
|
end
|
|
33
34
|
|
|
34
35
|
def test_sz
|
data/tests/mips.rb
CHANGED
|
@@ -110,7 +110,7 @@ EOS
|
|
|
110
110
|
|
|
111
111
|
dasm_src = Metasm::Shellcode.disassemble(Metasm::MIPS.new(:big), sc.encoded.data).to_s
|
|
112
112
|
lines = dasm_src.respond_to?(:lines) ? dasm_src.lines : dasm_src.to_a
|
|
113
|
-
assert_equal(
|
|
113
|
+
assert_equal(26, lines.grep(/^[^\/].*\S/).length)
|
|
114
114
|
end
|
|
115
115
|
|
|
116
116
|
def bin(s)
|
data/tests/preprocessor.rb
CHANGED
|
@@ -68,6 +68,23 @@ EOS
|
|
|
68
68
|
#if defined ( tutu )
|
|
69
69
|
tutu coucou
|
|
70
70
|
#endif
|
|
71
|
+
EOS
|
|
72
|
+
helper_preparse(<<EOS, 'a1')
|
|
73
|
+
#define tutu
|
|
74
|
+
#if ! defined ( tutu )
|
|
75
|
+
a0
|
|
76
|
+
#else
|
|
77
|
+
a1
|
|
78
|
+
#endif
|
|
79
|
+
EOS
|
|
80
|
+
helper_preparse(<<EOS, 'a1')
|
|
81
|
+
#define tutu
|
|
82
|
+
#if defined(tutu) ? 0 : 1
|
|
83
|
+
a0
|
|
84
|
+
#endif
|
|
85
|
+
#if defined(toto) ? 0 : 1
|
|
86
|
+
a1
|
|
87
|
+
#endif
|
|
71
88
|
EOS
|
|
72
89
|
helper_preparse('a #define b', 'a #define b')
|
|
73
90
|
helper_preparse(<<EOS, "// true !\nblu")
|
|
@@ -142,6 +159,7 @@ EOS
|
|
|
142
159
|
#include <tests/prepro_testinclude.asm>
|
|
143
160
|
out
|
|
144
161
|
EOS
|
|
162
|
+
rescue Errno::ENOENT
|
|
145
163
|
ensure
|
|
146
164
|
File.unlink('tests/prepro_testinclude.asm') rescue nil
|
|
147
165
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,94 @@
|
|
|
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.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yoann Guillot
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
|
-
cert_chain:
|
|
11
|
-
|
|
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
|
|
12
92
|
dependencies:
|
|
13
93
|
- !ruby/object:Gem::Dependency
|
|
14
94
|
name: bundler
|
|
@@ -38,6 +118,20 @@ dependencies:
|
|
|
38
118
|
- - ">="
|
|
39
119
|
- !ruby/object:Gem::Version
|
|
40
120
|
version: '0'
|
|
121
|
+
- !ruby/object:Gem::Dependency
|
|
122
|
+
name: test-unit
|
|
123
|
+
requirement: !ruby/object:Gem::Requirement
|
|
124
|
+
requirements:
|
|
125
|
+
- - ">="
|
|
126
|
+
- !ruby/object:Gem::Version
|
|
127
|
+
version: '0'
|
|
128
|
+
type: :development
|
|
129
|
+
prerelease: false
|
|
130
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
131
|
+
requirements:
|
|
132
|
+
- - ">="
|
|
133
|
+
- !ruby/object:Gem::Version
|
|
134
|
+
version: '0'
|
|
41
135
|
description: ''
|
|
42
136
|
email:
|
|
43
137
|
- john at ofjj.net
|
|
@@ -111,6 +205,12 @@ files:
|
|
|
111
205
|
- metasm/cpu/dalvik/decode.rb
|
|
112
206
|
- metasm/cpu/dalvik/main.rb
|
|
113
207
|
- metasm/cpu/dalvik/opcodes.rb
|
|
208
|
+
- metasm/cpu/ebpf.rb
|
|
209
|
+
- metasm/cpu/ebpf/debug.rb
|
|
210
|
+
- metasm/cpu/ebpf/decode.rb
|
|
211
|
+
- metasm/cpu/ebpf/main.rb
|
|
212
|
+
- metasm/cpu/ebpf/opcodes.rb
|
|
213
|
+
- metasm/cpu/ebpf/render.rb
|
|
114
214
|
- metasm/cpu/ia32.rb
|
|
115
215
|
- metasm/cpu/ia32/compile_c.rb
|
|
116
216
|
- metasm/cpu/ia32/debug.rb
|
|
@@ -126,7 +226,6 @@ files:
|
|
|
126
226
|
- metasm/cpu/mcs51/main.rb
|
|
127
227
|
- metasm/cpu/mcs51/opcodes.rb
|
|
128
228
|
- metasm/cpu/mips.rb
|
|
129
|
-
- metasm/cpu/mips/compile_c.rb
|
|
130
229
|
- metasm/cpu/mips/debug.rb
|
|
131
230
|
- metasm/cpu/mips/decode.rb
|
|
132
231
|
- metasm/cpu/mips/encode.rb
|
|
@@ -138,6 +237,13 @@ files:
|
|
|
138
237
|
- metasm/cpu/msp430/decode.rb
|
|
139
238
|
- metasm/cpu/msp430/main.rb
|
|
140
239
|
- metasm/cpu/msp430/opcodes.rb
|
|
240
|
+
- metasm/cpu/openrisc.rb
|
|
241
|
+
- metasm/cpu/openrisc/debug.rb
|
|
242
|
+
- metasm/cpu/openrisc/decode.rb
|
|
243
|
+
- metasm/cpu/openrisc/decompile.rb
|
|
244
|
+
- metasm/cpu/openrisc/main.rb
|
|
245
|
+
- metasm/cpu/openrisc/opcodes.rb
|
|
246
|
+
- metasm/cpu/openrisc/render.rb
|
|
141
247
|
- metasm/cpu/pic16c/decode.rb
|
|
142
248
|
- metasm/cpu/pic16c/main.rb
|
|
143
249
|
- metasm/cpu/pic16c/opcodes.rb
|
|
@@ -161,6 +267,13 @@ files:
|
|
|
161
267
|
- metasm/cpu/st20/decompile.rb
|
|
162
268
|
- metasm/cpu/st20/main.rb
|
|
163
269
|
- metasm/cpu/st20/opcodes.rb
|
|
270
|
+
- metasm/cpu/webasm.rb
|
|
271
|
+
- metasm/cpu/webasm/debug.rb
|
|
272
|
+
- metasm/cpu/webasm/decode.rb
|
|
273
|
+
- metasm/cpu/webasm/decompile.rb
|
|
274
|
+
- metasm/cpu/webasm/encode.rb
|
|
275
|
+
- metasm/cpu/webasm/main.rb
|
|
276
|
+
- metasm/cpu/webasm/opcodes.rb
|
|
164
277
|
- metasm/cpu/x86_64.rb
|
|
165
278
|
- metasm/cpu/x86_64/compile_c.rb
|
|
166
279
|
- metasm/cpu/x86_64/debug.rb
|
|
@@ -205,6 +318,7 @@ files:
|
|
|
205
318
|
- metasm/exe_format/shellcode.rb
|
|
206
319
|
- metasm/exe_format/shellcode_rwx.rb
|
|
207
320
|
- metasm/exe_format/swf.rb
|
|
321
|
+
- metasm/exe_format/wasm.rb
|
|
208
322
|
- metasm/exe_format/xcoff.rb
|
|
209
323
|
- metasm/exe_format/zip.rb
|
|
210
324
|
- metasm/gui.rb
|
|
@@ -223,6 +337,7 @@ files:
|
|
|
223
337
|
- metasm/gui/win32.rb
|
|
224
338
|
- metasm/gui/x11.rb
|
|
225
339
|
- metasm/main.rb
|
|
340
|
+
- metasm/os/emulator.rb
|
|
226
341
|
- metasm/os/gdbremote.rb
|
|
227
342
|
- metasm/os/gnu_exports.rb
|
|
228
343
|
- metasm/os/linux.rb
|
|
@@ -241,6 +356,7 @@ files:
|
|
|
241
356
|
- misc/metasm-all.rb
|
|
242
357
|
- misc/objdiff.rb
|
|
243
358
|
- misc/objscan.rb
|
|
359
|
+
- misc/openrisc-parser.rb
|
|
244
360
|
- misc/pdfparse.rb
|
|
245
361
|
- misc/ppc_pdf2oplist.rb
|
|
246
362
|
- misc/tcp_proxy_hex.rb
|
|
@@ -289,6 +405,8 @@ files:
|
|
|
289
405
|
- samples/elf_list_needed.rb
|
|
290
406
|
- samples/elf_listexports.rb
|
|
291
407
|
- samples/elfencode.rb
|
|
408
|
+
- samples/emubios.rb
|
|
409
|
+
- samples/emudbg.rb
|
|
292
410
|
- samples/exeencode.rb
|
|
293
411
|
- samples/factorize-headers-elfimports.rb
|
|
294
412
|
- samples/factorize-headers-peimports.rb
|
|
@@ -340,7 +458,7 @@ files:
|
|
|
340
458
|
- tests/x86_64.rb
|
|
341
459
|
homepage: http://metasm.cr0.org
|
|
342
460
|
licenses:
|
|
343
|
-
- LGPL
|
|
461
|
+
- LGPL-2.1
|
|
344
462
|
metadata: {}
|
|
345
463
|
post_install_message:
|
|
346
464
|
rdoc_options: []
|
|
@@ -358,7 +476,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
358
476
|
version: '0'
|
|
359
477
|
requirements: []
|
|
360
478
|
rubyforge_project:
|
|
361
|
-
rubygems_version: 2.
|
|
479
|
+
rubygems_version: 2.6.8
|
|
362
480
|
signing_key:
|
|
363
481
|
specification_version: 4
|
|
364
482
|
summary: Metasm is a cross-architecture assembler, disassembler, linker, and debugger.
|
metadata.gz.sig
ADDED
|
Binary file
|