12 #define MDMP_MEM_COMMIT 0x01000
13 #define MDMP_MEM_FREE 0x10000
14 #define MDMP_MEM_RESERVE 0x02000
16 #define MDMP_MEM_IMAGE 0x1000000
17 #define MDMP_MEM_MAPPED 0x0040000
18 #define MDMP_MEM_PRIVATE 0x0020000
20 #define MDMP_PROCESSOR_ARCHITECTURE_INTEL 0x0000
21 #define MDMP_PROCESSOR_ARCHITECTURE_ARM 0x0005
22 #define MDMP_PROCESSOR_ARCHITECTURE_IA64 0x0006
23 #define MDMP_PROCESSOR_ARCHITECTURE_AMD64 0x0009
24 #define MDMP_PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
26 #define MDMP_VER_NT_WORKSTATION 0x0000001
27 #define MDMP_VER_NT_DOMAIN_CONTROLLER 0x0000002
28 #define MDMP_VER_NT_SERVER 0x0000003
30 #define MDMP_VER_PLATFORM_WIN32s 0x0000
31 #define MDMP_VER_PLATFORM_WIN32_WINDOWS 0x0001
32 #define MDMP_VER_PLATFORM_WIN32_NT 0x0002
34 #define MDMP_VER_SUITE_SMALLBUSINESS 0x00000001
35 #define MDMP_VER_SUITE_ENTERPRISE 0x00000002
36 #define MDMP_VER_SUITE_BACKOFFICE 0x00000004
37 #define MDMP_VER_SUITE_TERMINAL 0x00000010
38 #define MDMP_VER_SUITE_SMALLBUSINESS_RESTRICTED 0x00000020
39 #define MDMP_VER_SUITE_EMBEDDEDNT 0x00000040
40 #define MDMP_VER_SUITE_DATACENTER 0x00000080
41 #define MDMP_VER_SUITE_SINGLEUSERTS 0x00000100
42 #define MDMP_VER_SUITE_PERSONAL 0x00000200
43 #define MDMP_VER_SUITE_BLADE 0x00000400
44 #define MDMP_VER_SUITE_STORAGE_SERVER 0x00002000
45 #define MDMP_VER_SUITE_COMPUTE_SERVER 0x00004000
47 #define MDMP_MAGIC "\x4D\x44\x4D\x50\x93\xA7"
49 #define AVRF_MAX_TRACES 32
51 #define MINIDUMP_PAGE_NOACCESS 0x00000001
52 #define MINIDUMP_PAGE_READONLY 0x00000002
53 #define MINIDUMP_PAGE_READWRITE 0x00000004
54 #define MINIDUMP_PAGE_WRITECOPY 0x00000008
55 #define MINIDUMP_PAGE_EXECUTE 0x00000010
56 #define MINIDUMP_PAGE_EXECUTE_READ 0x00000020
57 #define MINIDUMP_PAGE_EXECUTE_READWRITE 0x00000040
58 #define MINIDUMP_PAGE_EXECUTE_WRITECOPY 0x00000080
59 #define MINIDUMP_PAGE_GUARD 0x00000100
60 #define MINIDUMP_PAGE_NOCACHE 0x00000200
61 #define MINIDUMP_PAGE_WRITECOMBINE 0x00000400
62 #define MINIDUMP_PAGE_TARGETS_INVALID 0x40000000
63 #define MINIDUMP_PAGE_TARGETS_NO_UPDATE 0x40000000
65 #define MINIDUMP_MISC1_PROCESS_ID 0x00000001
66 #define MINIDUMP_MISC1_PROCESS_TIMES 0x00000002
67 #define MINIDUMP_MISC1_PROCESSOR_POWER_INFO 0x00000004
69 #define MINIDUMP_THREAD_INFO_ERROR_THREAD 0x00000001
70 #define MINIDUMP_THREAD_INFO_WRITING_THREAD 0x00000002
71 #define MINIDUMP_THREAD_INFO_EXITED_THREAD 0x00000004
72 #define MINIDUMP_THREAD_INFO_INVALID_INFO 0x00000008
73 #define MINIDUMP_THREAD_INFO_INVALID_CONTEXT 0x00000010
74 #define MINIDUMP_THREAD_INFO_INVALID_TEB 0x00000020
198 struct minidump_header {
201 ut32 number_of_streams;
202 rva_t stream_directory_rva;
207 ut32 time_date_stamp;
216 struct minidump_location_descriptor {
224 struct minidump_location_descriptor64 {
231 struct minidump_memory_descriptor {
232 ut64 start_of_memory_range;
233 struct minidump_location_descriptor memory;
238 struct minidump_memory_descriptor64 {
239 ut64 start_of_memory_range;
245 struct minidump_directory {
247 struct minidump_location_descriptor location;
252 struct minidump_exception {
254 ut32 exception_flags;
255 ut64 exception_record;
256 ut64 exception_address;
257 ut32 number_parameters;
258 ut32 __unused_alignment;
264 struct minidump_exception_stream {
268 struct minidump_exception exception_record;
269 struct minidump_location_descriptor thread_context;
274 struct minidump_exception_record {
276 ut32 exception_flags;
278 struct minidump_exception_record *exception_record;
280 void *exception_address;
281 ut32 number_parameters;
289 struct minidump_exception_pointers {
290 struct minidump_exception_record exception_record;
291 void *context_record;
297 struct minidump_exception_information {
300 struct minidump_exception_pointers *exception_pointers;
307 struct minidump_function_table_descriptor {
308 ut64 minimum_address;
309 ut64 maximum_address;
312 ut32 size_of_align_pad;
317 struct minidump_function_table_stream {
319 ut32 size_of_descriptor;
320 ut32 size_of_native_descriptor;
321 ut32 size_of_function_entry;
322 ut32 number_of_descriptors;
323 ut32 size_of_align_pad;
328 struct minidump_handle_data_stream {
330 ut32 size_of_descriptor;
331 ut32 number_of_descriptors;
338 struct minidump_handle_descriptor {
341 rva_t object_name_rva;
351 struct minidump_handle_descriptor_2 {
354 rva_t object_name_rva;
359 rva_t object_info_rva;
365 struct minidump_handle_object_information {
373 struct minidump_memory_list {
374 ut32 number_of_memory_ranges;
375 struct minidump_memory_descriptor memory_ranges[];
380 struct minidump_memory64_list {
381 ut64 number_of_memory_ranges;
383 struct minidump_memory_descriptor64 memory_ranges[];
388 struct minidump_memory_info {
390 ut64 allocation_base;
391 ut32 allocation_protect;
402 struct minidump_memory_info_list {
405 ut64 number_of_entries;
406 struct minidump_memory_info
entries[];
411 struct minidump_misc_info {
415 ut32 process_create_time;
416 ut32 process_user_time;
417 ut32 process_kernel_time;
422 struct minidump_misc_info_2 {
426 ut32 process_create_time;
427 ut32 process_user_time;
428 ut32 process_kernel_time;
429 ut32 processor_max_mhz;
430 ut32 processor_current_mhz;
431 ut32 processor_mhz_limit;
432 ut32 processor_max_idle_state;
433 ut32 processor_current_idle_state;
439 struct vs_fixedfileinfo {
441 ut32 dw_struc_version;
442 ut32 dw_file_version_ms;
443 ut32 dw_file_version_ls;
444 ut32 dw_product_version_ms;
445 ut32 dw_product_version_ls;
446 ut32 dw_file_flags_mask;
450 ut32 dw_file_subtype;
451 ut32 dw_file_date_ms;
452 ut32 dw_file_date_ls;
457 struct minidump_module {
461 ut32 time_date_stamp;
462 rva_t module_name_rva;
464 struct vs_fixedfileinfo version_info;
465 struct minidump_location_descriptor cv_record;
466 struct minidump_location_descriptor misc_record;
474 struct minidump_module_list {
475 ut32 number_of_modules;
476 struct minidump_module
modules[];
481 struct minidump_string {
488 struct minidump_system_info {
489 ut16 processor_architecture;
490 ut16 processor_level;
491 ut16 processor_revision;
496 ut8 number_of_processors;
505 rva_t csd_version_rva;
518 ut32 version_information;
519 ut32 feature_information;
520 ut32 amd_extended_cpu_features;
523 ut64 processor_features[2];
530 struct minidump_thread {
536 struct minidump_memory_descriptor
stack;
537 struct minidump_location_descriptor thread_context;
542 struct minidump_thread_list {
543 ut32 number_of_threads;
544 struct minidump_thread
threads[0];
549 struct minidump_thread_ex {
556 struct minidump_memory_descriptor
stack;
557 struct minidump_location_descriptor thread_context;
558 struct minidump_memory_descriptor backing_store;
563 struct minidump_thread_ex_list {
564 ut32 number_of_threads;
565 struct minidump_thread_ex
threads[];
570 struct minidump_thread_info {
585 struct minidump_thread_info_list {
588 ut32 number_of_entries;
589 struct minidump_thread_info
entries[];
594 struct minidump_token_info {
602 struct minidump_token_info_list {
604 ut32 number_of_entries;
605 ut32 list_header_size;
606 ut32 element_header_size;
607 struct minidump_token_info
entries[];
613 struct minidump_unloaded_module {
617 ut32 time_date_stamp;
618 rva_t module_name_rva;
623 struct minidump_unloaded_module_list {
626 ut32 number_of_entries;
627 struct minidump_unloaded_module
entries[];
632 struct minidump_user_stream {
640 struct minidump_user_stream_information {
641 ut32 user_stream_count;
643 struct minidump_user_stream *user_stream_array;
649 struct minidump_include_thread_callback {
656 struct minidump_module_callback {
661 ut32 time_date_stamp;
663 struct vs_fixedfileinfo version_info;
666 ut32 size_of_cv_record;
668 ut32 size_of_misc_record;
674 struct minidump_include_module_callback {
682 struct minidump_io_callback {
693 struct minidump_read_memory_failure_callback {
701 struct minidump_callback_output {
705 ut32 secondary_flags;
718 struct minidump_memory_info vm_region;
726 struct avrf_backtrace_information {
733 struct avrf_handle_operation {
740 struct avrf_backtrace_information back_trace_information;
745 struct minidump_handle_operation_list {
748 ut32 number_of_entries;
750 struct avrf_handle_operation
entries[];
static mcore_handle handle
RzList * entries(RzBinFile *bf)
static char * signature(RzBinFile *bf, bool json)
static ut64 rva(RzBinObject *o, ut64 paddr, ut64 vaddr, int va)
static static sync static getppid static getegid const char static filename char static len const char char static bufsiz static mask static vfork const void static prot static getpgrp const char static swapflags static arg static fd static protocol static who struct sockaddr static addrlen static backlog struct timeval struct timezone static tz const struct iovec static count static mode const void const struct sockaddr static tolen const char static pathname void static offset struct stat static buf void long static basep static whence static length const void static len static semflg const void static shmflg const struct timespec struct timespec static rem const char static group const void length
static const char struct stat static buf struct stat static buf static vhangup int status
@ MODULE_WRITE_MISC_RECORD
@ MODULE_REFERENCED_BY_MEMORY
minidump_handle_object_information_type_t
@ MINI_HANDLE_OBJECT_INFORMATION_NONE
@ MINI_MUTANT_INFORMATION_2
@ MINI_PROCESS_INFORMATION_2
@ MINI_MUTANT_INFORMATION_1
@ MINI_THREAD_INFORMATION_1
@ MINI_PROCESS_INFORMATION_1
@ UNLOADED_MODULE_LIST_STREAM
@ THREAD_INFO_LIST_STREAM
@ HANDLE_OPERATION_LIST_STREAM
@ PROCESS_VM_COUNTERS_STREAM
@ MEMORY_INFO_LIST_STREAM
@ SYSTEM_MEMORY_INFO_STREAM
@ KERNEL_MINIDUMP_STATUS_CALLBACK
@ WRITE_KERNEL_MINIDUMP_CALLBACK
@ INCLUDE_VM_REGION_CALLBACK
@ READ_MEMORY_FAILURE_CALLBACK
@ INCLUDE_THREAD_CALLBACK
@ INCLUDE_MODULE_CALLBACK
@ SECONDARY_FLAGS_CALLBACK
enum minidump_stream_type_t minidump_stream_type
minidump_secondary_flags_t
@ MINI_SECONDARY_WITHOUT_POWER_INFO
enum thread_write_flags_t thread_write_flags
@ MINI_DUMP_WITH_CODE_SEGS
@ MINI_DUMP_WITH_PROCESS_THREAD_DATA
@ MINI_DUMP_WITH_HANDLE_DATA
@ MINI_DUMP_WITH_MODULE_HEADERS
@ MINI_DUMP_WITH_FULL_AUXILIARY_STATE
@ MINI_DUMP_WITHOUT_AUXILIARY_STATE
@ MINI_DUMP_WITHIN_DIRECTLY_REFERENCED_MEMORY
@ MINI_DUMP_FILTER_MODULE_PATHS
@ MINI_DUMP_WITH_PRIVATE_READ_WRITE_MEMORY
@ MINI_DUMP_FILTER_MEMORY
@ MINI_DUMP_WITH_UNLOADED_MODULES
@ MINI_DUMP_WITH_THREAD_INFO
@ MINI_DUMP_WITH_FULL_MEMORY
@ MINI_DUMP_WITH_TOKEN_INFORMATION
@ MINI_DUMP_FILTER_TRIAGE
@ MINI_DUMP_VALID_TYPE_FLAGS
@ MINI_DUMP_WITH_DATA_SEGS
@ MINI_DUMP_WITH_PRIVATE_WRITE_COPY_MEMORY
@ MINI_DUMP_WITHOUT_OPTIONAL_DATA
@ MINI_DUMP_IGNORE_INACCESSIBLE_MEMORY
@ MINI_DUMP_WITH_FULL_MEMORY_INFO
enum minidump_handle_object_information_type_t minidump_handle_object_information_type
enum module_write_flags_t module_write_flags
RZ_PACKED(struct minidump_header { ut32 signature;ut32 version;ut32 number_of_streams;rva_t stream_directory_rva;ut32 check_sum;union { ut32 reserved;ut32 time_date_stamp;};ut64 flags;})
enum minidump_secondary_flags_t minidump_secondary_flags
enum minidump_type_t minidump_type
enum minidump_callback_type_t minidump_callback_type
@ THREAD_WRITE_BACKING_STORE
@ THREAD_WRITE_INSTRUCTION_WINDOW
@ THREAD_WRITE_THREAD_DATA
@ THREAD_WRITE_THREAD_INFO
#define EXCEPTION_MAXIMUM_PARAMETERS
static struct sockaddr static addrlen static backlog const void static flags void flags
static enum exit_status_type exit_status
Exit status to use. This can be changed with set_exit_status().
static uv_thread_t * threads
ut64(WINAPI *w32_GetEnabledXStateFeatures)()
#define buffer_size(buffer)