Форум программистов, компьютерный форум CyberForum.ru

Windows I/o без Kernel32.dll и Advapi32.dll - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переделайте программу с паскаля на С++ http://www.cyberforum.ru/cpp/thread147461.html
только шарик катается по КРУГЛОМУ столу, спс program sharik; uses crt,graph; const a=480; b=640; var grDriver : integer; grMode : integer;
C++ С++(консоль)файлы,структуры 1) массив 3 на 3 нужно найти строчку в которой максимальный элемент и заменить её на 0 пример 123 макс элемент 6 получаем 123 ну вот чтот такое //////////456////////////////////////////////000 //////////123////////////////////////////////123 2) Определить количество слов в каждой строке, Вывести самое длинное слово каждой строки строка считывается с файла, а ответ выводится и на экран и... http://www.cyberforum.ru/cpp/thread147444.html
Функция вычисления процента от числа х C++
Помогите пожалуйста с задачкой;( Банк предлагает договор сроком на 12 месяцев, соответственно которому физическим лицам начисляется процентная ставка по истечению срока договора в зависимости от первоначальной суммы вклада: от 200 до 300 грн. - 24%, от 300 до 3000 грн. - 25%, свыше 3000 грн. - 25,5%. Определить сумму вклада после завершения договора, если известна первоначальная сумма вклада....
C++ Использование указателей в функциях
Составить программу, в которой сформировать прямоугольную таблицу С с n × m целых чисел в динамической памяти, в отдельной функции организовать подсчет суммы элементов, удовлетворяющих условию -4<c<=5
C++ Перегрузка << http://www.cyberforum.ru/cpp/thread147223.html
Заинтересовала конструкция , использованная как перегрузка оператора "<<" для вывода записей, состоящих из трех строковых полей: ostream &operator<<(ostream &stream, address &ob) { cout << ob.name<<endl; cout << ob.street<<endl; cout << ob.street<<endl; return stream; }
C++ Builder Разобраться с программой //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "blbl.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm9 *Form9; подробнее

Показать сообщение отдельно
Coin
0 / 0 / 0
Регистрация: 12.04.2008
Сообщений: 14
20.06.2010, 21:42  [ТС]     Windows I/o без Kernel32.dll и Advapi32.dll
Больше спасибо за ответы.

Цитата Сообщение от Day Посмотреть сообщение
Coin, не можешь ли подробнее пояснить суть проблемы? Ведь все работающее под Windows просто для своего запуска требует этих библиотек. Запуском-то заведует операционка!
А пояснять вобщем то нечего. Передо мной была поставлена задача, такакая как я ее описал, не больше не меньше.

Цитата Сообщение от Day
...все работающее под Windows просто для своего запуска требует этих библиотек. Запуском-то заведует операционка!
Так и есть. Разбил задачу на части. Сейчас пытаюсь стартовать и корректно завершить пустое приложение с кодом 0 без kernel32.dll. Идеи?

Цитата Сообщение от CheshireCat Посмотреть сообщение
Думается, что Coin нужно копать в сторону Native API - т.е. функций, начинающихся с аббревиатур Zw... или Ke.... - это "чистое" ядро Windows, и именно к ним обращаются функции kernel32.dll. Т.е., обращаясь к ним напрямую, мы просто "обойдем" уровень kernel32 - и таким образом, условие задачи будет выполнено.
Больше спасибо за наводку. Почитал тырнет, немного въехал в происходящее в системе, хотябы запросы гуглу начал задавать такие, чтоб ответы не ставили в тупик. Скачал список функций ntdll.dll - страшно. Много и непонятно. Логику работы функций kernel32.dll не посмотреть, разумеется, никак? Как я уже писал пробуем с малого - запуститься и корректно завершиться без kernel32. Написал на асме минималистическое приложение:
Assembler
1
2
3
4
5
6
7
8
.386
 .model flat,stdcall
ExitProcess PROTO :DWORD
 .code
start: 
 push 0
 call ExitProcess
end start
объекный файл собрать можно, а вот линковщик уже ругается на отсутствие злопалучной библиотеки:
minimal.obj : error LNK2001: unresolved external symbol _ExitProcess@4
minimal.exe : fatal error LNK1120: 1 unresolved externals

Ругается на ExitProcess. Значит нужно писать аналог. Вот тут то я и сажусь в лужу. Нет понимания происходящего. Тоесть того, как оно должно быть. Хорошо бы понять как работает вышеописаный код хотябы на уровне API. Дальше видимо спускаться ниже, к ntdll.dll - писать свой мост к ней взамен API слоя, я прав?
 
Текущее время: 05:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru