Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 641 • Страница 7 из 33<  1 ... 4  5  6  7  8  9  10 ... 33  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

*Cofradia Intel*
Статус: Не в сети
Регистрация: 02.09.2003
Откуда: Россия, г.Тверь
Moderator
Moderator писал(а):
дырка, недоработка, недокументированный метод и т.д. – один фиг, доступ то есть.
Доступ есть, но лучше им не пользоваться. Завтра он может исчезнуть и твоя программа перестанет работать.

_________________
Жизнь - штука вредная. От неё умирают.
Почётный участник *Cofradia Intel*



Партнер
 

IgLowy, гы-гы :-) А чеж в последнем SP2 для WXP и SP1 для W2003 не залатали? Забыли?


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
Moderator если ты про метод поиска свободного GDT дескриптора, то эту дыру так просто не залатешь, он так или иначе скорее всего антивирусники будут класифицировать такие действия как вредоносные.

_________________
Ку ку


 

*Cofradia Intel*
Статус: Не в сети
Регистрация: 02.09.2003
Откуда: Россия, г.Тверь
Moderator
Moderator писал(а):
А чеж в последнем SP2 для WXP и SP1 для W2003 не залатали? Забыли?
Не обязательно. Всегда есть некий набор недокументированных возможностей. Но на то они и недокументированные, что фирма-разработчик не несёт ответственности за их работоспособность у тебя.
Причины, по которым они оставлены, могут быть разными, но на саму суть вопроса это не влияет. Использование подобных дыр всегда на совести программиста. Используй, но на свой страх и риск, и не призывай других поступать так же. А то некоторые понаиспользовали во времена ДОС, а потом программы отказывались работать при смене операционки или железа.

_________________
Жизнь - штука вредная. От неё умирают.
Почётный участник *Cofradia Intel*


 

IgLowy писал(а):
Используй, но на свой страх и риск, и не призывай других поступать так же.

Потому что это гораздо проще, нежели постигать философию написания драйвера уровня ядра на Си и не дай бог на ассемблере.


 

Member
Статус: Не в сети
Регистрация: 26.10.2004
Откуда: СПб
IgLowy писал(а):
Доступ есть, но лучше им не пользоваться. Завтра он может исчезнуть и твоя программа перестанет работать.

Это способ использования IOPL мар, поддерживается всеми x86 процессорами, версия винды тут не причём(главное что не 9x) и дырой это нельзя назвать. Только для открытия такого доступа всё равно нужно попасть в ring0, т.е. простейший драйвер нужен. Но для чего-нибудь серьёзного это не подойдёт из-за переключения процессов, т.е. нельзя быть уверенным что твой код будет выполняться непрерывно, а это требуется для многих задач где идёт ввод-вывод через порты.

Moderator писал(а):
Потому что это гораздо проще, нежели постигать философию написания драйвера уровня ядра на Си и не дай бог на ассемблере.

Во-первый дрова на Си и на асме пишутся одинаково совершенно, сейчас даже заголовочные файлы из DDK для него есть. И если совсем без драйвера для доступа к портам не обойтись почему бы тогда нормальный не написать ?


 

Member
Статус: Не в сети
Регистрация: 13.08.2005
ALL
Люди, кто нить может прислать или кинуть ссылочку на справочник по функциям API которые позволяют определить общий объем оперативки, кол-во процессоров и подобные вещи? Или где описаны типовые приемы определения системной конфигурации под Win32.

_________________
I L.A.W. you, baby!
For a GNU dawn! For freedom! :-)


 

Member
Статус: Не в сети
Регистрация: 26.10.2004
Откуда: СПб
MSDN -> System information functions

Например void GetSystemInfo(
LPSYSTEM_INFO lpSystemInfo
); - это для определения числа процессоров и ещё чего-нибудь о них

Этими функциями можно почти всё о системе узнать.


 

Member
Статус: Не в сети
Регистрация: 13.08.2005
dragon А подробнее нельзя? Ссылку на материал не кинешь?

_________________
I L.A.W. you, baby!
For a GNU dawn! For freedom! :-)


 

Member
Статус: Не в сети
Регистрация: 04.01.2004
Откуда: 31
Помогите нупу с асмом.
Нужно оттяпать кусок памяти, и сгенерить в него текстуру, чтобы потом прицепить glTexImage2D.
Использую flat asm.
Пробовал делать следующее -
можно зарезервировать заранее:
Код:
texture rb 256*256*3

Но тогда exe получается ~200k (хоть и жмется upx-ом, но всё равно не устраивает).
Как можно динамически выделить? Желательно пример


 

Member
Статус: Не в сети
Регистрация: 26.10.2004
Откуда: СПб
WinAPI функции юзать надо:
Invoke LocalAlloc, LPTR, 256*256*3 ;адрес блока в eax будет

А если памяти больше 500k лучше тогда из виртуальной памяти забирать:
invoke VirtualAlloc, NULL, 1024*1024*3, MEM_COMMIT, PAGE_READWRITE

Освобождать соответственно LocalFree и VirtualFree.


А если написать texture rb 256*256*3 в самом конце файла, то размер не увеличится, память выделется при загрузке, но это не рекомендуется

L.A.W.
http://msdn.microsoft.com/library/
Конкретно про функцию тут: http://msdn.microsoft.com/library/defau ... eminfo.asp
А такую вещь как MSDN надо у себя на винте иметь, её почти в каждом ларьке продают :)


 

Member
Статус: Не в сети
Регистрация: 13.08.2005
dragon А структура SYSTEM_INFO как объявляется? Или она где-то там есть уже?

_________________
I L.A.W. you, baby!
For a GNU dawn! For freedom! :-)


 

Member
Статус: Не в сети
Регистрация: 26.10.2004
Откуда: СПб
L.A.W.
На чём пишешь ?
Структура должна быть объявлена в include-файлах по-любому.


 

Member
Статус: Не в сети
Регистрация: 13.08.2005
dragon Сорри забыл указать... На ассемблере пишу. На нем на родимом! ;-) Так не подскажешь как она объявляется?

_________________
I L.A.W. you, baby!
For a GNU dawn! For freedom! :-)


 

Member
Статус: Не в сети
Регистрация: 26.10.2004
Откуда: СПб
L.A.W.
Ассемблеров то много MASM, FASM, TASM(этот правда умер почти уже..). Скорее всего у тебя masm и структура объявлена в файле masm32\include\windows.inc
Так что можно вот так её объявить:

...

.data?
si SYSTEM_INFO <>

...


 

Member
Статус: Не в сети
Регистрация: 13.08.2005
dragon А если у меня именно TASM? :-) И я не хочу его менять? Привык я к нему. За столько-то лет...

_________________
I L.A.W. you, baby!
For a GNU dawn! For freedom! :-)


 

Member
Статус: Не в сети
Регистрация: 26.10.2004
Откуда: СПб
Придёться на MASM переходить, он поддерживается и официально и неофициально, для него есть библиотеки, include-файлы, даже мини-DDK есть..
А если я не ошибаюсь в тасме структуры также объявляются.


 

Member
Статус: Не в сети
Регистрация: 13.08.2005
dragon Увы в TASM'е я такого не нашел... А не скажешь, где это инклюд найти мона? Просто щас не могу найти MASM. Вот так всегда - дашь свой диск и потом мечешься... :-(

_________________
I L.A.W. you, baby!
For a GNU dawn! For freedom! :-)


 

Member
Статус: Не в сети
Регистрация: 13.08.2005
dragon И еще - где взять 32-разрядный линковщик к MASM 6.12? И вообще - какой-нить тематический сайт по MASM'у есть?

_________________
I L.A.W. you, baby!
For a GNU dawn! For freedom! :-)


 

Member
Статус: Не в сети
Регистрация: 26.10.2004
Откуда: СПб
wasm.ru - там почти всё есть что для асма надо


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 641 • Страница 7 из 33<  1 ... 4  5  6  7  8  9  10 ... 33  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan