Текущий архив: 2003.06.26;
Скачать: CL | DM;
ВнизDISABLEKERNEL Найти похожие ветки
← →
Nox (2003-06-01 13:39) [0]Народ, объясните принцип действия....
← →
Ihor Osov'yak (2003-06-01 14:01) [1]http://sgi.chg.ru/OUT/ADDDOCS/INFORM/WIN31DOC/undocwin.htm
Есть подозрение, что это было актуально во времена третьих виндов..
← →
Nox (2003-06-01 14:32) [2]Но функция по-прежнему присутствует в 9x,Me,XP.
← →
Ihor Osov'yak (2003-06-01 15:32) [3]А откуда такая уверенность?
Вопрос на засыпку: каким модулем експортируется?
Подсказка: Можно сделать поиск по всем файлам в директории WinNT/Windows с поддиректориями на предмет наличия строки DISABLEKERNEL...
Зы - скажу по секрету, перед тем как сюда писать, такой поиск делал. Для W2K,W98, NT4 - 0 file found, c. FAR
← →
Nox (2003-06-03 00:22) [4]Хех. Действительно на засыпку... вроде бы (не знаю откуда я это взял, но по моему где-то видел... забыл =))
функция эта находится в kernel32.dll.
Я пробовал её выполнять. Кстати, эффекты всегда разные ;) и прикольные.
Например, экран полосами покрывается =) К сожалению в NT она не даёт никакого эффкта (пробовал в XP) ;(
Но зато в 9x (пробовал в Me)........ хе хе.
---------------------------- КУТ ХЕРЕ ----------------------------------
.model large, WINDOWS PASCAL
include windows.inc
;----- EXTERNAL PROCEDURES & FUNCTIONS -----
extrn INITAPP:PROC
extrn INITTASK:PROC
extrn DISABLEKERNEL:PROC
.data ;----- DATA SEGMENT -----
freespace db 16 dup(0)
hInstance dw 0
.code ;----- CODE SEGMENT -----
start:
call INITTASK
or ax,ax
jnz ALLOK
jmp FAIL
ALLOK:
mov [hInstance],di
call INITAPP,hInstance
or ax,ax
jnz INIT
FAIL:
mov ax,4CFFh
int 21h
INIT:
call DISABLEKERNEL
mov ax,4ch
int 21h
end start
;Одеяло убежало, улетела простыня, и подушка как лягушка ускакала от меня. Я за свечку, свечка в печку, я за книжку, та ;бежать... Больше анашу такую я не буду покупать!!
---------------------------- КУТ ХЕРЕ ---------------------------------
← →
Ihor Osov'yak (2003-06-03 01:21) [5]ты, эта, травы такой не кури... А когда дым от курива развеется, возьми tdump и посмотри, что kernel32.dll экспортирует..
зы.. А код твой чего-то болезненно 16-битный напрминает..
да и вызовы int 21h мне что-то молодость напомнили.. В смысле - старые, добрые досовские времена..
← →
Игорь Шевченко (2003-06-03 15:32) [6]Ihor Osov"yak © (03.06.03 01:21)
Это были Windows XP 3.11
← →
Nox (2003-06-05 03:16) [7]Народ, я не понял, вы мне не верите? Попробуйте эту лажу под Me запустить сами увидите. Я на irc болтался там тоже никто не знает. Но мы покопались и кажись эта ф-я пасётся в ctccw.dll.
Хотя я в этом не уверен. Ах да, после того как протестите, скажите мне, plz, по кой хрен программеры из M$ засунули ф-ю EnableKernel, если после DisableKernel уже никакой Enable не спасёт =). Ладно. Смотрите.
← →
Nox (2003-06-05 03:25) [8]Или я чего-то не понял или вы, ребята, действительно никогда эту байду не видели?
← →
Nox (2003-06-05 15:47) [9]Ну что? Никто не смотрел?
← →
Nox (2003-06-06 09:59) [10]кАрочё. попробуйте сделать поиск по всем дллкам в %SystemRoot% и сами убедитесь в её существовании.
← →
Danilka (2003-06-06 10:05) [11]Nox © (06.06.03 09:59)
Ну, потратил время, сделал, нет никакого DISABLEKERNEL и что теперь?
У меня винХР, может мне теперь вин3.11 теперь поставить, чтобы убедиться в ее существовании?
← →
Ihor Osov'yak (2003-06-06 10:31) [12]ну была у чела win3, поставил сверху 95, потом 98 :-)..
или ветром dll какую-то левую занесол.. Вот теперь и кипиш подымает..
← →
Zacho (2003-06-06 10:49) [13]А у меня нашлось в C:\WINDOWS\SYSTEM\krnl386.exe
Win98SE, никаких 3.x никогда не стояло.
Но это действительно 16-ти разрядная библиотека для Win 3.x
А в общем, какая разница, и нафига оно нужно ?
← →
Ihor Osov'yak (2003-06-06 11:19) [14]2 Zacho © (06.06.03 10:49)
Вот это более конкретный разговор.. Но, к сожалению, более по делу ответить не могу, так как специализируюсь все-же на линейке NT.. Наверное, это все же какой-то рудимент времен Win3, вполне возможно - заглушка, оставленая для совместимости.. Дизасемблировать соотв. модуль нет ни малейшего желания..
← →
[D.T.Nil] (2003-06-06 12:07) [15]Народ, а ведь работает! (в WinMe точно)
Сначала система зависла намертво, на следующий раз
экран покрылся хрен знает какими полосами.
← →
Ihor Osov'yak (2003-06-06 12:28) [16]2 [D.T.Nil] (06.06.03 12:07)
> Народ, а ведь работает! (в WinMe точно)
Сначала система зависла намертво, на следующий раз
экран покрылся хрен знает какими полосами.
А мне что-то казалось, что это признаки как-раз ненормалной работы.. Вследствие некорректного построеного вызова соотв. апишной функции. Что может произойти при использовании левых деклараций соотв. апишного вызова..
Но наверное я уже отстал от жизни.. Теперь, оказывается, " на следующий раз экран покрылся хрен знает какими полосами" есть признаком того, что "работает".. Пожалуй, на пенсию пора..
← →
Nox (2003-06-06 13:31) [17]2 Ihor Osov"yak.
=) По-моему или ты чего-то не понял или я...
Что по-твоему должна делать функция с названием DisableKernel?
Почту рассылать? (Disable - выключать, Kernel - ядро. Поучается: Выключать ядро... но никак не почту отправлять).Я ведь почему сюда и написал, интересно, по кой хрен она вообще кому-то нужно. Ведь если она есть, значит это кому-то нужно. Логично неправда ли...
Или это у ребят из M$ такие приколы...
Такие функции только в жестокие падлы засовывать можно =)
Типа на кнопку Пуск нажал и всё полетело. А на пенсию тебе ещё рано.
← →
Ihor Osov'yak (2003-06-06 14:22) [18]2 Nox © (06.06.03 13:31)
Те уже не единыжды говорилось, еще раз повторю -
1. функция рудиментная, осталась со времен win3 (во всяком случае она тогда документировалась). Вполне возможно, что в некоторых билдах на линейке win9x оставлена с целью совместимости.. В линейке winNT ее нет.
2. Всякие "интересные эффекты", наблюдаемые при вызове этой функции связаны не с кознями этой футкции, а вероятнее всего, с тем, что кто-то неправильно строит вызов и программа уходит бог знает куда. Версия, как это может произойти: некий Nox находит декларацию DisableKernel со времен win3, где некий wparam описан как word.. Компилирует это дело для win32 и упускает с виду, что при портинге с 16 битного win3 в 32 битный всякие wparam декларируются уже как integer (что в даном случае есть уже 4 байта, вместо двух для ворд). Cледствие - стек вызова построен неправильно.. Со всеми последствиями.. Повторяю - это только версия.. Но таких финтов ты мог наделать кучу. Я не телепат угадывать..
Зы - тут через день находят ошибки в компиляторе, сходи в те ветки, может там единомышлиников отыщешь.. А если серьезно - кончай фигней маятся, есть более доснойные внимания вещи.. Но если все же очень неймется - пройдись дизассемблером по соотв. модулю - потом тут раскажешь, чем закончилось..
← →
Nox (2003-06-06 16:48) [19]2 Ihor Osov"yak.
Спасибо за коментарий. Не хочется больше писать и возражать, но... почему же тогда EnableKernel работает без глюков? =)))
Ладно. Можешь не отвечать. Я понял, хотя эта ф-я в 3.11 была всё-таки undoc.
Страницы: 1 вся ветка
Текущий архив: 2003.06.26;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.029 c