Module: PWN::Plugins::REPL::ASM

Defined in:
lib/pwn/plugins/repl/asm.rb

Overview

pwn-asm REPL mode.

Class Method Summary collapse

Class Method Details

.add_commandsObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/pwn/plugins/repl/asm.rb', line 11

def self.add_commands
  Pry::Commands.create_command 'pwn-asm' do
    description 'Initiate pwn.asm shell.'

    def process
      pi = pry_instance
      pi.config.pwn_asm = true

      # Switch to custom multi-line input (SHIFT+ENTER newline, ENTER submit) —
      # same handler pwn-ai uses; restored by `back`.
      pi.config.input = PWNMultiLineInput.new(pi)

      pi.custom_completions = proc do
        [pi.input.line_buffer]
      end

      puts '[*] MULTILINE in pwn-asm: SHIFT+ENTER (or ALT+ENTER, or trailing `\\`) inserts a newline; ENTER submits.'
    end
  end
end

.authorsObject

Author(s)

0day Inc. [email protected]



34
35
36
37
38
# File 'lib/pwn/plugins/repl/asm.rb', line 34

public_class_method def self.authors
  "AUTHOR(S):
    0day Inc. <[email protected]>
  "
end

.helpObject

Display usage for this module.



42
43
44
45
46
47
48
49
50
51
# File 'lib/pwn/plugins/repl/asm.rb', line 42

public_class_method def self.help
  puts "USAGE:
    # Register the pwn-asm Pry command.
    #{self}.add_commands

    # Print the AUTHOR(S) string for this module.
    #{self}.authors
  "
  constants.sort
end