繁体   English   中英

使用混合移动应用程序防止逆向工程?

[英]Protection from reverse engineering with a hybrid mobile app?

我使用phonegap在html,jQuery和CSS中制作了一个混合移动应用程序。 我想混淆或加密我的代码,所以没有人可以对其进行反向工程。 我对yui compresser node-uglifierminifier感到困惑。 它们都只是缩小了我的js文件,可以轻松地对其进行美化。 有人可以告诉我一种完成此任务的方法吗? 还请告诉我

https://javascriptobfuscator.com/对混淆有好处吗? 提前致谢。

正如评论中所讨论的那样,以解释性语言进行混淆几乎是不可能的。 这是由于以下事实:浏览器需要能够将您的代码读取为有效的JavaScript才能运行它-如果浏览器可以做到,那么足够有决心的人也可以! 任何声称能够混淆JavaScript的服务都只是在提供“通过混淆来保证安全性”,即,使解码变得更加耗时或难以理解。

例如,我查看了您在问题中链接的网站 这是我的输入代码:

console.log("test");

这是输出:

var _0xdef6=["\x74\x65\x73\x74","\x6C\x6F\x67"];console[_0xdef6[1]](_0xdef6[0])

乍一看,这看起来相当安全,并且足以吓跑一些不那么专心的逆向工程师。 但是,解码实际上非常简单:

//               t   e   s   t       l   o   g
var values = ["\x74\x65\x73\x74", "\x6C\x6F\x67"];
console[values[1]](values[0]);

突然,这一切都非常明显-该工具从输入代码中获取了值和标识符,将它们转换为ASCII十六进制代码,并将它们作为字符串存储在数组中。

现在,诚然,一个真正的程序要比这个更长,并且可能更难解码,但是我的观点仍然是一样的-如果我能弄清楚他们的混淆器在午休时间如何用于一个小程序,那么几乎不会保护您的代码免受任何严重的逆向工程尝试!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM