ПредишенСледващото

Архив WASM.RU - Някои DOS без документи функции

ПРЕКЪСВАНЕ НА 30H и 31H

Nbsp Естествено ztot начин да се позволи достъп само до първоначалния манипулатор прекъсване 21h. И ако е инсталирана програмата друг манипулатор прекъсне контрол по този начин тя няма да бъде прехвърлен. В много случаи МРВ е, разбира се, много удобно. Въпреки това, ние не трябва да забравяме, че тя е още по-удобно за вируси, които желаят да имат свои достъп DOS функции остават незабелязани.

Nbsp неговото съществуване, този отбор е длъжен да поиска PC-DOS разработчици и MS-DOS да се гарантира съвместимост с операционната система CP / M, където да се обадя на DOS функции, необходими за изпълнение на CALL 0005, предварително зареждане на функцията в регистъра на CL. Този призив изпълнява команди от промяната на седалището 5 в PSP, а тя, от своя страна, води до DOS.

Nbsp описан метод за достъп до DOS съществува в PC-DOS, започвайки с версия 1.1, и в повечето версии на MS-DOS.

ALTERNATIVE прекъсне треньор INT 21h

Алтернативен Nbsp 21h прекъсване манипулатор налага други изисквания на входните параметри, отколкото нормално повикване INT 21h. Използването му изисква някакво специално действие и да разбереш какво го позволява.

Nbsp Присвояване на отбори, които са в този момент, вход, изпълнява някои от предварителна обработка на входни данни и стека, преди да премине контрол на стандартния прекъсване 21h манипулатор. С други думи, алтернативна прекъсне треньор е надстройка над стандарта. Така че първото нещо, което той прави - това пренарежда купа по стандартен начин, който е приемлив за IRET команда.

Nbsp следващата стъпка алтернатива процесор прекъсване 21h контролира изисква да изпълнява функцията, броя и позволява само функции с номера 00h-24h. От регистъра на AX се унищожава веднага след въвеждане, той е предаден на регистър CL на функцията, а не в AH. Това също така означава, че дори и сред допустимите функции не е на разположение: тези, които изискват допълнителен параметър в регистъра Ал. Например, функцията не е налична 0Ch (ясно клавиатура буфер и след това се обадете на един от 01h на функции, 06h, 07h, 08h, и 0Ah), тъй като изисква номера на Subfunction в регистър AL.

Nbsp остава да се изясни въпросът: защо е необходимо алтернатива процесор прекъсване 21h, защо го такъв необичаен начин за достъп и защо е такова странно споразумение за входните параметри. На всички тези три въпроса може да се отговори в същото време: това се дължи на желанието да се MS-DOS на разработчиците да се гарантира съвместимост с CP / M операционна система, доминирана до MS-DOS. Затова споразумение за входните параметри и ограничения избор от функции, толкова странно за потребителите на MS-DOS, не изглежда странно на тези, които все още си спомням CP / M. А що се отнася до необичаен начин за достъп до алтернативен прекъсване манипулатор, описаният метод е наистина не се използва, въпреки че е съвсем правилно, и JMP Екип FAR във вектора 30h прекъсване съществува единствено в подкрепа на призива на DOS функции в стила на CP / M през PSP: CALL команда 0005.

Nbsp описва съществува алтернатива процесор прекъсване 21h във всички версии на PC-DOS и в почти всички версии на MS-DOS. Интересно е да се отбележи, че кода за този манипулатор, според проучвания, е един и същ във всички версии на DOS, и затова има същата дължина. Очевидно е, че той не е нищо повече от една следа, останала от операционната система CP / M, един вид приложение MS-DOS. Освен това, този сегмент DOS, където са всичките му функции, може да се получи по много начини, и промяната в своя заместник манипулатор прекъсване 21h следователно е стандартът, по същия начин, в рамките на една и съща версия на DOS, и дори различни компании.

Nbsp Можете, разбира се, за да се придвижва на съществуващата входна точка в това ограничение на функция. За да направите това, просто избършете Ko Mandi NOP проверка за валиден номер. Това не е да губим от поглед друго ограничение: не можете да използвате функциите, изискващи параметри в регистрите AL и CL.

; Обявата (срязване) алтернативен манипулатор прекъсване 21h.

СЪДЪРЖАНИЕ PSP: CELL 05H-09H
ОПИСАНИЕ НА ДЕЙСТВИЕ за функцията повикване в Стил DOS CP / M

Nbsp CP на операционната система / M програмисти да се обадя на DOS функции използват близо CALL: изместването на 5 до PSP за всяка програма е командата CALL FAR сегменти: разстояние, което теоретично позволява да се обадите DOS изпълнение CALL 0005 екип, по същия начин, както в CP / M ,

ПРЕКЪСВАНЕ НА ФУНКЦИЯ 13H 21H.
без документи функции

Nbsp функция 13h 21h прекъсване на поредица от функции, които изпълняват операции на файлове с помощта на FCB. Тя изтрива даден файл или група от файлове.

Nbsp Тази функция има една недокументирана случай, при който удължава FCB го използва, за. и приписват 1Fh файл. С тази конкретна функция комбинация 13h изтрива всички файлове в текущата директория, включително файлове с атрибути "само за четене", "как" и "указател". За да влошат нещата, тази функция замества първия знак в името на отдалечения файл до 0, а не на регулярна 0E5h. Това е подвеждащо, много полезен за възстановяване на файлове.

Nbsp Това поведение MS-DOS е най-малко странно. Обикновено само вътрешните процедури, MS-DOS да променят или изтриват файлове, които са маркирани като "поддиректория". Фактът, че функцията работи с FCB, оставя се да изтриете тези файлове - невероятна приумица на MS-DOS.

; Пример 13Н функцията nedokumentirovannovo свойства

Подкрепете проекта - споделете линка, благодаря!