pwn 0.4.393 → 0.4.394

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/bin/pwn +31 -36
  4. data/lib/pwn/version.rb +1 -1
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9638834cb2c2444a04cd23b17e5c0e187c396a712677dd2f02a0be933b7aea3e
4
- data.tar.gz: 49240e2aec06df7358db080036c326969112bad268d0fa08a5b36456f1a6559f
3
+ metadata.gz: 00fdd984c56c17e08366de15f8d1627da1a6fb193e55b6eb7a3648f75ab457e5
4
+ data.tar.gz: 8807dcbe516537df70d8e3e73db1f0431b1390e3395a46bce5c0fc10b0d3499e
5
5
  SHA512:
6
- metadata.gz: b9375a72e7962e7945f4f8eff2ca994331617e4f4bb392c620510cf5c303795956c27f0a214712d6bb866478bb14d16fb5de52e434fdbee70094b6c6b99fe791
7
- data.tar.gz: 33ea8a6147132f1aa1ccea87c94c25718a865628056bb3517d80453ae70a3b7ba80c5eefd2e8765b7edb9a67f93316ba3e71dae7f016295d6bffc9618ec5c694
6
+ metadata.gz: 10a1926b599089ccc218a5cac4e60570cd7d9fb27a8ae39d6ab0fc170a24dcf4242f3d504e2ef023fb2c8b62150fe4bfa982bdb44cbbff4a88f8553626e09b40
7
+ data.tar.gz: 1571134fce31b0218649722d6535d9918af3351f8e3a2cb40fadb3fb8b2a9ecfd554d713bc3662f01ada558294b7ca1e3464faf195867ceb60020378fdb0b69e
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ rvm use ruby-3.1.1@pwn
37
37
  $ rvm list gemsets
38
38
  $ gem install --verbose pwn
39
39
  $ pwn
40
- pwn[v0.4.393]:001 >>> PWN.help
40
+ pwn[v0.4.394]: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.1.1@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.4.393]:001 >>> PWN.help
55
+ pwn[v0.4.394]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
data/bin/pwn CHANGED
@@ -7,6 +7,26 @@ require 'tty-prompt'
7
7
  require 'tty-reader'
8
8
 
9
9
  begin
10
+ def gen_ps1_proc(opts = {})
11
+ delim = opts[:delim]
12
+
13
+ # Custom Main & Wait (Multi-Line) Prompts
14
+ title = "\001\e[1m\002\001\e[31m\002pwn\001\e[0m\002" # Bold Red
15
+ version = "\001\e[36m\002v#{PWN::VERSION}\001\e[0m\002" # Cyan
16
+ dchars = "\001\e[32m\002>>>\001\e[0m\002" # Green
17
+ dchars = "\001\e[33m\002***\001\e[0m\002" if delim == :splat # Yellow
18
+
19
+ proc do |_target_self, _nest_level, pry|
20
+ pry.config.pwn_repl_line += 1
21
+ line_pad = format(
22
+ '%0.3d',
23
+ pry.config.pwn_repl_line
24
+ )
25
+ line_count = "\001\e[34m\002#{line_pad}\001\e[0m\002" # Blue
26
+ "#{title}[#{version}]:#{line_count} #{dchars} ".to_s.scrub
27
+ end
28
+ end
29
+
10
30
  class Pry
11
31
  # Overwrite Pry::History.push method in History class to get duplicate history entries
12
32
  # in order to properly replay automation in this prototyping driver
@@ -31,13 +51,12 @@ begin
31
51
  end
32
52
  end
33
53
 
34
- cli = Pry
35
- cli.config.prompt_name = :pwn
36
- cli.config.pwn_repl_line = 0
37
- cli.config.tty_prompt = TTY::Prompt.new
38
- cli.config.tty_reader = TTY::Reader.new
54
+ Pry.config.prompt_name = :pwn
55
+ Pry.config.pwn_repl_line = 0
56
+ Pry.config.tty_prompt = TTY::Prompt.new
57
+ Pry.config.tty_reader = TTY::Reader.new
39
58
 
40
- cli.config.hooks.add_hook(:before_session, :welcome) do |output, _binding, _pry|
59
+ Pry.config.hooks.add_hook(:before_session, :welcome) do |output, _binding, _pry|
41
60
  output.puts 'Use the #help method for more options.'
42
61
  output.puts 'e.g help'
43
62
  output.puts 'e.g PWN.help'
@@ -45,41 +64,17 @@ begin
45
64
  output.puts 'e.g PWN::Plugins::TransparentBrowser.help'
46
65
  end
47
66
 
48
- cli::Commands.create_command 'toggle-pager' do
67
+ Pry::Commands.create_command 'toggle-pager' do
49
68
  description 'Toggle less on returned objects surpassing the terminal.'
50
69
 
51
70
  def process
52
- _pry_.config.pager ? _pry_.config.pager = false : _pry_.config.pager = true
71
+ pi = pry_instance
72
+ pi.config.pager ? pi.config.pager = false : pi.config.pager = true
53
73
  end
54
74
  end
55
75
 
56
- # Custom Main & Wait (Multi-Line) Prompts
57
- title = "\001\e[1m\002\001\e[31m\002pwn\001\e[0m\002" # Bold Red
58
- version = "\001\e[36m\002v#{PWN::VERSION}\001\e[0m\002" # Cyan
59
- # @line = cli.config.custom_attrs[:line_number]
60
- arrow = "\001\e[32m\002>>>\001\e[0m\002" # Green
61
- splat = "\001\e[33m\002***\001\e[0m\002" # Yellow
62
-
63
- arrow_ps1_proc = proc do |_target_self, _nest_level, pry|
64
- pry.config.pwn_repl_line += 1
65
- line_pad = format(
66
- '%0.3d',
67
- pry.config.pwn_repl_line
68
- )
69
- line_count = "\001\e[34m\002#{line_pad}\001\e[0m\002" # Blue
70
- "#{title}[#{version}]:#{line_count} #{arrow} ".to_s.scrub
71
- end
72
-
73
- splat_ps1_proc = proc do |_target_self, _nest_level, pry|
74
- pry.config.pwn_repl_line += 1
75
- line_pad = format(
76
- '%0.3d',
77
- pry.config.pwn_repl_line
78
- )
79
- line_count = "\001\e[34m\002#{line_pad}\001\e[0m\002" # Blue
80
- "#{title}[#{version}]:#{line_count} #{splat} ".to_s.scrub
81
- end
82
-
76
+ arrow_ps1_proc = gen_ps1_proc
77
+ splat_ps1_proc = gen_ps1_proc(delim: :splat)
83
78
  prompt_ps1 = [arrow_ps1_proc, splat_ps1_proc]
84
79
 
85
80
  pwn_prompt = Pry::Prompt.new(
@@ -88,7 +83,7 @@ begin
88
83
  prompt_ps1
89
84
  )
90
85
 
91
- cli.start(
86
+ Pry.start(
92
87
  self,
93
88
  prompt: pwn_prompt
94
89
  )
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.4.393'
4
+ VERSION = '0.4.394'
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.4.393
4
+ version: 0.4.394
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.