fbpx
维基百科

代码混淆

代码混淆Obfuscation)是将计算机程序源代码機器碼,转换成功能上等价,但是难于阅读和理解的形式的行为。

代码混淆可以用于程序源代码,也可以用于程序编译而成的中间代码。执行代码混淆的程序被称作代码混淆器。目前已经存在许多种功能各异的代码混淆器。

其主要工作有:

  • 将代码中的各种元素,如变量、函数、类的名字改写成无意义的名字。比如改写成单个字母,或是简短的无意义字母组合,甚至改写成“__”这样的符号,使得阅读的人无法根据名字猜测其用途。
  • 重写代码中的部分逻辑,将其变成功能上等价、但是更难理解的形式。比如将for循环改写成while循环、将循环改写成递归、精简中间变量,等等。
  • 打乱代码的格式。比如删除空格、将多行代码挤到一行中、或者将一行代码断成多行等等。
  • 添加花指令,通过特殊构造的指令来使得反編譯器反汇编器出错,进而干扰反编译工作的进行。

代码混淆器也会带来一些问题。主要的问题包括:

  • 被混淆的代码难于理解,因此调试也变得困难起来。开发人员通常需要保留原始的未混淆的代码用于调试。
  • 对于支持反射的语言,代码混淆有可能与反射发生冲突。
  • 代码混淆并不能真正阻止反向工程,只能增大其难度。因此,对于对安全性要求很高的场合,仅仅使用代码混淆并不能保证源代码的安全。

白盒密码 编辑

白盒密码( White-box cryptography)是指够抵抗白盒攻击的密码算法,以及对应实现。常见的实现方式是借助高强度的代码及算法混淆。[1][2]

参考文献 编辑

  1. ^ Chow S, Eisen P, Johnson H, et al. A white-box DES implementation for DRM applications[M]//Digital Rights Management. Springer Berlin Heidelberg, 2002: 1-15.
  2. ^ 林婷婷, 来学嘉. 白盒密码研究 (页面存档备份,存于互联网档案馆)[J]. 密码学报, 2015, 2(3): 258-267.

外部链接 编辑

代码混淆, obfuscation, 是将计算机程序的源代码或機器碼, 转换成功能上等价, 但是难于阅读和理解的形式的行为, 可以用于程序源代码, 也可以用于程序编译而成的中间代码, 执行的程序被称作器, 目前已经存在许多种功能各异的器, 其主要工作有, 将代码中的各种元素, 如变量, 函数, 类的名字改写成无意义的名字, 比如改写成单个字母, 或是简短的无意义字母组合, 甚至改写成, 这样的符号, 使得阅读的人无法根据名字猜测其用途, 重写代码中的部分逻辑, 将其变成功能上等价, 但是更难理解的形式, 比如将fo. 代码混淆 Obfuscation 是将计算机程序的源代码或機器碼 转换成功能上等价 但是难于阅读和理解的形式的行为 代码混淆可以用于程序源代码 也可以用于程序编译而成的中间代码 执行代码混淆的程序被称作代码混淆器 目前已经存在许多种功能各异的代码混淆器 其主要工作有 将代码中的各种元素 如变量 函数 类的名字改写成无意义的名字 比如改写成单个字母 或是简短的无意义字母组合 甚至改写成 这样的符号 使得阅读的人无法根据名字猜测其用途 重写代码中的部分逻辑 将其变成功能上等价 但是更难理解的形式 比如将for循环改写成while循环 将循环改写成递归 精简中间变量 等等 打乱代码的格式 比如删除空格 将多行代码挤到一行中 或者将一行代码断成多行等等 添加花指令 通过特殊构造的指令来使得反編譯器或反汇编器出错 进而干扰反编译工作的进行 代码混淆器也会带来一些问题 主要的问题包括 被混淆的代码难于理解 因此调试也变得困难起来 开发人员通常需要保留原始的未混淆的代码用于调试 对于支持反射的语言 代码混淆有可能与反射发生冲突 代码混淆并不能真正阻止反向工程 只能增大其难度 因此 对于对安全性要求很高的场合 仅仅使用代码混淆并不能保证源代码的安全 白盒密码 编辑白盒密码 White box cryptography 是指够抵抗白盒攻击的密码算法 以及对应实现 常见的实现方式是借助高强度的代码及算法混淆 1 2 参考文献 编辑 Chow S Eisen P Johnson H et al A white box DES implementation for DRM applications M Digital Rights Management Springer Berlin Heidelberg 2002 1 15 林婷婷 来学嘉 白盒密码研究 页面存档备份 存于互联网档案馆 J 密码学报 2015 2 3 258 267 外部链接 编辑Javascript 代码混淆器 on GitHub 页面存档备份 存于互联网档案馆 JavaScript Obfuscator Tool 失效連結 取自 https zh wikipedia org w index php title 代码混淆 amp oldid 79923250, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。