I
id01
Йоу, этичные хакеры! Грею мечту о создании ботнета. Ну хотя бы маленького...
Дело вот в чем. Есть клиент. Если его запустить, то он проверяет, где находится. Если не там, где надо, то перемещается с помощью батника (программа завершается, батник перемещает ее и самоудаляется). Но перед перемещением программа устанавливает автозагрузку для перемещенного файла. Все проходит нормально, аз устанавливается. Но когда батник запускает программу из нового места, она просто обрывается по середине функции установки аз. Если запускать из консоли - то же самое. А вот если запустить вручную, двойным кликом - все работает. Такое уже было несколько дней назад, но прошло само собой. В этот раз нужно избавиться от проблемы.
Вот код функции, устанавливающей автозапуск:
Проблема в функции RegSetValueEx. Работа программы прерываетнся именно на ней.
Код всего проекта не прикладываю по понятным причинам, но если что-то будет нужно - я выложу.
Помогите, пожалуйста. Заранее спасибо.
P.s. Функция GetExpandedSring получает строку с переменной окружения и возвращает строку с раскрытой переменной окружения.
Дело вот в чем. Есть клиент. Если его запустить, то он проверяет, где находится. Если не там, где надо, то перемещается с помощью батника (программа завершается, батник перемещает ее и самоудаляется). Но перед перемещением программа устанавливает автозагрузку для перемещенного файла. Все проходит нормально, аз устанавливается. Но когда батник запускает программу из нового места, она просто обрывается по середине функции установки аз. Если запускать из консоли - то же самое. А вот если запустить вручную, двойным кликом - все работает. Такое уже было несколько дней назад, но прошло само собой. В этот раз нужно избавиться от проблемы.
Вот код функции, устанавливающей автозапуск:
Код:
void setAutoLoad()
{
HKEY hKey;
RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_SET_VALUE, &hKey);
string expStr = GetExpandedSring("%WINDIR%\\system32\\run\\RUN.EXE");
RegSetValueEx(hKey, "SystemRunServise", 0, REG_SZ, (BYTE*)expStr.c_str(), 1024);
RegCloseKey(hKey);
}
Код всего проекта не прикладываю по понятным причинам, но если что-то будет нужно - я выложу.
Помогите, пожалуйста. Заранее спасибо.
P.s. Функция GetExpandedSring получает строку с переменной окружения и возвращает строку с раскрытой переменной окружения.
Последнее редактирование модератором: