일부 조커 (BIOS/DOS/TSR ...)가 인터럽트 벡터 테이블에 임의의 데이터를 기록했습니다. 해체가 나에게 그렇게 말했기 때문에 나는 이것을 안다.무료 인터럽트 슬롯을 찾습니다.
일반적으로 인터럽트 벡터를 점유하기 전에 선택한 IVT 슬롯이 비어 있는지 확인합니다. 그러나 모든이 왼쪽 - 뒤에 데이터과 함께, 겸허 한 응용 프로그램은 그럼에도 불구하고 특정 인터럽트 벡터를 연결하는 것이 안전하다는 것을 어떻게 알 수 있습니까?
내 프로그래머 참조
나는 그것이 관심 생각하지 않는다
"안전하게 지정된 인터럽트 핸들러를 가리 키도록 인터럽트 벡터를 수정"로 DOS 기능 25H SetInterruptVector
을 설명하지만 이 기존의 가짜 콘텐츠에 대해 너무 많이. 지금까지 의 경우 안전하게!
인터럽트 벡터가 무료라는 확실한 방법이 있습니까?
"안전하게"한다는 것은 벡터가 업데이트되는 동안 인터럽트가 발생하지 않도록하는 것입니다. 나머지 질문에 대한 대답은 거의 확실합니다 : No. –
멀티 플렉스 인터럽트 (2Fh) 또는 대체 멀티 플렉스 인터럽트 (AMIS, 2Dh)를 사용할 수 있습니다. 그러나 BIOS와 MS-DOS가 사용하는 것으로 문서화되어 있지 않은 임의의 인터럽트를 선택할 수도 있습니다. TSR을 실제로 실행하는 경우 사용자가 선택한 인터럽트를 사용하고 있는지 파악하기가 어렵지 않습니다. 그냥 벡터를 덮어 쓰고 무엇인가가 깨지는 지 확인하십시오. –