A malware detector comprising: an analyzer manager configured to select one of a program code analyzer, a static data analyzer, and an unused memory location analyzer for malware detection within memory of a system based on analyzer execution data, the analyzer execution data characterizing a schedule for execution of the program code, the static data, and the unused memory location analyzers during runtime of a computer program, the program code analyzer being executed, in response to being selected by the analyzer manager, to execute a hash function on instruction data for executing the computer program at a first set of memory locations within the memory and to compare a resultant hash of the instruction data at the first set of memory locations within the memory to an expected hash for the instruction data at the first set of memory locations within the memory to determine whether the first set of memory locations have been compromised by malware, the static data analyzer being executed, in response to being selected by the analyzer manager, to execute a hash function on static data for use by the computer program at a second set of memory locations within the memory and to compare a resultant hash of the static data at the second set of memory locations within the memory to an expected hash for the static data at the second set of memory locations within the memory to determine whether the second set of memory locations have been compromised by the malware, and the unused memory location analyzer being executed, in response to being selected by the analyzer manager, to execute a hash function on null data indicative of unused memory locations at a third set of memory locations within the memory and compare a resultant hash of the null data at the third set of memory locations within the memory to an expected hash for the null data at the third set of memory locations within the memory to determine whether the third set of memory locations have been compromised by the malware. an analyzer manager configured to select one of a program code analyzer, a static data analyzer, and an unused memory location analyzer for malware detection within memory of a system based on analyzer execution data, the analyzer execution data characterizing a schedule for execution of the program code, the static data, and the unused memory location analyzers during runtime of a computer program, the program code analyzer being executed, in response to being selected by the analyzer manager, to execute a hash function on instruction data for executing the computer program at a first set of memory locations within the memory and to compare a resultant hash of the instruction data at the first set of memory locations within the memory to an expected hash for the instruction data at the first set of memory locations within the memory to determine whether the first set of memory locations have been compromised by malware, the static data analyzer being executed, in response to being selected by the analyzer manager, to execute a hash function on static data for use by the computer program at a second set of memory locations within the memory and to compare a resultant hash of the static data at the second set of memory locations within the memory to an expected hash for the static data at the second set of memory locations within the memory to determine whether the second set of memory locations have been compromised by the malware, and the unused memory location analyzer being executed, in response to being selected by the analyzer manager, to execute a hash function on null data indicative of unused memory locations at a third set of memory locations within the memory and compare a resultant hash of the null data at the third set of memory locations within the memory to an expected hash for the null data at the third set of memory locations within the memory to determine whether the third set of memory locations have been compromised by the malware.