You can change register_post_type()
arguments before the new type is created. To do this, use the register_post_type_args
filter.
add_filter( 'register_post_type_args', 'se342540_change_post_type_args', 10, 2 );
function se342540_change_post_type_args( $args, $post_name )
{
if ( $post_name != 'cpt_slug' )
return $args;
$args['has_archive'] = true;
//
// other arguments
return $args;
}