Class: Rex::Proto::ADB::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/rex/proto/adb/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(sock, opts = {}) ⇒ Client

Returns a new instance of Client.



15
16
17
18
19
# File 'lib/rex/proto/adb/client.rb', line 15

def initialize(sock, opts = {})
  @sock = sock
  @opts = opts
  @local_id_counter = 0x0a
end

Instance Method Details

#connectObject



21
22
23
# File 'lib/rex/proto/adb/client.rb', line 21

def connect
  ADB::Message::Connect.new.send_recv(@sock)
end

#exec_cmd(cmd) ⇒ Object



25
26
27
28
29
# File 'lib/rex/proto/adb/client.rb', line 25

def exec_cmd(cmd)
  local_id = @local_id_counter += 1
  response = ADB::Message::Open.new(local_id, "shell:"+cmd).send_recv(@sock)
  ADB::Message::Close.new(local_id, response.arg0).send_recv(@sock)
end

#read_messageObject



31
32
33
# File 'lib/rex/proto/adb/client.rb', line 31

def read_message
  ADB::Message.read(@sock)
end