ISO 8601
ISO 8601 был опубликован 06/05/88 и в последний раз исправлен 12/01/04.
ISO 8601 был опубликован 06/05/88 и в последний раз исправлен 12/01/04.
Windows 11 с системой Microsoft Pluton открыла своё истинное лицо предназначение. Теперь она сможет принудительно проверять все файлы на предмет нелицензионного использования, и запрещать пользователю открывать их. Проверку нельзя будет обойти, потому что она базируется на аппаратных возможностях, встроенных прямо в процессор.
А дело было так: решил я вчерашним вечером обновить хром (ибо достали плашки типа "ваш браузер больше не поддерживается и.т.д. и.т.п."). Сначала не хотел обновляться, т.к. настраивать его заново это был-бы тот еще капздец (аналогичная история с виндой моей 7-кой). Но всё-таки решился. Скачал установщик (перед этим на всякий случай старый браузер упаковал в архив и отправил на свой бэкап сервер), начал установку. Установился. Туть антивирус внезапно стал ругаться на тот самый wininit, удалил его, и затребовал перезагрузку. Что за файл я тогда не знал, но то, что он находился в System32, заставило меня посидеть. Не перезагружая комп, я пошел в интернеты с этим вопросом и с ужасом узнал, что этот едрить какой важный файл, и что без него вендекапец. Попытки вырвать этот файл из карантина окончились фэйлом (антивирус говорить, что такой файл уже существует). Тогда я добавил его в исключение и игнор антивирусом и решил перезагрузиться.
А дальше... Я еще никогда не слышал стук сердца так сильно, как тогда. Первая мысль - накрылся медным тазом SSD (ему 5 год идет). Зная, что попытки восстановить с них хоть какую-нибудь информацию относятся к разряду научной фантастики, я уже готовился к прощальной церемонии.
Но я все-же решил попробовать дать отпор вирусне. К счастью, у меня есть задрыпаный, но работающий ноут, без которого я даже не представлял, что делал бы. Для этого подготовил WindowsPE, антивирусную утилиту AVZ от Зайцева, SAS (SuperAntiSpuware) и создатель LiveCD'ек Rufus. Сперва хотел выдернуть wininit из установочного образа моей винды (благо, я его сохранил). Но бида - это ISO образ, и для того, что-бы взять хоть один файл, нужно эту винду устанавливать (лишних хардов, как компа и друзей, у который можно одолжить, у меня нету). Монтировал образ на USB-флэшку и загрузил туда утилиты. Загрузился с флэшки. После сразу проверил наличие этого зловредного wininit в папку System32 моей поломаной винды. Результат: отсутствует. Значит антивирус и вправду его удалил. Теперь проверка на вирус утилкой AVZ. Тоже все чисто. SAS выдает тоже самое. На этом основании я решил, что вирус действовал один. Тогда я решил прибегнуть к опасному методу - скачать недостающий файл с www.pconlife.com. Выбрал разрядность, винду и версию. Скачал. Поместил в папку System32. Перезагрузился. Винда запустилась. Конец.
Теперь вот сижу на реакторе, пишу пост и думаю: а правильно ли все сделал? Винда работает в штатном режиме, диски и проц не загружены, всплывающие окна, обвиняющие меня в просмотре гей-порно, не выскакивают. Hosts в порядке.
P.S. Вопрос к знатокам: знает-ли кто хорошую, годную утилиту для создания образов системы? И главное где лучше эти образы хранить - на CD или флэшке.
P.P.S. Всем добра и чтобы синие экраны смерти и прочие непотребства никогда не посягали на вашу ЭВМ. Аминь.
Empress заявила, что ей удалось создать новую технологию взлома, позволяющую полностью удалять Denuvo из exe-файлов
Девушка-хакер смогла полностью удалить антипиратскую защиту из экшена Maneater. Для этого она девиртуализировала 102 функции игры и восстановила их, удалив при этом Denuvo
Раньше после взлома игр в исполняемом файле всё равно оставались следы Denuvo, которые влияли на производительность, однако теперь Empress научилась полностью стирать антипиратскую защиту
ИсточникКому лень читать интересную историю, вот ссылка на конвертер с инструкциями, как превратить .ojd в .mp4: https://drive.google.com/file/d/1GlMXGss0R2-jYP0TOZ_2Y1xzl9Ugar7l/view?usp=sharing
инструкции в readme.txt применимы к unix/linux, но всё работает и на WSL под виндой.
Ну ладно, а кому не лень и таки интересно, услышьте же охуительную историю о том, как я этот самый конвертер собрал!
Заранее предупреждаю - я нихрена не смыслю в аудио и видео, я просто программист на C. всю инфу про H264 и AAC я нагуглил и вычитал в коде старой версии ffmpeg; если тут есть эксперты, простите меня заранее, если какую-нибудь хуиту скажу.
НАЧАЛО ИСТОРИИ. ТАИНСТВЕННОЕ ВИДЕО НА РЕАКТОРЕ? СКАНДАЛЫ, ИНТРИГИ...
Ну так вот, ушел я тут, значит, в отпуск на пару недель, и тут вижу интересный пост от Иисуса:
http://joyreactor.cc/post/4899255
Удивительная история - файл с видео, который сам Иисус не может открыть!
Вместе с многоуважаемыми пидорами из комментов начал гуглить, с превеликим любопытством - случай и правда таинственный, не находилось вообще ничего толкового. С большим интересом тред пялился на хекс-дампы, которые Иисус предоставил в начале ветки ( http://joyreactor.cc/post/4899255#comment23718856 ), особенно на повторяющееся ASCII слово qbox...
И наконец товарищ http://joyreactor.cc/user/nun-buoy , а затем и товарищ http://joyreactor.cc/user/dadv нашли совпадение - старый проприетарный аппаратный видео/аудио кодек MG1264! Эта штуковина была вроде как сделана с рачетом на мобильные девайсы, что совпадало с инфой от Иисуса (видео со старого телефона).
Сообща нами были найдено следующее:
* Базовые характеристики: https://www.semiconductorstore.com/pdf/newsite/mobilygen/MG1264_Comet3_DS.pdf
* Слитые доки по версии 1.1 кодека: https://manualzz.com/doc/7153241/mg1264
* Чудом сохранившийся кусок самопального муксера на C#: https://csharp.hotexamples.com/site/file?hash=0xed6a386bc80b4638eac9ea030e141c8312db2507c58453306c1ab71598c2b8f2&fullName=VideoStreamCodecs/Formats/QBox.cs&project=ctapang/GPUCyclops (толку от этого в результате не вышло, просто интересно почитать)
* Полностью сохранившаяся либа для работы с аппаратным кодеком: https://tipok.org.ua/node/13, плюс патч для ffmpeg 0.6, включающий в себя демуксер для проприетарного формата qbox: https://gist.github.com/lynxis/3033513 (последнее в результате стало основным столпом решения проблемы)
Ручки уже основательно чесались, так что я скачал те самые доки и стал читать и сравнивать с хекс-дампами из треда.
Те самые qbox-ы оказались форматом контейнеров для AAC и H264 пакетов. В доках был описан формат самих qbox-ов:
Стоит отметить, что тут все, блять, все в big-endian. Я раньше никогда с такой херней не работал, так что тут все немножко ломало мой привыкший к little-endian мозг =)
Тут стоит отметить один неприятный нюанс - я это далеко не сразу заметил, но несмотря на то, что те самые доки вроде бы жестко гарантируют, что в первом H264 видео qbox-е будут только NAL-ы SPS-PPS, в реальности тут в первом qbox-е выходит последовательность AUD-SPS-PPS-IDR (это можно увидеть здесь: http://joyreactor.cc/post/4899255#comment23718856 у каждого NAL-а 4 байта стандартного старткода заменено на префикс-размер, так что их можно легко подряд читать, не парясь с полным декодированием).
Для наглядности:
Тут выделены размеры (которыми заменены старткоды). Начинается каждый NAL так: 1 бит == 0, 2 бита == реф индекс (типа группа типов), дальше 5 битов ID (nal_unit_type: 9==AUD, 7==SPS, 8==PPS, 5==IDR), это все гуглится по запросу "ISO/IEC 14496 pdf". Короче, получается, что вместо чистого конфига тут еще и данные видео есть.
Если бы я знал хоть что-то об H264, я наверняка бы заподозрил, что 13744 байта как-то слишком дохуя для одних SPS-PPS. Но я ничего не знал и ничего не заметил, так что подозрений об актуальности и возможной устаревшести дока относительно ojd ко мне в душу не закралось...
КАК Я ЕБАЛСЯ С ФОРМАТОМ OJD
Ну, в общем, охуительно уверенный в себе, я постучался к Иисусу в личку, и он мне скинул .ojd файл. Дальше я нашел github FFmpeg-а, клонировал, и стал тыркаться. Приладить тот патч с tipok.org.ua к современной версии FFmpeg-а оказалось слишком сложно, но благо в репозитории был бранч подходящей версии 0.6.7 (патч писался для 0.6.1), я чекаутнул бранч и приладил на него qbox.c, qbox.h и прочие диффы из патча, нужные для работы демуксера. Нагуглив, как с этим ffmpeg вообще работать (лол), легким движением хвоста... эээ... tail-а я обрубил первые 8 байт файла ojd и попытался скормить результат свежескомпиленному ffmpeg-0.6.7.
Естественно, просто так нихуя не сработало.
Покопавшись в ffmpeg-е (выяснилось, что у него, по крайней мере, в версии 0.6, компилится дебаг-билд ffmpeg_g, который заходит с gdb), выяснил, что первый qbox парсится нормально, но со вторым возникают проблемы. Применив xxd, я обнаружил странное: второй qbox начинался через какой-то промежуток после ожидаемого конца первого.
Для наглядности покажу на изначальном .ojd (без обрубленного начала):
Тут хорошо видно "хедер" в начале, после него qbox с размером 0x35b0, и по-хорошему, если это qbox стрим, как в доках, то следующий qbox должен начаться на 0x8+0x35b0==0x35b8, но вот нихуя, начинается он аж на 0x3690!Изрядно прифигев с такого расклада событий, я тупо пялился на этот хекс-дамп, и тут заметил в нем нечто крайне интересное.
А вы, дорогие мои читатели, заметили это? Заметили, блять, с чего начинается строка 00003600?
0461 00a0 **** 03ff
Практически идентично хедеру в начале файла!!!!
Я охуел. Я сделал grep. Я охуел еще больше.
Это пиздец. Каждые 0x200 (512) байт .ojd файла начинаются с 8-байтного префикса. Байты 5-6, по ходу, какой-то... sequence number? Причем нормальный счет идет только в байте 6, в байте 5 же происходит какая-то полная поебень, но там явная закономерность (36-06-13-02-02-03-21-00 повторяются, но потом меняются с переносом единицы из 6 байта, короче, что-то крайне странное).Я не знаю, что это за наркомания. Я подозреваю, что это след какой-то крайне допотопной (возможно самопальной?) блочной файловой системы родной ОС девайса, на который таинственные видео записывались. Если кто тут узнал-распознал эту херню, объясните мне, пожалуйста, мне очень любопытно!
Кстати, забавный нюанс - в видео Иисуса этот сраный формат немножко поломал конец qbox-стрима, то есть последний qbox, который не влез в последний блок ojd, оказался таки обрезан. Это видно в комменте Иисуса с дампом конца ojd файла здесь, если посчитать размер последнего qbox-а: http://joyreactor.cc/post/4899255#comment23719489 а после конца этих блоков зачем-то идет очень дохуя нулей =) но не буду на этом заостряться.Ну, делать нечего, по-быстрому я написал конвертер, который из каждого 512-байтного блока в файле .ojd выкидывал первые 8 байт и записывал результат в файл .qbx.
Дело пошло веселее. С выкинутыми префиксами блков конец каждого qbox-а стал совпадать с началом следующего, и ffmpeg... послал меня нахуй, потому что что-то оказалось не так с аудио. Оказывается, демуксер не генерировал почему-то аудио-стрима, хотя я точно видел в файле аудио-qbox-ы.Решил я разобраться с этим позже. Путем нехитрых хаков кода, я смог декодировать видео в валидный mp4 файл с... ебаным слайдшоу, судя по частоте кадров. Настроив вручную взятый от балды фреймрейт, я еще раз декодировал видео, и... моему взору предстали обещанные Иисусом ебущиеся карлики! Успех!!!!!!!!!
Ебались они, правда, как-то подозрительно слишком резво, так что я сделал заметочку себе на будущее - разобраться с фреймрейтом ебаным. Но сначала аудио.
И тут меня ждал пиздец.
КАК Я ЕБАЛСЯ С АУДИО
В ебаных доках черным по белому было написано, что первый аудио qbox должен содержать аудио конфиг в формате AudioSpecificConfig из ISO/IEC 14496-3. Но конфиг-флага ни на одном из аудио-qbox-ов не нашел ни демуксер, ни я вручную. Правда, в доках и не было написано, что этот флаг обязательно на qbox-е с аудио-конфигом должен быть... Я решил поэкспериментировать и взять просто первый аудио-qbox и попытаться дешифрануть его как конфиг.
Меня ждало жестокое разочарование.
FFmpeg матерился по-черному, закидывал меня эррорами, говорил мне, что конфиг говно. Поебавшись немного, я горько вздохнул, вбил в гугле "ISO/IEC 14496-3 pdf" и начал вникать.
Как видно, первые 5 бит должны указывать на тип объекта. Судя по докам MG1264, этот тип должен быть 2 (AAC_LC).И тут уже незадача - все содержимое qbox-ов с аудио начиналось на 0x21:
дас ист крайне печально, ведь первые 5 битов 0x21 - это вовсе не 2 (AAC_LC), а очень даже 4 (AAC_LTP), который тот билд ffmpeg-а вообще не поддерживал.Вообще, рассматривая эти qbox-ы, я невольно задумался - а есть ли среди них вообще этот самый AudioSpecificConfig? Даже если проигнорировать первые 5 битов, дальше все равно получалась лютая хуита. В доках было четко сказано, что девайс поддерживает 2-канальное стерео AAC-LC аудио с sample rate 48000, 44100, 32000, 24000, или 22050 Hz.
Крепко задумавшись, я продолжил гуглить и штудировать ISO/IEC 14496-3, как вдруг до меня дошло, что все эти пакеты прекрасно подходят под определение AAC raw data block типа ChannelPairElement!
Здесь ID_CPE==1. CPE - это просто пакеты для двухканального стерео-аудио (это подтвердил и код ffmpeg). Я чувствовал, что я на верном пути!Ну, раз конфига нет, то сделаем сами, хуле. Будет у нас свой AudioSpecificConfig с блекджеком и шлюхами. Сначала я просто хакал ffmpeg, а потом уже дописал фальшивый аудио qbox в начало файла. Но это я чуть позже покажу.
Итак, мы имеем audioObjectType==2, 3<=samplingFrequencyIndex<=7, channelConfiguration==2. Если что, кстати, последние 2 значения - индексы в такие массивы (из кода ffmpeg 0.6.7):
После некоторых попыток стал я пробовать различные комбинации и... нихрена. FFmpeg выплевывал тонну ошибок (но файл какой-то все-таки выдавал). В чистое AAC не конвертировалось, а при декодировании в raw audio (wav) мои уши встречал оглушительный пердеж. После некоторой ебли, мне показалось, что на частоте 22050 ошибок вроде выдается меньше, и стал с ней тыркаться.Дальше я взял в руки gdb и стал разбираться, откуда идут ошибки. FFmpeg декодирует каждый channel_pair_element так: сначала общий конфиг, потом левый канал, потом правый. В пакете с данными они идут друг за другом последовательно (в табличке channel_pair_element это видно - там это называется individual_channel_stream).
Удивительно, но все ошибки выдавались при декодировании правого канала.
Почесал я репу, похакал я код ffmpeg-овского декодера aac, чтобы, значит, он игнорил ошибки со второго канала, и с каждого qbox-а брал только один экземпляр данных для первого канала.
Получившееся в результате аудио было... странным. В правом ухе оглушительно пердел сатана. Но в левом, кажется, слышались стоны ебущихся карликов!!!!!!
...но стонали они как-то... ускоренно? Я задумался и сел вчитываться в код ffmpeg. Скорее всего, второй канал не выходило распарсить, потому что плохо парсились данные первого канала. Если его недопарсить до конца, или же наоборот перепарсить, то не попадешь на данные второго канала. В конце первого канала шли спектральные данные, которые парсились каким-то очень сложным кодом... Но на его парсинг влиял sample rate.
Отсюда следует очевидное умозаключение - sample rate неправильный. Но я, как было написано раньше, свято верил слитым докам MG1264, в которых было написано, что самый маленький sample rate для аудио, который поддерживает кодек - 22050 герц.
Но в какой-то момент я от безнадеги таки взял и попробовал 16000 герц (индекс 8).
И ебать-колотить, что же я увидел? Конвертацию аудио без ошибок от ffmpeg! И что же я услышал? Громкие, четкие, стерео стоны ебущихся карликов!!!! Я смог!!!!!
В конвертер для qbox-ов добавилась новая фича - дописывать в начало стрима аудио-qbox с найденным мною конфигом.
КАК Я ЕБАЛСЯ С ФРЕЙМРЕЙТОМ
Последней моей задачей было сделать конвертацию видео с нормальным фреймрейтом. Аудио каким-то образом отконвертилось идеально, но чтобы подогнать к нему по времени видео, пришлось подбирать вручную - выяснилось, что там был фреймрейт 25. Но откуда брался изначальный фреймрейт, который был похож на ебаное слайдшоу? Оказалось, что все дело было в демуксере, который зачем-то рескейлил дефолтные 90000 герц базовой шкалы тайминга на какую-то хуйню. Исправив сей огрех и пошаманив немножко с кодом таймстампов, я получил нормальную комбинацию аудио с видео, нормальный mp4 файлик, который уже можно было отправить заждавшемуся Иисусу!ЗАКЛЮЧЕНИЕ
Ебать это было весело. Я дохрена нового для себя узнал про мир аудио и видео энкодингов. И теперь умею немножко работать с ffmpeg! Ну и в кои-то веки есть что интересного рассказать реактору =) всем бобра, я пошел допроебывать свой отпуск!
Захотелось мне как-то кино смотреть на любом компе и со смартфона, да чтобы и ночами, и комп в комнате не шумел, как собой, так и жёстким диском. Решил сделать себе медиасервер, простенькое файловое хранилище и всё такое прочее.
Взял старый комп, установил на него Proxmox для удобства работы. На бпшник не обращайте внимания, это временный роутер сверху лежит без корпуса.
Как установить Proxmox есть в интернете, ничем неотличается от установки обычной ОС. После установки доступно по локальной сети. Из советов, не забудьте сменить репозиторий на бесплатный, а как, опять же подскажет гугл.
ДИСКЛЕЙМЕР: Всё можно сделать проще на одном ubuntu-server установленном прямо на комп, но мне лично нужны виртуалки и возможность работы через Shell вбраузере. Я не буду описывать стандартные действия.
После установки proxmox я смонтировал ZFS в режиме SingleDisk на 4ТБ жёсткий диск, купленный на авито за 3 тысячи рублей.
По SSH в proxmox смонтировал Samba папку public по этому гайду .Можно и просто примонтировать диск к виртуалке на которой медиасервер будет крутиться, но я хотел иметь файловую шару на самом проксмоксе. Может это не лучшее решение, но там ничего важного и мне так удобно. Может быть, уважаемые сисдаминопидоры подскажут лучшие решения в комментах.
Подключил шару в винде
Создал папку Кино и закинул туда фильмов
Скачал ubuntu-server и развернул виртуалку ubuntu-server, закинув ISO образ в proxmox. За подробностями опять же в гугл.
Подключился по SSH, установил поддержку cifs.
sudo apt install cifs-utils
Добавил папку куда будет монтироваться сетевой диск
mkdir Media
Подключил сетевой диск в /etc/fstab
sudo mount-a
Далее он будет монтироваться при запуске системы
Установил docker и docker compose
Создал docker-compose.yml файл
nano docker-compose.yml
В volumes указал папку Media, куда смонтирован сетевой диск
Ctrl+S сохранить
Ctrl+X выйти
sudo docker compose up -d для запуска
Jellyfin уже доступен в локальной сети
Ip address чтобы узнать какой ip адресв локальной сети
В браузере вводим локальный ip из предыдущегошага и порт
У меня 192.168.0.26:8096
Там вас ждёт довольно простая настройка Jellyfin
После этого внутри локальной сети уже можно пользоваться,вводя в браузере адрес сервера. Можно поменять в docker-compose.yml порт с 8096:8096на 80:8096, чтобы заходить по айпи без порта и добавить себе в hosts файл(окей гугл hosts файл windows)запись типа:
192.168.0.26 jellyfin.local иликакой вам хочется адрес
Тогда с вашей windows он будет доступен по этому адресу
Также, если ваш роутер поддерживает ARP, можно будет зайти по имени компьютера,которое было задано при установке.
Я купил себе белый IP и домен и, так как я ещё не прошарилсякак делать роутинг по поддоменам, сделал редирект через Nginx на proxmox, могу рассказать, если будетзапрос.
Делаем ещё интереснее, подключаем торрент
Я развернул его прямо на proxmox, мне так было удобнее, так как там имеется прямой доступк ZFSдиску
Подключился по SSH к proxmox
Установил docker и docker-compose
Создал docker-compose.yml файл
В volumes указал папку с zfs public
Ctrl+S сохранить
Ctrl+X выйти
sudo docker compose up -d для запуска
По адресу 192.168.0.25:8112 захожу в deluge, пароль deluge подефолту
В настройках указал куда загружать
Добавил модуль autoadd
Теперь из шары в папке torrents автоматически подтягиваются торрент-файлы,которые я туда закинул
Так же рекомендую поставить плагин Execute исделать такую настройку
chmod -R 777 downloads/Кино
Это нужно для того, чтобы права на работу с папками были у всех приложений и пользователей
На этом всё. Был бы рад, если бы кто-то пояснил по-русски как сделать роутинг на основе something.mysite.ru в pfsense.
Есть одна поисковая система "Мамонт".
Так вот, особенность в том что есть возможность искать файлы на FTP серверах.
Открытых ftp много, в основном это FTP организации. На многих не только разрешён просмотр, но и редактирование.
Почему они открыты? - ХЗ
Но иногда попадаются очень интересные, вроде - rh.ddns.is74.ru
Побывав там я окунулся в детство, когда папка "Приколы" была на каждом компе, а инета особо не было.
Здесь есть и Антимульт, HTF, видео которые передавали по ИК порту и короткие видосики.
Куча обоев:
Видеоуроки, установочный игр старых:
Фильмы:
Да там даже клипы из 2000х есть.
Музыка:
Еще куча тем для XP, скринсейверы, указатели, ярлыки, аудиокниги, учебники, журналы "Хакер" с 2004-2011.
Это словно один большой виртуальный музей.
Из интересного еще находил:
rh.ddns.is74.ru - "Музей"
asy.kraft-s.ru - такие-то туристы, любители лодок
videodarom.no-ip.o - ХЗ
78.139.97.87 - разное ПО
ftp.unitmedia.ru - телевидение
ftp.valet2.com - тоже есть старые игры и прочее
turic.icelan.ru - тоже какие-то туристы и видео 90х с поздравлением Сани Метеора (естественно не знаю кто это)
Ищи не только на территории РФ.
p/s: я не знаю насколько это законно лазить в чужие ftp сервера, но раз они открыты, то они в общем доступе.
Если кто-то натыкался на что-то интересное - делитесь
Сап Джой. Прочитав вот этот пост у меня возникло спонтанное желание насаждать добро и причинять справедливость в массы.
Покопавшись на своём компе я сгрёб всю полезную информацию которую собирал много лет у себя и залил к себе в облако.
Огромное количество учебников, статей для it-шников всех мастей. Прогеры, админы, начинающие it-шники и жалеющие ими стать. Есть также видео-курсы. Но их я пока заливать не стал. Это всё, для всех. Бесплатно. Я ничего не прошу в замен.
Акция продлится до воскресения включительно. А дальше я посмотрю по статистике. Общий объём данный 13.3 GB
Линк на раздачу
Пароль на вход "Реактор образовательный" Без ковычек
Можно качать как полным архивом, так и частями.
В раздаче read me файл с чуть более подробным описанием.
Верим