Обычно все немного хуже. Эти зловреды пишутся не в автозапуск, а ставятся системными службами и портят ярлыки запуска браузеров.
Примерная инструкция:
1) Удаляем ВСЕ подозрительные программы, причем каким нибудь хитрым анинсталлером, с принудительной чисткой мусора.
2) Ставим Unlocker.
3) Идем в службы, находим все подозрительные (которые живут в Program Files и AppData).
4) Сносим папки этих служб, если не сносятся - натравливаем unlocker.
5) Повторяем 3-4 для автозагрузки
6) Проверяем ярлыки браузеров - скорее всего они ведут к каким то батникам - сносим все батники.
7) Повторяем до тех пор, пока никакого г...на не останется на компе.
Использую официальные свежие драйвера с сайта производителя. Т.к. система переустанавливается раз в год а то и реже - это не так обременительно - потратить пол часа на скачивание новых драйверов и установку в ручном режиме.
Проверьте свойства ярлыков браузеров, с которых запускаете. Скорее всего там путь будет не к браузеру, а к какому нибудь батнику, зарытому в недрах системы.
Обычно что в таких случаях надо сделать:
1) Снести все подозрительное. Не стандартным анинсталлером, а чем то помощнее.
2) Проверить автозагрузку. Все подозрительное - под корень, сносить именно exe.
3) Проверить службы. Сделать все как в п2.
Если что то не удаляется - Unlocker вам в помощь.
На обоих компах - коммитаете. Потом на одном - пушите. На втором - pull, разруливаете конфликты, commit, push. Потом на первом - pull. По идее уже будет без конфликтов.
Можно еще через бранчи решить вопрос, но по сути там будет то же самое.
Вот такими костылями и решается. Считывается ввод, анализируется на предмет команд и выполняются эти самые команды.
А вообще обычно программа сразу закрывается, когда выполнила все то, что у нее попросили в параметрах. Посмотрите на поведение того же ping - он не ждет от вас никакой команды на выход. Пропинговал и вернул управление консоли.
1) Какая основная платформа?
2) Какой язык разработки?
Универсально можно ответить как то так... Логика - переносится легко, главное чтобы был компилятор вашего языка для целевой платформы. Всякие взаимодействия с API платформы - либо надо сразу писать на чем то универсальном и транслируемом (Qt), либо на каждой платформе писать свое взаимодействие с API.