# Volatility # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or (at # your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA """ @author: Mariano `emdel` Graziano, Edwin Smulders @license: GNU General Public License 2.0 or later @contact: graziano@eurecom.fr, mail@edwinsmulders.eu """ import volatility.plugins.linux.common as common import volatility.plugins.linux.pslist as linux_pslist import collections import struct import volatility.debug as debug offsets = {} # x86 offsets - It works on my Linux machine. offsets['32bit'] = [ 'ebx', 'ecx', 'edx', 'esi', 'edi', 'ebp', 'eax', 'ds', 'es', 'fs', 'gs', 'orig_eax', 'eip', 'cs', 'eflags', 'esp', 'ss' ] # x64 offsets offsets['64bit'] = [ 'r15', 'r14', 'r13', 'r12', 'rbp', 'rbx', 'r11', 'r10', 'r9', 'r8', 'rax', 'rcx', 'rdx', 'rsi', 'rdi', 'unknown', # I'm not sure what this field is 'rip', 'cs', 'eflags', 'rsp', 'ss' ] reg_size = {} reg_size['32bit'] = 0x4 reg_size['64bit'] = 0x8 fmt = {} fmt['32bit'] = '