Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Asm для Windows/Dos > Call на селектор данных |
Автор: leshiyNEXT 11.5.2005, 12:34 |
Как в защищенном режиме под Windows получить дескриптор кода с нулевой базой и лимитом в 4 гига. Это нужно чтобы сделать дальний код на селлектор данных! |
Автор: Chingachguk 11.5.2005, 12:39 |
Ну вот в 98-ой, если мне не изменяет память, это значение 28h. Можно посмотреть вручную GDT (sgdt->...) и найти в ней то, что тебе надо. А что за "дальний call" и нафига он ? |
Автор: leshiyNEXT 11.5.2005, 12:46 |
Непонял, что найти таблицу GDT? Найти одно, а создать в ней дескриптор другое. А надо мне это вот для чего: хочу чтобы прога в некий массив загоняла опкоды команд а потом передавала управление по адресу первого элемента этого массива. В DOS это проще некуда, так как там данный и код не конфликтуют а в защищенном... |
Автор: Chingachguk 11.5.2005, 17:48 |
Зачем создавать ?! Посмотреть в ней тот, что тебе нужен. И вообще, ты где все это делать хочешь ? Из win32 кода надо использовать SEH, imho. |
Автор: Sl@va 11.5.2005, 17:56 |
Команды дря работы с GDT, LDT, IDT все привелегированные, и обычная программа пользователя работающая под управлением операционной системы их выполнить не может. Это вызовет исключение. (Появится окошко'Программа выполнила недопустимую операцию и будет закрыта'). Можно например создать Vxd драйвер который работает на нулевом кольце защиты и выполнить в нем все что тебе нужно. Там уже никакх барьеров не будет. Вот только некорректная работа твоего Vxd драйвера может вызвать сбой в операционной системе. |
Автор: leshiyNEXT 11.5.2005, 23:33 |
ГМ... А Vxd драйвер я никогда и не создавал и опыта нету! Поэтому такой сразу вопрос его какой компилятор создать может и как примерно это делается? Хотя бы кратенько - а там я разберусь... |
Автор: Chingachguk 12.5.2005, 09:36 |
VxD драйвера используются в win98. В xp используют SYS. Про то и другое читай wasm.ru. |
Автор: Sl@va 12.5.2005, 17:13 |
Есть один хороший сайт, там полно исходников. Я точно не смотрел, но возможно ты там найдеш то что тебе нужно. Вот его адрес : http://win32asm.cjb.net Добавлено @ 17:17 По поводу создания Vxd, то они также создаются в Tasm или Masm. Если найду мануалы или какую нето инфу, то дам ссылку Добавлено @ 17:23 А вот как раз и ссылка : http://spiff.tripnet.se/~iczelion/tutorials.html Там есть раздел VxD Tutorials, возможно там чего нето найдеш |