中断拦截

逆向工程 恶意软件
2021-06-19 17:24:31

我目前正在阅读有关 90 年代早期病毒编写的40hex 杂志他们在那里谈论了很多interrupt intercepting来自反病毒公司的安全人员将尝试做的事情,并且应该被阻止(从病毒编写的角度来看)

究竟是什么 interrupt intercepting ?

3个回答

通过在 DOS 中拦截或挂钩中断,您可以在触发中断时使系统表现不同。而且x86架构中使用的中断很多,有的由硬件触发(如时钟、键盘、除数溢出/除零),有的是可以从软件调用的BIOS服务,有的是OS服务或其他可以调用的服务也可以从软件中调用。所有中断都同样容易挂钩。您所需要的只是cli,用您自己的中断向量替换中断向量sti,或者使用一些 BIOS 或 DOS 服务。

通过挂钩中断,您可以先在自己的中断处理程序中做自己的事情,然后将原始参数转发到原始中断处理程序,但您也可以替换整个中断或所选中断的特定服务(无需转发)。TSR(终止和驻留)程序都基于挂钩中断(有或没有中断转发)。例如,许多 DOS 调试器都是 TSR,可能还有许多病毒。

例如,可以为中断 0x13 编写一个中断处理程序,禁用 BIOS 中断 0x13 的所有硬盘驱动器格式化功能,首先检查 的参数int 0x13,如果函数 (in ah) 是 5, 6, 7, 0x1a ... 然后根据需要在寄存器和标志中设置所需的返回值,然后iret,否则jmp到原始中断处理程序。您可以编写一个 TSR 调试器,它可以挂接所选中断并在触发所选中断时显示调试器屏幕。您可以调整系统定时器中断频率,然后挂钩定时器中断以使用它来播放音乐,例如。使用 AdLib 或 SoundBlaster。您可以编写 TSR 键盘记录器、TSR 病毒扫描程序或 TSR 硬盘碎片整理程序。你可以让电脑通过 PC 扬声器或声卡播放“铃儿响叮当”,每当用户按 Enter 键时,现在是 12 月。可能性仅受可用硬件和程序员技能的限制。

什么是中断拦截?

安装您自己的中断向量。当有人触发它时,您可以随心所欲,然后将原始调用转发到原始中断处理程序。

如果你想看到一个中断拦截下载kgb.zip。这是作者:

Petr Horak 布拉格技术大学 布拉格核科学与物理工程学院 捷克斯洛伐克 BITNET:HORAC@CSEARN

它只拦截少数中断。但是,一个非常重要的但是,它带有如何拦截中断的源代码!!

如果您决定处理“较旧的”程序,这是一个值得研究的工具。并致力于。并扩大。

——某个时间点——