MHL
cb98a085d7
refs #1296 sort volshell methods alphabetically in hh() output
2024-10-07 09:11:49 -05:00
iMHLv2
e5d4e599d3
refs #713 update API_CHANGES.md
2022-09-21 14:55:17 -05:00
iMHLv2
ee3895867f
refs #713 bump VERSION_MINOR to 4
2022-09-21 13:40:28 -05:00
iMHLv2
9ca83763ba
refs #713 add a vad.get_size() method and fix several off-by-one issues with calculating vad size
2022-08-24 11:10:38 -05:00
iMHLv2
3e70030d17
refs #668 by convention, use show-free instead of show_free
2022-04-20 13:22:18 -05:00
iMHLv2
fd81dba420
refs #668 bump the minor version and not the revision for an additive change
2022-04-20 13:21:43 -05:00
iMHLv2
02569f4e06
refs #668 handle freed windows big pools more accurately. add --show_free option to the bigpools plugin
2022-03-29 11:57:24 -05:00
iMHLv2 and Mike Auty
ea335b03ae
change return to yield after get_object() turned into a generator in 2da510d8
2021-10-06 20:42:51 +01:00
iMHLv2 and Mike Auty
2d2a457517
fix pool scanners on some windows versions
...
This fixes the size of _POOL_HEADER on 32-bit versions of Windows (was 16, should be 8). Also, get_object() is not doing enough validation and its returning too early. I turned that into a generator so it yields both valid and invalid objects, since the caller does validation anyway. Another way of fixing this is to pass the type_map and cookie from the caller into get_object() so it can do the proper validation and only return valid objects.
2021-10-06 20:42:48 +01:00
iMHLv2
f92d83f619
add the missing -r
2021-10-06 12:48:52 -05:00
iMHLv2
8ec52c7178
refs #566 refactor dependencies
2021-10-06 12:47:04 -05:00
iMHLv2
f1079e7e9b
fix up required framework version for crashinfo
2021-07-10 08:32:40 -05:00
iMHLv2
7d9c66c407
run yapf on the newly added files
2021-06-01 14:27:20 -05:00
iMHLv2
7b73f8d545
fix the copyright date for extensions/crash.py
2021-06-01 14:21:11 -05:00
iMHLv2
d2db22c310
use typing for the layer variable passed to _generator
2021-06-01 14:20:59 -05:00
iMHLv2
d285519ecb
don't assume primary.memory_layer is a crash layer...instead, cycle through the layers until finding the crash layer
2021-06-01 14:17:31 -05:00
iMHLv2
a0adbde994
eliminate confusing single letter variable
2021-06-01 13:55:37 -05:00
iMHLv2
b15e69e11d
ensure the crashinfo plugin gets a crash layer
2021-06-01 13:55:21 -05:00
iMHLv2
7152ca0ffc
refactor load_segments() to fix 32-bit bitmap crashdumps
2021-05-11 15:59:42 -05:00
iMHLv2
00db33e0fe
print human readable dump type in crashinfo, along with bitmap header size, bitmap size, and page count
2021-03-31 09:52:12 -05:00
iMHLv2
fb54a2cade
report segments in the crash layer with LOGLEVEL_VVVV
2021-03-30 21:23:46 -05:00
iMHLv2
3ebbddbd8d
don't save objects in self
...
they contain a reference to the context, so if we ever pickle that, then it'll cause a massive recursion loop and fail
2021-03-30 21:12:32 -05:00
iMHLv2
f5e5fd0060
apply fixes and improvements for crash layer (see description)
...
1) Remove empty newlines before the license
2) Remove unused imports
3) Add support for 32-bit Bitmap crash dumps
4) Move _SUMMARY_DUMP to crash_common.json and fix the swapped Pages and BitmapSize offsets
5) Fix other errors in crash64.json (swapped SystemTime vs SystemUpTime, PsActiveProcessHead should be unsigned long long, several incorrect offsets for other members
6) Switched to new volatility3 namespace
7) Reverted required_framework_version to (1, 0, 0)
8) Fixed crashinfo plugin from unpacking the wrong number of values from layer.mapping(). Actually, the plugin no longer displays runs - it shows metadata instead.
9) Address Ikelos' comments in PR #452
2021-03-30 17:25:32 -05:00
iMHLv2
f4dee3c5f0
sync with fa1c03d of jxwegner/volatility3
2021-03-30 15:27:09 -05:00
iMHLv2
b61185c6b0
refs #409 VACB does not expose is_valid() - do the validity check inline
2021-01-13 21:23:12 -06:00
iMHLv2 and Mike Auty
2a180c135e
refs #368 fix handles on 32-bit windows 8 and 10 - finding SAR is not necessary on these versions
2021-01-13 00:29:01 +00:00
iMHLv2
d7d176d040
add Is64Bit and IsPAE properties to the windows.info plugin
2021-01-06 11:36:56 -06:00
iMHLv2
53397117ef
remove unnecessary and unused imports from the windows extensions init file
2021-01-06 10:30:01 -06:00
iMHLv2
2c3b6668d5
refs #368 fix handles on 32-bit windows 8 and 10 - finding SAR is not necessary on these versions
2021-01-06 10:10:51 -06:00
iMHLv2 and ikelos
0a9e663c41
remove the _VACB.is_valid() method - do all validity checks in the calling function
2020-12-10 15:37:40 +00:00
iMHLv2 and ikelos
442f877e9a
refs #197 initial commit of windows.dumpfiles
2020-12-10 15:37:40 +00:00
iMHLv2 and ikelos
20f4fbf157
add --virtaddr and --physaddr options so users can supply virtual or physical addresses (or both)
2020-12-10 15:37:40 +00:00
iMHLv2 and ikelos
0c09b98318
use native_layer_name in file_name_with_device() in case the FILE_OBJECT is instantiated from a memory (physical) layer
2020-12-10 15:37:40 +00:00
iMHLv2 and ikelos
25b56b5ca4
remove the _VACB.is_valid() method - do all validity checks in the calling function
2020-12-10 15:37:40 +00:00
iMHLv2 and ikelos
3ac89577cc
refs #197 initial commit of windows.dumpfiles
2020-12-10 15:37:40 +00:00
iMHLv2 and ikelos
0d4075355a
refs #332 catch invalid address exceptions when reading DllBase
2020-10-07 23:16:14 +01:00
iMHLv2 and ikelos
8baf13d3e3
refs #333 catch InvalidAddressException instead of AttributeError when accessing DLL timestamps
2020-09-23 19:27:37 +01:00
Michael Ligh and ikelos
87ff6dd87c
refs #200 raise ValueError if an object doesn't have a name
2020-07-01 20:51:22 +01:00
Michael Ligh
d5bdf9633d
refs #204 fix modscan, _LDR_DATA_TABLE_ENTRY is not an executive object and doesn't have an object_type
2020-04-07 09:22:52 -05:00
Michael Ligh and ikelos
4c7f2a3762
catch InvalidAddressException when traversing left and right child VADs (triggered on terminated processes)
2020-02-12 19:19:27 +00:00
Michael Ligh and ikelos
1d7da6402b
svcscan cleanup: win10 before 15063 uses win8 types
2020-01-22 19:23:30 +00:00
Michael Ligh and ikelos
d6c8ac87d7
try unverified retrieval if ssl.SSLCertVerificationError or ssl.SSLError with CERTIFICATE_VERIFY_FAILED
2020-01-22 19:19:48 +00:00
Michael Ligh and ikelos
e80e9e09b6
the hand-written 32-bit windows 10 service record types were missing the Tag member
2020-01-05 01:53:52 +00:00
Michael Ligh
b7b6c44eab
remove unused variable in vaddump.py
2020-01-04 09:35:51 -06:00
Michael Ligh
cd841616af
refs #144 use a kernel layer to read vad protection constants
2019-12-08 07:46:02 -06:00
Michael Ligh and ikelos
d0f9cf9a2f
refs #139 use _EPROCESS.ControlFlowGuardEnabled to distinguish between windows 10 <= 15063 versus >= 16299
2019-12-04 21:19:19 +00:00
Michael Ligh and ikelos
4e3db7a3de
add PluginRequirements for ssdt and svcscan. add missing _version to svcscan
2019-09-08 16:08:48 +01:00
Michael Ligh and ikelos
1d7f2a9582
use ntkrnlmp.object() instead of context.object(). remove config_path argument to list* functions
2019-09-08 16:08:48 +01:00
Michael Ligh and ikelos
50548bac73
reformat with yapf
2019-09-08 16:08:48 +01:00
Michael Ligh
2138152b10
fix a bug in psscan on xp images
...
we need to get the kvo using the native_layer_name rather than the layer_name
2019-03-19 11:14:10 -05:00
Michael Ligh
d68b94965c
catch TypeError in _FILE_OBJECT.file_name_with_device(). this avoids an exception trying to combine a str with renderers.UnreadableValue()
2019-02-24 17:14:28 -06:00
Michael Ligh and ikelos
12fe297c80
builtin_constraints() returns all constraints by default
2019-02-07 09:08:32 +00:00
Michael Ligh and ikelos
f34cd01b09
small style change for readability
2019-02-07 09:08:32 +00:00
Michael Ligh and ikelos
33f3f4372c
parameterize generate_pool_scan() - let plugins choose which contraints to use
...
plugins can choose from a list of built-ins or they can create their own and pass them into generate_pool_scan()
2019-02-07 09:08:32 +00:00
Michael Ligh and ikelos
c1341e6278
refactor poolscanner to be leveraged by other plugins. add psscan
2019-02-07 09:08:32 +00:00
Michael Ligh and ikelos
d23e6474ce
reference windows metadata & PE values from ISF as the primary method of determining OS version
2019-02-06 21:11:20 +00:00
Michael Ligh
f61fba8e00
the vad end should be the last byte in the last page (i.e. ending in 0xfff)
2019-02-05 21:05:17 -06:00
Michael Ligh and ikelos
90b7f2aa3b
add backup methods of detecting windows versions, in case metadata in the json isn't available
2018-12-17 19:40:14 +00:00
Michael Ligh and ikelos
736a1c6e50
add is_valid() for _FILE_OBJECT and _EPROCESS
2018-12-13 01:16:05 +00:00
Michael Ligh and ikelos
650a188d51
updates for win8/win10 poolscanning
2018-12-13 01:16:05 +00:00
Michael Ligh and ikelos
4c68da8b06
move the functionality for getting an object's type into the _OBJECT_HEADER extension
2018-12-13 01:16:05 +00:00
Michael Ligh and ikelos
4b0e7e5309
remove the Path column from poolscanner. add File scanning
2018-12-13 01:16:05 +00:00
Michael Ligh and ikelos
d653839359
switch Handles.find_cookie() to a classmethod so it can be called from the poolscanner. add typing
2018-12-13 01:16:05 +00:00
Michael Ligh and ikelos
d667a68f97
switch Handles.list_objects() to a classmethod so it can be called from the poolscanner. pass the type_map into get_object()
2018-12-13 01:16:05 +00:00
Michael Ligh and ikelos
a76d71a7dc
move the functionality for getting an object's type into the _OBJECT_HEADER extension
2018-12-13 01:16:05 +00:00
Michael Ligh
97ae236fcc
add the pool header json files to be used when kernels fail to define their own _POOL_HEADER
2018-10-03 17:07:07 -05:00
Michael Ligh and ikelos
fffdd253ae
use renderers.NotApplicableValue() for the poolscanner plugin's name field
2018-09-15 15:22:38 +01:00
Michael Ligh and ikelos
ac60d36e04
pass in native_layer_name to _POOL_HEADER.get_object() and remove FIXME
2018-09-15 15:22:38 +01:00
Michael Ligh and ikelos
88f73365ee
remove vol magic comment
2018-09-15 15:22:38 +01:00
Michael Ligh and ikelos
668f8ad037
add pydocs to windows extension classes
2018-09-15 15:22:38 +01:00
Michael Ligh and ikelos
9d6055d2ba
add a lambda placeholder for is_windows_10 - replace it once we have PE file version checks
2018-09-15 15:22:38 +01:00
Michael Ligh and ikelos
f02df7a92e
reduce the extra tag_type_map lookup by yielding the constraint from the pool scanner
2018-09-15 15:22:38 +01:00
Michael Ligh and ikelos
5d20faa0a7
work on _POOL_HEADER.get_object()
2018-09-15 15:22:38 +01:00
Michael Ligh and ikelos
be6a351a11
start adding the _POOL_HEADER extension. expand the pool constraints to include processes
2018-09-15 15:22:38 +01:00
Michael Ligh and ikelos
56a5012a46
fix alignment, should offset be optional to context.module()? refactor pool type checks
2018-09-15 15:22:38 +01:00
Michael Ligh and ikelos
6862573734
only ask for the requirements that we need
2018-08-29 15:10:46 +01:00
Michael Ligh and ikelos
617510f6d6
change how we iterate through the symbol_generator results
2018-08-29 15:10:46 +01:00
Michael Ligh and ikelos
ea63c7e80e
define a find_address() method for consistent behavior for 32 and 64-bit systems
2018-08-29 15:10:46 +01:00
Michael Ligh and ikelos
45ea3437f1
explicitly list the nt_symbols requirement
2018-08-29 15:10:46 +01:00
Michael Ligh and ikelos
13e5145e46
use from ... import ... statements
2018-08-29 15:10:46 +01:00
Michael Ligh and ikelos
34bb059cfe
add the ssdt plugin for windows
2018-08-29 15:10:46 +01:00
Michael Ligh and ikelos
3d7c10dd32
add the cmdline plugin for windows
2018-07-19 21:26:32 +01:00
Michael Ligh and ikelos
ab6a9fa43b
add typing, catch more specific exceptions, raise pefile dependency issues, use classmethod
2018-06-19 09:59:28 +01:00
Michael Ligh and ikelos
e4fbc82ab3
verinfo still needs the primary and nt_symbols requirements
2018-06-19 09:59:28 +01:00
Michael Ligh and ikelos
c43c53a7d7
initial draft of verinfo
2018-06-19 09:59:28 +01:00
Michael Ligh and ikelos
7338cdbf8a
BaseDllName should be an UnreadableValue() if it cannot be accessed
2018-06-13 15:10:58 +01:00
Michael Ligh and ikelos
3eeb48cc0e
add the moddump plugin for windows
2018-06-13 15:10:58 +01:00
Michael Ligh
95214216ea
BaseDllName and FullDllName should be UnreadableValue() if they cannot be accessed
2018-06-13 09:10:47 -05:00
Michael Ligh and Mike Auty
76f5d35499
update _KDDEBUGGER_DATA64.get_build_lab() to not reference "nt_symbols"
2018-06-12 08:41:37 +01:00
Michael Ligh and Mike Auty
7ae0d654c2
pass native_types to KdbgIntermedSymbols.create() instead of table_mapping
2018-06-12 08:41:37 +01:00
Michael Ligh and Mike Auty
ae9d7dbc86
use *args and **kwargs when inheriting from IntermediateSymbolTable
2018-06-12 08:41:37 +01:00
Michael Ligh and Mike Auty
7797a6a385
add a class string to windows.info so that the plugin has a description
2018-06-12 08:40:21 +01:00
Michael Ligh and Mike Auty
fb57e2c5f2
wininfo, procdump, dlldump, and json for pe & kdbg
2018-06-12 08:40:21 +01:00
Michael Ligh
17924a0667
refs #27 use _KLDR_DATA_TABLE_ENTRY on windows if its available
2018-05-30 13:55:20 -05:00
Michael Ligh
21b2eb7ecc
malfind is reading chunks, not technically pages, so change PAGE_SIZE to CHUNK_SIZE
2018-05-13 18:49:11 -05:00
Michael Ligh and ikelos
deb81aa1c8
address a few of @ikelos comments in the PR
2018-05-13 23:30:03 +01:00
Michael Ligh and ikelos
a01e4e41b0
commit malfind
2018-05-13 23:30:03 +01:00
Michael Ligh
39413323b1
HexBytes() should inherit from bytes not int
2018-05-06 09:24:36 -05:00
Michael Ligh
aa774ffca6
Refs #21 fix vadinfo's get_private_memory() on 10.0.14393.x
2018-04-11 09:24:02 -05:00
Michael Ligh and ikelos
205af99a3e
Rev2 after rev1 comments
2018-03-19 22:35:00 +00:00