如果我们混淆代码,我们如何调试和修改它?

时间:2014-07-19 14:53:37

标签: javascript obfuscation protection

我开始知道“模糊”代码 - 使其不易读,但仍会执行。

  1. 它将符号名称替换为无意义的符号名称

  2. 用表达式

  3. 替换数字常量
  4. 用十六进制转义符替换字符串中的字符

  5. 因此,如果我们混淆代码,那么如果生产中出现问题&我们如何解决它?

    如果我们想修改我们如何解决它?

4 个答案:

答案 0 :(得分:4)

您修复了原始代码中的问题,然后再次通过obfuscater运行它。

答案 1 :(得分:0)

您不使用混淆代码进行调试。您应该关闭开发环境中的混淆,因为它只需要生产。

答案 2 :(得分:0)

Quentin没错:不要丢弃原始来源,然后你可以在那里调试问题。 (同样适用于"修改"代码)。

有点棘手的是,当运行混淆版本时,如何诊断问题?我不知道其他人是如何做到这一点的。但是,我们的工具提供了从原始源到混淆版本的可逆映射,作为混淆过程的附加输出。当在运行代码中发现问题时,如果混淆了标识符"附近"可以捕获问题(例如,在违规语句/函数/ ...或崩溃调用回溯中),反向映射可以用于生成相应的未经模糊处理的标识符,然后可以使用它来定位违规构造。原始源代码。

答案 3 :(得分:0)

虽然我当然同意上述海报,但它们有点否定了这个问题,而不是回答它。

无论如何,如果您使用Chrome,则可以打开开发工具(Right click anywhere>inspect element> sources tab)。在左侧的文件资源管理器中找到混淆代码,然后单击底部的两个花括号。

the curly braces you click on

一旦你这样做,变量名称仍然是模糊的,但至少它的格式正确。当您担心缩小过程本身会破坏某些东西时,这非常有用。