Pull to refresh

Microsoft закрыла доступ к исходному коду утилит Sysinternals

Open source *
image
В 2006 году Microsoft купила компанию Sysinternals. Разработчики Марк Руссинович и Брюс Когсвелл написали большое количество полезных системных утилит для управления, диагностики, устранения неполадок и мониторинга среды Microsoft Windows.

Сайт Sysinternals стал частью Microsoft Technet, утилиты по-прежнему доступны для загрузки здесь и здесь. Но до покупки компании, на сайте можно было скачать исходные коды программ, а теперь исходные коды недоступны.

Майкрософт утверждает, что исходный код был убран по причине того, что его доступность может вызвать проблемы с поддержкой других компонентов Windows.

Исходники программ Sysinternals демонстрировали такие возможности, как сокрытие информации в реестре, перехват и подключение API-функций для мониторинга файловой системы и другие интересные вещи. Зачастую в программах использовались недокументированные функции Native API, для выполнения действий, невозможных при использовании стандартного WinAPI.

К счастью, кто-то выложил на торренты зеркало сайта Sysinternals от 18 июля 2006 года (дата покупки компании), которое содержит не только страницы сайта, но и все утилиты и исходный код.

Ещё ссылки:
Total votes 98: ↑69 and ↓29 +40
Views 4.7K
Comments 58

Антихукинг — теория

C++ *Assembler *
Совсем недавно озадачился защитой приложений от перехвата системных api, решил поделиться и обсудить то, к чему пришел. Многие из вас знают, что перехват системных api сводится к перенаправлению оригинальной функции в нужное место, благодаря этому можно модифицировать параметры функции, возвращать результат отличный от оригинала, хранить оригинальный вызов с параметрами и многое другое. Так как это теоретическая часть, примеры в статье будут сопровождаться псевдокодом.
Читать дальше →
Total votes 36: ↑30 and ↓6 +24
Views 16K
Comments 19

Windows: Sleep(0.5)

C++ *API *Development for Windows *
Sandbox
Как, наверняка, многие знают, в WinAPI'шную функцию Sleep передаётся число миллисекунд, на сколько мы хотим уснуть. Поэтому минимум, что мы можем запросить — это уснуть на 1 миллисекунду. Но что если мы хотим спать ещё меньше? Для интересующихся, как это сделать в картинках, добро пожаловать, под кат.
Читать дальше →
Total votes 55: ↑48 and ↓7 +41
Views 29K
Comments 65

Заставляем любой процесс работать с транзакционной NTFS: мой первый шаг к созданию песочницы для Windows

Programming *Delphi *System Programming *Development for Windows *

TransactionMaster В ядре Windows есть модуль, отвечающий за поддержку группировки файловых операций в некоторую сущность, называемую транзакцией. Действия над этой сущностью изолированы и атомарны: её можно применить, сделав перманентной, или откатить. Очень удобно при установке программ, согласитесь? Мы всегда переходим от одного согласованного состояния к другому, и если что-то идёт не так, все изменения откатываются.


С тех пор, как я узнал о поддержке такой функциональности, я всегда хотел посмотреть на мир изнутри этих транзакций. И знаете что: я нашёл простой и поистине замечательный метод заставить любой процесс работать внутри файловой транзакции, но поля книги слишком узки для него. В большинстве случаев, для этого не требуются даже административные привилегии.


Давайте разберёмся, как же это работает, поэкспериментируем с моей программой, и поймём, при чём тут вообще песочницы.

Читать дальше →
Total votes 33: ↑33 and ↓0 +33
Views 6.7K
Comments 12

How to Make Any Process Work With Transactional NTFS: My First Step to Writing a Sandbox for Windows

Programming *Delphi *System Programming *Development for Windows *

TransactionMaster One of the modules in the Windows kernel provides support for combining a set of file operations into an entity known as a transaction. Just like in databases, these entities are isolated and atomic. You can make some changes to the file system that won't be visible outside until you commit them. Or, as an alternative, you can always rollback everything. In any case, you act upon the group of operations as a whole. Precisely what needed to preserve consistency while installing software or updating our systems, right? If something goes wrong — the installer or even the whole system crashes — the transaction rolls back automatically.


From the very first time I saw an article about this incredible mechanism, I always wondered how the world would look like from the inside. And you know what? I just discovered a truly marvelous approach to force any process to operate within a predefined transaction, which this margin is too narrow to contain. Furthermore, most of the time, it does not even require administrative privileges.


Let's then talk about Windows internals, try out a new tool, and answer one question: what does it have to do with sandboxes?

Read more →
Total votes 3: ↑3 and ↓0 +3
Views 2.3K
Comments 0

Пишем внешнюю компоненту для 1С, NativeAPI на С++, для ОС Linux, с использованием Qt Creator

C++ *1C *
Sandbox

Аннотация

В статье рассмотрен процесс создания внешней компоненты для 1С в среде Qt Creator для операционной системы Linux (ubuntu, debian, mint и им подобных). На примере компоненты для сбора данных от внешней аппаратуры и сохранение их в базе, посредством 1С. В качестве внешней аппаратуры в данном примере будем использовать Arduino UNO.

Для создания внешней компоненты понадобятся

Читать далее
Total votes 6: ↑4 and ↓2 +2
Views 3.2K
Comments 2