Para exemplo, utilizarei um módulo chamado Comnisky_Adminhtml, com sua estrutura previamente cadastrada. O caminho deste módulo é app/code/local/Comnisky/Adminhtml/.
Edite o arquivo app/code/local/Comnisky/Adminhtml/config.xml, e inclua o conteúdo de forma que fique parecido como abaixo. A parte relevante está entre as tags <routers> e </routers> dentro de <admin>:
< ?xml version="1.0"?> <config> <modules> <comnisky_adminhtml> <version>1.0.0</version> </comnisky_adminhtml> </modules> <admin> <routers> <adminhtml> <args> <modules> <comnisky_adminhtml before="Mage_Adminhtml">Comnisky_Adminhtml</comnisky_adminhtml> </modules> </args> </adminhtml> </routers> </admin> </config>
Copie o arquivo app/code/core/Adminhtml/controllers/Catalog/ProductController.php e cole em app/code/local/Comnisky/Adminhtml/controllers/Catalog/ProductController.php, em seguida edite esse arquivo.
Adicione o require_once no início do arquivo:
require_once 'Mage/Adminhtml/controllers/Catalog/ProductController.php';
E depois estenda da classe do core:
class Comnisky_Adminhtml_Catalog_ProductController extends Mage_Adminhtml_Catalog_ProductController
Feito isso, basta realizar as customizações nos métodos.
Posts relacionados:

Will, uma coisa que poderia ter nos ajudado muito na tarefa de debugar o admin:
http://alisson.indexainternet.com.br/template-hints-no-admin-do-magento-como-usando-o-__file__/
Boa dica Ibaldo, valeu!