1 CPU interrupt INT trap CPU exception

Similar documents
Linux kernel exploit研究和探索

第6章 信号量,中断和时间

06721 main() lock pick proc() restart() [2][4] MINIX minix2.0 GDT, IDT irq table[] CPU CPU CPU CPU (IDTR) idt[] CPU _hwint00:! Interrupt

<4D F736F F D20B2D9CDB3BFCEB3CCB4FAC2EBD4C4B6C1CABEC0FD2E646F63>

浙江大学本科论文模板

Outline 1 中断信号的作用和处理的一般原则 2 I/O 设备如何引起 CPU 中断 3 x86 CPU 如何在硬件级处理中断信号中断和异常的硬件处理 : 进入中断 / 异常中断和异常的硬件处理 : 从中断 / 异常返回 4 Linux 内核中软件级中断处理及其数据结构初始化中断描述符表低级异

一 学 校 基 本 情 况 目 录 二 部 门 预 算 报 表 ( 一 ) 收 支 总 表 ( 二 ) 收 入 总 表 ( 三 ) 支 出 总 表 ( 四 ) 财 政 拨 款 支 出 表 三 部 门 预 算 报 表 说 明 ( 一 ) 收 支 总 表 说 明 ( 二 ) 收 入 总 表 说 明 (

目 录 一 学 校 基 本 情 况 二 2016 年 预 算 报 表 ( 一 ) 中 南 大 学 收 支 预 算 总 表 ( 二 ) 中 南 大 学 收 入 预 算 表 ( 三 ) 中 南 大 学 支 出 预 算 表 ( 四 ) 中 南 大 学 财 政 拨 款 支 出 预 算 表 三 2016 年

信息参考

Microsoft Word - 15dbtb007

378高雄市都市計畫說明書

PowerPoint Presentation

第一章.FIT)

大 綱 最 有 利 標 目 的 及 類 型 最 有 利 標 之 辦 理 方 式 準 用 最 有 利 標 取 最 有 利 標 精 神 最 有 利 標 之 類 型 及 其 相 關 規 定 適 用 最 有 利 標 準 用 最 有 利 標 及 取 最 有 利 標 精 神 作 業 程 序 及 實 務 分 析

考 試 日 期 :2016/04/24 教 室 名 稱 :602 電 腦 教 室 考 試 時 間 :09: 二 技 企 管 一 胡 宗 兒 中 文 輸 入 四 技 企 四 甲 林 姿 瑄 中 文 輸 入 二 技 企 管 一

礼仪玉和葬玉

( G/T idt IS ) /0

ROP_bamboofox.key

Kernel Kernel Kernel Kernel load estimator runqueue kernel/sched.

第 一 节 认 识 自 我 的 意 义 一 个 人 只 有 认 识 自 我, 才 能 够 正 确 地 认 识 到 自 己 的 优 劣 势, 找 出 自 己 的 职 业 亮 点, 为 自 己 的 顺 利 求 职 推 波 助 澜 ; 一 个 人 只 有 认 识 自 我, 才 能 在 求 职 中 保 持

汇集全球21位医生的经验和智慧,总结出最实用的专业建议,这些都是最值得你牢记的健康提醒

1 行 业 发 展 不 平 衡 我 国 房 地 产 中 介 服 务 业 起 步 较 晚, 专 业 分 工 程 度 和 国 外 发 达 国 家 相 比 还 有 很 大 差 距 房 地 产 中 介 服 务 行 业 的 发 展 水 平 与 房 地 产 开 发 行 业 的 市 场 化 水 平 密 切 相 关

98年度即測即評學科測試與即測即評即發證技術士技能檢定簡章

Microsoft Word 箕æ−¥ï¼‹å®ı稿;

学习MSP430单片机推荐参考书

中国矿业大学研招办

药大研〔2015〕78号

教 育 部 : 力 促 高 等 教 育 入 学 机 会 公 平 今 年 新 学 期 伊 始,3300 余 名 新 生 走 进 清 华 园, 其 中 来 自 县 级 及 县 级 以 下 高 中 的 新 生 接 近 四 分 之 一 而 南 开 大 学 迎 来 3598 名 新 生, 农 村 生 源 78

instructions.PDF

A. 城 市 化 是 我 国 发 展 的 必 由 之 路 B. 单 纯 发 展 大 城 市 不 利 于 城 市 化 的 推 进 C: 要 实 现 城 市 化, 就 必 须 让 城 市 充 分 吸 纳 农 村 人 口 D: 大 城 市 对 外 地 农 村 人 口 的 吸 引 力 明 显 低 于 中 小

漏 洞 攻 防 EXPLOIT ATTACK & DEFENCE 栏 目 编 辑 脚 本 小 子 scriptsboy@hacker.com.cn HEAD 部 分 大 小 当 然 也 就 是 固 定 的 18200H 如 果 要 提 取 出 HEAD, 我 们 可 以 选 中 前 18200H 字

微處理機期末專題

第二章.FIT)

學 過 程 技 能 中 是 重 要 的 一 環, 雖 然 控 制 變 因 的 課 程 要 進 入 小 學 階 段 才 會 接 觸, 但 我 們 嘗 試 讓 孩 子 在 科 學 遊 戲 中, 察 覺 到 不 同 的 條 件 會 影 響 比 賽 結 果, 進 而 讓 孩 子 把 這 些 條 件 一 一

穨推動學校資訊科技教育經驗分享.PDF

untitled

<4D F736F F D DD7A1B7BFB9ABBBFDBDF0D0C5CFA2BBAFBDA8C9E8B5BCD4F25FB1A8C5FAB8E55F2E646F6378>

untitled



程序 linux/include/linux/math_emu.h 1 /* 2 * linux/include/linux/math_emu.h 3 * 4 * (C) 1991 Linus Torvalds 5 */ 6 #ifndef _LINUX_MATH_EMU_H 7 #de

扭 轉 生 命 旅 程 ~ 部 長 序 ~ 我 國 家 庭 暴 力 防 治 法 自 87 年 公 布 至 今, 近 15 年 推 動 家 庭 暴 力 防 治 工 作 的 歷 程 中, 除 了 建 置 社 政 警 政 教 育 司 法 醫 療 等 防 治 網 絡, 積 極 協 助 遭 受 暴 力 傷 害

说 : 荀 子 极 偏 驳, 只 一 句 性 恶, 大 本 已 失 5 朱 熹 说 : 荀 扬 不 惟 说 性 不 是, 从 头 到 底 皆 不 识 6 采 取 的 都 是 这 种 理 论 框 架 另 一 种 理 论 框 架 始 于 20 世 纪 前 期, 这 便 是 诸 子 学 研 究 的 框 架

> u eip l 3 002f2aa9 90 nop 002f2aaa 90 nop >!chkimg -d -lo 1 ping // 检查文件是否被篡改? 002f2aa7-002f2aaa 4 bytes - ping!maincrtstartup [ e :f0 cc 9

(Microsoft Word - \251I\250D\245D\246W

Microsoft Word - 2CA13內文.doc

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

untitled

( CIP ) /. - :, ( ) ISBN C CIP ( 2005 ) ( 1 : ) : / : ISB

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

学位中心〔2015〕 号


革 的 实 施 意 见 ( 国 办 发 号 ) 3. 广 西 壮 族 自 治 区 人 民 政 府 办 公 厅 关 于 实 施 广 西 高 等 教 育 强 基 创 优 计 划 推 进 高 等 学 校 创 新 创 业 教 育 改 革 的 通 知 ( 桂 政 办 发 号 )

<4D F736F F D20B5DAD2BBC6AA2020B9E6D5C2D6C6B6C8>

DPJJX1.DOC

今天刚发现的, 比较简单, 于是就来简单分析下吧 该感染样本很简单, 新加了个区段放病毒执行代码, 执行病毒代码, 最后跳回原入口点来执行原文件 下面就是感染后的代码的简单分析 : ; =============== S U B R O U T I N E =====================

Microsoft Word - 21.doc

五 參 與 政 治 活 動 之 限 制 綜 觀 中 立 法, 其 重 點 在 於 適 度 規 範 公 務 人 員 參 與 政 治 活 動, 可 分 為 消 極 性 的 行 為 規 範 及 積 極 性 參 與 政 治 活 動 的 限 制 規 範 兩 種 前 者 除 依 法 行 政 公 平 對 待 等

二O一四年大华府拖拉机游戏锦标赛规则

中文模板

42 罗 静 齐 齐 哈 尔 市 卫 生 学 校 滴 定 管 的 使 用 43 王 志 疆 天 津 市 公 用 技 师 学 院 下 摆 臂 球 头 检 测 44 李 磊 皖 江 职 业 教 育 中 心 学 校 多 机 位 剪 辑 45 王 科 研 大 庆 市 蒙 妮 坦 职 业 高 级 中 学 眼

西南交通大学

幸 福 就 业 工 程 建 设 工 作 提 供 了 参 考

Microsoft PowerPoint - os_4.ppt

(38,000CC) CC 10,500CC BEAT IT HIGH!!

<4D F736F F D D342DA57CA7DEA447B14D2DA475B57BBB50BADEB27AC3FEB14DA447B8D5C344>

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un

标题


Microsoft Word - ARM Linux中断机制分析.doc

(辩证看 务实办•理论热点面对面2012)

2009三季报全文.doc

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1

Microsoft Word doc

<4D F736F F D203938ABFCA6D2BEFAA576ACE3A873A5CEB8D5A8F7A977BD5A2E646F63>

chp6.ppt

石家庄~3

Microsoft Word - 文件20.doc

2 从 事 道 工 程 专 教 道 工 程 工 程 测 量 轨 道 交 通 工 程 道 桥 土 木 工 程 本 科 30 ; ; 本 科 毕 生 要 求 具 有 2 年 及 岗 位 所 需 专 中 级 及 专 称 具 有 本 专 二 级 及 建 造 师 执 资 格 证 书 者 优 先, 需 要 经


untitled

untitled

目 录

Microsoft Word - MSP430 Launchpad 指导书.docx

东南大学2014年度部门预算

恒 大, 薪 酬 总 额 涨 幅 在 30-40% 之 间 ; 一 些 业 绩 增 长 温 和 的 房 企, 如 招 商 地 产, 薪 酬 总 额 增 幅 也 超 过 20% 2 行 业 薪 酬 比 率 维 持 稳 定, 薪 酬 总 额 增 幅 不 净 利 润 增 幅 差 距 加 大 行 业 薪 酬

untitled

<4D F736F F F696E74202D20ABD8B86DA743BAD2AED5B6E9A4CEB1C0B0CAACDBC3F6B1B9AC49A4B6B2D02D E707074>

不 知 道 过 了 多 久, 似 乎 是 很 久 很 久 好 痛! 头 痛, 眼 睛 痛, 身 体 的 每 一 处 都 痛, 费 力 的 睁 开 迷 蒙 的 双 眼, 依 浣 尘 看 到 有 一 束 光 向 自 己 袭 来, 真 的 是 闪 电 吗? 被 劈 到 那 可 就 必 死 无 疑 了 啊!

<BBF9B4A1CDB3BCC628B5DACBC4B0E629CFB0CCE2BCAF2E6D7073>

<4D F736F F F696E74202D20A4BDA640A475B57BA454BC68AFC5AB7EBDE8BADEB27AB460C0F4AC5BBA6328ADD7292DB35CBAFBAE78>

一 寒 暄 : 譬 如 買 賣 領 帶 也 需 要 有 推 銷 的 槪 念 看 看 這 個 店 員 如 何 推 銷 產 品 店 員 一 見 到 客 戶 走 進 店 裡 即 說 : 先 生 您 好, 選 領 帶 呀! 歡 迎 歡 迎, 請 進 這 就 是 寒 暄 二 開 門 : 如 果 是 一 個 不

36 asm ("mov %%fs,%%ax":"=a" ( res):); \ 37 res;}) 38 // 以下定义了一些函数原型 39 void page_exception(void); // 页异常 实际是 page_fault(mm/page.s,14) void divi


资源库建设方案(11月14最新)

1 TPIS TPIS 2 2

一、注意事项

深 入 学 习 贯 彻 党 章, 着 力 唤 醒 党 章 意 识 ( 一 ) ( 二 ) 1

TX-NR3030_BAS_Cs_ indd

1 2 9

Transcription:

1 CPU interrupt INT trap CPU exception

2 X86 CPU gate

64 16 1 2 5 8 16 16 P DPL 00101 TSS 101 DPL P 1

64 16 1 2 1 1 3 3 5 16 16 16 P DPL 0 D 000 16 110 111 100 D 1=32 0=16 DPL P 1

INT DPL1>=CPL>=DPL CPU CPL>=DPL1 DPL1 CPL CPU DPL

SS OLD ESP ESP OLD EFLAGS CS EIP ERRORCODE EFLAGS CS EIP ERRORCODE ESP ESP

IDT IDTR V GDT GDTR

3 IDT Linux trap_init() init_irq() trap_init() Init_IRQ()

3.1 trap_init() 20 0-19 set_trap_gate( 0 set_system_gate(syscall_vector,&syste m_call) 0x80

_set_gate (gate-addr,type,dpl,addr) n gate-addr idt Type Dpl Addr Set-intr-gate set_trap_gate set_system_gate _set_gate set_set_trap_gate(unsigned int n, void *addr) { _set_gate(idt_table+n,15,0,addr); }

3.2 Init_IRQ() (1) init_isa_irqs PC 8259A (2) set_intr_gate(vector,interrupt[i]) 0x20 224 0x80 Interrput[I] I

Interrput[] IRQ0x01_interrupt() IRQ0x0f_interrupt() IRQ0x01_interrupt()

IRQ0xXX_interrupt() IRQ0xXX_interrupt() 1 2 common_interrupt

4 0x20 0x80

1 Irq_desc[] 224 224 handler hw_interrupt_type Action

2 Hw_interrupt_type init_irq ini_isa_irqs()

3 Irqaction Handler Dev_id Next

0x20 Irq_dest_t handler action Hw_interrup_controller irqaction Handler 0x21 handler action next 0x22 handler action Handler next CPU Irq_dest_t 16

Request_irq() IRQ irqaction setup_irq()

setup_irq() iqraction

5 8259A CPU INTR CPU

Step 1 CPU 8259A IDTR IDT ( ) CPU CPL DPL 3>0 CPL DPL CPU TSS 0 ESP SS ESP SS CPU EFLAGS CS EIP

Step 2 CPU IRQ0xXX_interrupt IRQ0x03_interrupt IRQ0x03_interrupt -256 common_interrupt

SS Step 3 ESP EFLAGS CS common_interrupt EIP -256 SAVE_ALL ES DS EAX ret_from_intr EBP EDI ESI do_irq() EDX ECX EBX

Step 4 do_irq() 1 0x03 2 irq_desc[] 3 4 handle_irq_event()

Step 5 handle_irq_event() do-while 4

Step 6 handle_irq_event() do_irq() do_irq() bottom half) do_irq() entry.s ret_from_intr ret_from_intr do_irq() CPU

Step 7 ret_from_intr CPU VM86 CPU restore_all ret_with_reschedule ret_with_reschedule

Step 8 ret_with_reschedule schedule() RESTORE_ALL SAVE_ALL ret CPU

6 Bottom Half(BH) * CPU * Bottom Half

Bh top half bottom half bh

Bh 1 bh_base[] 32 bh 32 mark_bh(), 1 do_irq(),

Bh 2 1 do_softirq() do_softirq() bh_action() Bh_action() bh_base[] TIMER_BH

Bh cpu tasklet Tasklet cpu

7 * page_fault * CPU page_fault() *

1 page_fault * do_page_fault * error_code error_code common_interrupt)

2 error_code * * do_page_fault EDI ESI EDX do_page_fault * call *%edi do_page_fault SS ESP EFLAGS CS EIP Do_page_fault DS EAX EBP EDI ESI EDX ECX EBX

do_page_fault * * ret_from_intr *

8 * CPU * time_init() time_interrupt

time_interrupt * * do_timer_interrupt() * do_timer_interrupt() * do_timer() mk_bh() bh_task_vec[timeer_bh] tasklet_hi_vec CPU TIMER_BH timer_bh()

timer_bh() * update_times() CPU * run_timer_list() timer

BH bh

9 INT 0x80 sethostname Sethostname name len name len name

1 sethostname * name len * sethostname 0x4a eax * int $0x80 CPU 0x80 system_call

2 system_call * SAVE_ALL * eax * sys_call_table eax 0x4a 74 sys_sethostname sys_call_table 256 linux 221

3 sys_sethostname: * *

4 (sys_sethostname system_call(): * eax ret_from_sys_call * * sethostname

5 sethostname * eax syscall_error() * syscall_error() eax error_location errono * eax 0