• Как сделать такую ловушку?

    @sddvxd
    Я бы так сделал: сделал бы программу, которая внедряется в процесс, который создает процессы (например explorer.exe), в разделе импорта функции создания процессов поменял бы на свой и перехватывал создание процессов. При перехвате создания процесса вызывать оригинальный CreateProcess и запоминать дескриптор процесса. В только что созданный процесс внедрить dll для обработки опять же только что установленной ловушки на функцию открытия файла. Если filename == path_to_file/passwords.txt тогда самоуничтожение процесса

    PROC replaceProcAddress(LPCSTR callerModule, PROC original, PROC swap){
        HMODULE callerHandle = GetModuleHandleA(callerModule);
        if(callerHandle == nullptr)
            throw Exception(L"callerHandle is NULL in Process::replaceProcAddress");
    
        ULONG size;
        bool found = false;
        PIMAGE_IMPORT_DESCRIPTOR pImageDesc = reinterpret_cast<PIMAGE_IMPORT_DESCRIPTOR>(ImageDirectoryEntryToData(callerHandle, TRUE, IMAGE_DIRECTORY_ENTRY_IMPORT, &size));
        if(pImageDesc == nullptr)
            throw Exception(L"PIMAGE_IMPORT_DESCRIPTOR is NULL in Process::replaceProcAddress()");
    
        for(; pImageDesc->Name; pImageDesc++){
            PSTR pModName = reinterpret_cast<PSTR>(reinterpret_cast<PBYTE>(callerHandle) + pImageDesc->Name);
                PIMAGE_THUNK_DATA pThunkData = reinterpret_cast<PIMAGE_THUNK_DATA>(reinterpret_cast<PBYTE>(callerHandle) + pImageDesc->FirstThunk);
                for(; pThunkData->u1.Function; pThunkData++){
                    PROC* ppOriginalFunc = reinterpret_cast<PROC*>(&pThunkData->u1.Function);
                    if(*ppOriginalFunc == original){
                        found = true;
                        DWORD dwOldProtect;
                        if(VirtualProtect(ppOriginalFunc, sizeof(swap), PAGE_WRITECOPY, &dwOldProtect)){
                            if(!WriteProcessMemory(getHandle(), ppOriginalFunc, &swap, sizeof(swap), NULL))
                                throw Exception(L"Write memory is failed for replaceProcAddress");
                            VirtualProtect(ppOriginalFunc, sizeof(swap), dwOldProtect, &dwOldProtect);
                        }
                    }
                }
        }
        if(found) return swap;
        throw Exception(L"Address of procedure is not found in Process::replaceProcAddress()");
    }


    Это функция для смены адреса функции в разделе импорта на свой. Джеффри Рихтер
    Ответ написан
    Комментировать
  • Как скачать WebMoney (WM Keeper WinPro)?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Вы зашли не на скачивание, а на веб-версию.
    Качать для старых версий винды (менее 10) нужно тут:
    https://wiki.webmoney.ru/projects/webmoney/wiki/WM...
    Ответ написан
    6 комментариев
  • Как настроить стороннее расширение, чтобы оно работало на всех сайтах, кроме выбранных мною?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    по дефолту такого нет, только в расширении разве что править
    Ответ написан
    Комментировать
  • Как уменьшить ширину вкладок меньше 50 пикселей?

    NeiroNx
    @NeiroNx
    Программист
    можно попробовать "закрепить вкладку" - должен остаться только значок сайта(нет фф чтобы проверить это утверждение).
    Ответ написан
    Комментировать
  • Что опаснее: самолёт или авто?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Математика и статистика похожие науки, но нужно понимать, что статистика - стоит денег.
    Собрать идеальную статистику у вас просто не выйдет. Поставить систему учета на все автомобили - нереально.

    Примерная статистика существует, и вам было бы несложно загуглить и найти, что самолет - безопаснее автомобиля. А поезд - безопаснее самолета исходя из количества пассажиров.

    Но вот считать именно километраж - нечем.
    Ответ написан
    Комментировать
  • Есть ли курс/урок на 1 вечер с живым преподавателем, чтобы пожилой смог освоить смартфон?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Есть ли курс/урок на 1 вечер с живым преподавателем, чтобы пожилой смог освоить смартфон?

    Смартфон не слишком отличается от компа. Если же пожилой не пользовался веб-сайтами, почтой, мессенджерами - то это не смартфон освоить а вообще базовую ИТ грамотность.

    В любом случае, если самостоятельно не освоил, то ечера не хватит.
    Ответ написан
    Комментировать
  • Что опаснее: самолёт или авто?

    Moskus
    @Moskus
    На самом деле, подобное сравнение "час с часом" - крайне синтетическое, хотя и правомерное.
    Скажем, в авиации статистику считают в числе происшествий или жертв на количество рейсов, а не часов налёта. Это связано с механизмом влияния потенциально катастрофических обстоятельств на возможность катастрофы.
    Вот например, в 2018-м году в гражданской авиации было совершено около 37,8 миллионов рейсов, при этом катастрофическим был один из 2,52 миллионов. Погибло при этом 556 человек.
    А количество автокатастроф считают на длину пробега, а не на число поездок, потому что зависимость чисто технически иная.
    Ответ написан
    3 комментария
  • Какая платёжная система самая популярная в РФ по числу активных пользователей?

    @boss_lexa
    Карты visa и mastercard популярнее всего, потом QIWI и яндекс деньги

    Тут полно исследований про Рынок электронной торговли в России:
    www.datainsight.ru/public
    Ответ написан
    Комментировать
  • Какую выбрать технологию, для написания интерактивного веб приложения?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    HTML5, Javascript, Canvas, WebGL (возможно)
    Ответ написан
    Комментировать
  • Как переключать состояние по нажатию на кнопку?

    hzzzzl
    @hzzzzl
    const maths = document.querySelector('#Maths');
    let doMinus = false
    maths.onclick = function() {
      let [a, b] = [3, 1];
      if (!doMinus) {  
         console.log(a + b) // 4 ; 
         doMinus = true 
      } else {  
         console.log(a - b) // 2  
      }
    };
    Ответ написан
    1 комментарий
  • Как переключать состояние по нажатию на кнопку?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    Очень просто. Сделайте себе множитель, который будет менять знак переменной b, и меняйте значение этого множителя с -1 на 1 и обратно.

    const maths = document.querySelector('#Maths');
    let m = -1;
    maths.onclick = function() {
      let [a, b] = [3, 1];
      console.log(a + m * b);
      m *= -1; // меняем знак
    };
    Ответ написан
    1 комментарий
  • Зачем нужно выравнивание памяти по слову?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Большинство современных процессоров читают данные из памяти не отдельными байтами, а блоками по 2-4-8 байт. Соответственно, если у вас данные не выравнены в памяти и начало попадает в один блок, а конец в другой, то для чтения надо будет получить два таких блока.
    Ответ написан
    8 комментариев
  • Как построить массив из двух массивов?

    0xD34F
    @0xD34F
    $c = array_map(function($n) use($b) {
      return $b[$n] ?? 'NaN';
    }, $a);
    Ответ написан
    Комментировать
  • Почему не работает метод forEach( )?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Потому что, внезапно, forEach - это не то же самое, что reduce. Метод forEach используется исключительно для итерирования, а reduce для получения какого-то результата, поэтому forEach ничего не возвращает.

    Вам нужен метод map:
    var bisOne = [1,2,3,4,5].map(function(e){return e*10});


    Если очень хочется сделать это при помощи forEach, то должно быть так:
    var bisOne = [1,2,3,4,5];
    bisOne.forEach(function(e,i,arr){arr[i]=e*10});
    Ответ написан
    7 комментариев
  • Как считать вероятность атаки (ранений) в настольной игре Спартак?

    longclaps
    @longclaps
    Очевидно, что перебрасывать имеет смысл кубик, на котором выпало 1-3.

    Вздор.
    Если у обороняющегося 6-6-6, перебрасывать смысла нет.
    Если у обороняющегося 6-6-5, имеет смысл перебрасывать любой, меньший 6.
    Ответ написан
    8 комментариев
  • Как в гугл таблицах сделать чередование подствечивание строк?

    NeiroNx
    @NeiroNx
    Программист
    Формат - Чередование цветов
    Ответ написан
    Комментировать
  • Выбор Macbook Pro для дизайна и xCode - 15" 2015 против 13" 2016-17 и 15" 2016?

    lamer350
    @lamer350
    กำลังสูงสุด
    Сергей, поделюсь своим мнением, надеюсь вам поможет с выбором!
    На данный момент в семье 2 макбука 15" 2016го и 13" 2015го. Если кратко, я не советую брать ни один из них! Давайте разберемся.
    1. Вам как дизайнеру 13ку не стоит рассматривать в принципе если вы работаете с приложениями adobe (а если вы сейчас на винде, то скорее всего так и есть). В фотошопе например вовсе нельзя сузить боковые панели, в итоге у вас останется 2/3 рабочего пространства. В 100% масштабе не помещается лист в 1200 пикселей даже... Мне это крайне не удобно было на 13ке.
    2. Я не знаю как люди выживают с i5, если вы делаете моушен в каком либо виде - вам его точно будет мало! Дискретного видео на 13ках вовсе нет, только встройка!

    Касательно качества - в моделей до 15го года (включительно) все макбуки имеют проблему с отслоением антибликовой пленки, погуглите. Да, Apple потом заменит вам екран по гаранатии, но это только в официальном СЦ и ждать нужно будет не одну неделю. У меня с 13кой такая же проблема, благо пока только по краям. В отсальном никаких проблем нет.

    Что касается 16-17го года макбуков.
    1. Екран не сказал бы что чем то лучше, если поставить рядом 15й год и 16й - возможно разница будет заметна на максимальной яркости, в целом при работе вообще разницы нет!
    2. Все модели этих годов имеют проблемы с клавиатурой, в частности залипание клавиш! У меня лично это было один раз за 1,5 года владения, как то попал волос из бороды под кнопку и не мог выдуть его сжатым воздухом, пришлось снимать кнопку - у меня благо это вышло, но в 50% случаях кнопки ломаются (там очень маленькие крепления механизма), в сервисе замена стоит 15$ но ставят китайские - они настолько плохие по качеству что у некоторых людей в какойто момент просто по нажатию отваливаются!... Но я клавиатуру протираю по 3 раза на день, не кушаю за ноутом! Если вы любите баловать себя вкусняшками на рабочем месте - этот ноут точно не для вас, тогда только 15й год!
    3. 16й год на сколько я помню был проблемный на видеокарты, у многих они отваливались. Много блогеров страдало (видимо из за перегрева при нагрузке с монтированием видео), потому опять же - если вы делаете какие либо анимации интерфейса - лучше не покупать 16й год, либо 17 либо 18!
    4. У меня на 15ке 16го года есть подлагивания в анимации интерфейса. В ноутбуке 2 видеокарты, онда встройка HD530, вторая Radeon 450 Pro. Система устроена таким образом что если нет нагрузки на видеокарту - используется встройка HD530 и вот на ней есть фризы в анимации интерфейса Mac OS (не зависимо от версии, это было и на 10.12 и на 10.13 и сейчас на 10.14), это у всех так (я лично проверял на 5 машинах у друзей и магазинах), к слову на 13ке 15го года таких фризов нет, хотя там встройка еще слабее. Я так полагаю что просто у меня HD530 не справляется с разрешением. Потому я просто отключил встройку и у меня постоянно включена Radeon 450 Pro... Для перфекциониста только так можно жить с моделью 2016го года :) На 17ках не смотрел, там другая уже встройка и надеюсь что таких косяков там нет. Надо будет проверить как нибудь, а то это я заметил еще при покупке ноута в прошлом году и тогда бегал тестил, думал что у меня тоже проблема с видеокартой)

    Но что я хочу сказать по итогу! Не берите 15ку 16го или 17го года так же!
    Я понимаю что у вас есть только 2200 сейчас, но может стоит подождать месяц и купить модель 2018го года? Вы купите себе ноут на 3-5 лет, я думаю оно будет того стоить! 18й год макбуки стали мощнее, на целы 30%! там уже LPDDR4 (до 17го года LPDDR3), а самое главное - исправили проблему с залипающей клавиатурой! Сейчас получается 18й год - это устройство с избавлением всех косяков 2х предыдущих поколений!
    Новый макбук в США стоит 2400$ всего. Лететь за ним конечно можно и самому при возможно, NY прекрасный город) Но может кто из знакомых будет лететь, может в еропу - например в Польше с возвратом налога он обойдется в 2650$, а если захотеть то за 100$ можно самому слетать в Варшаву, и погуляете и Макбук дешевле купите)
    Ответ написан
    61 комментарий
  • Уровень знаний css/html для JavaScript?

    Xuxicheta
    @Xuxicheta
    инженер
    javascript никак не связан с версткой. Можно писать на js вообще не подозревая о существовании браузера.
    А до какого уровня это вам решать, смотря что вы хотите делать с помощью js
    Ответ написан
    Комментировать