首先,我要澄清一点,我的意思是通过逆向工程来“反编译”,并找回原始源代码或类似的内容。
昨天我读到了一个问题,有人希望保护他的python代码免于“被盗”,换句话说:他不喜欢有人可以阅读他的python代码。 我读到的有趣的事情是有人说,“保护”他的代码不被反向工程的唯一可靠方法是使用Web服务。
所以我实际上只能用Python,PHP等编写一些GUI,并且通过Web服务来保护我想要保护的“非常秘密的代码”。 (基本上将变量发送到主机并获得结果)。
对Web服务进行逆向工程是否真的不可能(通过代码并且不侵入服务器)?这将是现代商业应用的未来吗?云计算已经在这里。所以我不会怀疑。
如果已经讨论过这个话题,我很抱歉,但我找不到任何关于此的资源。
编辑:整个想法让我想起了AJAX。代码在服务器上执行,内容被发送到客户端并“美化”。客户自己并没有看到幕后的PHP代码或其他技术。答案 0 :(得分:1)
通过调用服务并阅读它所说的内容,您可以解析它,并开始查看api中对象之间的关系。有了这个,你可以创建模型,tastypie从这一点开始。
令人敬畏的是,普通人(或者至少不是后端开发人员)可以通过描述他们想要作为输出的内容来创建api。我见过很多android / iphone开发人员创建了一堆静态xml或json,所以他们可以调用他们的服务,并启动前端开发。那么如果那就够了呢?将一些xml / json文件作为输入,将后端作为输出。
答案 1 :(得分:0)
是的,
他们所能做的只是将您的Web服务视为一个黑盒子,向WSDL查询它接受的所有参数以及它返回的数据。
然后他们可以提交不同的变量并查看不同的结果。无法看到或窃取“代码”(具有适当的安全性),但输入和输出可能会重复。
如果您想保护“非常密码”,那么 是保护实际代码的好方法。
-sb
答案 2 :(得分:0)
这取决于逆向工程的含义:通过重复发送输入并分析输出,仍然可以看到代码的行为。我不会有你的代码,但我仍然可以看到系统的功能。这意味着我可以构建一个类似的系统,在给定相同的输入的情况下执行相同的操作。
很难捕捉到特殊情况(例如一年中某一天的输出不同),但通常可以复制常见的行为。它类似于分析即时消息客户端的协议:您可能没有原始代码,但仍可以构建副本。