Софт обычно самописный + блокнот, конечно же. А если о самом взломе, то синглплеерную игру обычно даже не обязательно взламывать (достаточно просто вырезать в коде требования к подключению к Steam, например), а вот в онлайн играх нужно сначала найти уязвимость в античите, а затем написать сам чит, который будет эту уязвимость использовать.