Ответы пользователя по тегу C++
  • Как правильно получить из параметра argv[] строку "название файла"? Как вывести в консоль определенное количество строк?

    MvcBox
    @MvcBox
    Software Developer [C/C++/Node.js/PHP/etc]
    int argv[2];
    string argv[3];
    
    ofstream fout (argv[3].c_str() , ios::app);

    1) Оно даже не скомпилится, как минимум словите conflicting declaration
    2) Классическая ошибка - затенение переменных. Вы хотели скастовать это в string, но в итоге написали полный бред. Даже если бы не было conflicting declaration, у вас там еще out of range: argv[3].c_str()

    while (N < argv[2]) { // вывод указанного числа из параметра [N]

    Вы сравниваете адрес с N, очередная бессмыслица.

    Дальше искать ошибки не стал, так как не имеет смысла. Все надо переделывать.
    Ответ написан
    Комментировать
  • Как зашифровать алгоритм внутри программы?

    MvcBox
    @MvcBox
    Software Developer [C/C++/Node.js/PHP/etc]
    Если ценность Вашего алгоритма превышает 200 евро и существенное замедление работы алгоритма не очень критично, то можете воспользоваться готовым коммерческим продуктом - https://oreans.com/Themida.php
    В данный момент у продуктов Oreans самые "сильные" виртуальные машины.
    Но стоит помнить, что это не защищает Ваше приложение на 100%, а лишь значительно усложняет его реверс.
    Ответ написан
    Комментировать
  • Как Исправить код?

    MvcBox
    @MvcBox
    Software Developer [C/C++/Node.js/PHP/etc]
    Вы не тем способом пытаетесь решить проблему.
    Подсказка:
    Q2K4YwETvJexBA.jpg
    Ответ написан
    3 комментария
  • Жив ли самомодифицирующийся код?

    MvcBox
    @MvcBox
    Software Developer [C/C++/Node.js/PHP/etc]
    и по идее, это одно из направлений анти реверсинга.

    Направление "защиты от реверсинга" достаточно давно ушло в сторону виртуализации кода.
    Такие инструменты как Themida, VMProtect, Enigma, etc при минимальных затратах времени и (самое главное) умении пользоваться этими инструментами - позволяют достаточно надежно защитить критические части приложения.
    На данный момент лучшими инструментами (сугубо личное мнение, сформированные на основе опыта использования различных протекторов, а также на отзывах самих реверсеров) являются продукты Oreans Technologies (WinLicense, Themida, Code Virtualizer).
    Сильные виртуальные машины (которых более десятка) + широкие возможности кастомизации позволяют доставить немало проблем реверсерам.
    Ответ написан
    Комментировать
  • Заблокировать выход из игры ALT + F4?

    MvcBox
    @MvcBox
    Software Developer [C/C++/Node.js/PHP/etc]
    Ну не CTRL+F4 , а ALT + F4.
    На самом деле сама комбинация ALT + F4 не завершает приложение, а посылает ему SIGINT.
    Для SIGINT существует дефолтный обработчик, который уже и завершает работу приложения.
    Но есть один момент - приложение может установить собственный обработчик для этого сигнала.
    Обычно такое делают для безопасного завершения приложения, чтобы не потерять важные данные.
    Ну или чтобы просто предотвратить закрытие приложения.
    Ответ написан
    Комментировать