breakpad/src/processor
Liu.andrew.x@gmail.com f073540795 Add check for Linux minidump ending on bad write for exploitability rating.
If a crash occurred as a result to a write to unwritable memory, it is reason
to suggest exploitability. The processor checks for a bad write by
disassembling the command that caused the crash by piping the raw bytes near
the instruction pointer through objdump. This allows the processor to see if
the instruction that caused the crash is a write to memory and where the
target of the address is located.

R=ivanpe@chromium.org

Review URL: https://codereview.chromium.org/1273823004

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1497 4c0a9323-5329-0410-9bdc-e9ce6186880e
2015-08-21 16:22:19 +00:00
..
proto Surfacing the process create time in google_breakpad::ProcessState 2014-11-25 22:45:23 +00:00
testdata Add check for Linux minidump ending on bad write for exploitability rating. 2015-08-21 16:22:19 +00:00
address_map-inl.h Breakpad: Avoid using the C++ <cfoo> headers. 2010-06-25 16:57:07 +00:00
address_map.h FastSourceLineResolver implementation for optimization purpose. 2010-10-21 17:13:01 +00:00
address_map_unittest.cc Breakpad: Avoid using the C++ <cfoo> headers. 2010-06-25 16:57:07 +00:00
basic_code_module.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
basic_code_modules.cc Microdump processing implementation 2014-11-19 21:33:26 +00:00
basic_code_modules.h Microdump processing implementation 2014-11-19 21:33:26 +00:00
basic_source_line_resolver.cc Don't use strtok_s for mingw builds 2015-08-20 15:09:16 +00:00
basic_source_line_resolver_types.h Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
basic_source_line_resolver_unittest.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
call_stack.cc Rename Airbag to Breakpad. 2007-02-14 19:51:05 +00:00
cfi_frame_info-inl.h Fix a sizeof(pointer) vs sizeof(pointee) issue caught by client. 2011-07-21 21:38:01 +00:00
cfi_frame_info.cc Don't use strtok_s for mingw builds 2015-08-20 15:09:16 +00:00
cfi_frame_info.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
cfi_frame_info_unittest.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
contained_range_map-inl.h Breakpad: Avoid using the C++ <cfoo> headers. 2010-06-25 16:57:07 +00:00
contained_range_map.h FastSourceLineResolver implementation for optimization purpose. 2010-10-21 17:13:01 +00:00
contained_range_map_unittest.cc Breakpad: Avoid using the C++ <cfoo> headers. 2010-06-25 16:57:07 +00:00
disassembler_x86.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
disassembler_x86.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
disassembler_x86_unittest.cc Cleanup: Remove duplicate wording in license headers. 2013-04-23 23:18:39 +00:00
dump_context.cc Use general instruction/stack pointer convenience method instead of manually 2015-06-30 23:22:09 +00:00
dump_object.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
exploitability.cc Add check for Linux minidump ending on bad write for exploitability rating. 2015-08-21 16:22:19 +00:00
exploitability_linux.cc Add check for Linux minidump ending on bad write for exploitability rating. 2015-08-21 16:22:19 +00:00
exploitability_linux.h Add check for Linux minidump ending on bad write for exploitability rating. 2015-08-21 16:22:19 +00:00
exploitability_unittest.cc Add check for Linux minidump ending on bad write for exploitability rating. 2015-08-21 16:22:19 +00:00
exploitability_win.cc Use general instruction/stack pointer convenience method instead of manually 2015-06-30 23:22:09 +00:00
exploitability_win.h Added the base exploitability module for windows. This only adds the very basic exception type based analysis for now. 2010-09-22 02:37:19 +00:00
fast_source_line_resolver.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
fast_source_line_resolver_types.h Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
fast_source_line_resolver_unittest.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
linked_ptr.h Fix processor to build with clang 2012-09-10 19:46:19 +00:00
logging.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
logging.h Add support for configuring the minimum log level at compile time 2013-11-05 19:43:48 +00:00
map_serializers-inl.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
map_serializers.h Make memory allocation/deallocation consistent: use new char[] instead of operator new() 2010-11-03 23:54:01 +00:00
map_serializers_unittest.cc map_serializers_unittest: fix unused variable warning 2013-10-30 17:16:38 +00:00
microdump.cc Fix signal propagation logic for Linux/Android exception handler. 2015-06-22 11:50:00 +00:00
microdump_processor.cc Microdumps: support aarch64 and lib mapping from APK 2014-12-02 15:31:25 +00:00
microdump_processor_unittest.cc Microdumps: support aarch64 and lib mapping from APK 2014-12-02 15:31:25 +00:00
microdump_stackwalk.cc Add stack contents output functionality to minidump_stackwalk 2015-02-27 04:52:21 +00:00
microdump_stackwalk_machine_readable_test Microdumps: support aarch64 and lib mapping from APK 2014-12-02 15:31:25 +00:00
microdump_stackwalk_test Microdumps: support aarch64 and lib mapping from APK 2014-12-02 15:31:25 +00:00
microdump_stackwalk_test_vars Microdumps: support aarch64 and lib mapping from APK 2014-12-02 15:31:25 +00:00
minidump.cc Allow Print() to be called by const instances of MinidumpLinuxMaps and 2015-08-12 00:21:44 +00:00
minidump_dump.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
minidump_dump_test Suppress handler thread from appearing in MinidumpProcessor's ProcessState 2006-11-06 23:00:19 +00:00
minidump_processor.cc Add check for Linux minidump ending on bad write for exploitability rating. 2015-08-21 16:22:19 +00:00
minidump_processor_unittest.cc Surfacing the process create time in google_breakpad::ProcessState 2014-11-25 22:45:23 +00:00
minidump_stackwalk.cc Add stack contents output functionality to minidump_stackwalk 2015-02-27 04:52:21 +00:00
minidump_stackwalk_machine_readable_test Add module list to machine-readable minidump_stackwalk output (#119). 2007-01-29 21:30:31 +00:00
minidump_stackwalk_test minidump_stackwalk should use MinidumpProcessor (#64). r=bryner 2006-10-27 00:40:56 +00:00
minidump_unittest.cc Adding support for mips. 2013-09-11 11:37:04 +00:00
module_comparer.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
module_comparer.h FastSourceLineResolver implementation for optimization purpose. 2010-10-21 17:13:01 +00:00
module_factory.h FastSourceLineResolver implementation for optimization purpose. 2010-10-21 17:13:01 +00:00
module_serializer.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
module_serializer.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
pathname_stripper.cc Rename Airbag to Breakpad. 2007-02-14 19:51:05 +00:00
pathname_stripper.h This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
pathname_stripper_unittest.cc Breakpad: Avoid using the C++ <cfoo> headers. 2010-06-25 16:57:07 +00:00
postfix_evaluator-inl.h Handle program strings with the assignment operator smashed against the next 2012-02-23 22:41:36 +00:00
postfix_evaluator.h This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
postfix_evaluator_unittest.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
proc_maps_linux.cc Fix inttypes format macros in src/processor/proc_maps_linux.cc 2015-08-19 07:24:21 +00:00
proc_maps_linux_unittest.cc Add support for Linux memory mapping stream and remove ELF header usage 2015-07-28 00:53:44 +00:00
process_state.cc Surfacing the process create time in google_breakpad::ProcessState 2014-11-25 22:45:23 +00:00
processor.gyp Add address and reason for IN_PAGE_ERROR. 2015-04-10 22:05:29 +00:00
processor_tools.gypi Add GYP build for the src/tools directory on Mac and Linux. 2014-07-24 15:22:51 +00:00
range_map-inl.h Turn off verbose logging but keep logic for future reference for debug logging. 2013-04-05 00:53:45 +00:00
range_map.h FastSourceLineResolver implementation for optimization purpose. 2010-10-21 17:13:01 +00:00
range_map_unittest.cc Move scoped_ptr.h to common 2013-01-17 15:53:56 +00:00
simple_serializer-inl.h Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
simple_serializer.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
simple_symbol_supplier.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
simple_symbol_supplier.h Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
source_line_resolver_base.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
source_line_resolver_base_types.h Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
stack_frame_cpu.cc Process minidumps generated on ARM64 in iOS apps. 2013-11-23 01:45:20 +00:00
stack_frame_symbolizer.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
stackwalk_common.cc Formatting tweak for https://breakpad.appspot.com/9774002, add more newlines 2015-02-27 13:40:41 +00:00
stackwalk_common.h Add stack contents output functionality to minidump_stackwalk 2015-02-27 04:52:21 +00:00
stackwalker.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
stackwalker_address_list.cc Make StackWalkerAddressList use FRAME_TRUST_PREWALKED trust level. 2013-09-04 20:43:10 +00:00
stackwalker_address_list.h Create StackwalkerAddressList. 2013-08-23 14:38:36 +00:00
stackwalker_address_list_unittest.cc Make StackWalkerAddressList use FRAME_TRUST_PREWALKED trust level. 2013-09-04 20:43:10 +00:00
stackwalker_amd64.cc Add frame pointer recovery to the AMD64 Stackwalker. 2014-07-18 00:27:49 +00:00
stackwalker_amd64.h Add frame pointer recovery to the AMD64 Stackwalker. 2014-07-18 00:27:49 +00:00
stackwalker_amd64_unittest.cc Add frame pointer recovery to the AMD64 Stackwalker. 2014-07-18 00:27:49 +00:00
stackwalker_arm.cc Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_arm.h Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_arm64.cc Add support for CFI based stack walking on Arm64. 2014-05-06 09:18:30 +00:00
stackwalker_arm64.h Add support for CFI based stack walking on Arm64. 2014-05-06 09:18:30 +00:00
stackwalker_arm64_unittest.cc Add support for CFI based stack walking on Arm64. 2014-05-06 09:18:30 +00:00
stackwalker_arm_unittest.cc Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_mips.cc This patch adds required change for stackwalker_mips_unittest to pass on 64bit 2013-09-30 09:34:55 +00:00
stackwalker_mips.h Adding support for mips. 2013-09-11 11:37:04 +00:00
stackwalker_mips_unittest.cc Adding support for mips. 2013-09-11 11:37:04 +00:00
stackwalker_ppc.cc Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_ppc.h Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_ppc64.cc Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_ppc64.h Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_selftest.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
stackwalker_selftest_sol.s Add SPARC/Solaris support to client handler and processor (#201, 200). 2007-09-26 18:28:05 +00:00
stackwalker_sparc.cc Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_sparc.h Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_unittest_utils.h Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
stackwalker_x86.cc Use register %ebp (instead of %esp) when calculating the value of 2013-11-05 23:50:49 +00:00
stackwalker_x86.h Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_x86_unittest.cc Use register %ebp (instead of %esp) when calculating the value of 2013-11-05 23:50:49 +00:00
static_address_map-inl.h Add static version of map wrappers and corresponding serializers. 2010-10-15 20:36:31 +00:00
static_address_map.h Add static version of map wrappers and corresponding serializers. 2010-10-15 20:36:31 +00:00
static_address_map_unittest.cc This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
static_contained_range_map-inl.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_contained_range_map.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_contained_range_map_unittest.cc Move scoped_ptr.h to common 2013-01-17 15:53:56 +00:00
static_map-inl.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_map.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_map_iterator-inl.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_map_iterator.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_map_unittest.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_range_map-inl.h Add static version of map wrappers and corresponding serializers. 2010-10-15 20:36:31 +00:00
static_range_map.h Cleaning up google-breakpad source code of signed-unsigned comparison warnings 2012-11-21 01:33:08 +00:00
static_range_map_unittest.cc Move scoped_ptr.h to common 2013-01-17 15:53:56 +00:00
symbolic_constants_win.cc Add address and reason for IN_PAGE_ERROR. 2015-04-10 22:05:29 +00:00
symbolic_constants_win.h Add address and reason for IN_PAGE_ERROR. 2015-04-10 22:05:29 +00:00
synth_minidump.cc Adding support for mips. 2013-09-11 11:37:04 +00:00
synth_minidump.h Adding support for mips. 2013-09-11 11:37:04 +00:00
synth_minidump_unittest.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
synth_minidump_unittest_data.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
tokenize.cc Don't use strtok_s for mingw builds 2015-08-20 15:09:16 +00:00
tokenize.h This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
windows_frame_info.h Fix some more Win32 compat issues in processor code 2013-03-06 14:06:52 +00:00