Change options table prefix only

This is actually not that hard, but you will have to excuse me for keeping it high level because this is just a stupid thing to do as all things which are security by obscurity.

All you need to do is write your WPDB driver, which inherits the WPDB class. Place it in /wp-content/db.php file and make sure to initialize the global $wpdb object with your class.

At the driver intercept every SQL that should go to the options table and replace the name of the table in the SQL with whatever you want.

It sounds like something scary to do but it actually isn’t, and not a lot of work is involved.

Just for people that come here and don’t understand what is wrong about the whole idea: Table names are globals which are assumed by core and plugins to follow specific pattern, changing it might break in the future when new tables or patterns are used, or even break now with things like backup plugins that assume some “magic” knowledge of the DB to minimize the need of explicit user configuration.