FORTRAN反编译工具系统的分析与设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
paБайду номын сангаасe 1
它 的二进 制执 行文 件结构 形式 有 所 不 同. 一 提高 .系统^工 干璜较多 , 用性差 , 实 需有 定 基础的人 ( 懂褥 该 系统知 识 的人 ) 才能 上海交通大 学计算机科 学 与工 程系于 因此反编 译器和操 作系统也有关 .由此可 见, 在一 定条件下开发 的反编译 器 , 的应 它 用范 围受到 一定 限制 , 只能在 相 应 条件下 应用. 使用. 于 8 6年开 始 在 Ma r coVAX I VM S 操 作 系 统 下开 发 c 语 言 反 编 译 系统 .它 可 犄适 量 长 度 (c 行 ) 语 膏 镪 程 序 经 c 编 译 :∞ c c 是 否 可 以 将 用 A 语 言源 代 码 编 译 产 生的执 行码 反编译为 B语言 搦 程序 ?从理 c 论上讲这 可能 , 但这样做 , 使系统变得根 复 2 9 维普资讯 http://www.cqvip.com 杂, 虱丑 蕃叠矗童田B 舶 结 构 形 言 式 不 届 . H ) TR^N 语 言 是 块 如 R 状结 柯 . C 语言 和 P C 酉 AS AL 语 言 是 嵌套 结构 . 2 )各 种 高 曩 语 言 的 功 能 持 点不 旁.如 C语言 的逻辑 运算 功能 强 , 它 能 进 行 使 操 作 , p sa F TR 面 a.l, OR AN 语 c 言 赠 授 有 位 操 作 功 能 ; ORTRAN 语 言 的 F I0 方 式 和 播 黄 十 分 灵 活 ,a cl c 语 , psa 和 言 没有 ;a l C语 言 有 指 针 的 应 用 , pn 和 F TRAN 语 言 授 有 . oR 3 )不 屑 语 言 疆 用 备 自不 同 的 编 译 程 1 .把 镳 程 声 执 行 语 言翻 译 娥 二 遗 剖 执行指 令 藏 ; 2 把 数 据 和 指 令 接 它 们 的 性 质 分 配 . 在 呵 鲍 程 序 段 ; 3 .建 立 萱 定 位袁 . 连接程 序 的瑰鼗娃 : L .按 程 亭 性 贾 进 行 鳍 类 . 鼍 置 空 间 作 的最 后 分 配 ; 掇 据 重 定 位 表 辫 决 全 局 符 号 的 引 用. 序 毒 ,王 成 特 定 鹩 功 毖 I完 2 )反 冀 泽是 为 群好 地 理 解 分 } : 象程 尊 . 尽量 保 持 原 程 序 翁 设 风 格 . 应 } j )一 觳 说 来 , 们 并 不 清 楚 瘭 程 序 各 我 个 模 块 的 功 熙 , 何 来 验 证 反 编 译 后 得 到 如 墨 穿 正 馥 性 也 是 一 个 要 考 虑 的 问 题 ,我 们 采 用编 译 后 生 成 的 二 进剩 码 编 形 式 相 同 的方 击 来 验 证 . 若 反 编 译 成 犀 种 语 言 , 无 法 赣 这 一 点 . 为各 种 高级 语 麓 因 言程 序 氅 萍后 生 成 的 二 进 甜 码 汇 编 形 _ 式是 不 同的. 基 于 t述 鬣 因 , 耵 只 考 虑 目标 语 言 嚣 昶 曩c 序语 畜是 糍 的 蒂 况 , 考 虑 异 种 程 语 言 之 嗣豹 反 编译 . 异 手 语 言 程 序 之 间 的 p 可 见 级 语 言 漂 程 序 的 二 连 嗣 执 行 高 码在 编 译阶段 巳基 本确定 .连接程 序是解 决 最 终 各 程 牟 譬 一 : _ 拿 用. 垒 局 号 的 {: 在 S n 0 中 连 接 命令 l — 个 开 关 u S d有 sr 若 加 上 此 开 关 , 在 最 后 生 成 的 执 行 ti p. 列 文 件 中 除 符 号 表 ; 不 加 此 开 关 , 保 留 若 舅 符 号 表 . 诙 符 号 表 插 述 了全 督 全 局符 号 的 定义: 它的值 和 类型 .F TR OR AN 程序鲁 个帮 宇单位所用 局部 聂据 医的 地 址 .这些 信 息对 褥 耆 进行 F 'TR^ 】 (R N厦 肇译鹕 一 定的 用 处 .为 此 , 暑 F 番 】 ORTRAN 反 编 译 转接 可以在 曩爵 上实现 .如北京大 学计算 机 系 开 发 曲将 F TR6 7漂 程 序 翻 译 oR N7 戚 c 豫 程 序 曲 软 件 工
本文由huarongtv贡献 pdf1。 仲工 反 椎 编译 工 乎 乞 维普资讯 http://www.cqvip.com ≥ 一, F R R N反 译 具 统 分 与 计 ' O TA 编 工 系 的 析 设 _. 7 澍大明 沈嘲 辑 ( 西南自动化 一室 , .200 绵靼 610) 一 T, 1 … , … 通 … 过 一 前言 … ; 言 的 序八期 ; ; 晶 程 .五 间他 们 的 目标是 把 此 工作 移 植 到 3 6机 8 上 , 加 实用化 , 更 目标 是 完 垒 自动 化 , 可 尽 能 少 的 人工 干 预 . 国 内 从 事 这 方 面 工 柞 的 还 有 几 个 革 位 , 复 旦大 学 , 京 信 息 工 程 学 院 , 京 如 北 南 1 .向置 的 提 出 随着 电子 计 算 机 在 我 国 各 行 各 业 得 到 广 瑟 的使用 , 算机 软件 生产 正在 进 ^工 计 程亿, 标准化 生产 阶段 . 教 件开 发是 一个循 序渐进 的过 程 .如 果 一 个 大 型 软 件 垒 部 从 头 开 始 由 自 己开 发 , 必然 把 局期 拉 得 很 长 , 至 失 去 它 的 这 甚 开 发 价值 .如 果 在 B开 发 软 件 的 基 础 上 杀 开 发 新 的 教 件 , 也 是 理 所 当 然 的 , 有 勋 这 这 于 缩 短 开 发 周 期 , 鉴 已开 发 软 件 的 优 秀 借 大 学等等 .他仍所从事 的研 究都是在 C语 言方面 . 在 国内从事 F 而 ORTRAN 语 言 反 编译工 作的还未 见报道和听 说 . 国 际 上 , 于 涉 及 到 知 识 产 权 和 歌 件 由 保 护等 问压 . 此 , 有 见到 这 方 面 的 公开 因 投 报 道 .据 卸 , 括 美 国 在 内 , 在 从 事 邀 包 也 面 的工 作 . 成果 , 并可对它 的功 能进行 修改 和扩充 . 这 就 提 出 了 一 々 如 何取 褥 . 祈 , 群 贩 束 分 理 发 的 软 件 , 把 它 有 效 地 引 入 到 新 系 统 中 并 去 的 问题 . 从丽 提 出 了 软 件 逆 向工 程 的概 念 .软 件 逆 向工 程 是 软 件 工 程 研 究 领 域 的 一 二 , 编 译 的 分 类 反 反 编 译嚣 的任 务 是 把二 进 制 的机 器 码 转 拽 为 高 级 语 言 程 序 .因此 它 和 机 器 的 指 令 系统 有 关 , s 如 uN一 3与 S UN一 4的 十重 要课庙 , 于软 件 的维 护 , 值 , 对 移 理 解 和复 甩都 具 有重要意 义 . 2 .罾 内 外 反 编 译 的状 况 国 内最 早 从 事 反 编译 研 究 的是 台 肥 工 业大 学 徽 机 所 , 8 年 完 成 6 0 0机 上 C 于 7 80 语 言 的反 编译 工 具 .它 把 C 编 译 生 成 的 目 标 代 码经过 人工 反汇 编获 得汇 编程 序 , 然 后 对 编程 序进 行 反 编 译 .8 8年 开 始 把 此 成 果 移 向 P 机 , 在 功 能 上 作 了 扩 充 和 C 并 编指令系统 就有很大 的差 别 . 因此 , 同的 不 C PU 它 的反 编 译 嚣 也 不 同 . 另 外 , 和 目 它 标 高级 语 言 有关 .如 F T A , AS OR R N P - C AL的 语句 形式 和结 构 都不 同 , 它们 的反 编 译器 也 应 不 同 . 时 , 进制 执 行 文 件 结 伺 二 构 跟 操作系统有关 , 在不 同的操 作系统下 ,
page 2
具 — — F 7 t 软 7 oC 件.它 告 在 薯 码 的 基 础 上 , F 将 oR_ 工 具的第 —步 , 为是 在执 行 文 件中 包含 认 丁符号裹的 基础上 进行 . 一 . 下面对 语言冀 译程 序的肇 谭过爱f进 步 的讨 论 . TR N7 转换= C语 氰 A 7 毫 高级 语 言编译— 般分 戚下述凡步 ;固 ( 2 ) 在 此 对 高 缓 语 言 瀛 程 序 到 二 进 铡 执 行 词法分 折 : 成把 蔼 程 序的 外部 形 式转换 完 啦 更 适合 计 算 机 处 理 的 内 蔷 形 式 . 具 体 迪 代码 袭进程童 爸一些 { 论 . 亍 高 级 语 言源 程 序 到 执 行 代 码 要 经 过 编 说 有如下功 篦 ; 1 .识 别 程 序 中 童 义 独 立 的 量 小 司 法 泽 , 接 爵次变换 .其吏 按 藏程如 下雷 1 连 . 这 里稿 译 程 序 的功 篮 是 : 3 o 单 位—— 单诃 . 每个 单 诃包含 再_ 信息 : 千 萆 维普资讯 http://www.cqvip.com 诃 的类别和值 . 被丢 失 . 2 .删 除表征 程序 格式和可读性 的空格 , 回 车及注释 . 2 .程 序的控 翻执行 流在编 译 阶段 已 完全 确定 , 无论 是 中闻代码 和 目标代 码郡 保 留 了源 程 序 的 含 义 . 3 .发 现词法错 误 , 报告 出错 . 句 法 和 语 义分 析 : 是 编 译 程 序 中的 这 3 .若不 加调试开 关 , 全都全局 符号 定 义和描 述被删除 .它们的特性体 现在 茸标 代 码的执 行 指令和分 配存储 区中 , 且这 而 种 体 现 是 不 完整 的 .如 ; psa 程 序 中 , 在 acl 关键 部分 . 它根 据语言规 定的文法规 则 , 接 受 词 法 分 析 的输 出 , 解 其 中 的文 法 结 构 分 进行 相 虚 的语 言 检 查 , 后 输 出. 应 的 中 最 相 间 代 码 和 构 造 相 应 的 符号 表 条 目 . 中 间代 码 是 一 种 介 于 高 级 语 言 和 机 器 指 令 之 间 的 一 字符 , 逻辑枚举类塑变蛩都 占用一个字 节 , 按字节进行 运算和存取 .这就无法 确定原 本意 是哪一类变量 ; 又 如 , 虑 下述 二 个 F 考 ORTRAN 程 序 : 种 宏 操 作 指 令 , 操作 码 和 撵作 数 . 作 有 操 码 的 种 类 和 形 式 由 设计 者 自定 , 作 数 通 操 常是 各类符号表 中的元素 .中间代码的执 行 次 序 反 映 了 用 户 程 序 的 原 义 .符 号 表 记 录 了 各 类标 识符 的性 质 . 括 标 识 符 名 字 , 包 程 序 l I tg r a ( ) ; n c e . 8 , a ( 1 3: 1 ) 0 , a ( 3t1 ) 2- 7 类垄 , , 组维 数 , , 值 数 上 下界等 . 简单地说 ,
它 的二进 制执 行文 件结构 形式 有 所 不 同. 一 提高 .系统^工 干璜较多 , 用性差 , 实 需有 定 基础的人 ( 懂褥 该 系统知 识 的人 ) 才能 上海交通大 学计算机科 学 与工 程系于 因此反编 译器和操 作系统也有关 .由此可 见, 在一 定条件下开发 的反编译 器 , 的应 它 用范 围受到 一定 限制 , 只能在 相 应 条件下 应用. 使用. 于 8 6年开 始 在 Ma r coVAX I VM S 操 作 系 统 下开 发 c 语 言 反 编 译 系统 .它 可 犄适 量 长 度 (c 行 ) 语 膏 镪 程 序 经 c 编 译 :∞ c c 是 否 可 以 将 用 A 语 言源 代 码 编 译 产 生的执 行码 反编译为 B语言 搦 程序 ?从理 c 论上讲这 可能 , 但这样做 , 使系统变得根 复 2 9 维普资讯 http://www.cqvip.com 杂, 虱丑 蕃叠矗童田B 舶 结 构 形 言 式 不 届 . H ) TR^N 语 言 是 块 如 R 状结 柯 . C 语言 和 P C 酉 AS AL 语 言 是 嵌套 结构 . 2 )各 种 高 曩 语 言 的 功 能 持 点不 旁.如 C语言 的逻辑 运算 功能 强 , 它 能 进 行 使 操 作 , p sa F TR 面 a.l, OR AN 语 c 言 赠 授 有 位 操 作 功 能 ; ORTRAN 语 言 的 F I0 方 式 和 播 黄 十 分 灵 活 ,a cl c 语 , psa 和 言 没有 ;a l C语 言 有 指 针 的 应 用 , pn 和 F TRAN 语 言 授 有 . oR 3 )不 屑 语 言 疆 用 备 自不 同 的 编 译 程 1 .把 镳 程 声 执 行 语 言翻 译 娥 二 遗 剖 执行指 令 藏 ; 2 把 数 据 和 指 令 接 它 们 的 性 质 分 配 . 在 呵 鲍 程 序 段 ; 3 .建 立 萱 定 位袁 . 连接程 序 的瑰鼗娃 : L .按 程 亭 性 贾 进 行 鳍 类 . 鼍 置 空 间 作 的最 后 分 配 ; 掇 据 重 定 位 表 辫 决 全 局 符 号 的 引 用. 序 毒 ,王 成 特 定 鹩 功 毖 I完 2 )反 冀 泽是 为 群好 地 理 解 分 } : 象程 尊 . 尽量 保 持 原 程 序 翁 设 风 格 . 应 } j )一 觳 说 来 , 们 并 不 清 楚 瘭 程 序 各 我 个 模 块 的 功 熙 , 何 来 验 证 反 编 译 后 得 到 如 墨 穿 正 馥 性 也 是 一 个 要 考 虑 的 问 题 ,我 们 采 用编 译 后 生 成 的 二 进剩 码 编 形 式 相 同 的方 击 来 验 证 . 若 反 编 译 成 犀 种 语 言 , 无 法 赣 这 一 点 . 为各 种 高级 语 麓 因 言程 序 氅 萍后 生 成 的 二 进 甜 码 汇 编 形 _ 式是 不 同的. 基 于 t述 鬣 因 , 耵 只 考 虑 目标 语 言 嚣 昶 曩c 序语 畜是 糍 的 蒂 况 , 考 虑 异 种 程 语 言 之 嗣豹 反 编译 . 异 手 语 言 程 序 之 间 的 p 可 见 级 语 言 漂 程 序 的 二 连 嗣 执 行 高 码在 编 译阶段 巳基 本确定 .连接程 序是解 决 最 终 各 程 牟 譬 一 : _ 拿 用. 垒 局 号 的 {: 在 S n 0 中 连 接 命令 l — 个 开 关 u S d有 sr 若 加 上 此 开 关 , 在 最 后 生 成 的 执 行 ti p. 列 文 件 中 除 符 号 表 ; 不 加 此 开 关 , 保 留 若 舅 符 号 表 . 诙 符 号 表 插 述 了全 督 全 局符 号 的 定义: 它的值 和 类型 .F TR OR AN 程序鲁 个帮 宇单位所用 局部 聂据 医的 地 址 .这些 信 息对 褥 耆 进行 F 'TR^ 】 (R N厦 肇译鹕 一 定的 用 处 .为 此 , 暑 F 番 】 ORTRAN 反 编 译 转接 可以在 曩爵 上实现 .如北京大 学计算 机 系 开 发 曲将 F TR6 7漂 程 序 翻 译 oR N7 戚 c 豫 程 序 曲 软 件 工
本文由huarongtv贡献 pdf1。 仲工 反 椎 编译 工 乎 乞 维普资讯 http://www.cqvip.com ≥ 一, F R R N反 译 具 统 分 与 计 ' O TA 编 工 系 的 析 设 _. 7 澍大明 沈嘲 辑 ( 西南自动化 一室 , .200 绵靼 610) 一 T, 1 … , … 通 … 过 一 前言 … ; 言 的 序八期 ; ; 晶 程 .五 间他 们 的 目标是 把 此 工作 移 植 到 3 6机 8 上 , 加 实用化 , 更 目标 是 完 垒 自动 化 , 可 尽 能 少 的 人工 干 预 . 国 内 从 事 这 方 面 工 柞 的 还 有 几 个 革 位 , 复 旦大 学 , 京 信 息 工 程 学 院 , 京 如 北 南 1 .向置 的 提 出 随着 电子 计 算 机 在 我 国 各 行 各 业 得 到 广 瑟 的使用 , 算机 软件 生产 正在 进 ^工 计 程亿, 标准化 生产 阶段 . 教 件开 发是 一个循 序渐进 的过 程 .如 果 一 个 大 型 软 件 垒 部 从 头 开 始 由 自 己开 发 , 必然 把 局期 拉 得 很 长 , 至 失 去 它 的 这 甚 开 发 价值 .如 果 在 B开 发 软 件 的 基 础 上 杀 开 发 新 的 教 件 , 也 是 理 所 当 然 的 , 有 勋 这 这 于 缩 短 开 发 周 期 , 鉴 已开 发 软 件 的 优 秀 借 大 学等等 .他仍所从事 的研 究都是在 C语 言方面 . 在 国内从事 F 而 ORTRAN 语 言 反 编译工 作的还未 见报道和听 说 . 国 际 上 , 于 涉 及 到 知 识 产 权 和 歌 件 由 保 护等 问压 . 此 , 有 见到 这 方 面 的 公开 因 投 报 道 .据 卸 , 括 美 国 在 内 , 在 从 事 邀 包 也 面 的工 作 . 成果 , 并可对它 的功 能进行 修改 和扩充 . 这 就 提 出 了 一 々 如 何取 褥 . 祈 , 群 贩 束 分 理 发 的 软 件 , 把 它 有 效 地 引 入 到 新 系 统 中 并 去 的 问题 . 从丽 提 出 了 软 件 逆 向工 程 的概 念 .软 件 逆 向工 程 是 软 件 工 程 研 究 领 域 的 一 二 , 编 译 的 分 类 反 反 编 译嚣 的任 务 是 把二 进 制 的机 器 码 转 拽 为 高 级 语 言 程 序 .因此 它 和 机 器 的 指 令 系统 有 关 , s 如 uN一 3与 S UN一 4的 十重 要课庙 , 于软 件 的维 护 , 值 , 对 移 理 解 和复 甩都 具 有重要意 义 . 2 .罾 内 外 反 编 译 的状 况 国 内最 早 从 事 反 编译 研 究 的是 台 肥 工 业大 学 徽 机 所 , 8 年 完 成 6 0 0机 上 C 于 7 80 语 言 的反 编译 工 具 .它 把 C 编 译 生 成 的 目 标 代 码经过 人工 反汇 编获 得汇 编程 序 , 然 后 对 编程 序进 行 反 编 译 .8 8年 开 始 把 此 成 果 移 向 P 机 , 在 功 能 上 作 了 扩 充 和 C 并 编指令系统 就有很大 的差 别 . 因此 , 同的 不 C PU 它 的反 编 译 嚣 也 不 同 . 另 外 , 和 目 它 标 高级 语 言 有关 .如 F T A , AS OR R N P - C AL的 语句 形式 和结 构 都不 同 , 它们 的反 编 译器 也 应 不 同 . 时 , 进制 执 行 文 件 结 伺 二 构 跟 操作系统有关 , 在不 同的操 作系统下 ,
page 2
具 — — F 7 t 软 7 oC 件.它 告 在 薯 码 的 基 础 上 , F 将 oR_ 工 具的第 —步 , 为是 在执 行 文 件中 包含 认 丁符号裹的 基础上 进行 . 一 . 下面对 语言冀 译程 序的肇 谭过爱f进 步 的讨 论 . TR N7 转换= C语 氰 A 7 毫 高级 语 言编译— 般分 戚下述凡步 ;固 ( 2 ) 在 此 对 高 缓 语 言 瀛 程 序 到 二 进 铡 执 行 词法分 折 : 成把 蔼 程 序的 外部 形 式转换 完 啦 更 适合 计 算 机 处 理 的 内 蔷 形 式 . 具 体 迪 代码 袭进程童 爸一些 { 论 . 亍 高 级 语 言源 程 序 到 执 行 代 码 要 经 过 编 说 有如下功 篦 ; 1 .识 别 程 序 中 童 义 独 立 的 量 小 司 法 泽 , 接 爵次变换 .其吏 按 藏程如 下雷 1 连 . 这 里稿 译 程 序 的功 篮 是 : 3 o 单 位—— 单诃 . 每个 单 诃包含 再_ 信息 : 千 萆 维普资讯 http://www.cqvip.com 诃 的类别和值 . 被丢 失 . 2 .删 除表征 程序 格式和可读性 的空格 , 回 车及注释 . 2 .程 序的控 翻执行 流在编 译 阶段 已 完全 确定 , 无论 是 中闻代码 和 目标代 码郡 保 留 了源 程 序 的 含 义 . 3 .发 现词法错 误 , 报告 出错 . 句 法 和 语 义分 析 : 是 编 译 程 序 中的 这 3 .若不 加调试开 关 , 全都全局 符号 定 义和描 述被删除 .它们的特性体 现在 茸标 代 码的执 行 指令和分 配存储 区中 , 且这 而 种 体 现 是 不 完整 的 .如 ; psa 程 序 中 , 在 acl 关键 部分 . 它根 据语言规 定的文法规 则 , 接 受 词 法 分 析 的输 出 , 解 其 中 的文 法 结 构 分 进行 相 虚 的语 言 检 查 , 后 输 出. 应 的 中 最 相 间 代 码 和 构 造 相 应 的 符号 表 条 目 . 中 间代 码 是 一 种 介 于 高 级 语 言 和 机 器 指 令 之 间 的 一 字符 , 逻辑枚举类塑变蛩都 占用一个字 节 , 按字节进行 运算和存取 .这就无法 确定原 本意 是哪一类变量 ; 又 如 , 虑 下述 二 个 F 考 ORTRAN 程 序 : 种 宏 操 作 指 令 , 操作 码 和 撵作 数 . 作 有 操 码 的 种 类 和 形 式 由 设计 者 自定 , 作 数 通 操 常是 各类符号表 中的元素 .中间代码的执 行 次 序 反 映 了 用 户 程 序 的 原 义 .符 号 表 记 录 了 各 类标 识符 的性 质 . 括 标 识 符 名 字 , 包 程 序 l I tg r a ( ) ; n c e . 8 , a ( 1 3: 1 ) 0 , a ( 3t1 ) 2- 7 类垄 , , 组维 数 , , 值 数 上 下界等 . 简单地说 ,