- About
- Open Source Windows
- See also: Best Privacy Tools — Open Source Mac
- Web Browsing
- Mozilla Firefox
- Video Player, BitTorrent, Podcasting
- IM — Instant Messaging
- Pidgin
- Video Converter- MP4, iPhone, Android
- Miro Video Converter
- Download helpers
- SkipScreen
- Превращаем Windows в Open Source систему №1
- Изучаем дерево исходников Windows 10: от телеметрии до open source
- Фильтрация данных из символьных файлов
- Зацепка-фильтр № 1: ищем строки по маске «:\».
- Зацепка-фильтр № 2: предполагаем, что исходные файлы хранятся по аналогии с объектными файлами после сборки, и осуществляем «разборку» объектных файлов в исходные. Внимание! Этот шаг может внести искажение структуры для некоторых папок, потому как достоверно не известны параметры сборки исходников.
- Зацепка-фильтр № 3: удаляем бинарные файлы, поскольку нам интересны только исходные. Удаляем «pdb», «lib», «exp» и т. п. Файлы «res» откатываем до «rc» — исходного кода ресурсного файла.
- Фильтрация данных из исполняемых файлов
- Зацепка-фильтр № 4: проверим, есть ли совпадения между путями до объектных файлов и путями до исходных.
- Зацепка-фильтр № 5: будем считать, что в пределах одной папки хранятся исходные файлы одинакового типа.
- Изучаем полученные данные
- Телеметрия
- Kernel Patch Protection
- Сомнительные файлы
- Open source?
About
Open Source Windows is a simple list of the best free and open source software for Windows. We aren’t trying to be a comprehensive listing of every open-source Windows application, instead we want to showcase the best, most important, and easiest to use. This page should be a handy reference and a useful tool for getting more people to start using free and open-source software. If you think we’re missing any great apps, please let us know: info@bestfreesoftwarelist.com
Open Source Windows
See also: Best Privacy Tools — Open Source Mac
Free & open-source software is good for you & for the world. This is the best Windows software that we know of. No adware, no spyware, just good software.
Web Browsing
Mozilla Firefox
The premier free, open-source browser. Tabs, pop-up blocking, themes, and extensions. Considered by many to be the world’s best browser.
Video Player, BitTorrent, Podcasting
Beautiful interface. Plays any video type (much more than windows media player). Subscribe to video RSS, download, and watch all in one. Torrent support. Search and download from YouTube and others.
IM — Instant Messaging
Pidgin
Connect to multiple IM accounts simultaneously in a single app, including: AOL IM, MSN, and Jabber.
Video Converter- MP4, iPhone, Android
Miro Video Converter
Convert any type of video to mp4 or theora. Convert any video for use with iPhone, iPod, Android, etc. Very clean, easy to use interface.
Download helpers
SkipScreen
A Firefox extension that skips unnecessary clicks and wait times on Rapidshare, Megaupload, Mediafire, zShare, and more.
Превращаем Windows в Open Source систему №1
Приветствую тебя, о любопытствующий читатель!
Натёр глаза проклятый мастдай? Угрёбищная винда вызывает раздражение вплоть до приступов тошноты? Переходи на GNU/Linux, *BSD. А если для видеокарты драйвера нет даже проприентарного? Или любимая игрушка под мастдаем? Или (не дай бог, конечно) ты этого самого мастдая админ? В этом цикле статей
я расскажу шаг за шагом, как превратить свою винду в более-менее удобную Free & Open Source Software (FOSS) систему без всяких эмуляторов. От основных приложений до графической и текстовой оболочек, утилит, структуры каталогов и даже файловой системы.
Начнём, пожалуй, с самого простого — приложений общего назначения. А именно: браузера, email-клиента, FTP-клиента, текстового редактора, офисного пакета, медиаплэйера, графического редактора, ну и графической оболочки (не люблю explorer). Весь софт заменим на свободный. Не хочешь расставаться со своей Оперой или M$ Word? Не надо, но хотя бы попробуй FOSS-замену. Не пожалеешь затраченного времени.
0.Браузер
Браузер - это вещь, в хозяйстве очень важная и нужная, поэтому к её выбору стоит подходить аккуратно, зная обо всех главных альтернативах. Internet Explorer отметём сразу, ибо о безопасности его слагаются легенды, кроме того, я, например, не доверяю Micro$oft и их продуктам. Функциональностью и удобством он тоже не поражает. Достаточно упомянуть отсутствие таких простых и очевидных вещей, как вкладки, темы, блокировка ненужных картинок и всплывающих окон и поддержка прозрачных изображений. Так что лучше этот мусор удалить сразу, дабы не загромождать файловую систему и сознание. MyIE, Avant Browser, Deepnet Explorer, MYweb4net Browser хотя и устраняют некоторые лицевые дефекты IE, однако все они базируются на его дырявом ядре, поэтому они тоже калеки и уроды, но только в гриме. Netscape Navigator может использовать как ядро IE (забудь), так и ядро проекта Mozilla (Gecko), однако сам по себе он невероятно глючный, хотя когда-то (говорят) был популярным. Но злой дядюшка Гейтс побоялся конкуренции и покалечил его. В общем, не сложилась у NN жизнь. Всё, хватит об инвалидах.
Кандидат №1. Opera. Кроме вышеперечисленных фич, которых не хватает IE, в ней есть довольно удобный встроенный почтовый клиент, bittorrent и FTP-клиенты с возможностью продолжения прерванной загрузки, управление с помощью движений мыши и голоса, эмуляция текстового и мобильного браузеров и даже собственная среда программирования (!) со множеством написанных в ней приложений (Opera widgets). Этакий интегрированный web-монстр. Можно остановить свой выбор на Opera, тем более, что она теперь стала бесплатной (но не Open Source). По поводу безопасности у меня лично жалоб нет, правда, достоверных данных тоже :).
Кандидат №2. Mozilla. Первый (насколько мне известно) проект Mozilla Foundation. Так и не стал первым популярным FOSS браузером. На его движке работают как минимум Mozilla Firefox, Mozilla Thunderbird, SeaMonkey и Netscape Navigator. Использовал его долгое время и не испытывал серьёзных проблем. Хороший, надёжный браузер. Но не популярный. Так что пользоваться можно, но особого разнообразия тем и расширений ожидать не стоит. Кроме, собственно, браузера, пакет включает email-клиент, news-клиент, IRC-клиент и HTML-редактор.
Кандидат №3. SeaMonkey. То же, что и Mozilla, но более функциональный и напичканный инструментами для web-разработки.
Кандидат №4. Mozilla Firefox. Пользуюсь им сейчас и, похоже, надолго. Безопасный (IE отдыхает), простой и удобный в использовании. Очень хорошо продуманый интерфейс - в каждый конкретный момент времени ты видишь лишь небольшое количество удобно сгруппированых элементов управления, но общая функциональность и настраиваемость очень велика. Большая коммьюнити пользователей, много дополнительных фич и тем. Мои любимые темы — Littlefox и Microfirefox делают браузер особенно простым и компактным, оставляя место на экране и внимание для, собственно, web-содержимого и сохраняя при этом удобство управления. Если тебе не нужна интегрированная среда для работы с web, а только хороший браузер, рекомедую Mozilla Firefox. Кстати, когда главу безопасности Micro$oft Stephen’а Toulouse заели некие крэкеры (или хакеры), он перешёл на Mozilla Firefox :).
Все кандидаты поддерживают вкладки и темы (а Opera ещё и разные цвета для одной темы), так что при просмотре скриншотов не обращаем внимание на цвет браузера, а пристально вглядываемся в собственно интерфейс. Кроме того, все они поддерживают удобное управление закладками.
1.Email клиент
Не спорю, The Bat! — мощный клиент, но предлагаю не менее мощную FOSS альтернативу, которая составит отличное дополнение к Mozilla Firefox (в случае такого выбора), а именно: Mozilla Thunderbird. Оба продукта похожи друг на друга как две капли воды, только один из них web-браузер, а другой - email-клиент. Та же функциональность, тот же движок Gecko, тот же интерфейс, даже темы те же (например, Littlebird:). Мой любимый клиент на долгие годы. Найди и скачай шифровальное расширение Enigmail и поставь себе GnuPG4Win в качестве шифровальшика, соедини их - и защищённая почта готова! Ну, конечно, всё это нужно настроить:), но результат стоит затраченного времени.
2.FTP-клиент
Если ты выбрал Opera в качестве браузера, то отдельный FTP клиент тебе, может, и не понадобится. Но если уж нужен, то я знаю как минимум два стоящих варианта:
Вариант №1. Star Downloader. Не FOSS, но простой и мощный. Правда, есть неприятный глюк — когда пытаешься загрузить файл одним соединением. Может, уже исправлен.
Вариант №2. Filezilla. FOSS, можешь поковырять исходники. Не проект Mozilla Foundation, как можно подумать из названия. Очень мощный FTP-браузер, другой не нужен. Показывает содержимое FTP-каталогов, консоль соединения и т.д. Можно по нему протокол изучать без всяких
RFC 🙂 В глазах, правда, немного рябит от кнопок в настройках, но это ничего.
Оба клиента, конечно, поддерживают докачку и несколько соединений/закачек одновременно.
3.Текстовый редактор
Буду краток — мой любимый текстовый редактор для винды - Crimson Editor, хоть он и не Open Source. Если хочешь более мощный, попробуй emacs. Да не кричи ты, что он неудобный, почитай сперва мануал
😉
4.Медиаплэйер
Немедленно выбрось свой Winblowz Media Payer на помойку! Скачай и распакуй Mplayer - тотальный плэйер для любых источников данных. А для просмотра фильмов лучше скачай и запиши на мини-диск отдельный GNU/Linux LiveCD дистрибутив Geexbox. Всего 6 MB! Не надо больше мучатся с поиском экзотических кодеков и устанавливать всякий хлам, засирая registry - всё включено! Просто вставляешь диск в дисковод, ждёшь, пока запустится (несколько секунд) и вставляешь свой диск. Или открываешь файл с HDD или TV-out. Использует Mplayer. Для выхода в меню - Ecs, помощь по управлению - h.
5.Офисный пакет
Скажу тебе по секрету: у тебя есть возможность забыть о неудобном и глюкавом M$ Word. Я недолго искал замену, остановился на OpenOffice.org. Великолепный, совершенно полноценный офисный пакет, гораздо удобнее мастдайного. Использует свои форматы Open Document, которые, кажется, собираются принять в качестве международных стандартов для документов (или уже приняли, не интересовался). Тем не менее, мастдайные форматы он поддерживает отлично, так что можешь быть уверен - начальник с M$ Word увидит твой .doc документ таким, каким ты его создал в OpenOffice.org Writer. Возможности же Open Document форматов превосходят возможности мастдайных. Пакет по размеру небольшой (читай: хорошо написанный и скомпилированный) установщик — всего 90MB. Все шесть программ. Сравни с раздутым M$ Office, занимающим целый CD. Кроме того, этот установщик не засрёт твою систему в неизвестных местах неизвестного назначения файлами без спроса, как это делают многие проприентарные продукты. В общем, настоятельно рекомендую.
Ещё я пробовал AbiWord, но у него поддержка мастдайного формата хромает, а в остальном нормальный редактор.
6.Графический редактор
Если ты всё ещё пользуешься CorelDraw, Photoshop или FotoCanvas для графических работ, то это только потому, что ты не пробовал (или не распробовал:) The GNU Image Manipulation Program (The GIMP). Универсальный редактор. Фантастически удобный, тотально совместимый и бесконечно расширяемый. Ну и, конечно, настраиваемый, от тем и расположения окон до управления памятью. И многопользовательский. И. В общем долго перечислять все его достоинства, это просто отдельная операционная среда для манипулирования любыми изображениями любыми вообразимыми способами. Название очень точно отражает идеологию этой программы. Всё, что ты видел в вышеперечисленных проприентарных продуктах, в The GIMP можно найти в стандартном комплекте установки, или найти и скачать plug-in. Или написать plug-in;), но вряд ли это тебе когда-нибудь понадобится, если ты не гуру графики. The GIMP имеет объектно-ориентированную структуру: ты создаёшь объект (кисть, градиент, слой, выделение, текстуру, path, . ) с определёнными параметрами, связываешь его с другими объектами и получаешь конкретную подпрограмму для рисования/редактирования. Затем применяешь её с помощью мыши и/или другого ввода. Интерфейс очень удобный и продуманный. Хотя готовых функций невероятно много (за неделю всё не испробуешь;), но в них не заблудишься. Настраивается интерфейс очень тонко, но при этом интуитивно. Короче, тотальная и удобная среда разработки изображений. Перед установкой, собственно, The GIMP требуется установить The GIMP Toolkit (GTK+ for Win32).
7.Приложение для 3D
В случае, если ты, о мой читатель, увлекаешься 3d графикой, настоятельно рекомендую скачать себе Blender (10MB), убрать сглаживание (antialiasing/oversampling) в настройках твоей видеокарты и наслаждаться этой великолепной средой 3D разработки. И выбросить свой 3ds max/maya/lightwave к чертям собачьим. Именно так я и поступил с 3ds max, хотя до этого пользовался им около 3-х лет. Blender — это FOSS-замена большинству популярных 3D пакетов. Даже если ты не собираешься менять среду разаботки, рекомендую попробовать интерфейс Blender, предварительно почитав маленькую (всего 1 лист) обучалку по нему. После этого, как говорит обучалка, ты захочешь, чтобы все твои приложения имели такой же интерфейс!
Всё, пожалуй, хватит. В следующий раз будем ставить собственную графическую оболочку взамен explorer’а и перекраивать безобразную структуру каталогов винды.
Изучаем дерево исходников Windows 10: от телеметрии до open source
Насколько бы закрытым ни было программное обеспечение 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: будем считать, что в пределах одной папки хранятся исходные файлы одинакового типа.
Ну а как же исходники на ассемблере? За последним штрихом можно обратиться к Windows Research Kernel — исходным кодам Windows XP — и часть исходников на ассемблере переименовать вручную.
Изучаем полученные данные
Телеметрия
Какое-то время я изучал вопрос об устройстве телеметрии в Windows 10. К сожалению, анализ на скорую руку не выявил ничего стоящего. Я не нашел никаких кейлоггеров, никакой утечки чувствительных данных, ничего, к чему можно было бы прикопаться. И первым ключевым словом для поиска среди исходных файлов было «telemetry». Результат превзошел мои ожидания: 424 совпадения. Самые интересные приведу ниже.
Комментировать, пожалуй, не стоит, поскольку все равно достоверно ничего не известно. Однако эти данные могут послужить хорошей отправной точкой для более детального исследования.
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??
Думаю, на этой находке пора закругляться.
Архив с текстовым файлом со списком исходников приведен по ссылке. Делитесь своими находками в комментариях!