克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 如 今, 越 来 越 多 的 开 发 人 员 选 择 Java 平 台 作 为 首 选 的 开 源 开 发 环 境, 通 过 这 种 平 台 可 以 直 接 使 用 可 公 开 获 得 的.class 文 件 格 式 和 简 单 的 指 令 集 使 用 开 放 源 码 方 法 有 许 多 优 点, 但 这 样 编 写 的 代 码 对 于 窥 探 是 完 全 透 明 的 对 于 已 开 发 软 件 中 经 过 多 年 时 间 和 投 资 形 成 的 公 司 知 识 产 权 (IP), 其 屏 障 因 此 变 得 公 开 了 目 录 执 行 摘 要... 2 Java 应 用 程 序 正 变 得 越 来 越 普 遍... 2 Java 极 易 遭 受 逆 向 工 程... 2 Jvm 是 开 放 源 码... 2 Java.Class 文 件 格 式 是 可 公 开 获 取 的... 2 Jvm 是 软 件, 而 不 是 硬 件... 2 Java 的 指 令 比 本 机 代 码 少... 3 第 三 方 反 汇 编 程 序 增 加 了 漏 洞... 3 为 什 么 通 过 板 载 措 施 防 止 逆 向 工 程 是 不 够 的... 4 防 止 逆 向 工 程 攻 击... 4 SafeNet Sentinel: 一 种 更 简 便 的 封 装 方 式... 7 结 论... 8 关 于 SafeNet Sentinel 解 决 方 案... 8 Sentinel 中 文 为 圣 天 诺 克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 1
Java 开 放 源 码 风 险 和 弱 点 JVM 是 免 费 的 - 黑 客 可 以 使 用 商 业 反 汇 编 程 序 查 看 代 码, 弄 清 JVM 的 工 作 方 式 - 代 码 变 得 完 全 透 明 Java.class 是 可 公 开 获 取 的 - 黑 客 可 使 用 简 单 的 可 用 工 具 处 理 修 改 或 转 换.class 文 件 更 少 的 本 机 代 码 指 令 - 黑 客 现 在 使 用 更 少 的 指 令 (200 而 不 是 400), 可 以 更 快 地 分 析 代 码 以 进 行 逆 向 工 程 更 好 控 制 - 黑 客 不 需 要 深 入 到 特 定 的 硬 件 级 别, 可 以 更 容 易 地 查 看 和 分 析 数 据 执 行 摘 要 由 于 具 有 平 台 独 立 性,Java 环 境 越 来 越 受 到 开 发 人 员 的 欢 迎 然 而,Java 的 开 源 代 码 可 公 开 获 取 的.class 文 件 格 式 和 简 单 的 指 令 集 使 其 暴 露 于 窥 探 和 敌 对 分 析 之 下 随 着 各 机 构 将 它 们 的 商 业 应 用 程 序 转 向 Java 技 术, 其 关 键 知 识 产 权 变 得 易 于 遭 受 逆 向 工 程 篡 改 和 盗 窃 目 前, 源 代 码 和 字 节 码 级 别 的.class 文 件 加 密 和 混 淆 是 开 发 人 员 用 于 阻 止 逆 向 工 程 的 两 个 主 要 措 施, 但 漏 洞 仍 然 存 在 本 白 皮 书 探 讨 了 Java 代 码 漏 洞 的 性 质, 现 有 解 决 方 案 的 局 限 性, 以 及 结 合 混 淆 与 加 密 的 Java 代 码 全 面 封 装 如 何 成 为 保 护 关 键 算 法 和 其 它 知 识 产 权 的 理 想 解 决 方 案 Java 应 用 程 序 正 变 得 越 来 越 普 遍 如 今, 全 世 界 的 IT 公 司 都 在 一 定 程 度 上 接 受 了 Java 现 在 有 无 数 的 产 品 使 用 Java 编 写 并 用 于 Java 平 台, 而 不 是 Windows 或 UNIX 平 台 与 其 它 编 程 语 言 相 比,Java 最 重 要 的 优 点 是 平 台 独 立 性 - 这 意 味 着 它 几 乎 可 以 在 任 何 体 系 结 构 和 操 作 系 统 上 运 行 Java 并 不 将 应 用 程 序 绑 定 到 特 定 的 硬 件 体 系 结 构 ( 如 Intel 或 PowerPC), 而 是 对 所 有 体 系 结 构 都 使 用 单 一 的 代 码 库 软 件 开 发 人 员 先 以 使 用 预 定 义 Java API 软 件 包 的 Java 语 言 编 写 程 序, 然 后 使 用 Java 编 译 器 来 编 译 这 些 程 序 其 成 果 是 可 在 Java 虚 拟 机 (JVM) 上 执 行 的 已 编 译 字 节 码,Java 虚 拟 机 是 用 于 执 行 Java 程 序 的 软 件 环 境 ( 如 Java Runtime Environment) 用 户 仅 在 拥 有 JVM 时 才 能 运 行 Java 程 序 ; 但 许 多 平 台 都 有 JVM, 这 使 得 Java 成 为 一 种 高 度 可 移 植 语 言 Java 极 易 遭 受 逆 向 工 程 虽 然 能 够 编 写 一 次, 随 处 运 行 (Write Once, Run Anywhere) 是 一 个 巨 大 的 优 势, 但 这 种 环 境 的 架 构 方 式 使 其 远 比 本 机 应 用 程 序 更 容 易 被 黑 客 进 行 逆 向 工 程 这 意 味 着 开 发 人 员 面 临 着 失 去 知 识 产 权 的 非 常 真 实 的 危 险 基 于 应 用 程 序 的 虚 拟 机 比 本 机 应 用 程 序 更 容 易 逆 向 工 程 的 原 因 有 很 多 : JVM 是 开 源 的 Sun 已 经 免 费 提 供 JVM 的 源 代 码 这 使 得 黑 客 只 需 查 看 代 码 即 可 弄 清 虚 拟 机 的 工 作 方 式 Java.class 文 件 格 式 是 可 公 开 获 取 的 如 前 所 述,Java 源 代 码 被 编 译 成 字 节 码, 而 字 节 码 存 储 在 Java.class 文 件 中 Java.class 文 件 格 式 的 规 范 是 可 公 开 获 取 的, 因 此 有 技 术 背 景 的 任 何 人 都 能 容 易 地 编 写 可 以 处 理 修 改 或 转 换.class 文 件 的 工 具 JVM 是 软 件, 而 不 是 硬 件 与 需 要 理 解 特 定 处 理 器 的 专 家 使 用 的 标 准 编 程 语 言 不 同,JVM 是 一 个 应 用 程 序, 它 如 同 微 处 理 器 一 样 运 作, 并 使 用 操 作 系 统 和 计 算 机 硬 件 提 供 的 内 置 功 能 由 于 黑 客 不 必 深 入 到 硬 件 级 别, 因 此 更 容 易 取 得 对 JVM 的 完 全 控 制 因 此, 例 如 在 使 用 标 准 本 机 系 统 开 发 语 言 进 行 调 试 时, 暂 停 处 理 器 极 为 困 难, 需 要 具 备 处 理 器 调 试 功 能 及 可 用 环 调 试 器 的 专 家 知 识 但 是, 由 于 JVM 运 行 环 境 的 源 代 码 是 可 公 开 获 取 的, 因 此 开 发 人 员 可 以 轻 松 地 建 立 自 己 的 虚 拟 机 来 完 全 控 制 虚 拟 处 理 器 的 各 个 方 面 这 样 可 以 容 易 地 分 析 运 行 环 境 中 运 行 的 每 个 应 用 程 序 克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 2
Sentinel Envelope 特 性 和 优 点 文 件 自 动 包 装 器 - 通 过 文 件 加 密 和 本 机 代 码 混 淆 提 供 强 有 力 的 保 护 来 防 止 软 件 逆 向 工 程 将 应 用 程 序 重 新 关 联 到 硬 件 - 应 用 程 序 通 过 保 护 密 钥 与 与 硬 件 紧 密 结 合 安 全 通 信 通 道 - SENTINEL HASP 为 受 保 护 应 用 程 序 与 保 护 密 钥 之 间 的 通 信 提 供 安 全 通 道, 从 而 消 除 了 中 间 人 攻 击 Java Envelope 使 用 这 种 能 力 来 防 止 黑 客 通 过 截 取 通 信 访 问 保 护 密 钥 发 回 的 数 据 运 行 时 解 密 - 由 于 SENTINEL HASP 是 按 请 求 在 运 行 时 解 密 文 件, 而 不 是 一 次 将 所 有.class 文 件 加 载 到 虚 拟 机, 因 此 可 以 防 止 黑 客 重 建 整 个 应 用 程 序 Java 的 指 令 比 本 机 代 码 少 然 而,JVM 代 码 易 于 进 行 反 向 工 程 的 另 一 个 原 因 是 它 具 有 比 本 地 应 用 程 序 更 少 的 指 令 这 是 出 于 性 能 考 虑 JVM 的 使 用 在 应 用 程 序 和 本 机 处 理 器 之 间 增 加 了 一 个 软 件 层, 这 会 对 性 能 产 生 负 面 影 响 虽 然 现 代 处 理 器 不 断 提 高 的 执 行 速 度 最 终 将 缓 解 这 一 问 题, 但 这 一 问 题 仍 然 很 明 显 虚 拟 机 开 发 人 员 提 高 执 行 速 度 的 一 种 方 法 是 使 用 比 本 机 处 理 器 汇 编 程 序 更 小 的 字 节 码 指 令 集 本 机 应 用 程 序 可 能 包 含 多 达 400 条 指 令, 而 Java 应 用 程 序 通 常 使 用 不 超 过 200 条 的 指 令 更 少 的 指 令 意 味 着 黑 客 可 以 更 快 地 分 析 代 码 以 进 行 逆 向 工 程 这 些 特 性 使 得 虚 拟 机 远 比 其 它 类 型 的 应 用 程 序 更 容 易 遭 受 逆 向 工 程 攻 击 第 三 方 反 汇 编 程 序 增 加 了 漏 洞 不 仅 是 JVM 本 身 容 易 遭 受 逆 向 工 程 攻 击, 商 业 和 免 费 的 Java 字 节 码 反 汇 编 程 序 也 越 来 越 多, 从 而 进 一 步 简 化 了 代 码 逆 向 工 程 的 过 程 IDA 和 Eclipse 字 节 码 插 件 是 众 多 Java 字 节 码 反 汇 编 程 序 中 的 两 种 作 为 商 业 产 品, IDA 是 一 种 普 遍 的 反 汇 编 程 序, 可 用 于 许 多 不 同 的 处 理 器, 包 括 80x86 和 MIPS Eclipse 字 节 码 插 件 是 免 费 软 件 它 能 够 反 编 译 Java.class 文 件 的 字 节 码 并 以 适 当 的 顺 序 显 示 所 有 操 作 码 指 令 尽 管 这 些 产 品 不 大 可 能 从 字 节 码 完 美 地 恢 复 原 始 代 码, 但 它 们 恢 复 的 源 代 码 将 等 同 于 原 始 代 码, 并 且 比 字 节 码 更 具 可 读 性 一 旦 恢 复 了 源 代 码, 攻 击 者 可 以 容 易 地 删 除 部 分 代 码 并 将 其 非 法 地 用 于 竞 争 对 手 的 应 用 程 序 中, 或 在.class 文 件 中 定 位 打 补 丁 图 1 提 供 了 黑 客 可 能 如 何 在.class 文 件 中 打 补 丁 的 一 个 示 例 屏 幕 的 上 半 部 分 显 示 了 一 小 段 Java 源 代 码 屏 幕 的 下 半 部 分 显 示 了 字 节 码 反 汇 编 的 输 出, 也 就 是 一 个 字 节 码 指 令 列 表 标 记 为 红 色 的 区 域 是 源 代 码 中 IF 结 构 的 对 应 指 令 字 节 码 指 令 LCMP 的 十 六 进 制 表 示 为 0x94 该 工 具 还 指 出 了 操 作 码 在.class 文 件 中 的 位 置 有 了 这 些 信 息, 黑 客 可 以 使 用 简 单 的 十 六 进 制 编 辑 器 来 改 变 该 IF 分 支, 而 这 只 需 不 到 一 分 钟 的 时 间 假 设 该 IF 条 件 用 于 许 可 证 检 查, 黑 客 可 倒 置 该 条 件, 指 示 即 使 在 许 可 证 被 验 证 为 无 效 ( 如 已 过 期 ) 的 情 况 下 仍 返 回 True, 从 而 突 破 许 可 证 检 查 在 这 种 情 况 下, 黑 客 使 用 一 个 字 节 的 补 丁 即 可 完 成 所 有 工 作 虽 然 大 多 数 应 用 程 序 都 比 这 个 示 例 更 加 复 杂, 但 即 使 在 复 杂 的 应 用 程 序 中, 字 节 码 也 非 常 简 单 并 且 容 易 理 解 克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 3
JVM 为 开 发 人 员 提 供 了 编 写 一 次 应 用 程 序 即 可 在 几 乎 任 何 平 台 上 运 行 的 能 力, 但 具 有 使 黑 客 易 于 对 源 代 码 进 行 逆 向 工 程 篡 改 或 盗 窃 的 重 大 缺 陷 图 1 - 用 于 字 节 码 反 汇 编 的 Eclipse 字 节 码 插 件 为 什 么 板 载 措 施 不 足 以 防 止 逆 向 工 程 大 多 数 虚 拟 机 都 包 含 一 些 使 逆 向 工 程 复 杂 化 的 功 能 Java 允 许 用 户 在 JAR 存 档 中 提 供 的 每 个 类 上 设 置 一 个 数 字 证 书, 以 确 保 原 始 文 件 没 有 被 更 改 虽 然 这 样 做 并 无 害 处, 但 该 功 能 相 当 容 易 清 除, 并 且 仅 针 对 静 态 补 丁 方 法 提 供 保 护, 而 静 态 补 丁 只 是 攻 击 场 景 中 的 一 小 部 分 而 且, 这 种 方 法 并 不 能 针 对 运 行 时 应 用 于 内 存 的 补 丁 提 供 保 护 Java 还 通 过 虚 拟 机 执 行 字 节 码 验 证 器, 该 验 证 器 在 执 行 通 过 的 字 节 码 之 前 对 其 进 行 自 动 分 析 这 可 以 防 止 执 行 奇 怪 的 代 码, 也 使 字 节 码 注 入 变 得 更 加 困 难 然 而, 尽 管 这 些 措 施 给 攻 击 者 造 成 了 困 难, 但 对 于 充 分 保 护 知 识 产 权 还 远 远 不 够 防 止 逆 向 工 程 攻 击 开 发 人 员 通 常 用 以 防 止.class 文 件 静 态 分 析 和 字 节 码 反 汇 编 的 一 种 方 法 是 封 装, 这 种 方 法 通 过 应 用 加 密 / 解 密 完 整 文 件 来 防 止 对 类 文 件 的 分 析 通 过 封 装, 开 发 人 员 将 受 保 护 文 件 的 原 始 加 载 器 更 换 为 处 理 加 密 / 解 密 的 自 定 义 加 载 器 加 密 使 用 将.class 文 件 从 标 准 Java.class 格 式 更 改 为 仅 密 钥 所 有 者 可 读 格 式 的 算 法 来 防 止 对 这 些 文 件 的 分 析 然 而,.class 文 件 的 字 节 码 在 一 个 内 存 位 置 中 仍 保 持 可 读, 在 系 统 加 载 器 尝 试 加 载 该 类 之 前 的 时 刻, 通 常 可 从 该 位 置 访 问 字 节 码 如 果 黑 客 能 够 找 到 那 个 内 存 位 置, 就 可 以 访 问 原 始 状 态 的 该 类 防 止 黑 客 攻 击 该 内 存 位 置 需 要 第 二 种 技 术, 称 为 混 淆 混 淆 可 产 生 一 个 更 加 复 杂 难 于 理 解 并 且 与 原 始 代 码 具 有 相 同 行 为 方 式 的 代 码 版 本 下 面 是 一 个 简 单 的 80x86 汇 编 程 序 代 码 段, 取 自 Windows 二 进 制 代 码 克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 4
虽 然 Java 提 供 了 一 些 内 在 的 安 全 措 施, 但 这 些 功 能 不 足 以 完 全 防 止 攻 击 加 密 和 代 码 混 淆 等 技 术 通 常 用 于 减 缓 攻 击, 但 仍 然 留 有 漏 洞 Java 封 装 (Java Enveloping) 将 加 密 与 本 机 代 码 混 淆 相 结 合 来 提 供 最 强 的 保 护 通 过 使 用 SENTINEL HASP 解 决 方 案, 您 可 以 获 得 封 装 的 诸 多 好 处, 而 不 必 花 费 宝 贵 的 时 间 和 精 力 来 自 行 开 发 解 决 方 案 现 在 我 们 将 尝 试 在 代 码 段 中 添 加 新 的 指 令 并 更 换 其 它 指 令 以 使 代 码 难 以 理 解, 从 而 混 淆 代 码 段 下 面 是 已 混 淆 的 版 本 : 克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 5
由 于 SENTINEL HASP 是 按 请 求 在 运 行 时 解 密 文 件, 而 不 是 一 次 将 所 有.class 文 件 加 载 到 虚 拟 机, 因 此 可 以 防 止 黑 客 重 建 整 个 应 用 程 序 在 此 示 例 中, 我 们 通 过 加 入 算 术 指 令 扩 展 了 该 操 作 码 片 段 该 代 码 现 在 更 加 难 以 阅 读 由 于 不 能 简 单 地 从 片 段 阅 读 代 码, 潜 在 的 黑 客 必 须 执 行 计 算 才 能 理 解 其 内 容 虽 然 这 个 特 殊 的 示 例 仍 然 很 容 易 理 解, 但 我 们 可 以 根 据 需 要 的 次 数 来 重 复 该 类 型 的 混 淆, 将 这 个 简 单 的 代 码 段 扩 展 为 超 过 1000 行 代 码, 从 而 使 代 码 内 容 变 得 难 以 理 解 当 使 用 了 混 淆 时, 攻 击 者 必 须 制 作 特 殊 工 具 才 能 理 解 原 始 代 码 段, 而 这 不 是 一 件 容 易 的 事 有 几 种 不 同 类 型 的 混 淆 方 法 可 用 于 指 令 集 : 程 序 员 可 以 通 过 替 换 二 进 制 代 码 中 的 所 有 字 符 串 来 混 淆 代 码, 这 样 就 更 加 难 以 找 到 一 个 好 的 切 入 点 来 开 始 逆 向 工 程 攻 击 他 们 可 以 通 过 插 入 指 向 垃 圾 代 码 的 跳 转 并 返 回 来 迷 惑 攻 击 者, 或 混 淆 源 代 码 或 字 节 码 开 发 人 员 也 可 以 选 择 使 用 名 为 Const2Code 转 换 的 技 术 来 混 淆 常 量 例 如, 密 钥 有 时 在 应 用 程 序 中 存 储 为 一 组 字 节 如 果 黑 客 确 定 了 这 些 字 节 的 位 置, 他 们 就 可 以 访 问 这 些 字 节 为 混 淆 一 个 常 量 ( 如 密 钥 ),Const2Code 算 法 将 常 量 转 换 为 可 产 生 同 一 常 量 的 多 个 不 同 的 命 令 例 如, 为 了 在 源 代 码 段 中 隐 藏 常 量 cst=0x12345678, 可 以 将 该 常 量 简 单 地 分 为 几 个 算 术 运 算, 如 加 减 等 等 A = 0x9ABCDF00;B=0x2;C=0x135799E00 现 在 让 我 们 使 用 这 三 个 变 量 重 新 计 算 出 常 量 0x12345678 我 们 的 原 始 常 量 为 :cst = C / B + A 0x88888888 A + 1000= 0x12345678 如 果 应 用 程 序 仅 使 用 该 例 程 来 计 算 常 量, 攻 击 者 就 必 须 理 解 其 中 的 含 义, 而 不 是 简 单 地 获 取 该 常 量 克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 6
现 在 让 我 们 来 看 一 个 源 代 码 混 淆 的 示 例 图 2 包 含 的 原 代 码 已 使 用 C2C 算 法 进 行 混 淆, 隐 藏 了 密 钥 图 2 - 可 混 淆 的 Java 源 代 码 示 例 - 这 是 一 个 简 单 的 代 码 段, 使 用 原 始 的 C2C 算 法 计 算 密 钥 图 3 - 手 动 源 代 码 混 淆 的 Java 源 代 码 示 例 如 图 3 所 示, 在 进 行 手 动 源 代 码 混 淆 后, 该 示 例 变 得 非 常 不 同 乍 看 上 去 将 无 法 看 出 手 动 混 淆 的 代 码 是 用 于 计 算 相 同 的 密 钥 在 这 种 情 况 下, 不 仅 是 源 代 码 不 同, 生 成 的 字 节 码 也 完 全 不 同 由 于 可 以 生 成 大 量 字 节 码, 源 代 码 混 淆 的 程 序 将 变 更 加 难 以 分 析 SafeNet Sentinel: 一 种 更 简 便 的 封 装 方 式 SENTINEL HASP Envelope 是 一 个 自 动 文 件 包 装 器, 通 过 文 件 加 密 和 本 机 代 码 混 淆 提 供 针 对 软 件 逆 向 工 程 的 强 有 力 保 护 这 确 保 了 嵌 入 软 件 中 的 算 法 商 业 秘 密 和 专 业 知 识 对 于 黑 客 是 安 全 的 SENTINEL HASP 通 过 将 Java 应 用 程 序 重 新 关 联 到 硬 件 平 台, 提 供 了 高 度 安 全 的 知 识 产 权 保 护 这 迫 使 攻 击 者 在 破 解 受 保 护 的 Java 应 用 程 序 时 不 仅 需 要 对 Java 应 用 程 序 进 行 逆 向 工 程, 还 需 要 对 本 机 代 码 进 行 逆 向 工 程 因 此, 攻 击 者 必 须 更 加 富 有 经 验 才 能 破 解 已 封 装 的 Java 代 码 克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 7
LicensingLive! (lahy sun sing lahyv ), adj. n. [SAFENET, INTERACTIVE] 1. 立 即 访 问 与 软 件 包 装 定 价 实 现 交 付 和 管 理 相 关 的 最 佳 做 法 和 新 出 现 的 挑 战 2. 一 个 汇 集 软 件 供 应 商 行 业 分 析 师 许 可 顾 问 和 技 术 供 应 商 的 论 坛 SENTINEL HASP 为 受 保 护 应 用 程 序 与 保 护 密 钥 之 间 的 通 信 提 供 安 全 通 道, 从 而 消 除 了 中 间 人 攻 击 Java Envelope 使 用 这 种 能 力 来 防 止 黑 客 通 过 截 取 通 信 访 问 保 护 密 钥 发 回 的 数 据 由 于 SENTINEL HASP 是 按 请 求 在 运 行 时 解 密 文 件, 而 不 是 一 次 将 所 有.class 文 件 加 载 到 虚 拟 机, 因 此 可 以 防 止 黑 客 重 建 整 个 应 用 程 序 结 论 虽 然 JVM 为 开 发 人 员 提 供 了 编 写 一 次 应 用 程 序 即 可 在 几 乎 任 何 平 台 上 运 行 的 能 力, 但 这 种 体 系 结 构 具 有 使 黑 客 易 于 对 源 代 码 进 行 逆 向 工 程 篡 改 或 盗 窃 的 重 大 缺 陷 众 多 的 商 业 反 汇 编 程 序 进 一 步 简 化 了 这 一 过 程 而 且 虽 然 Java 确 实 提 供 了 一 些 安 全 措 施, 但 包 括 的 这 些 能 力 都 不 足 以 阻 止 攻 击 者 加 密 和 混 淆 等 技 术 通 常 用 于 减 缓 攻 击, 但 仍 然 留 有 漏 洞 封 装 将 加 密 与 本 机 代 码 混 淆 相 结 合 来 提 供 目 前 最 强 的 保 护, 可 以 保 护 知 识 产 权 通 过 使 用 SENTINEL HASP 解 决 方 案, 您 可 以 获 得 封 装 的 诸 多 好 处, 而 不 必 花 费 时 间 和 精 力 来 开 发 新 的 解 决 方 案 SafeNet Sentinel 软 件 货 币 化 解 决 方 案 SafeNet 在 为 全 世 界 的 软 件 和 技 术 供 应 商 提 供 创 新 和 可 靠 的 软 件 许 可 授 权 和 管 理 解 决 方 案 方 面 拥 有 25 年 的 行 业 经 验 我 们 的 Sentinel 软 件 货 币 化 解 决 方 案 系 列 易 于 集 成 和 使 用, 具 有 创 新 性 并 注 重 功 能, 对 于 任 何 规 模 技 术 要 求 或 组 织 结 构 的 任 何 机 构, 都 能 满 足 其 独 特 的 许 可 证 启 用 执 行 和 管 理 要 求 客 户 只 有 使 用 SafeNet 的 产 品 才 能 够 应 对 所 有 的 反 盗 版 知 识 产 权 保 护 许 可 证 启 用 和 许 可 证 管 理 挑 战, 同 时 提 高 公 司 盈 利 能 力 改 进 内 部 运 营 维 持 竞 争 优 势 并 巩 固 与 客 户 及 最 终 用 户 的 关 系 SafeNet 在 适 应 新 的 需 求 和 引 入 新 技 术 以 应 对 不 断 变 化 的 市 场 环 境 方 面 具 有 丰 富 的 成 功 经 验, 我 们 在 全 球 的 25,000 多 家 客 户 已 经 认 识 到 选 择 Sentinel 就 意 味 着 选 择 了 在 现 在 和 未 来 自 由 开 展 业 务 的 主 动 权 要 获 取 适 用 于 已 安 装 嵌 入 和 云 应 用 程 序 的 SafeNet 软 件 货 币 化 解 决 方 案 完 整 产 品 组 合 的 更 多 信 息, 或 要 下 载 我 们 获 奖 产 品 的 免 费 评 估 版 本, 请 访 问 以 下 网 址 : http://cn.safenet-inc.com/sentinel/ 加 入 谈 话 要 下 载 免 费 的 SENTINEL HASP 开 发 工 具 包, 请 访 问 以 下 网 址 : http://www3.safenet-inc.com/special/hasp/safenet-hasp-srm-order/default.asp 赛 孚 耐 ( 北 京 ) 信 息 技 术 有 限 公 司 联 系 我 们 : 若 要 了 解 SafeNet 所 有 分 支 机 构 的 地 址 和 联 系 信 息, 请 访 问 http://cn.safenet-inc.com 2010 SafeNet, Inc. 保 留 所 有 权 利 SafeNet 和 SafeNet 标 识 是 SafeNet 公 司 的 注 册 商 标 所 有 其 他 产 品 名 都 是 其 各 自 所 有 者 的 商 标 WP (A4)-11.16.10 克 服 Java 代 码 篡 改 逆 向 工 程 和 盗 窃 漏 洞 白 皮 书 8