--- volatility/plugins/malware/psxview.py.orig 2014-08-03 18:09:34 UTC +++ volatility/plugins/malware/psxview.py @@ -32,7 +32,7 @@ try: from openpyxl.workbook import Workbook from openpyxl.writer.excel import ExcelWriter from openpyxl.cell import get_column_letter - from openpyxl.style import Color, Fill + from openpyxl.styles import Color, Fill, Style, PatternFill, Border, Side, Alignment, Protection, Font from openpyxl.cell import Cell from openpyxl import load_workbook has_openpyxl = True @@ -208,6 +208,57 @@ class PsXview(common.AbstractWindowsComm yield offset, source[offset], ps_sources def render_xlsx(self, outfd, data): + BoldStyle = Style(font=Font(name='Calibri', + size=11, + bold=True, + italic=False, + vertAlign=None, + underline='none', + strike=False, + color='FFFFFFFF'), + fill=PatternFill(fill_type="solid", + start_color='FF000000', + end_color='FF000000')) + RedStyle = Style(font=Font(name='Calibri', + size=11, + bold=False, + italic=False, + vertAlign=None, + underline='none', + strike=False, + color='FF000000'), + border=Border(left=Side(border_style="thick", + color='FF000000'), + right=Side(border_style="thick", + color='FF000000'), + top=Side(border_style="thick", + color='FF000000'), + bottom=Side(border_style="thick", + color='FF000000'), + diagonal=Side(border_style="thick", + color='FF000000'), + diagonal_direction=0, + outline=Side(border_style="thick", + color='FF000000'), + vertical=Side(border_style="thick", + color='FF000000'), + horizontal=Side(border_style="thick", + color='FF000000')), + fill=PatternFill(start_color = 'FFFF0000', + end_color = 'FFFF0000', + fill_type = 'solid')) + GreenStyle = Style(font=Font(name='Calibri', + size=11, + bold=False, + italic=False, + vertAlign=None, + underline='none', + strike=False, + color='FF000000'), + fill=PatternFill(start_color = "FF00FF00", + end_color = "FF00FF00", + fill_type = "solid")) + wb = Workbook(optimized_write = True) ws = wb.create_sheet() ws.title = "Psxview Output" @@ -274,15 +325,13 @@ class PsXview(common.AbstractWindowsComm wb = load_workbook(filename = self._config.OUTPUT_FILE) ws = wb.get_sheet_by_name(name = "Psxview Output") for col in xrange(1, 12): - ws.cell("{0}{1}".format(get_column_letter(col), 1)).style.font.bold = True + ws.cell("{0}{1}".format(get_column_letter(col), 1)).style = BoldStyle for row in xrange(2, total + 1): for col in xrange(4, 11): if ws.cell("{0}{1}".format(get_column_letter(col), row)).value == "False": - ws.cell("{0}{1}".format(get_column_letter(col), row)).style.fill.fill_type = Fill.FILL_SOLID - ws.cell("{0}{1}".format(get_column_letter(col), row)).style.fill.start_color.index = "FFFF0000" + ws.cell("{0}{1}".format(get_column_letter(col), row)).style = RedStyle else: - ws.cell("{0}{1}".format(get_column_letter(col), row)).style.fill.fill_type = Fill.FILL_SOLID - ws.cell("{0}{1}".format(get_column_letter(col), row)).style.fill.start_color.index = "FF00FF00" + ws.cell("{0}{1}".format(get_column_letter(col), row)).style = GreenStyle wb.save(filename = self._config.OUTPUT_FILE) def render_text(self, outfd, data):