0 / 0 / 0
Регистрация: 19.01.2011
Сообщений: 28

ntdll.dll и kernel32.dll - Реальные примеры работы на vb6

17.09.2011, 11:33. Показов 4377. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Копался, копался по стороннему форуму и наткнулся на всевозможные вызовы апифункций из недокументированной дллки ntdll.dll. Учитывая то, что эта длл непосредственно связанна с ядром (или и есть ядро, точно я так и не выяснил, в инете четких определений этой библиотеки я не нашел, кстати был бы рад услышать), и используя функции оной, можно совершать определенные действия на так сказать "самом низком уровне", то есть действовать на уровне ядра (я так понимаю, антивирусы, фаерволлы, крутые мониторы процессов как раз с этой дллкой в основном и работают). В той же теме, где я узнал о существовании ntdll.dll и ее недокументированных ф-ций, была и парочка линков на сайты, на которых большинство этих функций и описано, а также кто-то выложил несколько модулей для вб6, в которых объявляется не малое количество функций, видимо, для последующих манипуляций с ними. Но проблема в том, что в вышеупонятых исходниках нет ни одного примера работы с Native API, а на сайтах, описывающих функции ntdll.dll , примеры использования представлены на Си, который для меня как китайский, и понять оттуда что-либо для меня не представляется возможным. В итоге, как объявлять большинство ф-ций мне известно, а вот как использовать - нет. В идеале хотелось бы увидеть готовый проект с неоднократным использованием Native API, либо же лицезреть несколько примеров использования, например таких функций:
NtCreateKey, NtOpenKey, NtCreateFile, NtReadFile, NtWaitForSingleObject
Коды объявления большинства вышеуказанных функций:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
'NtCreateKey
Private Declare Function NtCreateKey Lib "ntdll.dll" (KeyHandle As Long, ByVal DesiredAccess As Long, _
                ObjectAttributes As OBJECT_ATTRIBUTES, ByVal TitleIndex As Long, Class As Any, _
                ByVal CreateOptions As Long, Disposition As Long) As Long
'NtOpenKey
Private Declare Function NtOpenKey Lib "ntdll.dll" (KeyHandle As Long, ByVal DesiredAccess As Long, _
                ObjectAttributes As OBJECT_ATTRIBUTES) As Long
'NtCreateFile
Public Declare Function NtCreateFile Lib "ntdll.dll" (ByRef hFile As Long, _
                ByVal dwDesiredAccess As Long, _
                objAttr As OBJECT_ATTRIBUTES, _
                ByVal pPIO As Long, _
                ByVal pAllocSize As Long, _
                ByVal fileAttr As Long, _
                ByVal shareAttr As Long, _
                ByVal Disposition As Long, _
                ByVal Options As Long, _
                pEABuvver As Long, _
                ByVal EaLenght As Long) As Long
' Объявление NtReadFile и NtWaitForSingleObject у меня, к сожалению, не имеется.
Инет я на эту тему, разумеется, облазил, и именно по бейсику ничего не нашел.
Заранее благодарен за помощь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.09.2011, 11:33
Ответы с готовыми решениями:

За какую функцию отвечают user32.dll,kernel32,winmm.dll
Помогите мне пожалуйста,разобратся с этими DLLками. Если есть где можно скачать матерьял,буду премного благодарен.

При отработке скриптом schtasks получаю error C:\WINDOWS\system32\kernel32.dll
Здравствуйте Уважаемые! Столкнулся вот с какой проблемой: 1. Скрипт, задача которого собирать инфу об установленном оборудовании во всей...

проблема DLL & VB6
Я написал программу DLLна VB6 по всем правикам, а также программу на VB6, которая вызывает функции в DLL и во время прогонки программы...

1
 Аватар для Pro_grammer
6807 / 2838 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
17.09.2011, 12:31
Интересно, а чем файл, созданный NtCreateFile из ntdll.dll будет "круче" файла, созданному обычным CreateFile из kernel32.dll ? Ну я ещё бы понял, если бы вы нашли уникальную функцию, которой нет аналогов на Api32, но эти, можете объяснить зачем?
Другой важный аспект. Native приложения — это программы, способные запускаться на раннем этапе загрузки Windows, до окна входа в систему и даже до запуска каких-либо подсистем Windows. Native приложения используют только Native API, они могут использовать только функции, экспортируемые из библиотеки ntdll.dll. Для них недоступны функции WinAPI.
Почему нет таких приложений на VB6? Да потому, что VB6 не может работать без либы MSVBVM60.DLL. Именно по этому "примеры использования представлены на Си" - на VB они просто не имеют смысла - в обычном режиме нет преимуществ, а как Native они работать не смогут.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.09.2011, 12:31
Помогаю со студенческими работами здесь

Как сделать DLL-ку под VB6.0?
На дисках MSDN и в толмуде по VB6.0 не смог найти ответа на следующий свой вопрос: Каковы правила написания проекта под VB6.0, который...

В VB6.0 - MSSTDFMT.DLL это для чего?
MSSTDFMT.DLL делаю проект вроде ни каких компонентов не добавлял все на стандартных контролах там на форме всего-то пара таймеров и лабел...

Visual Basic + VC++ DLL = ошибка Bad DLL calling convertation
Попытался я написать DLL-ку на VC++, для последующего использования ее в VB. Но поскольку я в VC++ чайник - он мне выдает ошибку Bad DLL...

Ошибка Can't find DLL entry point CryptEnumProvidersA in advapi32.dll
Проблема вот в чем. Объявляем CryptEnumProviderTypesA Private Declare Function CryptEnumProviders Lib 'advapi32.dll' Alias...

ActiveX Document DLL.Результат видет только на компах, где прописана dll
Пробовал создать, получил *.vbd и *.dll На Web сервере запускаю vbd - все ОК. Результат видет только на компах, где прописана dll...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Angular vs Svelte - что лучше?
Reangularity 09.07.2025
Сегодня рынок разделился на несколько четких категорий: тяжеловесы корпоративного уровня (Angular), гибкие универсалы (React), прогрессивные решения (Vue) и новая волна компилируемых фреймворков. . .
Code First и Database First в Entity Framework
UnmanagedCoder 09.07.2025
Entity Framework дает нам свободу выбора, предлагая как Code First, так и Database First подходы. Но эта свобода порождает вечный вопрос — какой подход выбрать? Entity Framework — это. . .
Как использовать Bluetooth-модуль HC-05 с Arduino
Wired 08.07.2025
Bluetooth - это технология, созданная чтобы заменить кабельные соединения. Обычно ее используют для связи небольших устройств: мобильных телефонов, ноутбуков, наушников и т. д. Работает она на частоте. . .
Руководство по структурам данных Python
AI_Generated 08.07.2025
Я отчетливо помню свои первые серьезные проекты на Python - я писал код, он работал, заказчики были относительно довольны. Но однажды мой наставник, взглянув на мою реализацию поиска по огромному. . .
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах
Programma_Boinc 08.07.2025
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах Опубликовано: 07. 07. 2025 Рубрика: Uncategorized Автор: AlexA Статья размещается на сайте с разрешения. . .
Раскрываем внутренние механики Android с помощью контекста и манифеста
mobDevWorks 07.07.2025
Каждый Android-разработчик сталкивается с Context и манифестом буквально в первый день работы. Но много ли мы задумываемся о том, что скрывается за этими обыденными элементами? Я, честно говоря,. . .
API на базе FastAPI с Python за пару минут
AI_Generated 07.07.2025
FastAPI - это относительно молодой фреймворк для создания веб-API, который за короткое время заработал бешеную популярность в Python-сообществе. И не зря. Я помню, как впервые запустил приложение на. . .
Основы WebGL. Раскрашивание вершин с помощью VBO
8Observer8 05.07.2025
На русском https:/ / vkvideo. ru/ video-231374465_456239020 На английском https:/ / www. youtube. com/ watch?v=oskqtCrWns0 Исходники примера:
Мониторинг микросервисов с OpenTelemetry в Kubernetes
Mr. Docker 04.07.2025
Проблема наблюдаемости (observability) в Kubernetes - это не просто вопрос сбора логов или метрик. Это целый комплекс вызовов, которые возникают из-за самой природы контейнеризации и оркестрации. К. . .
Проблемы с Kotlin и Wasm при создании игры
GameUnited 03.07.2025
В современном мире разработки игр выбор технологии - это зачастую балансирование между удобством разработки, переносимостью и производительностью. Когда я решил создать свою первую веб-игру, мой. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru