Время на прочтение8 мин
Количество просмотров49K
Насколько бы закрытым ни было программное обеспечение Microsoft, информации о своем внутреннем устройстве оно выдает предостаточно. К примеру, экспорт функций из библиотеки по именам дает представление о ее интерфейсах. В свободном доступе есть и отладочные символы, которые повсеместно используются для диагностики ошибок в ОС. Однако на руках у нас все равно имеются только скомпилированные бинарные модули. Становится интересно: а какими они были до компиляции? Давайте попробуем разобраться, как вытащить побольше информации об исходных кодах, не делая ничего незаконного.
Идея, конечно, не нова. В свое время подобное делали и Марк Руссинович, и Алекс Ионеску. Мне лишь было интересно получить свежие данные, немного дополнив и уточнив уже проделанную другими работу. Для эксперимента нам понадобятся пакеты отладочных символов, которые есть в свободном доступе. Я взял пакеты для последней релизной версии «десятки» (64 бита), причем решил исследовать и релизный пакет (free build), и отладочный (checked build).
Отладочные символы — это набор файлов с расширением pdb (program database, база данных программы), в которых хранится различная информация для расширения возможностей отладки бинарных модулей в ОС, включая имена глобалов, функций и структур данных, иногда вместе с их содержимым.
Помимо символов можно взять условно доступную отладочную сборку «десятки». Такая сборка богата на ассерты, в которых бывают описаны не только недокументированые и отсуствующие в символьных файлах имена переменных, но и номер строки в файле, в котором сработал ассерт.
В примере видно не только имя файла и его расширение, но и структура каталогов до него, очень полезная даже без корня.
Натравливаем на файлы символов утилиту strings от sysinternals и получаем около 13 ГБ сырых данных. А вот кормить все файлы из дистрибутива отладочной сборки подряд — так себе идея, ненужных данных будет слишком много. Ограничимся набором расширений: exe — исполняемые файлы, sys — драйвера, dll — билиотеки, ocx — ActiveX-компоненты, cpl — компоненты панели управления, efi — EFI-приложения, в частности загрузчик. Сырых данных от дистрибутива набралось 5,3 ГБ.
К своему удивлению я обнаружил, что не так много программ способны хотя бы открыть файлы размером в десяток гигабайт, и уж тем более единицы смогли поддержать функцию поиска внутри таких файлов. В данном эксперименте для ручного просмотра сырых и промежуточных данных использовался 010 Editor. Фильтрация данных дешево и сердито осуществлялась скриптами на питоне.
Фильтрация данных из символьных файлов
В символьных файлах помимо прочего содержится информация компоновщика. То есть, в символьном файле присутствует список объектных файлов, которые использовались для компоновки соответствующего бинарника, причем в компоновщике используется полный путь до объектного файла.
- Зацепка-фильтр № 1: ищем строки по маске «:\\».
Получаем абсолютные пути, сортируем, удаляем дубликаты. К слову, мусора получилось не так много, и он был удален вручную.
При осмотре полученных данных стала понятна примерная структура дерева исходных кодов. Корень — «d:\th», что по всей видимости означает threshold, в соответствии с названием ноябрьской версии Windows 10 — Threshold 1. Однако файлов с корнем «d:\th» оказалось мало. Это объясняется тем, что компоновщик принимает уже собранные файлы. А сборка объектников осуществляется в папки «d:\th.obj.amd64fre» для релизной сборки и «d:\th.obj.amd64chk» для отладочной.
- Зацепка-фильтр № 2: предполагаем, что исходные файлы хранятся по аналогии с объектными файлами после сборки, и осуществляем «разборку» объектных файлов в исходные. Внимание! Этот шаг может внести искажение структуры для некоторых папок, потому как достоверно не известны параметры сборки исходников.
Для примера:
d:\th.obj.amd64fre\shell\osshell\games\freecell\objfre\amd64\freecellgame.obj
это бывший
d:\th\shell\osshell\games\freecell\freecellgame.c??
По поводу расширения файлов: объектный файл получается из кучи разных типов исходного файла: «c», «cpp», «cxx», «asm» и т. д. На данном этапе неясно, какой именно тип исходного файла использовался, поэтому оставим расширение «c??».
Помимо папки «d:\th» наблюдается множество других корней. Например, «d:\th.public.chk» и «d:\th.public.fre». Данную папку мы опустим ввиду того, что в ней хранится публичная часть sdk, то есть она нам не очень интересна. Также стоит отметить различные пути проектов для драйверов, которые, судя по всему, собираются где-то на рабочих местах разработчиков:
c:\users\joseph-liu\desktop\sources\rtl819xp_src\common\objfre_win7_amd64\amd64\eeprom.obj
C:\ALLPROJECTS\SW_MODEM\pcm\amd64\pcm.lib
C:\Palau\palau_10.4.292.0\sw\host\drivers\becndis\inbox\WS10\sandbox\Debug\x64\eth_tx.obj
C:\Users\avarde\Desktop\inbox\working\Contents\Sources\wl\sys\amd64\bcmwl63a\bcmwl63a\x64\Windows8Debug\nicpci.obj
Другими словами, существует набор драйверов устройств, отвечающих стандартам, например, USB XHCI, которые входят в дерево исходных кодов ОС. А все специфичные драйвера собираются где-то в другом месте.
- Зацепка-фильтр № 3: удаляем бинарные файлы, поскольку нам интересны только исходные. Удаляем «pdb», «lib», «exp» и т. п. Файлы «res» откатываем до «rc» — исходного кода ресурсного файла.
Выходные данные становятся все красивее! Однако на этом этапе дополнительные данные получить уже практически невозможно. Переходим к следующему набору сырых данных.
Фильтрация данных из исполняемых файлов
Поскольку абсолютных путей в сырых данных оказалось мало, фильтровать строки будем по расширениям:
- «c» — исходные файы на языке C,
- «cpp» — исходные файлы на языке C++,
- «cxx» — исходные файлы на C или C++,
- «h» — заголовочные файлы на языке C,
- «hpp» — заголовочные файлы на языке C++,
- «hxx» — заголовочные файлы на C или C++,
- «asm» — исходные файлы на MASM,
- «inc» — заголовочные файлы на MASM,
- «def» — описательный файл для библиотек
После фильтрации данных становится видно, что хотя у полученный путей и нет корня, структура каталогов говорит о том, что она строится относительно него. То есть, всем путям достаточно добавить в начале корень «d:\th».
На этом этапе есть несколько проблем с данными, полученными из символов. Первая проблема: мы не уверены, что правильно откатили путь сборки исходного файла в объектный файл.
- Зацепка-фильтр № 4: проверим, есть ли совпадения между путями до объектных файлов и путями до исходных.
И они действительно есть! То есть, для большинства каталогов можно утверждать, что их структура восстановлена правильно. Конечно, все еще остаются сомнительные каталоги, но думаю, эта погрешность вполне приемлема. Попутно можно смело заменять расширение «c??» на расширение совпавшего по пути исходника.
Вторая проблема — заголовочные файлы. Дело в том, что это важная часть исходных файлов, однако из заголовочника не получается объектный файл, а это значит, что из информации об объектных файлах нельзя восстановить заголовочники. Приходится довольствоваться малым, а именно теми заголовочниками, которые мы нашли в сырых данных бинарных файлов.
Третья проблема: мы все еще не знаем большинство расширений исходных файлов.
- Зацепка-фильтр № 5: будем считать, что в пределах одной папки хранятся исходные файлы одинакового типа.
То есть, если в какой-либо из папок уже присутствует файл с расширением «cpp», скорее всего все его соседи будут иметь такое же расширение.
Ну а как же исходники на ассемблере? За последним штрихом можно обратиться к Windows Research Kernel — исходным кодам Windows XP — и часть исходников на ассемблере переименовать вручную.
Изучаем полученные данные
Телеметрия
Какое-то время я изучал вопрос об устройстве телеметрии в Windows 10. К сожалению, анализ на скорую руку не выявил ничего стоящего. Я не нашел никаких кейлоггеров, никакой утечки чувствительных данных, ничего, к чему можно было бы прикопаться. И первым ключевым словом для поиска среди исходных файлов было «telemetry». Результат превзошел мои ожидания: 424 совпадения. Самые интересные приведу ниже.
Телеметрия в исходных файлах
d:\th\admin\enterprisemgmt\enterprisecsps\v2\certificatecore\certificatestoretelemetry.cpp
d:\th\base\appcompat\appraiser\heads\telemetry\telemetryappraiser.cpp
d:\th\base\appmodel\search\common\telemetry\telemetry.cpp
d:\th\base\diagnosis\feedback\siuf\libs\telemetry\siufdatacustom.c??
d:\th\base\diagnosis\pdui\de\wizard\wizardtelemetryprovider.c??
d:\th\base\enterpriseclientsync\settingsync\azure\lib\azuresettingsyncprovidertelemetry.cpp
d:\th\base\fs\exfat\telemetry.c
d:\th\base\fs\fastfat\telemetry.c
d:\th\base\fs\udfs\telemetry.c
d:\th\base\power\energy\platformtelemetry.c??
d:\th\base\power\energy\sleepstudytelemetry.c??
d:\th\base\stor\vds\diskpart\diskparttelemetry.c??
d:\th\base\stor\vds\diskraid\diskraidtelemetry.cpp
d:\th\base\win32\winnls\els\advancedservices\spelling\platformspecific\current\spellingtelemetry.c??
d:\th\drivers\input\hid\hidcore\hidclass\telemetry.h
d:\th\drivers\mobilepc\location\product\core\crowdsource\locationoriontelemetry.cpp
d:\th\drivers\mobilepc\sensors\common\helpers\sensorstelemetry.cpp
d:\th\drivers\wdm\bluetooth\user\bthtelemetry\bthtelemetry.c??
d:\th\drivers\wdm\bluetooth\user\bthtelemetry\fingerprintcollector.c??
d:\th\drivers\wdm\bluetooth\user\bthtelemetry\localradiocollector.c??
d:\th\drivers\wdm\usb\telemetry\registry.c??
d:\th\drivers\wdm\usb\telemetry\telemetry.c??
d:\th\ds\dns\server\server\dnsexe\dnstelemetry.c??
d:\th\ds\ext\live\identity\lib\tracing\lite\microsoftaccounttelemetry.c??
d:\th\ds\security\base\lsa\server\cfiles\telemetry.c
d:\th\ds\security\protocols\msv_sspi\dll\ntlmtelemetry.c??
d:\th\ds\security\protocols\ssl\telemetry\telemetry.c??
d:\th\ds\security\protocols\sspcommon\ssptelemetry.c??
d:\th\enduser\windowsupdate\client\installagent\common\commontelemetry.cpp
d:\th\enduser\winstore\licensemanager\lib\telemetry.cpp
d:\th\minio\ndis\sys\mp\ndistelemetry.c??
d:\th\minio\security\base\lsa\security\driver\telemetry.cxx
d:\th\minkernel\fs\cdfs\telemetry.c
d:\th\minkernel\fs\ntfs\mp\telemetry.c??
d:\th\minkernel\fs\refs\mp\telemetry.c??
d:\th\net\netio\iphlpsvc\service\teredo_telemetry.c
d:\th\net\peernetng\torino\telemetry\notelemetry\peerdistnotelemetry.c??
d:\th\net\rras\ip\nathlp\dhcp\telemetryutils.c??
d:\th\net\winrt\networking\src\sockets\socketstelemetry.h
d:\th\shell\cortana\cortanaui\src\telemetrymanager.cpp
d:\th\shell\explorer\traynotificationareatelemetry.h
d:\th\shell\explorerframe\dll\ribbontelemetry.c??
d:\th\shell\fileexplorer\product\fileexplorertelemetry.c??
d:\th\shell\osshell\control\scrnsave\default\screensavertelemetryc.c??
d:\th\windows\moderncore\inputv2\inputprocessors\devices\keyboard\lib\keyboardprocessortelemetry.c??
d:\th\windows\published\main\touchtelemetry.h
d:\th\xbox\onecore\connectedstorage\service\lib\connectedstoragetelemetryevents.cpp
d:\th\xbox\shellui\common\xbox.shell.data\telemetryutil.c??
Комментировать, пожалуй, не стоит, поскольку все равно достоверно ничего не известно. Однако эти данные могут послужить хорошей отправной точкой для более детального исследования.
Kernel Patch Protection
Следующая находка — всеми любимый PatchGuard. Правда, в дереве исходников ОС присутствует только один файл непонятного, скорее всего бинарного типа.
d:\th\minkernel\ntos\ke\patchgd.wmp
Поискав совпадения в нефильтрованных данных, я обнаружил, что на самом деле Kernel Patch Protection — это отдельный проект.
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen00.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen01.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen02.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen03.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen04.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen05.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen06.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen07.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen08.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp\xcptgen09.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp_noltcg\patchgd.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp_noltcg\patchgda.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp_noltcg\patchgda2.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp_noltcg\patchgda3.c??
d:\bnb_kpg\minkernel\oem\src\kernel\patchgd\mp_noltcg\patchgda4.c??
Сомнительные файлы
Не придумав больше ничего меня интересующего, я начал искать все подряд — и остался доволен!
d:\th\windows\core\ntgdi\fondrv\otfd\atmdrvr\umlib\backdoor.c??
в драйвере шрифтов?
d:\th\inetcore\edgehtml\src\site\webaudio\opensource\wtf\wtfvector.h
Web Template Framework, это всего лишь Web Template Framework, спорная аббревиатура. Погодите,
Open source?
d:\th\printscan\print\drivers\renderfilters\msxpsfilters\util\opensource\libjpeg\jaricom.c??
d:\th\printscan\print\drivers\renderfilters\msxpsfilters\util\opensource\libpng\png.c??
d:\th\printscan\print\drivers\renderfilters\msxpsfilters\util\opensource\libtiff\tif_compress.c??
d:\th\printscan\print\drivers\renderfilters\msxpsfilters\util\opensource\zlib\deflate.c??
Думаю, на этой находке пора закругляться.
Архив с текстовым файлом со списком исходников приведен по ссылке. Делитесь своими находками в комментариях!
Copyright (c) Microsoft Corporation. All rights reserved. You may only use this code if you agree to the terms of the Windows Research Kernel Source Code License agreement (see License.txt). If you do not agree to the terms, do not use the code. *** WRK v1.2 The Windows Research Kernel v1.2 contains the sources for the core of the Windows (NTOS) kernel and a build environment for a kernel that will run on x86 (Windows Server 2003 Service Pack 1) and amd64 (Windows XP x64 Professional) A future version may also support booting WRK kernels on Windows XP x86 systems, but the current kernels will fail to boot due to differences in some shared structures. The NTOS kernel implements the basic OS functions for processes, threads, virtual memory and cache managers, I/O management, the registry, executive functions such as the kernel heap and synchronization, the object manager, the local procedure call mechanism, the security reference monitor, low-level CPU management (thread scheduling, Asynchronous and Deferred Procedure calls, interrupt/trap handling, exceptions), etc. The NT Hardware Abstraction Layer, file systems, network stacks, and device drivers are implemented separately from NTOS and loaded into kernel mode as dynamic libraries. Sources for these dynamic components are not included in the WRK, but some are available in various development kits published by Microsoft, such as the Installable File System (IFS) Kit and the Windows Driver Development Kit (DDK). WRK v1.2 includes most of the NTOS kernel sources from the latest released version of Windows, which supports the AMD64 architecture on the Desktop. The kernel sources excluded from the kit are primarily in the areas of plug-and-play, power management, the device verifier, kernel debugger interface, and virtual dos machine. The primary modifications to WRK from the released kernel are related to cleanup and removal of server support, such as code related to the Intel IA64. *** Organization of the WRK sources The file License.txt contains the license covering use of the WRK. The public\ directory contains a number of include files shared among system components. base\ntos\ contains the NTOS sources. The primary NTOS source components included in the WRK are organized as follows: cache\ - cache manager config\ - registry implementation dbgk\ - user-mode debugger support ex\ - executive functions (kernel heap, synchronization, time) fsrtl\ - file system run-time support io\ - I/O manager ke\ - scheduler, CPU management, low-level synchronization lpc\ - local procedure call implementation mm\ - virtual memory manager ob\ - kernel object manager ps\ - process/thread support se\ - security functions wmi\ - Windows Management Instrumentation inc\ - NTOS-only include files rtl\ - kernel run-time support init\ - kernel startup *** Copying and building the WRK WRK can be built on Windows Server 2003 or later, or on Windows XP or later. To copy WRK to your machine: - open a console window; - switch to DVD; - switch to \Resources\Windows_Research_Kernel\Get_WRK\; - run WRKCopy.bat /w <destination_directory> (if you run WRKCopy.bat without parameters, WRK will be copied to C:\WRK-v1.2\); ALTERNATIVELY - open Windows Explorer (MyComputer); - create the destination directory on your hard drive; - switch to DVD; - navigate to \Resources\Windows_Research_Kernel\Get_WRK\WRK-v1.2\; - select all files and subdirectories, drag and drop them to the destination directory. To adjust the WRK environment setting batch file: - open console window; - switch to the directory WRK was copied to; - run Notepad WRKEnv.bat; - make sure the "set path=..." statement contains the directory WinDbg was installed to; (unchanged WRKEnv.bat refers to default directory C:\Program Files\Debugging Tools for Windows); - save the file and exit Notepad. To build WRK from command line: - open console window; - switch to the directory WRK was copied to; - run Build <arch> (or Rebuild <arch> or Clean <arch>), see note about <arch> below; ALTERNATIVELY - open console window; - switch to the directory WRK was copied to; - run WRKEnv <arch>, see note about <arch> below; - switch to base\ntos; - run nmake %wrkarch%= To build WRK in Visual Studio 2008 environment: - start VS2008; - open solution <WRK_DIR>\WRK.sln, where <WRK_DIR> is the directory WRK was copied to; - make sure the configuration is amd64/Win32 or x86/Win32, as is appropriate; - select Build/Build Solution (or Rebuild Solution, or Clean Solution). To start Windows Debugger from command line: - open console window; - switch to the directory WRK was copied to; - run WRKDebug <arch>, see note about <arch> below; ALTERNATIVELY - open console window; - switch to the directory WRK was copied to; - run WRKEnv <arch>, see note about <arch> below; - run WinDbg %windbgargs% ----------------------------------------------------------------------------- NOTE ABOUT <ARCH> Batch files Build.bat, Rebuild.bat, Clean.bat, WRKEnv.bat and WRKDebug.bat take one parameter – target architecture, which is x86 or amd64. For the first use of either of these batch files, default target architecture is x86. Once the target architecture was defined (explicitly or by default), it cannot be changed for current console window, and <arch> parameter of the batch files is ignored. The title of the window where the WRK environment has been set to some target architecture changes to “WRK x86” or “WRK amd64”. To work with different target architecture, open another console window. ----------------------------------------------------------------------------- ***
ZEL-Услуги
»Пресс-центр
»Статьи
»Насколько сложный программный код у Windows?
Чтобы разобраться вопросе, насколько может быть сложным программный код «Виндовс» мы обратились к одному из разработчиков команды Windows NT в компании Microsoft — Кену Греггу (Ken Gregg).
Кен Грегг (Ken Gregg), разработчик в составе группы Windows NT
«Могу сказать вам, что у меня был доступ к исходному коду, когда я был в команде Windows NT (NT является основой для всех настольных версий Windows начиная с XP), во время проектов разработки NT 3.1 и NT 3.5. Всё было в рамках стандартов кодирования NT Workbook — эдакой «библии» для всей проектной команды…
…Хотя я и не читал каждую строку кода, но то, с чем мне пришлось работать, было очень:
- чётким,
- модульным,
- многоуровневым,
- обслуживаемым».
Нужно исходить из того, что именно понимается под сложностью кода. Это понимание сугубо субъективное, ведь так? Благо существует множество различных метрик, используемых и комбинируемых для измерения сложности программного обеспечения в тех или иных ситуациях (та же самая модульность, многоуровневость и обслуживаемость).
Насколько сложна Windows в программном коде?
Конечно, чтобы прочитать и понять код, вам нужно было бы иметь представление об общей архитектуре Windows NT.
Вероятно, лучшим источником информации о внутренностях Windows сегодня являются книги Windows Internals 6th Edition (в двух томах).
Некоторые люди просто приравнивают сложность кода к размеру. У этого сравнения тоже есть метрика — строки кода (LOC).
Измерение LOC зависит от используемых инструментов и критериев. Их выбирают для точного определения строк кода на каждом языке программирования.
Кен Грегг (Ken Gregg)
«Существует много споров о методах, используемых для подсчета строк кода (LOC). Если использовать одни и те же критерии от одного выпуска к следующему, то получится относительное изменение размера базы кода.
Сравнивать эти числа с цифрами другой ОС, которая использовала другой метод подсчета строк кода, всё равно что сравнивать яблоки с апельсинами. То есть это некорректный подход».
Как менялся программный код Windows?
Здесь приводятся некоторые лакомые кусочки, дающие представление о размерах современной кодовой базы Windows. Строки кода здесь являются приблизительными и неофициальными, но основаны на достаточно надёжных источниках, о которых говорит Кен Грегг.
Как база кода Windows NT развивалась с 1993 года
MLOC — это количество миллионов строк исходного кода. По ним можно определить относительную сложность операционной системы, если опираться на размеры кода (LOC-методика).
- Windows NT 3.1 (1993) — 5,6 MLOC
- Windows NT 3.5 (1994) — 8,4 MLOC
- Windows NT 3.51 (1995) — 10,2 MLOC
- Windows NT 4.0 (1996) — 16 MLOC
- Windows 2000 (2000) — 29 MLOC
- Windows XP (2001) — 35 MLOC
- Windows Vista (2007) — 45 MLOC
- Windows 7 (2009) — 42 MLOC
- Windows 8 (2012) — 50 MLOC
- Windows 10 (2015) — 55 MLOC
Исходный код Windows состоит в основном из C и C++, а также небольшого количества кода на ассемблере.
Некоторые из утилит пользовательского режима и другие подобные службы пишутся на Си Шарп, но это относительно небольшой процент от общей базы кода.
Кен Грегг (Ken Gregg)
«Я намеренно не включил в список 16-битные версии ОС, выпущенные с 1985 по 2000 годы. Windows NT была основой для всех современных 32-бит и 64-бит версий Windows. Количество строк кода в серверных версиях было таким же, как и в несерверных версиях, выпущенных в том же году (то есть они имели одинаковую базу исходного кода)».
Несколько слов про ядро Windows NT
По словам Кена, работа над ядром NT началась в 1988 году. Ядро было создано с нуля в качестве 32-разрядной упреждающей многозадачной ОС.
Ядро NT впервые загрузилось в июле 1989 года на процессоре Intel i860 RISC. С самого начала был сильный толчок к тому, чтобы новая ОС была совместимой с различными архитектурами центральных процессоров и не была привязана только к архитектуре Intel x86 (IA-32).
NT в конечном итоге работал на MIPS, DEC Alpha, PowerPC, Itanium и, конечно, Intel x86 и x64.
Некоторая сложность была добавлена в базу кода на уровне абстрагирования оборудования (HAL). Это было нужно для поддержки неинтеловских архитектур.
А как вы оцениваете перспективы Windows в плане кода? Узнайте, какие версии Windows актуальны сейчас и какие ОС можно рассмотреть в качестве альтернативы.
Компания ZEL-Услуги
Есть проблемы при использовании Windows и непонятен программный код для внедрения новых бизнес-инструментов в ОС от Microsoft? Проконсультируйтесь с экспертами по ИТ-аутсорсингу и получите поддержку по любым техническим вопросам и задачам.
Читайте также
- Цифровая трансформация бизнеса: как измерять результаты и анализировать эффект
- Как ИИ помогает в обработке платежей и транзакций: реальная польза бизнесу
- Как проверяют компьютеры на работе?
- Как использовать ИИ в бизнесе?
- Технологии — друг делового человека, не гика. 9 способов, как они помогут конкурировать
Может быть интересно
- Онлайн конструктор тарифов
- Цены и тарифы на ИТ-аутсорсинг
- Абонентское обслуживание компьютеров
- ИТ-директор
- Настройка и обслуживание серверов
Администраторы форума, на который якобы выложили архив с данными, опровергают заявление журналистов.
Обновлено: в Microsoft подтвердили утечку части исходного кода, предназначенного для производителей оборудования и партнёров компании.
Об этом сообщает The Verge.
По информации издания The Register, файлы операционной системы были выложены на закрытый форум BetaArchive и содержали в себе исходный код Windows 10, а также ряд билдов, не демонстрировавшихся публике.
Как отметил шеф-редактор портала Крис Уильямс, из-за утечки размером в 32 терабайта хакеры могут найти множество уязвимостей в операционной системе и использовать их в будущем.
Впрочем, администрация BetaArchive опровергла заявление журналистов, подчеркнув, что «вес» архива, выложенного на сайт, оказался значительно меньше 32 терабайт.
До того, как вышел материал The Register, на сайте действительно была папка Shared Source Kit, которую мы удалили и не планируем восстанавливать, пока не проверим, что она соответствует правилам нашего сообщества.
В папке было 1,2 гигабайта данных, поделённых на 12 файлов по 100 мегабайт — что намного меньше 32 терабайт из статьи. В них бы не поместился исходный код, не говоря уже о том, что это противоречило бы правилам сайта.
из заявления администрации BetaArchive
При этом в администрации уточнили, что на портале регулярно появляются данные, связанные с Windows, которые предоставляют участники различных программ Microsoft, но эти архивы связаны с устаревшими билдами и бета-релизами.
Также сотрудники BetaArchive опровергли информацию о том, что архив, появившийся на сайте был опубликован двумя британцами, арестованными за хакерскую атаку на Microsoft.
По словам администраторов сайта, слухи о том, что они удалили профили и данные двух пользователей сразу после новостей об аресте англичан, не соответствуют действительности.
BetaArchive
— закрытый форум, известный своими строгими правилами отбора участников. Так, зарегистрироваться на нём не смогли журналисты PC Gamer, желавшие уточнить детали утечки.
Говорят сроки релиза ReactOS сдвинуты с 2073 года на август текущего. ХЗ, совпадение может.
mbivanyuk ★★★★★
()
- Показать ответ
- Ссылка
В сеть утекли исходные коды операционной системы Windows 10
Сколько линуксоидов умерло от смеха, взглянув на них?
()
- Показать ответ
- Ссылка
Ответ на:
комментарий
от torvn77
Вот-вот, должна же быть хоть какая то польза от утечки
Deleted
()
- Ссылка
Ответ на:
комментарий
от mbivanyuk
Члены проекта ReactOS же не имееют права даже смотреть на любые утёкшие исходники винды же.
- Показать ответы
- Ссылка
Ответ на:
комментарий
от cantus
Сколько линуксоидов умерло от смеха, взглянув на них?
А сколько вообще поймут что-то в коде?
★★
()
- Ссылка
чота на это Г не возбуждаюсь. даже глумиться неохота. это для всяких вирусописателей клондайк. а остальным фиолетово, думаю.
Iron_Bug ★★★★★
()
- Показать ответы
- Ссылка
Ответ на:
комментарий
от Iron_Bug
Iron_Bug, Singularity
дык в том то и дело что только МОГЛИ БЫ начать массово писать и это был бы венднкапец, но в шапке я привел ссылки, что вроде бы сами исходные коды не утекли
Deleted
()
- Ссылка
Ответ на:
комментарий
от Singularity
Фигня какая, не пойман — не вор. Главное не говорить ни кому.
mandala ★★★★★
()
- Ссылка
Представляю сколько там патентных нарушений.
- Ссылка
Ответ на:
комментарий
от Iron_Bug
а я возбуждаюсь. люблю потом читать про эпидемии на несколько миллионов машин. но в этом случае, это похоже какая-то ошибка (fake news), к сожалению.:(((
★★★★★
()
- Показать ответ
- Ссылка
Ответ на:
комментарий
от crypt
Ответ на:
комментарий
от Iron_Bug
но это же не из-за утечек?
это их новая антишпионская официальная фича? только до конца не понял зачем и как оно работает?
Deleted
()
- Показать ответ
- Ссылка
Ответ на:
комментарий
от Singularity
А чем докажешь, что он смотрел эти исходники?
Кстати, интересный вопрос. Есть такая вещь, как clean room design, когда один человек реверсит, декомпилирует, изучает, и на основе этого пишет формальную документацию, а другой реализует строго по этой документации, но реверсить, декомпилировать он не имеет права. Как доказать вообще, что это разные люди, что второй видел только документацию?
- Показать ответ
- Ссылка
Ответ на:
комментарий
от TheAnonymous
Ответ на:
комментарий
от Iron_Bug
a kill switch, huh? авторизация по телефону понадобится и все такое.
★★★★★
()
- Ссылка
Ответ на:
комментарий
от Singularity
это не только про ректалос, а вообще про подобные случаи
- Ссылка
Ответ на:
комментарий
от Deleted
я думаю, что это очередная потенциальная дыра в безопасности и они ещё наступят на грабли со своими удалёнными блокировками.
Iron_Bug ★★★★★
()
- Показать ответ
- Ссылка
Ответ на:
комментарий
от batya
Ответ на:
комментарий
от Iron_Bug
Ясно, спасибо!)
Deleted
()
- Ссылка
Ответ на:
комментарий
от batya
нет, конечно не будет. Разработчикам РеактОС запрещенно смотреть в эти исходники даже из праздного интереса.
- Показать ответ
- Ссылка
Ответ на:
комментарий
от Jedi-to-be
Разработчикам РеактОС запрещенно смотреть в эти исходники даже из праздного интереса.
Кто им запрещать будет? Они живут в КНДР что-ли?
- Показать ответ
- Ссылка
Ответ на:
комментарий
от Moderators
Правила проекта запрещают. Причем без презумпции невиновности. Т.е. даже обоснованного подозрения достадочно, чтобы отобрали доступ к SVN.
- Показать ответ
- Ссылка
Ответ на:
комментарий
от Jedi-to-be
Правила проекта запрещают. Причем без презумпции невиновности. Т.е. даже обоснованного подозрения достадочно, чтобы отобрали доступ к SVN.
Это «правило» придумал диверсант из Microsoft?
- Показать ответ
- Ссылка
Ответ на:
комментарий
от Moderators
Ответ на:
комментарий
от Jedi-to-be
нет. Это правило от диверсантов из Микрософт.
Кто пустил Microsoft в проект?
- Ссылка
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.