• Паттерн Dispose от MS?

    @none7
    Если речь о небольшом буфере, то смысла действительно не много. Но если речь о нескольких десятках мегабайт памяти, то ОС свапать начнёт раньше, чем запустит полную сборку мусора. Да и придумывался этот паттерн в первую очередь для блокирующих ресурсов. Таких как файлы, открытые порты, дескрипторы окон, потоки и т.д.
    Ответ написан
    Комментировать
  • Как добавить свою DLL в таблицу импорта EXE?

    @none7
    Таблицу импорта пофиксить трудно. Нужно тщательно изучить формат PE, разобрать EXE-шник на части, добавить новую секцию перед секцией ресурсов, в которой сформировать новую таблицу импорта, оставив старые "Thunk RVA". Затем собрать заново пересчитав расположение каждой секции на диске. Но всё уже написано за Вас злобными вирмейкерами :), а Вы похоже даже не пытались найти такие утилиты. подсказываю Google: add dll to import
    Ответ написан
    Комментировать
  • Как подключить на VPS /56 подсеть ipv6?

    @none7
    Вам нужно раздать адреса другим серверам или сетям? Если нет, то и не трогайте её вообще, иначе создавайте виртуальные интерфейсы, дробите эту /56 на отдельные /64(или как Вам угодно), вешайте их на эти интерфейсы и настраивайте маршрутизацию.
    Ответ написан
  • Безопасно ли SMB windows 7?

    @none7
    Да не обязательно копировать файл с именем "банковская_карта_и_пинкод.txt". Вы ведь наверняка используете не анонимный доступ, а имея возможность для MITM перехватить сессию не составит труда. Авторизированный пользователь может влезть в скрытые директории \\host\c$ и получить удалённый доступ к реестру уж не говоря про RDP. Закончится всё может запуском червя. Так, что без шифрования гонять SMB трафик через интернет действительно не стоит и ставить слабые пароли на открытую для Интернета машину тоже.
    Ответ написан
    3 комментария
  • Есть функция для вызова функций с параметрами загруженными в стек. Для x86 всё понятно, но как можно портировать на x86-64?

    @none7
    Код будет системозависимый. В Linux первые 6 аргументов передаются в регистрах (rdi, rsi, rdx, rcx, r8, r9), остальные по старинке . В Windows первые четыре в регистрах(rcx, rdx, r8, r9), остальные в стеке, НО место в стеке под первые 4 всё равно нужно выделить и лучше сохранить туда аргументы тоже; ради va_arg функций. Стек нужно выровнить по границе 16 байт ибо sse2 используется повсюду.
    Кстати лучше всё таки реализовывать такую функцию не в C++ исходнике, а в отдельном .s файле. Ведь если функция возвращает double, то нет никаких гарантий, что всё вернётся в целости.
    Ответ написан
    1 комментарий
  • Что использовать: IPv4 или IPv6?

    @none7
    У 90% пользователей Интернета и 99% рунета, нет доступа к IPv6(не Teredo). Делать сервера без IPv4-адреса можно только из желания популизировать IPv6 или для личного пользования. Но с другой стороны особых проблем в настройке обоих протоколов нет, если нечем заняться можно добавить и его. Google, Facebook, Yandex, Vkontakte уже добавили, чем Вы хуже?
    Ответ написан
    Комментировать
  • Что делает данный участок кода?

    @none7
    Что возвращают функции то и заталкиваем, то есть:
    invoke  AllocConsole
        invoke  GetStdHandle, STD_INPUT_HANDLE
            push    eax ;InputHandle
            push    eax ;InputHandle
        invoke  GetStdHandle, STD_OUTPUT_HANDLE
            push    eax ; OutputHandle
        invoke  SetConsoleMode, eax, ENABLE_PROCESSED_OUTPUT ; OutputHandle
            pop eax
        invoke  WriteConsole, eax, hello, msgsz, NULL, NULL ; OutputHandle
        invoke  FlushConsoleInputBuffer ; функция сама забирает 1 аргумент, InputHandle
            pop eax
        invoke  ReadConsole, eax, buf, bufsz, cnt, NULL ; InputHandle
        invoke  FreeConsole
        invoke  ExitProcess,0

    Компиляторы кстати так делать не будут. Они или сохранят значения в ebx, esi, edi или будут сохранять в стек через [ebp-x].
    Ответ написан
    2 комментария
  • Как скрыть процесс в Windows 10?

    @none7
    Очевидно, что для этого нужен руткит. Только пытаясь скачать где либо такую вещь Вы неизбежно скачаете себе троян. Скрыть можно всё, процессы, файлы, ключи реестра, всё это всего лишь списки структур передаваемые ОС программам и их можно слегка подкорректировать. Естественно вашему антивирусу такая активность не понравится, если конечно руткит не умеет прятаться и от него.
    Ответ написан
    Комментировать
  • Почему не работает код, какие есть нюансы fasm?

    @none7
    А зачем у Вас вообще include 'win32a.inc' и .code, если Вы под DOS пишете. Там никаких WinAPI и секций кода и данных нет. А вот org 100h в начале не помешал бы. Хоть fasm и может компилировать под различные системы, но оформление кода всегда разное; в википедии есть примеры для каждой из систем.
    Ответ написан
    8 комментариев
  • Что будет после обновление пиратской win7 до windows 10?

    @none7
    По идее KMS активаций это не должно касаться, так как в лицензионном варианте за продление ключа должен отвечать корпоративный сервер. А он для пиратов всегда говорит, что всё отлично, по крайней мере пока ключ не забанят. Так, что ничего относительно Win 7 не меняется. А вот boot-хаки и биос-ключи видимо придётся периодически обновлять.
    Дополню: по поводу подписки ещё ничего не ясно, Microsoft наоборот утверждали, что её не будет. Слух пошёл из за утечки внутренней презентации Microsoft. Возможно утверждение, что Windows 11 не будет тоже оттуда или Windows перестанет обновлять ревизии через пару-тройку лет и будет присылать только заплатки.
    Ответ написан
  • Не устанавливается дополнение (копировать/вставить) VirtualBox для в гостевую ОС Kali Linux?

    @none7
    Первая же строчка в логе: unable to find the sources of your current linux kernel. Дополнение из исходников собирается, бинарник в ядро неизвестной версии запихнуть проблематично. А для сборки ядерных модулей нужны заголовочные файлы ядра. Обзывают это обычно пакетом linux-headers и придётся пересобирать после каждого обновления ядра. Так, что действительно лучше попытаться поставить пакет virtualbox-guest-x11
    Ответ написан
  • Туннельный брокер ipv6 для дома?

    @none7
    Насколько я помню у gogoNET клиента проблемы с Win8/10 и разработчики забили на него вообще и запретили регистрацию новых бесплатных аккаунтов(только анонимные). Есть ещё Sixxs, но это несколько сложнее чем с gogoNET и требует терпения, ибо процесс не автоматизирован. Других брокеров обходящих NAT на сколько мне известно нет.
    Можно конечно довольствоваться Teredo и dyndns. Оно конечно работает с некоторым лагом на старте, но в целом лучше брокеров, тем, что трафик не гуляет через Амстердам и не теряется по пути.
    Ответ написан
  • Можно ли поднять проксификацию на вирт.машине VIRTUALBOX, поставленный на дедик?

    @none7
    Сделать то можно всё, что угодно если знать как. В конце концов виртуальный машины в этом плане ничем не отличаются от реальных, а виртуальные сетевые интерфейсы от реальных сетевых карт.
    По поводу второго вопроса... само ничто и никуда маршрутизироваться не будет. Каждой машине нужно так или иначе передать информацию о её адресе, маске, шлюзе и дополнительных маршрутах.
    Ответ написан
  • Как заставить Win 10 отключать монитор при отсутствии активности пользователя?

    @none7
    Может попробовать запустить в консоли команду powercfg -energy ? Через минуту сформирует html-страничку со всеми проблемами: отключения монитора, дисков, спящего режима и т.д. Программы блокирующие отключение чего либо тоже там будут. Но вообще в Win10 полно подобных глюков, они вполне могли сломать саму функцию отключения монитора, как сломали запрет на выход из спящего режима.
    Ответ написан
    1 комментарий
  • Как удаленно запустить пользователя?

    @none7
    Вот в таких случаях идеально подходит IPv6. Тем более, что Teredo на Vista+ включен по умолчанию. Количество натов ему безразлично, только их тип. Работает ли, можно узнать выполнив команду netsh int ipv6 show teredo. Нужно лишь к dyndns прикрутить и не забыть фильтрацию и авторизацию.
    Ответ написан
    Комментировать
  • Основные принципы взлома для чайника?

    @none7
    Чтобы натравить готовый эксплоит на сайт знать вообще ничего не нужно. А при поиске уязвимостей не имея исходника и даже бинарника, нужно как можно больше знаний обо всех смежных областях. Так как дыры обычно случаются, когда программисты и админы используют инструмент, технологию, язык не до конца понимая как оно всё работает. SQL-инъекции самый отличный пример, того. Впрочем дыр в софте нынче всё меньше, сейчас модно искать дыры в мозгах людей.
    Ответ написан
    2 комментария
  • TCP/IP работает сверху вниз или снизу вверх?

    @none7
    Вся эта модель не более чем условность, нужно её рассматривать, как иерархию структур данных, а вовсе не незыблемые и скрытые друг от друга уровни. В некоторых случаях в направлении отправки пакета может учитываться даже прикладной уровень, а HTTP разбираться непосредственно из Ethernet-кадров. HTTP ничто не мешает содержать Ethernet кадры. NAT определяющий направление отправки по номеру порта TCP и UDP вообще уже стал обыденностью. Прикладных протоколов содержащих IP-адреса и порты, вообще не должно быть в OSI, так как не позволяет абстрагироваться, но их полно. И это вышло боком при появлении IPv6, а с другими протоколами сетевого уровня они вообще несовместимы и на это закрыли глаза. И весь этот бардак нынче зовётся сетевым стеком.
    IP конечно содержит механизм фрагментации, но по причине неудачного проектирования используется редко и не для TCP. TCP изначально создан для фрагментации бесконечных потоков данных с проверкой факта доставки, поэтому влезает на сетевой уровень, чтобы знать MTU, а получив некоторые ICMP пакеты даже разрывать соединение(no route, unreachable). Удалённому узлу, TCP тоже сообщает свой MTU.
    Ответ написан
    Комментировать
  • Как соединить 2 компа, подключенных к инету: на одном запустить один экземпляр моей программы, на другом - другой, и чтобы экземпляры общались по TCP?

    @none7
    1. IPAddress.Any порт любой какой пожелаете, у каждого сетевого интерфейса есть адрес, его и указывать на удалённой машине, ну или в DNS прописывать. Все адреса системы можно получить через Dns.GetHostAddresses (Dns.GetHostName())
    2. Разве, что брандмауэр настроить, если включен
    3. С компом имеющим "белый" IPv4-адрес или IPv6-адрес любой может запросить соединение независимо от сети и расстояния до этой сети. В случае компа за NAT, только находящиеся в той же сети или через UDP + STUN
    Ответ написан
    Комментировать
  • Как сменить кодировке в php программе?

    @none7
    str_split($worktest);
    заменить на
    preg_split('/(.)/us', $worktest, -1, PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);
    Ответ написан
    Комментировать
  • Как получить имя текущего юзера в C++?

    @none7
    Windows ведь. В заголовках фунция определена так:
    BOOL WINAPI GetUserNameW(LPWSTR  lpBuffer, LPDWORD lpnSize);
    BOOL WINAPI GetUserNameA(LPSTR  lpBuffer, LPDWORD lpnSize);
    #ifdef _UNICODE
    #define GetUserName GetUserNameW
    #else
    #define GetUserName GetUserNameA
    #endif

    Решения на выбор:
    • Убрать в настройках компиляции определение _UNICODE
    • Использовать GetUserNameA
    • Переписать с использованием TCHAR, size при этом должен быть sizeof(buffer) / sizeof(*buffer)

    И да asd111 прав буфер обязан быть размером UNLEN+1, иначе может случится переполнение буфера, хоть это и маловероятно.
    Ответ написан
    4 комментария