Skip to content

Commit 8e355c0

Browse files
authored
Merge pull request #1350 from eve-mem/volshell_display_default_constant
Volshell: Make the default number of bytes returned by db, dw, dd, dq, rx, and dis use a constant
2 parents fe91fea + 357d8a9 commit 8e355c0

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

volatility3/cli/volshell/generic.py

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ class Volshell(interfaces.plugins.PluginInterface):
2929

3030
_required_framework_version = (2, 0, 0)
3131

32+
DEFAULT_NUM_DISPLAY_BYTES = 128
33+
3234
def __init__(self, *args, **kwargs):
3335
super().__init__(*args, **kwargs)
3436
self.__current_layer: Optional[str] = None
@@ -269,27 +271,31 @@ def change_kernel(self, kernel_name: str = None):
269271
self.__current_kernel_name = kernel_name
270272
print(f"Current kernel : {self.current_kernel_name}")
271273

272-
def display_bytes(self, offset, count=128, layer_name=None):
274+
def display_bytes(self, offset, count=DEFAULT_NUM_DISPLAY_BYTES, layer_name=None):
273275
"""Displays byte values and ASCII characters"""
274276
remaining_data = self._read_data(offset, count=count, layer_name=layer_name)
275277
self._display_data(offset, remaining_data)
276278

277-
def display_quadwords(self, offset, count=128, layer_name=None):
279+
def display_quadwords(
280+
self, offset, count=DEFAULT_NUM_DISPLAY_BYTES, layer_name=None
281+
):
278282
"""Displays quad-word values (8 bytes) and corresponding ASCII characters"""
279283
remaining_data = self._read_data(offset, count=count, layer_name=layer_name)
280284
self._display_data(offset, remaining_data, format_string="Q")
281285

282-
def display_doublewords(self, offset, count=128, layer_name=None):
286+
def display_doublewords(
287+
self, offset, count=DEFAULT_NUM_DISPLAY_BYTES, layer_name=None
288+
):
283289
"""Displays double-word values (4 bytes) and corresponding ASCII characters"""
284290
remaining_data = self._read_data(offset, count=count, layer_name=layer_name)
285291
self._display_data(offset, remaining_data, format_string="I")
286292

287-
def display_words(self, offset, count=128, layer_name=None):
293+
def display_words(self, offset, count=DEFAULT_NUM_DISPLAY_BYTES, layer_name=None):
288294
"""Displays word values (2 bytes) and corresponding ASCII characters"""
289295
remaining_data = self._read_data(offset, count=count, layer_name=layer_name)
290296
self._display_data(offset, remaining_data, format_string="H")
291297

292-
def regex_scan(self, pattern, count=128, layer_name=None):
298+
def regex_scan(self, pattern, count=DEFAULT_NUM_DISPLAY_BYTES, layer_name=None):
293299
"""Scans for regex pattern in layer using RegExScanner."""
294300
if not isinstance(pattern, bytes):
295301
raise TypeError("pattern must be bytes, e.g. rx(b'pattern')")
@@ -304,7 +310,13 @@ def regex_scan(self, pattern, count=128, layer_name=None):
304310
self._display_data(offset, remaining_data)
305311
print("")
306312

307-
def disassemble(self, offset, count=128, layer_name=None, architecture=None):
313+
def disassemble(
314+
self,
315+
offset,
316+
count=DEFAULT_NUM_DISPLAY_BYTES,
317+
layer_name=None,
318+
architecture=None,
319+
):
308320
"""Disassembles a number of instructions from the code at offset"""
309321
remaining_data = self._read_data(offset, count=count, layer_name=layer_name)
310322
if not has_capstone:

0 commit comments

Comments
 (0)