• С чего начать изучать pascal, ради прохождения тестирования?

    @cicatrix
    Hemul GM,
    Браузер вы тоже напишите на js без cpp?

    А вы уже написали свой браузер "с блекджеком и шлюхами"? На плюсиках?
    Может, вы ещё и операционку свою написали? Браузер, как и операционка - это данность "из коробки".
    Магия, короче. Вы же не задумываетесь о том, что на компе клиента не будет установлени рантайм MSVCR???dll?

    И - идиотизм)

    К сожалению, это реальность. Десктоп в скором времени - это коробка с браузером. Даже офисные приложения, которые держатся дольше всех плавненько мигрируют в сторону тонких клиентов, всяких там облачных вычислений и веб-морд. Рыночек диктует. Коробка с браузером дешевле и проще в обслуживании, чем специализированный комп, набитый нужным софтом.
    Разумеется, десктоп как класс отомрёт ещё не скоро, есть ещё пара-тройка десятилетий, но катимся туда потихоньку.
  • С чего начать изучать pascal, ради прохождения тестирования?

    @cicatrix
    Владимир Куц, Мне тоже нравится делать десктопные приложения. Правда, они отмирают как класс, но да, в качестве хобби, если только. НО! Даже дэльфи - это уже ООП, о котором древние преподаватели паскаля имеют весьма смутное представление. Уж если без ООП - то лучше сишечку. Она хоть пригодится.
  • С чего начать изучать pascal, ради прохождения тестирования?

    @cicatrix
    Паскаль пригодится вам в будущей профессии как, скажем, дровосеку каменный топор, а электрику - керосиновая лампа.
    Если вы хотите быть разработчиком, но в выбранном ВУЗе, кроме паскаля ничего не преподают, думаю, лучше подумать о поступлении в другой ВУЗ.
    С другой стороны, если вы уже знакомы с Java, то есть можете написать на ней простую сортировку пузырьком, скажем, то в паскале вам надо будет изучить только синтаксис, на ознакомление с которым уйдёт часа 2, ну и неделька на практическое закрепление.
  • Что можно сделать с windows 10 для уменьшения объема утекающего трафика?

    @cicatrix
    Hyde0105,
    Чем вам не угодил битлокер?

    1. Давайте посмотрим на результаты независимого аудита битлокера? Что? Не нашли? Надо же!
    2. Поинтересуйтесь драматической историей почившего в бозе TrueCrypt.

    https://ru.wikipedia.org/wiki/TrueCrypt
    TrueCrypt 7.2 — 28 мая 2014 года. Официального списка изменений нет. Это последняя версия, она поддерживает только дешифрование данных, возможность шифрования удалена. Добавлены предупреждения о том, что TrueCrypt небезопасен. Сайт и программа настоятельно рекомендуют переходить на BitLocker. Вероятные причины — взлом или давление на разработчиков. Предыдущие версии по-прежнему рабочие и нескомпрометированные. Переход на BitLocker считается бесполезным ввиду его закрытого исходного кода. Кроме того, BitLocker существует только в «старших» редакциях операционной системы Windows — Enterprise и Ultimate, что означает невозможность его использования на большинстве ноутбуков с предустановленными производителем Windows Home и Professional. Поскольку авторы TrueCrypt всегда высмеивали безопасность BitLocker, такой совет многие восприняли как свидетельство канарейки, то есть намёк на неискренность собственных слов и попытку сказать нечто важное через молчание


    Призыв использовать Bitlocker от авторов TrueCrypt почти все бывшие пользователи восприняли с точностью до наоборот. Проприетарная криптографическая система с закрытым исходным кодом, для которой не проводился независимый криптографический аудит - до этого могла додуматься только Microsoft.

    что если диск зашифрован битлокером и повторение известных паролей пользователя не помогало, такой диск, как правило, просто откладывали и забивали на него.

    Лучшая защита у "неуловимого Джо" - но не потому, что он такой ловкий, а потому что нах.. никому не нужен. То же и здесь. Я на 99% уверен, что Microsoft располагает бэкдором к битлокеру, другое дело, что делиться им она будет только в определённых случаях и явно не по запросу российского МВД/ФСБ.
    Так что для неуловимого Джо битлокер вполне годится, но если вы параноик, он вам не подходит.
    Лично я пользуюсь VeraCrypt.
  • Как сделать рандомные числа без повторений?

    @cicatrix
    freeExec, Чего там сложного?
    static void Main()
    {
           List<int> cards = new List<int>(); // колода
           for (int i = 0; i < 54; ++i) cards.Add(i); // заполняем от 0 до 53
           var rng = new Random();
    
           while(cards.Count >0)
           {
               var r = rng.Next(cards.Count); // случайное число
               Console.Write(cards[r] + ","); // смотрим карту
               cards.RemoveAt(r); // убираем карту из колоды
           }
           Console.ReadLine();
    }

    Это ровно то, что я написал в первом ответе.
  • Как правильно создать скриншот неактивного окна?

    @cicatrix
    Just OK, Да пофигу. Почему даже в названии библиотеки есть слово Direct.
    Ты пользуешься инструментами, которые даёт ОС, но они могут помочь только если отрисовку внутри окна она и производит - она может сообщить тебе, что именно она там нарисовала.
    Когда используется любая граф. библиотека, напрямую работающая с драйвером, отрисовка содержимого производится без участния операционки.
  • Как лучше реализовать история цены в отчетах?

    @cicatrix
    Дилик Пулатов, Собственно, именно так это реализовано, например, в 1С.
  • Как генерировать/перебирать строку в пределах диапазона?

    @cicatrix
    Student2002, для каждого разряда правила одинаковые или разные?
    Если одинаковые, то тут простой Base36
    36-ричная система счисления

    Вот, даже готовый код есть:
    Из любой системы в десятичную:
    https://www.pvladov.com/2012/07/arbitrary-to-decim...
    Из десятичной в любую систему:
    https://www.pvladov.com/2012/05/decimal-to-arbitra...

    Переводишь в десятичную, выполняешь нужную арифметику, потом переводишь обратно в base36
  • Как перевести biginteger в integer?

    @cicatrix
    Ты можешь нарваться на погрешность в операциях с плавающей точкой.
    Вместо double.Parse сначала тупо убери из входной строки разделитель (запятую, точку или что там), оставь одни цифры, потом уже делай сразу BigInteger.Parse. И циклов со степенями городить не надо.
    Например, ввод: 0,123456789
    убери точку получишь 0123456789
    во на эту строку делай сразу BigInteger.Parse
    (Только разрядность всё равно запоминать надо, а то будет 123 = 0,123)
  • Как генерировать/перебирать строку в пределах диапазона?

    @cicatrix
    Student2002, Ну, я ж говорю - не тестировал.
    Но тут идея такая - строка бьётся на 3 части - первый и последний символы - предполагается, что это целые числа от 0 до 9, в середине - строки от a до z, так что зря добавил цифры в алфавит. Он только для середины.
    А 7 знаков - ты в примере показал 5 символов, я и рассчитывал до 5 знаков.
  • Как генерировать/перебирать строку в пределах диапазона?

    @cicatrix
    Student2002, поменяй константу с алфавитом на нужную.
    Класс, который я написал в пред. комменте должен справиться (правда, я его не тестировал).
    Пользоваться просто. Вызываешь Increment(), чтобы увеличить, Decrement(), чтобы уменьшить.
    Значение будет в Value (можно на ToString() переделать).
  • Как определить метод шифрования?

    @cicatrix
    rxmn, Отнесите коробку электронщику опытному. Пусть добудет код прошивки.
    Соорудите стенд на эмуляторе и гоняйте брутфорс.
  • Как определить метод шифрования?

    @cicatrix
    rxmn,
    Не, брутфорсить надо не железку, т.к. она закрывает связь после 3х неправильных ответов

    Взлом всегда должен идти как водичка или ток - по линии наименьшего сопротивления. В вашем случае реверс-инжиниринг алгоритма гораздо более трудозатратен, чем разморачивание электроники.
    1 - например - найти, где хранится счётчик неправильных попыток и сбрасывать его (или установить проверку на сравнение с 2^32.
    2 - перехватить сигнал на блокировку
    Ну или сразу считать EEPROM или что там в качестве памяти, добыть ассемблерный код управляющей прогарммы. Там и алгоритм вычислить можно.
    Поверьте, в вашем случае это гораздо проще, чем натаскивать нейросетку на имитацию логики работы вашего чёрного ящика.
  • Как определить метод шифрования?

    @cicatrix
    rxmn, Это строго говоря не шифрование, а просто защита по паролю.
    Шифрование предусматривает наличие шифротекста (E), ключа к шифротексту (K) и алгоритма C, по которому, выполнив C(K, E) получится открытый текст (данные).
    Я так понял, самого шифротекста нет, вы просто пихаете пароль, устройство даёт доступ.
    Впрочем, если ответ устройства используется как ключ к расшифровке зашитых данных, то возможно и так, как вы говорите.
  • Как определить метод шифрования?

    @cicatrix
    rxmn,
    Буду благодарен за указание на конкретное ПО

    А чего тут огород городить:
    for (uint i = 0; i < 0xffffffff; ++i)
    {
        // Отпоавка i в порт (вы же не написали, по какому интерфейсу соединение)
    }

    Другое дело, если код не меняется, то достаточно его просто найти и использовать.
  • Кто несет ответственность за нелицензионное ПО на арендованном сервере?

    @cicatrix
    Слышали фразу - Закон, что дышло, куда повернул, туда и вышло?

    Эта фраза сквозит между строк в моих комментариях, начиная с первого. Напомню, с чего началось:
    Я: Юридические вопросы, к сожалению, не решаются вот так, жёсткими определениями.
    Вы: Решаются.
  • Кто несет ответственность за нелицензионное ПО на арендованном сервере?

    @cicatrix
    АртемЪ,
    Как не доказана? Судья не может вынести приговор без доказания вины.

    Приговора не было. Была избрана только мера пресечения - содержание под стражей. Процесс долгий был.

    достаточно изучить законы по защите авторских и смежных прав

    Ну да, всё просто. Чего ж юристы по 5 лет учатся? А потом практику ещё нарабатывают? А вон на западе это вообще адский ад, и любое подобное разбирательство - большая лотерея.

    Сомневаюсь. Обычно судья таким не заморачивается.
    Читать текст договора и искать противоречия там это задача соревнующихся сторон. Судье это нафиг надо???

    Судья и не заморачивается. В том-то и дело. Раз в договоре написано так, значит так. Почему все пишут в условиях "отказ от ответственности"? Именно поэтому. Если бы не писали, можно было бы иск выкатить.
  • Кто несет ответственность за нелицензионное ПО на арендованном сервере?

    @cicatrix
    АртемЪ, Я объясню. Если бы было так -
    Ну нашли неуплату налогов, ну и что? Известный способ - рыльце у всех в пушку.

    По закону, допустим, даже если вина установлена и доказана, человек несёт заслуженное наказание, вопросов бы не было. НО! Вина не доказана (и даже сам факт нарушения не установлен, кстати, в данном конкретном случае). Отсюда вывод - законы для всех людей действуют по-разному, и равенства всех перед законом нет. Кроме того, наезд со стороны силовых органов - это конкретный рэкет с использованием служебного положения. Причём, написанные заявления на граждан к ожидаемому в нормальной и законной ситуации рассмотрению не привели.
    Вы пишете:
    Поэтому достаточно не нарушать закон.

    Нет, не достаточно. Как любят говорить те же люди в погонах - то, что вы на свободе - не ваша заслуга, а наша недоработка.
    Вашему совету последовать - не нарушать закон в принципе (даже не злонамеренно, по незнанию) - попросту невозможно. Был бы человек, как говорится, а статья найдётся.
    Вот поэтому-то я и посоветовал автору вопроса "подстелить соломку" везде, где только можно, тем более, это ничего не стоит. Разумеется, что если очень захотят, как в моём примере, не поможет вообще ничего. Но зачем провоцировать и самому нарываться?
    Наше законодательство построено по принципу свободы договора. При любом разбирательстве судья будет читать текст договора и если не увидит там положений, противоречащих законодательству, то и решение будет выносить исключительно на основании договорных условий. EULA - договор-оферта. Можно рискнуть, и понадеяться на то, что в законодательстве достаточно недвусмысленно описаны все термины, условия и нюансы, а так же нет противоречащих друг другу норм (что, кстати, бывает довольно часто), а можно указать явно в тексте, кто будет нести ответственность, если что.