Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.52 MB
Время: 0.021 c
14-84637
Soft
2003-06-04 13:37
2003.06.26
Hurd против Linux, о Windows и говорить не стоит:)


1-84154
Солер
2003-06-11 11:35
2003.06.26
Как расчитать дату


4-84835
Sergey
2003-04-22 06:59
2003.06.26
ПОтеря фокуса элементом управления


3-84043
Z_man7777
2003-06-02 06:25
2003.06.26
Вопрос по полю типа Float в InterBase6.x


1-84144
Comp
2003-06-02 13:06
2003.06.26
Как заставить ScroolBar прокручиваться от ролика мыши?