Напишите сами приложение угадай число на том-же C++ с n попыток и попробуйте на нём свои силы. Сделать бесконечное число попыток своей другой программой. Самое простое. Отключите только отладочную информацию, а то совсем халява.
Решать можно 2 способами. Православный - дизассемблирование и прогон в каком-нибудь отладчике (тут на вкус и цвет. . Когда-то рулил SoftIce, потом вот OllyDbg) и попытка найти тот самый переход, который отвечает за проверку (придется подучить ассемблер) Второй - с помощью ArtMoney (
http://www.artmoney.ru/) н-р. Последовательно отсеивая изменения, добраться до изменяемой памяти (где хранится значение счетчика) и узнать кто к ней обращается. Соотв. написать программку патч. или "loader" для этого. Это будет второй шаг. В реале всё будет гораздо сложнее ;)
В реале столкнетесь с шифроваными (в лучшем случае упакованными более-менее стандартными пакерами .exe) файлами, перекрестными проверками ключевых значений (н-р в Quake 3 - лично проверял=), противодейтсвие отладчику и декомпиляторам, лапшой из вызовов функций, в особо жестких ситуациях самодифиц. кодом и "виртуальными машинами" которые созданы самими программистами и со своими командами. Было и такое. Редко правда =)