Есть же на сайте у них
мануал.
Программа ничего понимать и не должна. Ей на вход пул дает заголовок блока, она перебирает варианты с изменением нонса и экстранонса, если на выходе хэш валиден по сложности шары - отправляет пулу. Ну и по стратуму пул слушает. Все. Остальная логика на уровне пула по учету и дележу награды. И если даже вы нашли хэш, удовлетворяющий сложности сети, то есть закрыли блок, то награду все равно пул получит, т.к. в заголовке сидит транзакция получения награды на его кошелек. Нет, подменить нельзя, любой вменяемый пул будет реджектить такие шары. Если интересно подробнее, читайтте
FAQ по майнингу.