Index: wp-admin/includes/plugin.php
===================================================================
--- wp-admin/includes/plugin.php	(revision 18305)
+++ wp-admin/includes/plugin.php	(working copy)
@@ -255,6 +255,9 @@
 
 	if ( empty($plugin_files) )
 		return $wp_plugins;
+		
+	// filter these with a function name similar filter
+	$plugin_files = apply_filters('get_plugins_files', $plugin_files); // [HACK]
 
 	foreach ( $plugin_files as $plugin_file ) {
 		if ( !is_readable( "$plugin_root/$plugin_file" ) )
@@ -273,7 +276,8 @@
 	$cache_plugins[ $plugin_folder ] = $wp_plugins;
 	wp_cache_set('plugins', $cache_plugins, 'plugins');
 
-	return $wp_plugins;
+	// filter these with a function name similar filter
+	return apply_filters('get_plugins', $wp_plugins);
 }
 
 /**
Index: wp-includes/load.php
===================================================================
--- wp-includes/load.php	(revision 18305)
+++ wp-includes/load.php	(working copy)
@@ -455,7 +455,8 @@
 	closedir( $dh );
 	sort( $mu_plugins );
 
-	return $mu_plugins;
+	// filter these with a function name similar filter
+	return apply_filters('get_mu_plugins', $mu_plugins);
 }
 
 /**
@@ -484,6 +485,9 @@
 
 	$network_plugins = is_multisite() ? wp_get_active_network_plugins() : false;
 
+	// filter these with a function name similar filter
+	$active_plugins = apply_filters('active_and_valid_plugins', $plugins);
+	
 	foreach ( $active_plugins as $plugin ) {
 		if ( ! validate_file( $plugin ) // $plugin must validate as file
 			&& '.php' == substr( $plugin, -4 ) // $plugin must end with '.php'
@@ -493,7 +497,9 @@
 			)
 		$plugins[] = WP_PLUGIN_DIR . '/' . $plugin;
 	}
-	return $plugins;
+
+	// filter these with a function name similar filter
+	return apply_filters('get_active_and_valid_plugins', $plugins);
 }
 
 /**
Index: wp-includes/ms-load.php
===================================================================
--- wp-includes/ms-load.php	(revision 18305)
+++ wp-includes/ms-load.php	(working copy)
@@ -45,6 +45,9 @@
 	$active_plugins = array_keys( $active_plugins );
 	sort( $active_plugins );
 
+	// filter these with a function name similar filter
+	$active_plugins = apply_filters('active_network_plugins', $active_plugins);
+	
 	foreach ( $active_plugins as $plugin ) {
 		if ( ! validate_file( $plugin ) // $plugin must validate as file
 			&& '.php' == substr( $plugin, -4 ) // $plugin must end with '.php'
@@ -52,7 +55,9 @@
 			)
 		$plugins[] = WP_PLUGIN_DIR . '/' . $plugin;
 	}
-	return $plugins;
+
+	// filter these with a function name similar filter
+	return apply_filters('get_active_network_plugins', $plugins);
 }
 
 /**
Index: wp-settings.php
===================================================================
--- wp-settings.php	(revision 18305)
+++ wp-settings.php	(working copy)
@@ -149,6 +149,13 @@
 // Define must-use plugin directory constants, which may be overridden in the sunrise.php drop-in.
 wp_plugin_directory_constants( );
 
+// Attempt to load wp-plugins.php from ABSPATH or ABSPATH's parent.
+// This allows those who manage WordPress to tweak MU plugins before loaded.
+// Combining this with wp-config.php outisde ABSPATH, a multi instance
+// WordPress environment can be created.
+if(is_file(ABSPATH.'/wp-plugins.php')) require_once(ABSPATH.'/wp-plugins.php');
+else if(is_file(ABSPATH.'/../wp-plugins.php')) require_once(ABSPATH.'/../wp-plugins.php');
+
 // Load must-use plugins.
 foreach ( wp_get_mu_plugins() as $mu_plugin ) {
 	include_once( $mu_plugin );
