pwn 0.5.20 → 0.5.22

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0eae675237c1c401d02725100825a91a2a3a526530f168395d586a4c70c18393
4
- data.tar.gz: c75e41212e51d0a547e3902e9d17e0da76736350d0205c6b9bd8a560299fd176
3
+ metadata.gz: 15749f47853a4b45e74230feed45754ace51556f464cf43f37dbb27dad3ede54
4
+ data.tar.gz: fc41034c5b35f20dfa42eca23546d7fbf77e328f705f269b0a0d46169e78c48e
5
5
  SHA512:
6
- metadata.gz: b9c6d09fc541013dbb20f2748b36e0aefe220bd0e16947a94d36c3cc65a8a93fa04fc111c70ea9aee2aff86b2ec3aafb506f49473e5c0dfbaa4b37586af994e9
7
- data.tar.gz: b72b6bab89ea7cbe3e2bd33704cc14758feb55e3e100509e8f827d698efc0db60ac3274c259c95ab6e09612f93b22f6eec13b3b70b43341b82daea304541a671
6
+ metadata.gz: 660c31ae940155bf196aeca986719ecdc74af3e82b83a6a4a99881a04c090483665049313dbb14de645eabc937a1bb6640c198019a70e0ef71fac57c1077959c
7
+ data.tar.gz: 2a9ae878f1b5ea2cd67dd76243d05470f31a299b68c9df2f3c738f17c56a21ec1657753a218204deca7162aed437e3827a188a7d30bbfacc994575629a80f122
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ cd /opt/pwn
37
37
  $ ./install.sh
38
38
  $ ./install.sh ruby-gem
39
39
  $ pwn
40
- pwn[v0.5.20]:001 >>> PWN.help
40
+ pwn[v0.5.22]:001 >>> PWN.help
41
41
  ```
42
42
 
43
43
  [![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
@@ -52,7 +52,7 @@ $ rvm use ruby-3.3.0@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.5.20]:001 >>> PWN.help
55
+ pwn[v0.5.22]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
  If you're using a multi-user install of RVM do:
@@ -62,7 +62,7 @@ $ rvm use ruby-3.3.0@pwn
62
62
  $ rvmsudo gem uninstall --all --executables pwn
63
63
  $ rvmsudo gem install --verbose pwn
64
64
  $ pwn
65
- pwn[v0.5.20]:001 >>> PWN.help
65
+ pwn[v0.5.22]:001 >>> PWN.help
66
66
  ```
67
67
 
68
68
  PWN periodically upgrades to the latest version of Ruby which is reflected in `/opt/pwn/.ruby-version`. The easiest way to upgrade to the latest version of Ruby from a previous PWN installation is to run the following script:
@@ -7,16 +7,18 @@ module PWN
7
7
  # This plugin converts images to readable text
8
8
  module Assembly
9
9
  # Supported Method Parameters::
10
- # PWN::Plugins::Assembly.opcode_to_asm(
11
- # opcodes: 'required - hex escaped opcode(s) (e.g. '\x90\x90\x90')'
10
+ # PWN::Plugins::Assembly.opcodes_to_asm(
11
+ # opcodes: 'required - hex escaped opcode(s) (e.g. "\x90\x90\x90")',
12
+ # arch: 'optional - objdump -i architecture (defaults to i386)'
12
13
  # )
13
14
 
14
15
  public_class_method def self.opcodes_to_asm(opts = {})
15
16
  opcodes = opts[:opcodes]
17
+ arch = opts[:arch] || 'i386'
16
18
 
17
19
  opcodes_tmp = Tempfile.new('pwn_opcodes')
18
20
  File.binwrite(opcodes_tmp.path, opcodes)
19
- `objdump -D #{opcodes_tmp.path}`
21
+ `objdump --disassemble-all --target binary --architecture #{arch} #{opcodes_tmp.path}`
20
22
  rescue StandardError => e
21
23
  raise e
22
24
  ensure
@@ -24,7 +26,7 @@ module PWN
24
26
  end
25
27
 
26
28
  # Supported Method Parameters::
27
- # PWN::Plugins::Assembly.asm_to_opcode(
29
+ # PWN::Plugins::Assembly.asm_to_opcodes(
28
30
  # asm: 'required - assembly instruction(s) (e.g. 'nop\nnop\nnop\njmp rsp\n)'
29
31
  # )
30
32
 
@@ -39,11 +41,12 @@ module PWN
39
41
 
40
42
  asm_tmp_o = "#{asm_tmp.path}.o"
41
43
  system('as', '-o', asm_tmp_o, asm_tmp.path)
42
- `objdump -D #{asm_tmp.path}.o`
44
+ `objdump --disassemble-all #{asm_tmp.path}.o`
43
45
  rescue StandardError => e
44
46
  raise e
45
47
  ensure
46
- FileUtils.rm_f("#{asm_tmp.path}*") if File.exist?(asm_tmp.path)
48
+ files = [asm_tmp.path, asm_tmp_o]
49
+ FileUtils.rm_f(files) if File.exist?(asm_tmp.path)
47
50
  end
48
51
 
49
52
  # Author(s):: 0day Inc. <request.pentest@0dayinc.com>
@@ -59,7 +62,8 @@ module PWN
59
62
  public_class_method def self.help
60
63
  puts "USAGE:
61
64
  #{self}.opcodes_to_asm(
62
- opcodes: 'required - hex escaped opcode(s) (e.g. '\\x90\\x90\\x90')'
65
+ opcodes: 'required - hex escaped opcode(s) (e.g. \"\\x90\\x90\\x90\")',
66
+ arch: 'optional - objdump -i architecture (defaults to i386)'
63
67
  )
64
68
 
65
69
  #{self}.asm_to_opcodes(
data/lib/pwn/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PWN
4
- VERSION = '0.5.20'
4
+ VERSION = '0.5.22'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.20
4
+ version: 0.5.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.